色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ROS編寫參數配置文件示例程序

麥辣雞腿堡 ? 來源:古月居 ? 作者:慕羽★ ? 2023-11-26 17:35 ? 次閱讀

ROS Motion Planning運動規劃庫采用了非常靈活和簡易的方式來按照我們的需求去進行配置和使用,在我們對一些必要參數進行設定后,可使用庫中的main_generate.py文件自動生成我們設定的參數對應的執行文件main.launch。

這些需要設定的參數,存放在user_config.yaml、pedestrians_config.yaml、obstacles _config.yaml這三個文件中,這三個文件均位于下圖所示的目錄下,下面依次進行詳細的介紹

圖片

1、編寫user_config.yaml參數配置文件

首先,我們來看作者提供的示例程序,如下所示:

map: "warehouse"
world: "warehouse"
rviz_file: "sim_env.rviz"


robots_config:
  - robot1_type: "turtlebot3_waffle"
    robot1_global_planner: "theta_star"
    robot1_local_planner: "apf"
    robot1_x_pos: "0.0"
    robot1_y_pos: "0.0"
    robot1_z_pos: "0.0"
    robot1_yaw: "0.0"


# plugins:
  # pedestrians: "pedestrian_config.yaml"
  # obstacles: "obstacles_config.yaml"

接下來,我們對每個參數的作用以及可選的選項有那些進行逐個介紹

(1)、map

map參數用于設定運動規劃所使用的靜態地圖的名字,也就是rviz界面看到的靜態全局地圖,這些可用的靜態地圖文件存放在該運動規劃庫的src/sim_env/map/文件夾下,目前該運動規劃庫中僅提供了名為warehouse的靜態地圖文件

如下圖所示,當然,我們可以利用SLAM建圖算法自行生成其他的靜態地圖文件,然后同樣存放在src/sim_env/map/文件夾下,并將參數map設定為該靜態地圖的名字,即可進行調用。

注:該參數設為“ ”,則表示不使用靜態地圖

圖片

(2)world

world參數用于設定要調用的Gazebo仿真環境的文件名,該文件存放在該運動規劃庫的src/sim_env/worlds/文件夾下,示例中調用的是warehouse.world。

當然,我們也可以在Gazebo中搭建自己的仿真環境,并導出對應的world文件,然后存放到該目錄下,通過修改參數world來進行調用

注:需要注意的是參數map與world要對應起來,這里的對應是指環境內容的對應,一般是先在Gazebo中搭建仿真環境,保存為xxx.world文件,然后使用SLAM建圖算法,比如最常用的gampping,對該仿真環境進行建圖,將建好的圖作為靜態地圖保存,然后使用。

圖片

(3)rviz_file

rviz_file參數用于設定打開rviz時的配置文件,這些配置文件存放在src/sim_env/rviz/目錄下,目前庫中提供了cache.rviz、sim_env.rviz、view_multi.rviz這三個可選內容,同樣我們可以在rviz中自行調整,并導出對應.rviz文件,存儲在該目錄下,然后通過對rviz_file參數進行修改來調用

圖片

比如,我修改了全局路徑的話題及線型等,可以直接save config覆蓋原有設置,也可以導出新的.rviz配置文件,從而保留原有設置,如下圖所示:

圖片

(4)robot1_type

robot1_type用于設定編號為robot1的機器人所使用的機器人的模型,模型文件在庫的src/sim_env/urdf/目錄下庫中提供了nanocar、turtlebot3_burger、turtlebot3_waffle 、turtlebot3_waffle_pi四種可選的機器人模型

當然,我們也可以自行創建或者從網上找其他的機器人模型的urdf或xacro文件,放到該目錄下,通過修改參數robot1_type的值來進行調用。

圖片

庫中提供的這四種機器人模型如下圖所示:

圖片

(5)robot1_global_planner

robot1_global_planner用于設定編號為robot1的機器人所使用的全局路徑算法,全局路徑算法的實現文件在庫的src/planner/global_planner/目錄下,庫中提供了三大類共同16個全局路徑規劃算法,對應三個全局路徑規劃器插件,詳細如下:

① 基于圖搜索的全局路徑規劃器插件graph_planner/GraphPlanner包含的算法有:

a_star、jps、gbfs、dijkstra、d_star、lpa_star、voronoi、d_star_lite、theta_star、lazy_theta_star

② 基于采樣的全局路徑規劃器插件sample_planner/SamplePlanner包含的算法有:

rrt、rrt_star、informed_rrt、rrt_connect

③、基于智能的路徑規劃器插件evolutionary_planner/EvolutionaryPlanner包含的算法有:

aco、ga

三大類共16種全局路徑規劃算法可供我們選擇,上面的示例文件中使用的是theta_star算法,我們可以嘗試修改為以上其他16種算法中的任意一個來測試其效果

當然,我們也可以編寫自己的全局路徑規劃器算法,較容易的方式,是直接在以上16種算法中最接近的1種的源文件上進行修改,若創建自己的算法名和源文件,則還需要修改庫的src/sim env/ launch /include /navigation/目錄下的move base.launch.xml等文件

(6)robot1_local_planner

robot1_local_planner用于設定編號為robot1的機器人所使用的局部路徑算法,局部路徑算法的實現文件在庫的src/planner/local_planner/目錄下,庫中提供了四個局部路徑規劃算法,對應四個局部路徑規劃器插件,詳細如下:

①、插件dwa_planner/DWAPlanner對應的算法是:dwa

②、插件pid_planner/PIDPlanner對應的算法是:pid

③、插件apf_planner/APFPlanner對應的算法是:apf

④、插件static_planner/StaticPlanner對應的算法是:static

四個局部路徑規劃器插件對應4種局部路徑規劃算法可供我們選擇,上面的示例文件中使用的是apf算法,我們可以嘗試修改為以上其他4種算法中的任意一個來測試其效果

當然,我們也可以編寫自己的全局路徑規劃器算法,較容易的方式,是直接在以上4種算法中最接近的1種的源文件上進行修改,若創建自己的算法名和源文件,則還需要修改庫的src/sim env/ launch /include /navigation/目錄下的move base.launch.xml等文件

(7)robot1_x_pos、robot1_y_pos、robot1_z_pos、robot1_yaw

robot1_x_pos、robot1_y_pos、robot1_z_pos、robot1_yaw分別用于設定編號為robot1的機器人的初始位置和姿態角,對于位置設定為地圖中任意一個非障礙物點都行

經過我的測試,目前不支持任意修改初始姿態角robot1_yaw,其值保持為0即可,若修改為其他值rviz中顯示的雷達坐標系將出現問題。

(8)行人插件 pedestrians

除了上述必備的配置參數外,庫中還提供了行人插件pedestrians,若想啟用該功能,則需要取消對該插件的注釋

如下所示,該插件可以在仿真環境中添加動態的行人來充當動態障礙物,對規劃算法的性能進行測試,使用該插件同樣需要提供一個名為pedestrian_config.yaml參數配置文件,將在本文第三部分的第2小節,也就是下一小節中對該參數配置文件進行詳細的介紹。

plugins:
  pedestrians: "pedestrian_config.yaml"

(9)新增障礙物插件 obstacles_config

除了行人插件,庫中還提供了新增障礙物插件 obstacles_config,若想啟用該功能,則需要取消對該插件的注釋

如下所示,該插件可以在仿真環境中添加新的靜態障礙物,新增的障礙物在SLAM建圖產生的靜態地圖map中并不存在

因此,可以用來測試規劃算法對新感知到的障礙物的避障能力,使用該插件同樣需要提供一個名為obstacles_config.yaml參數配置文件,將在本文第三部分的第3小節中對該參數配置文件進行詳細的介紹。

plugins:
  obstacles: "obstacles_config.yaml"
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 仿真
    +關注

    關注

    50

    文章

    4070

    瀏覽量

    133552
  • 插件
    +關注

    關注

    0

    文章

    326

    瀏覽量

    22440
  • ROS
    ROS
    +關注

    關注

    1

    文章

    278

    瀏覽量

    17001
收藏 人收藏

    評論

    相關推薦

    使用用于MCS-51的IAR嵌入式平臺編寫的一個示例程序程序免費下載

    本文檔的主要內容詳細介紹的是使用用于MCS-51的IAR嵌入式平臺編寫的一個示例程序程序免費下載。
    發表于 08-15 17:32 ?1次下載
    使用用于MCS-51的IAR嵌入式平臺<b class='flag-5'>編寫</b>的一個<b class='flag-5'>示例程序</b><b class='flag-5'>程序</b>免費下載

    Python使用示例程序和工程文件免費下載

    本文檔的主要內容詳細介紹的是Python使用示例程序和工程文件免費下載。
    發表于 06-15 08:00 ?6次下載
    Python使用<b class='flag-5'>示例程序</b>和工程<b class='flag-5'>文件</b>免費下載

    STM32 之 標準外設版USB驅動庫詳解(架構+文件+函數+使用說明+示例程序

    STM32 之 標準外設版USB驅動庫詳解(架構+文件+函數+使用說明+示例程序
    發表于 12-08 20:36 ?0次下載
    STM32 之 標準外設版USB驅動庫詳解(架構+<b class='flag-5'>文件</b>+函數+使用說明+<b class='flag-5'>示例程序</b>)

    配置文件例程文件的使用

    上期講述了AMetal平臺驅動框架中的硬件層,介紹了硬件層的驅動是如何實現及其硬件層接口的定義,逐漸深入了解AMetal平臺。接下來向大家介紹配置文件例程文件的使用,以此可靈活使用相應外設的資源。
    的頭像 發表于 04-07 11:49 ?2174次閱讀
    <b class='flag-5'>配置文件</b>和<b class='flag-5'>例程</b><b class='flag-5'>文件</b>的使用

    SpringBoot配置文件application

    ("#{${sys-num.mymap}}") private MapString, String numMap;} cron表達式 YML配置文件: schedule: 0 0 / 1 * * * ? 代碼示例
    的頭像 發表于 01-13 15:28 ?648次閱讀

    教程 2:自定義配置文件示例

    教程 2:自定義配置文件示例
    發表于 03-13 19:33 ?0次下載
    教程 2:自定義<b class='flag-5'>配置文件</b><b class='flag-5'>示例</b>

    教程 3:自定義配置文件 gatt cmd 示例

    教程 3:自定義配置文件 gatt cmd 示例
    發表于 03-15 19:40 ?0次下載
    教程 3:自定義<b class='flag-5'>配置文件</b> gatt cmd <b class='flag-5'>示例</b>

    教程 2:自定義配置文件示例

    教程 2:自定義配置文件示例
    發表于 07-04 20:50 ?1次下載
    教程 2:自定義<b class='flag-5'>配置文件</b><b class='flag-5'>示例</b>

    教程 3:自定義配置文件 gatt cmd 示例

    教程 3:自定義配置文件 gatt cmd 示例
    發表于 07-06 18:50 ?1次下載
    教程 3:自定義<b class='flag-5'>配置文件</b> gatt cmd <b class='flag-5'>示例</b>

    KT142C語音芯片配置文件總是不起作用?配置文件的問題集中歸納

    KT142C語音芯片配置文件總是不起作用?配置文件的問題集中歸納
    的頭像 發表于 10-20 15:04 ?573次閱讀
    KT142C語音芯片<b class='flag-5'>配置文件</b>總是不起作用?<b class='flag-5'>配置文件</b>的問題集中歸納

    linux修改網卡ip配置文件

    、子網掩碼、網關等參數。本文將詳細介紹如何修改Linux的網卡ip配置文件。 首先,在Linux中,網絡接口的配置文件一般位于/etc/sysconfig/network-scripts/目錄下,
    的頭像 發表于 11-17 10:51 ?2229次閱讀

    springboot的全局配置文件有幾種

    Spring Boot是一種快速開發框架,其通過提供配置文件來實現對應用程序配置。全局配置文件在Spring Boot中起著非常重要的作用,可以用于
    的頭像 發表于 12-03 15:28 ?1563次閱讀

    zookeeper的核心配置文件是什么

    Zookeeper是一個常用的分布式協調服務,它被廣泛應用于大型分布式系統中。Zookeeper的核心配置文件是zoo.cfg,它包含了Zookeeper服務器的各種配置參數,可以通過修改這些
    的頭像 發表于 12-04 10:33 ?805次閱讀

    php的配置文件是什么

    PHP的配置文件是一種用于配置PHP解釋器的文本文件。它包含了一系列的指令和選項,用于影響PHP的行為和性能。通過修改配置文件,可以改變PHP解釋器的默認行為,從而滿足不同的需求。 在
    的頭像 發表于 12-04 15:55 ?1528次閱讀

    支持CiA402驅動器配置文件示例程序用于通過EtherCAT?通信進行電機控制

    電子發燒友網站提供《支持CiA402驅動器配置文件示例程序用于通過EtherCAT?通信進行電機控制.pdf》資料免費下載
    發表于 02-21 14:21 ?2次下載
    支持CiA402驅動器<b class='flag-5'>配置文件</b>的<b class='flag-5'>示例程序</b>用于通過EtherCAT?通信進行電機控制
    主站蜘蛛池模板: WWW国产亚洲精品久久| 亚洲伊人色| 亚洲国产精品综合久久一线| 丫鬟粗大狠狠贯穿h| 野花日本高清在线观看免费吗| 影音先锋影院中文无码| 97色伦久久视频在观看| 超碰久久国产vs| 国产精品人成视频免费999| 嘿嘿视频在线观看 成人| 久久久精品免费视频| 欧美精品专区免费观看| 视频一区国产精戏刘婷30| 亚洲国产欧美在线人成aaaa20 | 漂亮的保姆5电影免费观看完整版中文 | 曰本女人牲交视频免费| 69xx欧美| 抽插嫩B乳无码漫| 好男人午夜www视频在线观看| 老湿机一区午夜精品免费福利 | 久草免费视频在线观看| 免费韩国伦理2017最新| 日韩一级精品久久久久| 亚洲久热无码中文字幕| 99久久香蕉| 国产精品视频一区二区猎奇| 久久国产乱子伦精品免费不卡| 嗯啊…跟校草在教室里做h| 色多多涩涩屋下载软件| 一本之道高清在线观看一区| yellow日本动漫高清| 好男人的视频在线观看| 暖暖视频免费观看高清完整版 | 久久精品免费电影| 日韩hd高清xxxⅹ| 野花日本大全免费高清完整版| 成电影人免费网站| 久久九九日本韩国精品| 色AV色婷婷66人妻久久久| 语文老师扒开胸罩喂我奶| 多人乱肉高hnp|