首页 > 技术文章 > ROS机械臂-MoveIt!

jimlee123 2020-12-19 21:24 原文

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 

推荐阅读