ROS中阶笔记(九):Movelt!机械臂控制
可参考《Mastering ROS for Robotics Programming》、《ros by example vol2》
(~/catkin_ws/src/marm_description/urdf/arm.xacro,六轴机械臂的模型文件)
(~/catkin_ws/src/marm_description/urdf/arm.xacro,六轴机械臂的模型文件,6个joint,7个link)
1、宏定义(材料定义、属性定义、惯性矩阵定义)
2、link与joint
link
·visual
·collision
·inertial
joint
3、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
1、拖动规划(鼠标拖动)
2、随机目标点规划(random valid)
3、设置初始位姿
4、加入场景物体(Import File——选择文件——Open)
5、碰撞检测
1、关节空间规划历程
roslaunch marm_moveit_config demo.launch
rosrun marm_planning moveit_fk_demo.py
2、工作空间规划历程
roslaunch marm_moveit_config demo.launch
rosrun marm_planning moveit_ik_demo.py
3、笛卡尔路径规划
roslaunch marm_moveit_config demo.launch
rosrun marm_planning moveit_cartesian_demo.py_cartesian:=True (走直线)
rosrun marm_planning moveit_cartesian_demo.py_cartesian:=False (走曲线)
4、避障规划
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
1、仿真环境文件
marm_gazebo/launch/arm_world.launch
2、启动仿真环境(启动所有需要的launch文件)
$ roslaunch marm gazebo arm_bringup_moveit.launch # 启动仿真环境
通过Movelt!控制机械臂运动,gazebo仿真环境和rviz中的机器人状态保持一致
《Mastering ROS for Robotics Programming》
《ros by example vol 2》
微信公众号:喵哥解说
公众号介绍:主要研究机器学习、计算机视觉、深度学习、ROS等相关内容,分享学习过程中的学习笔记和心得!期待您的关注,欢迎一起学习交流进步!同时还有1200G的Python视频和书籍资料等你领取!!!