1. 程式人生 > 實用技巧 >ROS機械臂-MoveIt!

ROS機械臂-MoveIt!

1.MoveIt!簡介

  PR2機器人,2012,

  NASA基於ROS設計的空間機器人、日本的MUJIN公司

  一個易於使用的整合化開發平臺

  由一系列移動操作的功能包組成:運動規劃、操作控制、3D感知、運動學、控制與導航演算法

  提供良好的GUI

  傳統機械臂程式設計:示教器(遙控器點示教、拖動示教)

  ROS MoveIt!運動規劃

  三大核心功能:運動學、路徑規劃、碰撞檢測

  運動學:KDL、Trac-IK、IKFast ... (正逆解)

  路徑規劃:OMPL、CHOMP、SBPL ...(哪個時間到哪個點)

  碰撞檢測:FCL、PCD ... (視覺)

  與MoveIt!互動的三種方式

:命令列、Rviz(GUI)、C++ API

  輸出為:一條軌跡(trajecctoroy)

  使用:組裝、配置、驅動、控制

2.MoveIt!視覺化配置

roscore
rosrun moveit_setup_assistant

1)選擇create new moveit configuration package,選擇模型,load fils,因為ROS本身的bug,可能不能正常顯示,不用管;

2)自碰撞檢測,可以減少計算,點選generate collision matrix,即可

3)虛擬關節,用來描述世界座標和機器人底盤座標的關係,這裡暫時不用設定

4)planning groups

:規劃組(核心),點選add group,命名(manipulator),求解器(KDL),求解時間、次數(預設)、運動規劃演算法(A點到B點中間的路徑怎麼生成,RRT,基於取樣),add kin.chain ,base_link、tool0分別設定為chain的首尾端。如果有夾爪需要再新增group,這裡就不需要了。

5)define poses:定義一些姿態,方便後面的程式設計控制。add pose,pose name(home),forward

6)define end effectors:定義終端夾具,夾爪的名字,控制組等設定,這裡跳過

7)消極關節:設定不需要運動的關節,這裡都需要執行,不需要新增

8)ros control:給關節新增controller,介面配置會產生錯誤,後面會介紹通過檔案方式配置,這裡跳過

9)simulation:會產生針對gazebo模擬的urdf檔案,會產生問題,後面手動新增

10)3D Perception:新增視覺點雲,運動規劃會自動訂閱

11)作者資訊

12)產生配置檔案,檔名一般命名為:probot_anno_moveit_config,放在工作空間中即可。

進行測試:

1)編譯

2)執行:roslaunch probot_anno_moveit_config demo.launch

3)Rviz中,球調節目標位置,環調節目標姿態,調節後,點選plan、execute,左邊還可以調節運動速度(velocity scaling),可以試試將目標設為預定義的姿態(home)。

學習資料推薦:

MoveIt! Motion Planning Framework: https://moveit.ros.org/

MoveIt! Tutorials: http://docs.ros.org/en/melodic/api/moveit_tutorials/html/index.html

古月居MoveIt!基礎: https://www.guyuehome.com/435

古月居MoveIt!上手:https://www.guyuehome.com/1159