28.5 ROS如何把URDF模型加載到Gazebo和RVIZ中

robot_description參數(shù)是RVIZ渲染機(jī)器人的bridge萄窜!

一彬碱、ROS加載URDF模型到Gazebo中

gazebo_ros包是gazebo軟件和ROS軟件交互的bridge彭雾!

1.1 通過(guò)絕對(duì)路徑加載URDF模型

通過(guò)gazebo_ros包提供的spawn_model節(jié)點(diǎn)來(lái)讓gazbo加載URDF模型甫恩。

<launch>
  <!-- 啟動(dòng)Gazebo -->
  <include file="$(find gazebo_ros)/launch/empty_world.launch">
    <arg name="world_name" value="your_world.world"/> <!-- 指定你的世界文件, 如果使用默認(rèn)世界, 這行可以省略 -->
    <arg name="paused" value="false"/> <!-- 啟動(dòng)時(shí)是否暫停仿真 -->
    <arg name="use_sim_time" value="true"/> <!-- 使用仿真時(shí)間 -->
    <arg name="gui" value="true"/> <!-- 是否啟動(dòng)Gazebo GUI -->
    <arg name="headless" value="false"/> <!-- 是否為無(wú)頭模式右钾,對(duì)于服務(wù)器部署很有用 -->
    <arg name="debug" value="false"/> <!-- 是否啟動(dòng)GDB調(diào)試 -->
  </include>

  <!-- 啟動(dòng)Gazebo中的ROS控制器管理器 -->
  <node name="spawn_urdf" pkg="gazebo_ros" type="spawn_model" args="-urdf -model my_robot -file /path/your/model.urdf" respawn="false"/>
</launch>

在這個(gè)命令中:

  • -file 參數(shù)后跟URDF文件的絕對(duì)路徑贝室。
  • -urdf 表明加載的文件格式為URDF。
  • -x, -y, -z 指定模型在Gazebo世界中的位置。
  • -model 后面跟的是你希望在Gazebo中為模型指定的名稱唬党。

1.2 另一種絕對(duì)路徑加載URDF模型

其中-file參數(shù)的值也可以使用$(find your_package_name)/urdf/robot.urdf命令來(lái)尋找URDF文件的絕對(duì)路徑,這樣便于移植鬼佣!

<launch>
  <!-- 啟動(dòng)Gazebo -->
  <include file="$(find gazebo_ros)/launch/empty_world.launch">
    <arg name="world_name" value="your_world.world"/> <!-- 指定你的世界文件, 如果使用默認(rèn)世界, 這行可以省略 -->
    <arg name="paused" value="false"/> <!-- 啟動(dòng)時(shí)是否暫停仿真 -->
    <arg name="use_sim_time" value="true"/> <!-- 使用仿真時(shí)間 -->
    <arg name="gui" value="true"/> <!-- 是否啟動(dòng)Gazebo GUI -->
    <arg name="headless" value="false"/> <!-- 是否為無(wú)頭模式驶拱,對(duì)于服務(wù)器部署很有用 -->
    <arg name="debug" value="false"/> <!-- 是否啟動(dòng)GDB調(diào)試 -->
  </include>

  <!-- 啟動(dòng)Gazebo中的ROS控制器管理器 -->
  <node name="spawn_urdf" pkg="gazebo_ros" type="spawn_model" args="-urdf -model my_robot -file $(find your_package_name)/urdf/robot.urdf" respawn="false"/>
</launch>

1.3 通過(guò)-param參數(shù)加載URDF模型

<launch>
  <!-- 加載機(jī)器人的URDF到參數(shù)服務(wù)器 -->
  <param name="robot_description" textfile="$(find your_package_name)/urdf/your_robot_model.urdf" />

  <!-- 啟動(dòng)Gazebo -->
  <include file="$(find gazebo_ros)/launch/empty_world.launch">
    <arg name="world_name" value="your_world.world"/> <!-- 指定你的世界文件, 如果使用默認(rèn)世界, 這行可以省略 -->
    <arg name="paused" value="false"/> <!-- 啟動(dòng)時(shí)是否暫停仿真 -->
    <arg name="use_sim_time" value="true"/> <!-- 使用仿真時(shí)間 -->
    <arg name="gui" value="true"/> <!-- 是否啟動(dòng)Gazebo GUI -->
    <arg name="headless" value="false"/> <!-- 是否為無(wú)頭模式,對(duì)于服務(wù)器部署很有用 -->
    <arg name="debug" value="false"/> <!-- 是否啟動(dòng)GDB調(diào)試 -->
  </include>

  <!-- 啟動(dòng)Gazebo中的ROS控制器管理器 -->
  <node name="spawn_urdf" pkg="gazebo_ros" type="spawn_model" args="-urdf -model my_robot -param robot_description" respawn="false"/>
</launch>

<param>標(biāo)簽的textfile屬性被用來(lái)直接讀取URDF文件晶衷,并將其內(nèi)容作為字符串值設(shè)置給robot_description參數(shù)蓝纲。

robot_description參數(shù)的值為URDF文件內(nèi)容!

二晌纫、ROS加載URDF模型到RVIZ中

RVIZ通過(guò)RobotModel的Robot Description參數(shù)的值讀取URDF文件內(nèi)容税迷,進(jìn)而渲染出機(jī)器人形狀!

通過(guò)<param>標(biāo)簽的textfile屬性加載URDF文件內(nèi)容锹漱,并將其內(nèi)容作為字符串值設(shè)置給robot_description參數(shù)翁狐。

<launch>
  <!-- 加載機(jī)器人的URDF到參數(shù)服務(wù)器 -->
  <param name="robot_description" textfile="$(find your_package_name)/urdf/your_robot_model.urdf" />

  <!-- 啟動(dòng)RViz -->
  <node name="rviz" pkg="rviz" type="rviz"/>
</launch>

2.1 添加機(jī)器人模型,RobotModel

2.2 設(shè)置機(jī)器人模型RobotModel的robot_description參數(shù)

這里的robot_description參數(shù)就是URDF文件中的字符串凌蔬!

2.3 設(shè)置RVIZ的Fixed Frame參數(shù)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末露懒,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子砂心,更是在濱河造成了極大的恐慌懈词,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件辩诞,死亡現(xiàn)場(chǎng)離奇詭異坎弯,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)译暂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)抠忘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人外永,你說(shuō)我怎么就攤上這事崎脉。” “怎么了伯顶?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵囚灼,是天一觀的道長(zhǎng)骆膝。 經(jīng)常有香客問(wèn)我,道長(zhǎng)灶体,這世上最難降的妖魔是什么阅签? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮蝎抽,結(jié)果婚禮上政钟,老公的妹妹穿的比我還像新娘。我一直安慰自己樟结,他們只是感情好锥涕,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著狭吼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪殖妇。 梳的紋絲不亂的頭發(fā)上刁笙,一...
    開(kāi)封第一講書(shū)人閱讀 48,970評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音谦趣,去河邊找鬼疲吸。 笑死,一個(gè)胖子當(dāng)著我的面吹牛前鹅,可吹牛的內(nèi)容都是我干的摘悴。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼舰绘,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼蹂喻!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起捂寿,我...
    開(kāi)封第一講書(shū)人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤口四,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后秦陋,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體蔓彩,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年驳概,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了赤嚼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡顺又,死狀恐怖更卒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情稚照,我是刑警寧澤逞壁,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布流济,位于F島的核電站,受9級(jí)特大地震影響腌闯,放射性物質(zhì)發(fā)生泄漏绳瘟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一姿骏、第九天 我趴在偏房一處隱蔽的房頂上張望糖声。 院中可真熱鬧,春花似錦分瘦、人聲如沸蘸泻。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)悦施。三九已至,卻和暖如春去团,著一層夾襖步出監(jiān)牢的瞬間抡诞,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工土陪, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留昼汗,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓鬼雀,卻偏偏與公主長(zhǎng)得像顷窒,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子源哩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容