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