Movelt!简介
一个易于集成使用的集成化开发平台
由一系列移动操作的功能包组成
1、运动规划
2、操作控制
3、3D感知
4、运动学
5、控制与导航算法
.......
提供友好的GUI
可应用于工业、商业、研发和其他领域
ROS社区中使用度排名前三的功能包
Movelt!三大核心功能
1、运动学:KDL、Trac-IK、IKFast.....
2、路径规划:OMPL 、CHOMP 、 SBPL ....
3、碰撞检测:FCL 、PCD....\
通过命令行、rviz上位机可视化界面、通讯来调用该三大功能,通过以上任意一种方式发送指令给Movelt!后,Movelt!里的核心节点为Move Group,它会接收用户给他发布的指令及外部摄像头获取的点云数据,实现如何从A到B,这样会调用各种算法来实现该功能,并输出trajactory(运动轨迹)给机器人。
一、用户接口(User Interface)
1、C++:使用move_group_intereface包提供的API
2、Python:使用moveit_commander包提供夫人API
3、GUI:使用Movelt!的rviz插件
二、ROS参数服务器
1、URDF:robot_description参数,获取机器人URDF模型的描述信息
2、SRDF:robot_description_semantic参数。获取机器人模型的配置消息
3、config:机器人的其他配置信息,例如关节限位、运动学插件、运动规划插件等
三、机器人
1、Topic和Action通信
如何使用Movelt!
1、组装:创建机器人URDF模型
2、配置:使用Movelt! Setup Assistant工具生成配置文件
3、驱动:添加机器人控制器插件(controller)
4、控制:Movelt!控制机器人运动(算法仿真、物理仿真)
Movelt!可视化配置
报错:[rospack] Error: package 'moveit_setup_assistant' not found
执行:rosrun moveit_setup_assistant moveit_setup_assistant
显示报错:[rospack] Error: package ‘moveit_setup_assistant’ not found
这是由于没有安装moveit的包,所以找不到。
解决方法:
sudo apt-get install ros-xxxx-moveit
xxxx为自己系统中ROS的版本
安装完成后设置一下环境:
source /opt/ros/noetic/setup.bash
再打开终端输入:
rosrun moveit_setup_assistant moveit_setup_assistant
显示如下可视化界面
以创建新功能包为例
若在此处报错,加载不了机械臂模型文件
ROS was unable to find the package name 'probot_description' within the ROS workspace. This may cause issues later.
则用VSCode 打开该工作空间,在该终端里运行指令即可解决。
随后点击self-collision ,用于各个关节之间的自碰撞检测
点击generate collision matrix即可。自动产生碰撞矩阵
第三步、虚拟关节virtual joints 一般用于机械臂一般会配一个底盘,底盘会跟外部环境发生移动(世界坐标的world 坐标系与机器人底盘的base_link坐标系的位置的相对变换),所使用机械臂固定在地面上,跟world坐标系不存在相对变换,即可不需要设置。
第四步、规划组(planning groups) 跟实际机械臂的情况有关,所使用机械臂为6关节,则6关节为一规划组,联合考虑它们的位置。
设置名字 主要用于在编写代码时方便调用该规划组
其次是运动规划组的求解器(六关节正逆解、如何实现算法),通过运动学的求解器做配置,使用默认的kdl求解器。同时路径规划算法选择RRT。
还需配置组里面包含了哪些关节,点击Add Kin.Chain,链条里包含六关节
需要配置机器人六关节分别包含哪些link
所示例的机器人只有六个关节,没有包含爪夹,若包含爪夹,还需点击Add Group来添加一个规划组,通过两个组来控制机械臂运动。
第五步 robot poses 预定一些机器人的点位,方便于编成的时候去使用
第六步 end effectors 配置机器人终端的夹具(点击add end effector),该示例不需要配置
第七步 passine joints 用于机器人在做配置时,哪些关节是不需要考虑其运动的,若有则需配置,添加至右边框
第八九步 control、simulation目前在该窗口添加会出现一些问题,所以一般不再这里面配置,直接在文件里配置
第十步 3D perception 若外部有摄像头,可以选择摄像头发布的数据类型
选择话题发布的名字,选择完话题后,会自动订阅外部话题,加入外部的场景信息。目前没有视觉的集成不需配置
第十一步 作者信息填写
第十二步 自动产生配置文件 把文件保存在自己的工作空间里
这是显示有些没有配置,直接点ok即可
启动文件,看是否成功
显示如下界面