這個(gè)系列主要介紹機(jī)器人ROS模型的建立方法,ROS系統(tǒng)帶來的好處之一就是:
我們無需自己建立復(fù)雜的數(shù)學(xué)模型來描述自己的機(jī)器人幾何尺寸、運(yùn)動學(xué)和動力學(xué)等,只需要用它提供的模型描述方法即可實(shí)現(xiàn)快速建模。
ROS系統(tǒng)的模型描述方法主要有兩種格式: URDF 和 XACRO。
URDF:用于描述一些簡單的機(jī)器人模型,參考官網(wǎng):URDF官方介紹(初學(xué)者一定要精讀這些文檔)。
XACRO:應(yīng)用更普遍的機(jī)器人模型描述文件,參考官網(wǎng):xacro,它有如下幾個(gè)特點(diǎn):
1.語法簡練。采用編程話的腳本語言格式,可以定義變量、常量、引入數(shù)學(xué)表達(dá)式等,極易上手。
2.方便復(fù)用。它可以進(jìn)行一系列的宏定義,并且可以包含其他.xacro文件。
下面,開始用xacro文件建立Rob的機(jī)器人模型。
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 >
常量的定義方法如下,在引用這里定義的常量的時(shí)候,用**{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 定義了本宏的名稱。
這個(gè)名稱由用戶定義,后續(xù)引用該宏的時(shí)候就是根據(jù)名字來的。
具體如何操作參考下文介紹或git上的源代碼。
注意,這里宏定義內(nèi)部的一些具體數(shù)值僅為說明而存在,具體的機(jī)器人關(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 >
-
機(jī)器人
+關(guān)注
關(guān)注
213文章
29748瀏覽量
212996 -
模型
+關(guān)注
關(guān)注
1文章
3521瀏覽量
50445 -
ROS
+關(guān)注
關(guān)注
1文章
288瀏覽量
17758
發(fā)布評論請先 登錄
ROS讓機(jī)器人開發(fā)更便捷,基于RK3568J+Debian系統(tǒng)發(fā)布!
名單公布!【書籍評測活動NO.58】ROS 2智能機(jī)器人開發(fā)實(shí)踐
【「# ROS 2智能機(jī)器人開發(fā)實(shí)踐」閱讀體驗(yàn)】+內(nèi)容初識
【「# ROS 2智能機(jī)器人開發(fā)實(shí)踐」閱讀體驗(yàn)】機(jī)器人入門的引路書
【「# ROS 2智能機(jī)器人開發(fā)實(shí)踐」閱讀體驗(yàn)】視覺實(shí)現(xiàn)的基礎(chǔ)算法的應(yīng)用
【ROS RIKIBOT基礎(chǔ)--使用系列 第一章節(jié)】ROS機(jī)器人硬件系統(tǒng) 精選資料分享
最實(shí)用的STM32和ROS機(jī)器人的串口通信方案
【搶鮮體驗(yàn)】--- Tran***ot ROS教育機(jī)器人
【搶鮮體驗(yàn)】- Tran***ot ROS教育機(jī)器人
如何對ROS機(jī)器人的定位導(dǎo)航進(jìn)行仿真
如何搭建實(shí)體機(jī)器人ros底盤
ROS讓機(jī)器人開發(fā)更便捷,基于RK3568J+Debian系統(tǒng)發(fā)布!
ROS教程之如何構(gòu)建ROS機(jī)器人模型URDF學(xué)習(xí)資料免費(fèi)下載

評論