版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
ROS應用開發(fā)技術1.URDF機器人建模-URDF定義URDF介紹目錄CONTENTS01URDF介紹URDF簡介URDF機器人建模是指使用URDF文件格式來描述機器人的物理結構、運動關系和傳感器等信息,以便在ROS中進行機器人建模、仿真和控制。URDF機器人建模步驟0204050301根據需求在URDF中添加傳感器,增強機器人的感知能力,支持復雜任務??梢暬团鲎矙z測描述機器人結構在URDF中明確關節(jié)類型、運動范圍和限制,為機器人運動提供基礎數據。整合到ROS系統(tǒng)定義機器人運動添加傳感器定義機器人的外觀和碰撞模型,便于在仿真中直觀顯示和避免碰撞。將URDF文件整合到ROS中,實現機器人的仿真、控制和規(guī)劃等功能,提升開發(fā)效率。通過URDF文件詳細定義機器人的鏈接、關節(jié)和傳感器等組件,確保模型準確性。rqt_plot可視化工具可以直接感知的部分,如人體的大臂、小臂等關節(jié)joint連接兩個連桿,如人體的大臂和小臂之間的關節(jié)URDF模型采用XML格式進行組織,便于描述機器人的相關信息,使得模型結構清晰直觀。在構建機器人模型時,通過拆解成連桿和關節(jié)兩大部分,能夠精確描述機器人的結構和運動特性。連桿link<link>020301<visual>描述機器人link部分的外觀參數描述link的慣性參數<collision><inertial>描述link的碰撞屬性link描述了機器人某個剛體部分的外觀和物理屬性,包括尺寸、顏色、形狀以及動力學中需要用到的慣性矩陣和碰撞參數等。<joint>類型關節(jié)類型描述continuous旋轉關節(jié),可以圍繞單軸無限旋轉revolute類似于continuous,但是有旋轉的角度極限prismatic滑動關節(jié),沿某一軸線移動的關節(jié),帶有位置極限planar平面關節(jié),允許在平面正交方向上平移或者旋轉floating浮動關節(jié),允許進行平移、旋轉運動fixed固定關節(jié),不允許運動的特殊關節(jié)<joint>參數0402050301<safety_controller>描述安全控制器參數<dynamics><mimic>描述運動的一些極限值,包括關節(jié)運動的上下限位置、速度限制、力矩限制等關節(jié)的參考位置,用來校準關節(jié)的絕對位置<limit><calibration>描述關節(jié)的物理屬性,例如阻尼值、物理靜摩擦力等,經常在動力學仿真中用到描述該關節(jié)與已有關節(jié)的關系<jointname="<nameofthejoint>"type="<jointtype>"><parentlink="parent_link"/><childlink="child_link"/><calibration.../><dynamicsdamping.../><limiteffort.../>...</joint><robot><robotname="<nameoftherobot>"><link.../><link.../><joint.../><joint.../></robot>ROS應用開發(fā)技術2.URDF機器人建模-URDF格式目錄CONTENTS01URDF格式URDF建模目錄CONTENTS02URDF格式URDF格式URDF簡介URDF簡介URDF是ROS中用于描述機器人結構的一種標準格式。它詳細描述了機器人的外觀形態(tài)、物理屬性以及關節(jié)類型等重要信息。URDF文件采用XML語言編寫,具有清晰的結構和明確的標簽定義。<link>標簽示例<link>標簽示例<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>子標簽<link>子標簽定義該連桿在碰撞檢測中的屬性,該標簽擁有的屬性有:<origin>、<geometry>、<surface><collision>用于定義該連桿在可視化工具中的顯示屬性,該標簽擁有的屬性有:<origin>、<geometry>、<material><visual>定義了連桿的物理慣性屬性,該標簽擁有的屬性有:<mass>、<inertia、<origin><inertial>在<link>
標簽中name屬性是必填項,描述當前連桿名稱,并且是唯一。<joint>標簽示例<joint>標簽示例<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>子標簽<joint>子標簽用于對旋轉關節(jié)的運動進行限制<origin><child>定義旋轉軸<limit>定義<child>連桿相對于<parent>連桿的坐標系原點的位置和姿態(tài)定義子連桿定義父連桿<parent><axis><robot>標簽示例<robot>標簽示例<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應用開發(fā)技術3.URDF機器人-URDF建模實訓(上)目錄CONTENTS01準備工作02小車主體03左側車輪添加目錄CONTENTS準備工作準備工作功能包創(chuàng)建功能包創(chuàng)建cd./catkin_ws/src/創(chuàng)建功能包catkin_create_pkgmbot_descriptionurdfxacro為了實驗操作的方便,我們需要在工作空間中新建一個功能包用于本次實訓操作。進入工作空間新建文件夾新建文件夾03010204urdf保存rviz的配置文件、功能包的配置文件mesheslaunchconfig存放機器人模型的URDF或xacro文件保存相關啟動文件編譯完成后,我們需要在功能包的目錄下新建四個文件夾放置URDF中引用的模型渲染文件,機器人外觀紋理,讓外觀和實際更相似小車主體小車主體display_mbot_base_urdf.launch文件編寫display_mbot_base_urdf.launch文件編寫<launch><!--加載的參數名字叫robot_description,具體內容是urdf相關模型的路徑--> <paramname="robot_description"textfile="$(findmbot_description)/urdf/mbot_base.urdf"/> <!--設置GUI參數,顯示關節(jié)控制插件--> <paramname="use_gui"value="true"/> <!--運行joint_state_publisher節(jié)點,發(fā)布機器人的關節(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可視化界面,保存每次打開之后的相關插件,保存到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坐標位置,放在最中央,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指的是一些物理屬性的標簽--></link></robot>模型查看模型查看roslaunchmbot_descriptiondisplay_mbot_base_urdf.launch左側車輪添加左側車輪添加添加小車模型左側車輪添加小車模型左側車輪<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文件,添加如下內容模型查看模型查看roslaunchmbot_descriptiondisplay_mbot_base_urdf.launch功能包創(chuàng)建功能包創(chuàng)建從下拉列表中選擇“TF”點擊“Add”按鈕添加新的顯示項ROS應用開發(fā)技術3.URDF機器人建模-URDF建模實訓(中)目錄CONTENTS01右側車輪添加前后支撐輪添加目錄CONTENTS02右側車輪添加右側車輪添加添加小車模型右側車輪添加小車模型右側車輪<jointname="right_wheel_joint"type="continuous"><originxyz="0-0.19-0.05"rpy="000"/><!--坐標位置,在base_link基礎上,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文件,添加如下內容模型查看模型查看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文件,添加如下內容添加小車模型前后支撐輪添加小車模型前后支撐輪<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文件,添加如下內容模型查看模型查看roslaunchmbot_descriptiondisplay_mbot_base_urdf.launchROS應用開發(fā)技術URDF機器人建模-URDF建模實訓(下)目錄CONTENTS01攝像頭添加02激光雷達添加03Kinect添加目錄CONTENTS攝像頭添加攝像頭添加準備工作準備工作cd./catkin_ws/src/mbot_description/urdf新建模型文件sudogeditmbot_with_camera.urdf進入功能包小車已經有了基本的外形,下面我們來為它添加傳感器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文件內容基本一致,需要修改urdf相關模型的路徑<paramname="robot_description"textfile="$(findmbot_description)/urdf/mbot_with_camera.urdf"/>打開文件修改內容sudogeditdisplay_mbot_with_camera_urdf.launch模型查看模型查看roslaunchmbot_descriptiondisplay_mbot_with_camera_urdf.launch激光雷達添加激光雷達添加準備工作準備工作切換目錄到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文件修改內容<paramname="robot_description"textfile="$(findmbot_description)/urdf/mbot_with_laser.urdf"/>mbot_with_laser.urdf文件編寫mbot_with_laser.urdf文件編寫<!--主體內容和mbot_with_camera.urdf文件一樣可以直接復制代碼,攝像頭部分不需要復制--><linkname="laser_link"><visual>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐飲廣場租賃協(xié)議樣本范本
- 建筑養(yǎng)護工程的施工合同客體是
- 市內環(huán)保產業(yè)發(fā)展扶持政策
- 船舶制造設備管理辦法
- 動漫制作投標保密承諾書
- 環(huán)境質量改善
- 換牌車牌租賃合同范本模板
- 電力工程混凝土施工合同
- 電子元器件招投標注意事項
- 2024年建筑工程設計合同標的及安全協(xié)議
- 2024年房屋裝修工程合同
- 勞動通論學習通超星期末考試答案章節(jié)答案2024年
- 《魏書生班主任工作漫談》讀書心得體會課件
- 第16課 國家出路的探索與列強侵略的加劇 課件上學期統(tǒng)編版(2019)必修中外歷史綱要上
- 2024年四川雷波縣“123”林業(yè)技術人才定向培養(yǎng)畢業(yè)生招聘擬聘易考易錯模擬試題(共500題)試卷后附參考答案
- 白求恩人物生平紀念
- 2024年度陜西榆林能源集團限公司高校畢業(yè)生招聘(238人)高頻難、易錯點500題模擬試題附帶答案詳解
- 零工市場(驛站)運營管理投標方案(技術方案)
- 解碼國家安全智慧樹知到期末考試答案2024年
- 浙教版六年級勞動項目三-任務二《創(chuàng)意班規(guī)巧設計》課件
- 《安全使用剪刀》PPT課件
評論
0/150
提交評論