機器人操作系統(tǒng)(ROS)課件10.2MoveIt!的使用_第1頁
機器人操作系統(tǒng)(ROS)課件10.2MoveIt!的使用_第2頁
機器人操作系統(tǒng)(ROS)課件10.2MoveIt!的使用_第3頁
機器人操作系統(tǒng)(ROS)課件10.2MoveIt!的使用_第4頁
機器人操作系統(tǒng)(ROS)課件10.2MoveIt!的使用_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

機器人操作系統(tǒng)(ROS)機器人操作系統(tǒng)(ROS)MoveIt!的使用10.2機器人操作系統(tǒng)(ROS)10.2.1MoveIt!系統(tǒng)架構MoveIt!系統(tǒng)架構如圖所示,內容參考官方文檔概念說明。move_group是MoveIt!的核心節(jié)點,能夠將其他的功能組件綜合在一起為用戶提供ROS中的動作指令和服務,其本身并不具備強大豐富的功能,依靠各種功能包和插件的集成,通過服務或消息的方式接收機器人發(fā)出的消息和機器人的TF坐標變換。MoveIt!系統(tǒng)架構機器人操作系統(tǒng)(ROS)10.2.1MoveIt!系統(tǒng)架構

用戶可以通過如下三種方式訪問move_group提供的操作和服務:基于move_group_interface的C++接口,基于moveit_commander的Python接口和使用rviz插件的GUI接口。move_group需要使用ROS參數(shù)服務器來獲取以下三種信息:URDF:在ROS參數(shù)服務器上查找robot_description參數(shù),以獲取機器人模型的描述信息。SRDF:在ROS參數(shù)服務器上查找robot_description_semantic參數(shù),以獲取機器人模型的配置信息,配置信息通常由用戶使用MoveIt!SetupAssistant創(chuàng)建。Config:機器人的其他配置信息,包括關節(jié)限制、運動學、運動規(guī)劃、感知和其他信息。機器人操作系統(tǒng)(ROS)10.2.1MoveIt!系統(tǒng)架構運動規(guī)劃(Motionplanning)就是在將機器人從初始姿態(tài)和位置移動到目標姿態(tài)和位置的過程中,避開環(huán)境中的障礙物并防止自身碰撞的一種算法MoveIt!通過插件機制(plugininterface)與運動規(guī)劃器(motionplanner)進行交互,可以使用多個庫的不同運動規(guī)劃器,使得MoveIt!擴展性更強。MoveIt!中包含有多種運動規(guī)劃器,包括基于采樣的運動規(guī)劃器OMPL(move_group默認使用),基于搜索的運動規(guī)劃器SBPL和基于最優(yōu)化的運動規(guī)劃器CHOMP等。運動規(guī)劃器結構如圖所示,運動規(guī)劃請求需要根據(jù)實際情況設置一些約束條件:①位置約束:限制link的空間區(qū)域。②方向約束:限制link的運動方向(滾轉、俯仰和偏航)。③可見性約束:限制link上的某個點在某個區(qū)域的可見性。④關節(jié)約束:限制關節(jié)的運動范圍。⑤用戶指定約束:用戶通過回調函數(shù)定義約束條件。運動規(guī)劃器結構機器人操作系統(tǒng)(ROS)10.2.1MoveIt!系統(tǒng)架構規(guī)劃場景用于重現(xiàn)機器人的周圍狀態(tài)以及機器人的自身姿態(tài)。這一功能主要由規(guī)劃場景監(jiān)聽器(PlanningSceneMonitor)實現(xiàn),如圖所示:規(guī)劃場景框圖機器人操作系統(tǒng)(ROS)10.2.2如何使用MoveIt!配置助手配置機械臂運行如下命令安裝MoveIt!,如圖所示:$sudoapt-getinstallros-melodic-moveit*安裝MoveIt!機器人操作系統(tǒng)(ROS)10.2.2如何使用MoveIt!配置助手配置機械臂

MoveIt!配置助手(SetupAssistant)是一個使用MoveIt!配置機器人的圖形界面,主要功能是產(chǎn)生機器人的SRDF文件,另外還產(chǎn)生其他配置文件,從而創(chuàng)建一個MoveIt!配置的功能包,完成機器人的配置、可視化和仿真等工作。運行如下命令,啟動設置助手,如圖所示:$roslaunchmoveit_setup_assistantsetup_assistant.launchMoveIt!配置助手其中,按鍵“CreateNewMoveItConfigurationPackage”功能為新建配置功能包,按鍵“EditExistingMoveItConfigurationPackage”功能為使用已有的配置功能包。機器人操作系統(tǒng)(ROS)10.2.2如何使用MoveIt!配置助手配置機械臂點擊按鍵“CreateNewMoveItConfigurationPackage”后,點擊“Browse”按鈕,加入相關模型,模型位置:robot_arm/robot_arm_description/urdf(需將本書對應代碼拷貝至工作空間并進行編譯),點擊“LoadFiles”完成模型加載,如圖所示。加載機械臂模型機器人操作系統(tǒng)(ROS)10.2.2如何使用MoveIt!配置助手配置機械臂點擊“Self-Collisions”,配置自碰撞矩陣,如圖所示。默認的自碰撞矩陣生成器搜索機械臂所有關節(jié),這個碰撞免檢矩陣是可以安全地關閉檢查,從而減少行動規(guī)劃的處理時間。采樣密度指定了多少個隨機機械臂位置來檢查碰撞,默認10000個碰撞檢查。可點擊“GenerateCollisionMatrix”自動完成設置。配置自碰撞矩陣機器人操作系統(tǒng)(ROS)10.2.2如何使用MoveIt!配置助手配置機械臂點擊“VirtualJoints”,分配機械臂的虛擬關節(jié),如圖所示。這里定義機械臂與世界坐標系的關系,把機械臂關節(jié)固定到某個物體上,例如機械臂有一個滑動底座,可以將機械臂的底座與里程計(odom)通過一個關節(jié)連接,此時機械臂就可以在二維平面滑動。這里用不上,直接跳過。分配機械臂虛擬關節(jié)機器人操作系統(tǒng)(ROS)10.2.2如何使用MoveIt!配置助手配置機械臂點擊“PlanningGroups”,配置機械臂的規(guī)劃群組,如圖所示。規(guī)劃組可以將機械臂劃分為不同的組,例如機械臂本身和夾爪部分。運動規(guī)劃會針對這一個組完成運動規(guī)劃,在配置過程中還可以選擇運動學解析器。配置機械臂的規(guī)劃群組機器人操作系統(tǒng)(ROS)10.2.2如何使用MoveIt!配置助手配置機械臂點擊“AddGroup”,按照圖所示內容進行配置,其中:GroupName:規(guī)劃組的名稱。KinematicSolver:配置針對運動規(guī)劃的運動學求解器,選擇的是kdl的運動規(guī)劃器插件。Kin.SearchResolution:關節(jié)空間的采樣密度。Kin.SearchTimeout(sec):超時時間。創(chuàng)建機械臂arm組機器人操作系統(tǒng)(ROS)10.2.2如何使用MoveIt!配置助手配置機械臂點擊“AddKin.Chain”,設置運動學計算中需包含的link,如圖所示。具體設置如下:BaseLink:base_linkTipLink:grasping_frame添加運動學工具鏈機器人操作系統(tǒng)(ROS)10.2.2如何使用MoveIt!配置助手配置機械臂點擊“AddGroup”,為機械臂夾爪創(chuàng)建如圖所示的的gripper組。

創(chuàng)建機械臂夾爪的gripper組機器人操作系統(tǒng)(ROS)10.2.2如何使用MoveIt!配置助手配置機械臂將“finger_joint1”和“finger_joint2”加入到右側的列表中,如圖所示。選中“gripper”目錄下的“Joints”,點擊“EditSelected”,如圖所示。進入gripper組中的joint進行配置設置gripper組中的joint機器人操作系統(tǒng)(ROS)10.2.2如何使用MoveIt!配置助手配置機械臂配置完成后,主配置界面如圖所示。點擊“RobotPoses”,定義機械臂的位姿。點擊“AddPose”,首先設置機械臂的初始位姿,如圖所示。主配置界面設置機械臂位姿機器人操作系統(tǒng)(ROS)10.2.2如何使用MoveIt!配置助手配置機械臂位姿設置完成后會出現(xiàn)如圖所示的界面。通過更改相關的joint參數(shù),設置機械臂的第二個位姿,如圖所示。設置機械臂第二個位姿機械臂位姿配置完成機器人操作系統(tǒng)(ROS)10.2.2如何使用MoveIt!配置助手配置機械臂點擊“EndEffectors”,配置機械臂的夾爪,如圖所示。機械臂夾爪配置

點擊“PassiveJoints”,如圖所示,這里是配置不能驅動的關節(jié),這些關節(jié)不需要MoveIt!對其進行規(guī)劃和控制。由于本實驗沒有類似關節(jié),所以無需配置。PassiveJoints配置機器人操作系統(tǒng)(ROS)10.2.2如何使用MoveIt!配置助手配置機械臂點擊“AuthorInformation”,設置作者信息。點擊“ConfigurationFiles”,生成配置文件。選擇一個保存路徑,配置助手將所有配置的文件打包成一個功能包(自行命名)進行保存,保存成功后點擊“ExitSetupAssistant”即可退出配置助手,如圖10-36所示。生成配置文件機器人操作系統(tǒng)(ROS)10.2.3啟動MoveIt!

使用MoveIt!配置助手配置完成后,會在相應的路徑下生成名為“robot_arm_config”的功能包,包含了大部分控制機械臂所需的啟動和配置文件。運行如下命令,測試配置是否成功,如圖所示:

$roslaunchrobot_arm_configdemo.launch運行demo.launch通過運動規(guī)劃面板可以控制機械臂完成拖動規(guī)劃、隨機目標規(guī)劃等功能。機器人操作系統(tǒng)(ROS)10.2.3啟動MoveIt!

拖動機械臂的前端改變機械臂的姿態(tài),點擊“Planning”下的“Plan&Execute”,Moveit!開始規(guī)劃路徑,控制機械臂向目標位置移動,如圖所示。拖動規(guī)劃機器人操作系統(tǒng)(ROS)10.2.3啟動MoveIt!

點擊“Query”下的“GoalState”的下拉選項,選擇“randomvalid

溫馨提示

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

最新文檔

評論

0/150

提交評論