《ROS應(yīng)用技術(shù)》課件-15.URDF機器人建模_第1頁
《ROS應(yīng)用技術(shù)》課件-15.URDF機器人建模_第2頁
《ROS應(yīng)用技術(shù)》課件-15.URDF機器人建模_第3頁
《ROS應(yīng)用技術(shù)》課件-15.URDF機器人建模_第4頁
《ROS應(yīng)用技術(shù)》課件-15.URDF機器人建模_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

ROS應(yīng)用開發(fā)技術(shù)1.URDF機器人建模-URDF定義URDF介紹目錄CONTENTS01URDF介紹URDF簡介URDF機器人建模是指使用URDF文件格式來描述機器人的物理結(jié)構(gòu)、運動關(guān)系和傳感器等信息,以便在ROS中進行機器人建模、仿真和控制。URDF機器人建模步驟0204050301根據(jù)需求在URDF中添加傳感器,增強機器人的感知能力,支持復(fù)雜任務(wù)。可視化和碰撞檢測描述機器人結(jié)構(gòu)在URDF中明確關(guān)節(jié)類型、運動范圍和限制,為機器人運動提供基礎(chǔ)數(shù)據(jù)。整合到ROS系統(tǒng)定義機器人運動添加傳感器定義機器人的外觀和碰撞模型,便于在仿真中直觀顯示和避免碰撞。將URDF文件整合到ROS中,實現(xiàn)機器人的仿真、控制和規(guī)劃等功能,提升開發(fā)效率。通過URDF文件詳細(xì)定義機器人的鏈接、關(guān)節(jié)和傳感器等組件,確保模型準(zhǔn)確性。rqt_plot可視化工具可以直接感知的部分,如人體的大臂、小臂等關(guān)節(jié)joint連接兩個連桿,如人體的大臂和小臂之間的關(guān)節(jié)URDF模型采用XML格式進行組織,便于描述機器人的相關(guān)信息,使得模型結(jié)構(gòu)清晰直觀。在構(gòu)建機器人模型時,通過拆解成連桿和關(guān)節(jié)兩大部分,能夠精確描述機器人的結(jié)構(gòu)和運動特性。連桿link<link>020301<visual>描述機器人link部分的外觀參數(shù)描述link的慣性參數(shù)<collision><inertial>描述link的碰撞屬性link描述了機器人某個剛體部分的外觀和物理屬性,包括尺寸、顏色、形狀以及動力學(xué)中需要用到的慣性矩陣和碰撞參數(shù)等。<joint>類型關(guān)節(jié)類型描述continuous旋轉(zhuǎn)關(guān)節(jié),可以圍繞單軸無限旋轉(zhuǎn)revolute類似于continuous,但是有旋轉(zhuǎn)的角度極限prismatic滑動關(guān)節(jié),沿某一軸線移動的關(guān)節(jié),帶有位置極限planar平面關(guān)節(jié),允許在平面正交方向上平移或者旋轉(zhuǎn)floating浮動關(guān)節(jié),允許進行平移、旋轉(zhuǎn)運動fixed固定關(guān)節(jié),不允許運動的特殊關(guān)節(jié)<joint>參數(shù)0402050301<safety_controller>描述安全控制器參數(shù)<dynamics><mimic>描述運動的一些極限值,包括關(guān)節(jié)運動的上下限位置、速度限制、力矩限制等關(guān)節(jié)的參考位置,用來校準(zhǔn)關(guān)節(jié)的絕對位置<limit><calibration>描述關(guān)節(jié)的物理屬性,例如阻尼值、物理靜摩擦力等,經(jīng)常在動力學(xué)仿真中用到描述該關(guān)節(jié)與已有關(guān)節(jié)的關(guān)系<jointname="<nameofthejoint>"type="<jointtype>"><parentlink="parent_link"/><childlink="child_link"/><calibration.../><dynamicsdamping.../><limiteffort.../>...</joint><robot><robotname="<nameoftherobot>"><link.../><link.../><joint.../><joint.../></robot>ROS應(yīng)用開發(fā)技術(shù)2.URDF機器人建模-URDF格式目錄CONTENTS01URDF格式URDF建模目錄CONTENTS02URDF格式URDF格式URDF簡介URDF簡介URDF是ROS中用于描述機器人結(jié)構(gòu)的一種標(biāo)準(zhǔn)格式。它詳細(xì)描述了機器人的外觀形態(tài)、物理屬性以及關(guān)節(jié)類型等重要信息。URDF文件采用XML語言編寫,具有清晰的結(jié)構(gòu)和明確的標(biāo)簽定義。<link>標(biāo)簽示例<link>標(biāo)簽示例<linkname="link1"><visual><originxyz="000"rpy="000"/><geometry><meshfilename="package://dofbot_moveit/meshes/link1.STL"/></geometry><materialname=""><colorrgba="00.6274509803921570.2352941176470591"/></material></visual><collision><originxyz="000"rpy="000"/><geometry><meshfilename="package://dofbot_moveit/meshes/link1.STL"/></geometry></collision></link><link>子標(biāo)簽<link>子標(biāo)簽定義該連桿在碰撞檢測中的屬性,該標(biāo)簽擁有的屬性有:<origin>、<geometry>、<surface><collision>用于定義該連桿在可視化工具中的顯示屬性,該標(biāo)簽擁有的屬性有:<origin>、<geometry>、<material><visual>定義了連桿的物理慣性屬性,該標(biāo)簽擁有的屬性有:<mass>、<inertia、<origin><inertial>在<link>

標(biāo)簽中name屬性是必填項,描述當(dāng)前連桿名稱,并且是唯一。<joint>標(biāo)簽示例<joint>標(biāo)簽示例<jointname="joint1"type="revolute"><originxyz="000.06605"rpy="-0.01080500"/><parentlink="base_link"/><childlink="link1"/><axisxyz="001"/><limiteffort="30"velocity="1.0"lower="-1.5708"upper="1.5708"/></joint><joint>子標(biāo)簽<joint>子標(biāo)簽用于對旋轉(zhuǎn)關(guān)節(jié)的運動進行限制<origin><child>定義旋轉(zhuǎn)軸<limit>定義<child>連桿相對于<parent>連桿的坐標(biāo)系原點的位置和姿態(tài)定義子連桿定義父連桿<parent><axis><robot>標(biāo)簽示例<robot>標(biāo)簽示例<robotname="robot_name"><link>...</link><joint>...</joint>

<link>...</link><joint>...</joint><robot>URDF建模URDF建模創(chuàng)建URDF功能包創(chuàng)建URDF功能包進入src文件夾cd~/ros_wscatkin_make返回工作空間catkin_create_pkglearn_urdfurdfxacro創(chuàng)建功能包cd~/ros_ws/src編譯工作空間新建文件夾新建文件夾03010204urdf用于存放顯示urdf模型的rviz文件mesheslaunchconfig用于存放編寫的urdf模型文件用于存放啟動顯示urdf的launch文件編譯完成后,我們需要在功能包的目錄下新建四個文件夾用于存放URDF中對link的渲染文件dispaly.launch文件編寫dispaly.launch文件編寫<launch><paramname="robot_description"command="$(findxacro)/xacro--inorder$(findlearn_urdf)/urdf/dofbot.urdf"/><nodename="joint_state_publisher_gui"pkg="joint_state_publisher_gui"type="joint_state_publisher_gui"/>

<nodename="robot_state_publisher"pkg="robot_state_publisher"type="robot_state_publisher"/>

</launch>運行文件運行文件打開Rviz來顯示機械臂rviz重新打開終端使用roslaunch命令運行文件roslaunchlearn_urdfdisplay.launchROS應(yīng)用開發(fā)技術(shù)3.URDF機器人-URDF建模實訓(xùn)(上)目錄CONTENTS01準(zhǔn)備工作02小車主體03左側(cè)車輪添加目錄CONTENTS準(zhǔn)備工作準(zhǔn)備工作功能包創(chuàng)建功能包創(chuàng)建cd./catkin_ws/src/創(chuàng)建功能包catkin_create_pkgmbot_descriptionurdfxacro為了實驗操作的方便,我們需要在工作空間中新建一個功能包用于本次實訓(xùn)操作。進入工作空間新建文件夾新建文件夾03010204urdf保存rviz的配置文件、功能包的配置文件mesheslaunchconfig存放機器人模型的URDF或xacro文件保存相關(guān)啟動文件編譯完成后,我們需要在功能包的目錄下新建四個文件夾放置URDF中引用的模型渲染文件,機器人外觀紋理,讓外觀和實際更相似小車主體小車主體display_mbot_base_urdf.launch文件編寫display_mbot_base_urdf.launch文件編寫<launch><!--加載的參數(shù)名字叫robot_description,具體內(nèi)容是urdf相關(guān)模型的路徑--> <paramname="robot_description"textfile="$(findmbot_description)/urdf/mbot_base.urdf"/> <!--設(shè)置GUI參數(shù),顯示關(guān)節(jié)控制插件--> <paramname="use_gui"value="true"/> <!--運行joint_state_publisher節(jié)點,發(fā)布機器人的關(guān)節(jié)狀態(tài)--> <nodename="joint_state_publisher"pkg="joint_state_publisher"type="joint_state_publisher"/> <!--運行robot_state_publisher節(jié)點,發(fā)布tf--> <nodename="robot_state_publisher"pkg="robot_state_publisher"type="state_publisher"/> <!--運行rviz可視化界面,保存每次打開之后的相關(guān)插件,保存到config文件夾下面--> <nodename="rviz"pkg="rviz"type="rviz"args="-d$(findmbot_description)/config/mbot_urdf.rviz"required="true"/></launch>mbot_base.urdf文件編寫mbot_base.urdf文件編寫<?xmlversion="1.0"?><robotname="mbot"><linkname="base_link"><visual><originxyz="000"rpy="000"/><!--link坐標(biāo)位置,放在最中央,xyz單位是米,rpy單位是弧度--><geometry><cylinderlength="0.16"radius="0.20"/></geometry><!--機器人的外觀效果,使用圓柱體,高0.16,半徑0.20--><materialname="yellow"><colorrgba="10.401"/></material><!--通過rgba來描述顏色,顏色命名為yellow,a為1是不透明--></visual><!--visual指的是一些物理屬性的標(biāo)簽--></link></robot>模型查看模型查看roslaunchmbot_descriptiondisplay_mbot_base_urdf.launch左側(cè)車輪添加左側(cè)車輪添加添加小車模型左側(cè)車輪添加小車模型左側(cè)車輪<jointname="left_wheel_joint"type="continuous"><originxyz="00.19-0.05"rpy="000"/><parentlink="base_link"/><childlink="left_wheel_link"/><axisxyz="010"/></joint><linkname="left_wheel_link"><visual><originxyz="000"rpy="1.570700"/><geometry><cylinderradius="0.06"length="0.025"/></geometry><materialname="white"><colorrgba="1110.9"/></material></visual></link>使用gedit命令打開mbot_base.urdf文件,添加如下內(nèi)容模型查看模型查看roslaunchmbot_descriptiondisplay_mbot_base_urdf.launch功能包創(chuàng)建功能包創(chuàng)建從下拉列表中選擇“TF”點擊“Add”按鈕添加新的顯示項ROS應(yīng)用開發(fā)技術(shù)3.URDF機器人建模-URDF建模實訓(xùn)(中)目錄CONTENTS01右側(cè)車輪添加前后支撐輪添加目錄CONTENTS02右側(cè)車輪添加右側(cè)車輪添加添加小車模型右側(cè)車輪添加小車模型右側(cè)車輪<jointname="right_wheel_joint"type="continuous"><originxyz="0-0.19-0.05"rpy="000"/><!--坐標(biāo)位置,在base_link基礎(chǔ)上,Y偏移-0.19,z偏移-0.05,與左輪正好相反--><parentlink="base_link"/><childlink="right_wheel_link"/><axisxyz="010"/></joint><linkname="right_wheel_link"><visual><originxyz="000"rpy="1.570700"/><geometry><cylinderradius="0.06"length="0.025"/></geometry><materialname="white"><colorrgba="1110.9"/></material></visual></link>使用gedit命令打開mbot_base.urdf文件,添加如下內(nèi)容模型查看模型查看roslaunchmbot_descriptiondisplay_mbot_base_urdf.launch前后支撐輪添加前后支撐輪添加添加小車模型前后支撐輪添加小車模型前后支撐輪<jointname="front_caster_joint"type="continuous"><originxyz="0.180-0.095"rpy="000"/><parentlink="base_link"/><childlink="front_caster_link"/><axisxyz="010"/></joint><linkname="front_caster_link"><visual><originxyz="000"rpy="000"/><geometry><sphereradius="0.015"/><!--用圓形輪子代替--></geometry><materialname="black"><colorrgba="0000.95"/></material></visual></link>使用gedit命令打開mbot_base.urdf文件,添加如下內(nèi)容添加小車模型前后支撐輪添加小車模型前后支撐輪<jointname="back_caster_joint"type="continuous"><originxyz="-0.180-0.095"rpy="000"/><parentlink="base_link"/><childlink="back_caster_link"/><axisxyz="010"/></joint><linkname="back_caster_link"><visual><originxyz="000"rpy="000"/><geometry><sphereradius="0.015"/></geometry><materialname="black"><colorrgba="0000.95"/></material></visual></link>使用gedit命令打開mbot_base.urdf文件,添加如下內(nèi)容模型查看模型查看roslaunchmbot_descriptiondisplay_mbot_base_urdf.launchROS應(yīng)用開發(fā)技術(shù)URDF機器人建模-URDF建模實訓(xùn)(下)目錄CONTENTS01攝像頭添加02激光雷達添加03Kinect添加目錄CONTENTS攝像頭添加攝像頭添加準(zhǔn)備工作準(zhǔn)備工作cd./catkin_ws/src/mbot_description/urdf新建模型文件sudogeditmbot_with_camera.urdf進入功能包小車已經(jīng)有了基本的外形,下面我們來為它添加傳感器mbot_with_camera.urdf文件編寫mbot_with_camera.urdf文件編寫<robotname="mbot"><linkname="base_link"><visual><originxyz="000"rpy="000"/><geometry><cylinderlength="0.16"radius="0.20"/></geometry><materialname="yellow"><colorrgba="10.401"/></material></visual></link><jointname="left_wheel_joint"type="continuous"><originxyz="00.19-0.05"rpy="000"/><parentlink="base_link"/><childlink="left_wheel_link"/><axisxyz="010"/></joint>mbot_with_camera.urdf文件編寫mbot_with_camera.urdf文件編寫<linkname="left_wheel_link"><visual><originxyz="000"rpy="1.570700"/><geometry><cylinderradius="0.06"length="0.025"/></geometry><materialname="white"><colorrgba="1110.9"/></material></visual></link><jointname="right_wheel_joint"type="continuous"><originxyz="0-0.19-0.05"rpy="000"/><parentlink="base_link"/><childlink="right_wheel_link"/><axisxyz="010"/></joint>mbot_with_camera.urdf文件編寫mbot_with_camera.urdf文件編寫<linkname="right_wheel_link"><visual><originxyz="000"rpy="1.570700"/><geometry><cylinderradius="0.06"length="0.025"/></geometry><materialname="white"><colorrgba="1110.9"/></material></visual></link><jointname="front_caster_joint"type="continuous"><originxyz="0.180-0.095"rpy="000"/><parentlink="base_link"/><childlink="front_caster_link"/><axisxyz="010"/></joint>mbot_with_camera.urdf文件編寫mbot_with_camera.urdf文件編寫<linkname="front_caster_link"><visual><originxyz="000"rpy="000"/><geometry><sphereradius="0.015"/></geometry><materialname="black"><colorrgba="0000.95"/></material></visual></link><jointname="back_caster_joint"type="continuous"><originxyz="-0.180-0.095"rpy="000"/><parentlink="base_link"/><childlink="back_caster_link"/><axisxyz="010"/></joint>mbot_with_camera.urdf文件編寫mbot_with_camera.urdf文件編寫<linkname="back_caster_link"><visual><originxyz="000"rpy="000"/><geometry><sphereradius="0.015"/></geometry><materialname="black"><colorrgba="0000.95"/></material></visual></link>mbot_with_camera.urdf文件編寫mbot_with_camera.urdf文件編寫<linkname="camera_link"><visual><originxyz="000"rpy="000"/><geometry><boxsize="0.030.040.04"/></geometry><materialname="black"><colorrgba="0000.95"/></material></visual></link><jointname="camera_joint"type="fixed"><originxyz="0.1700.10"rpy="000"/><parentlink="base_link"/><childlink="camera_link"/></joint></robot>修改launch文件修改launch文件020301切換目錄cd./catkin_ws/src/mbot_description/launch和display_mbot_base_urdf.launch文件內(nèi)容基本一致,需要修改urdf相關(guān)模型的路徑<paramname="robot_description"textfile="$(findmbot_description)/urdf/mbot_with_camera.urdf"/>打開文件修改內(nèi)容sudogeditdisplay_mbot_with_camera_urdf.launch模型查看模型查看roslaunchmbot_descriptiondisplay_mbot_with_camera_urdf.launch激光雷達添加激光雷達添加準(zhǔn)備工作準(zhǔn)備工作切換目錄到urdfcd./catkin_ws/src/mbot_description/launchsudogeditdisplay_mbot_with_laser_urdf.launch切換目錄到launchsudogeditmbot_with_laser.urdf打開模型文件cd./catkin_ws/src/mbot_description/urdf打開launch文件launch文件修改內(nèi)容<paramname="robot_description"textfile="$(findmbot_description)/urdf/mbot_with_laser.urdf"/>mbot_with_laser.urdf文件編寫mbot_with_laser.urdf文件編寫<!--主體內(nèi)容和mbot_with_camera.urdf文件一樣可以直接復(fù)制代碼,攝像頭部分不需要復(fù)制--><linkname="laser_link"><visual>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論