這個系列主要介紹機器人ROS模型的建立方法,ROS系統(tǒng)帶來的好處之一就是:
我們無需自己建立復雜的數(shù)學模型來描述自己的機器人幾何尺寸、運動學和動力學等,只需要用它提供的模型描述方法即可實現(xiàn)快速建模。
ROS系統(tǒng)的模型描述方法主要有兩種格式: URDF 和 XACRO。
URDF:用于描述一些簡單的機器人模型,參考官網(wǎng):URDF官方介紹(初學者一定要精讀這些文檔)。
XACRO:應(yīng)用更普遍的機器人模型描述文件,參考官網(wǎng):xacro,它有如下幾個特點:
1.語法簡練。采用編程話的腳本語言格式,可以定義變量、常量、引入數(shù)學表達式等,極易上手。
2.方便復用。它可以進行一系列的宏定義,并且可以包含其他.xacro文件。
下面,開始用xacro文件建立Rob的機器人模型。
1.第一部分是文件的頭和一些宏定義
robot name我們可以自己隨便定義,然后分別給出了幾組顏色和常數(shù)的定義,最后給出了關(guān)節(jié)傳動部分的宏定義。
< ?xml version="1.0"? >
< robot name="rob_robot" xmlns:xacro="http://ros.org/wiki/xacro" >
< !-- Include materials -- >
< material name="Black" >
< color rgba="0.0 0.0 0.0 1.0"/ >
< /material >
< material name="White" >
< color rgba="1.0 1.0 1.0 1.0"/ >
< /material >
常量的定義方法如下,在引用這里定義的常量的時候,用**{XX},例如在如果在下面的代碼中想引用M_PI,只需要用:**{M_PI} 即可。
< !-- Constants -- >
< property name="deg_to_rad" value="0.01745329251994329577"/ >
< property name="M_PI" value="3.14159"/ >
關(guān)節(jié)的傳動參數(shù)宏定義方法如下,xacro:macro name 定義了本宏的名稱。
這個名稱由用戶定義,后續(xù)引用該宏的時候就是根據(jù)名字來的。
具體如何操作參考下文介紹或git上的源代碼。
注意,這里宏定義內(nèi)部的一些具體數(shù)值僅為說明而存在,具體的機器人關(guān)節(jié)應(yīng)該是不一樣的。
< !-- transmission block macro definition -- >
< xacro:macro name="transmission_block" params="joint_name" >
< transmission name="tran1" >
< type >transmission_interface/SimpleTransmission< /type >
< joint name="${joint_name}" >
< hardwareInterface >PositionJointInterface< /hardwareInterface >
< /joint >
< actuator name="motor1" >
< hardwareInterface >PositionJointInterface< /hardwareInterface >
< mechanicalReduction >1< /mechanicalReduction >
< /actuator >
< /transmission >
< /xacro:macro >
-
機器人
+關(guān)注
關(guān)注
211文章
28700瀏覽量
208665 -
模型
+關(guān)注
關(guān)注
1文章
3342瀏覽量
49270 -
ROS
+關(guān)注
關(guān)注
1文章
281瀏覽量
17126
發(fā)布評論請先 登錄
相關(guān)推薦
Al大模型機器人
ROS讓機器人開發(fā)更便捷,基于RK3568J+Debian系統(tǒng)發(fā)布!
機器人基礎(chǔ)書籍
【ROS RIKIBOT基礎(chǔ)--使用系列 第一章節(jié)】ROS機器人硬件系統(tǒng) 精選資料分享
最實用的STM32和ROS機器人的串口通信方案
【搶鮮體驗】--- Tran***ot ROS教育機器人
【搶鮮體驗】- Tran***ot ROS教育機器人
如何搭建實體機器人ros底盤
怎樣將微型ROS移植到機器人的RA MCU中呢
ROS讓機器人開發(fā)更便捷,基于RK3568J+Debian系統(tǒng)發(fā)布!
ROS教程之如何構(gòu)建ROS機器人模型URDF學習資料免費下載
![<b class='flag-5'>ROS</b>教程之如何構(gòu)建<b class='flag-5'>ROS</b><b class='flag-5'>機器人</b><b class='flag-5'>模型</b>URDF學習資料免費下載](https://file.elecfans.com/web1/M00/68/60/o4YBAFvD_qmAYS2WAASyEm9lMg0939.png)
評論