ROS中階筆記(九):Movelt!機械臂控制算法
可參考《Mastering ROS for Robotics Programming》、《ros by example vol2》編程
(~/catkin_ws/src/marm_description/urdf/arm.xacro,六軸機械臂的模型文件)bash
(~/catkin_ws/src/marm_description/urdf/arm.xacro,六軸機械臂的模型文件,6個joint,7個link)微信
一、宏定義(材料定義、屬性定義、慣性矩陣定義)架構
二、link與joint框架
link
·visual
·collision
·inertialdom
joint機器學習
三、gazebo屬性(顏色設置、傳動接口、controller插件)工具
(~/catkin_ws/src/marm_description/launch/view_arm.launch)學習
模型可視化
$ roslaunch marm_description view_arm.launch
啓動Movelt!Setup Assistant以前,先啓動roscore;
$ roscore $ rosrun moveit_setup_assistant moveit_setup_assistant # 啓動Movelt!Setup Assistant
roslaunch marm_moveit_config demo.launch # 啓動demo
一、拖動規劃(鼠標拖動)
二、隨機目標點規劃(random valid)
三、設置初始位姿
四、加入場景物體(Import File——選擇文件——Open)
五、碰撞檢測
一、關節空間規劃歷程
roslaunch marm_moveit_config demo.launch rosrun marm_planning moveit_fk_demo.py
二、工做空間規劃歷程
roslaunch marm_moveit_config demo.launch rosrun marm_planning moveit_ik_demo.py
三、笛卡爾路徑規劃
roslaunch marm_moveit_config demo.launch rosrun marm_planning moveit_cartesian_demo.py_cartesian:=True (走直線) rosrun marm_planning moveit_cartesian_demo.py_cartesian:=False (走曲線)
四、避障規劃
roslaunch marm_moveit_config demo.launch rosrun marm_planning moveit_obstacles_demo.py
Joint Trajectory Controller
針對gazebo的配置,編寫yaml配置文件,使用launch文件啓動控制器;
marm_gazebo/config/trajectory_control.yaml
marm_gazebo/launch/arm_trajectory_controller.launch
針對Movelt配置
marm_moveit_config/config/controllers.yaml
marm_moveit_config/launch/arm_moveit_controller_manager.launch
一、仿真環境文件
marm_gazebo/launch/arm_world.launch
二、啓動仿真環境(啓動全部須要的launch文件)
$ roslaunch marm gazebo arm_bringup_moveit.launch # 啓動仿真環境
經過Movelt!控制機械臂運動,gazebo仿真環境和rviz中的機器人狀態保持一致
《Mastering ROS for Robotics Programming》
《ros by example vol 2》
微信公衆號:喵哥解說 公衆號介紹:主要研究機器學習、計算機視覺、深度學習、ROS等相關內容,分享學習過程當中的學習筆記和心得!期待您的關注,歡迎一塊兒學習交流進步!同時還有1200G的Python視頻和書籍資料等你領取!!!