【睿尔曼-RealMan】RM系列机械臂生成自定义Moveit配置文件及仿真demo使用说明
l 2024-03-14
睿尔曼超轻量仿人机械臂—RM系列机械臂生成自定义Moveit配置文件及仿真demo使用说明
一、前言
Moveit的使用、配置和原理相关的内容较多,特别是assistant生成的moveit_config包,内容较多,在配置时容易让用户搞不清关系,导致配置过程艰难、漫长。那么什么是Moveit Setup Assistant? Moveit Setup Assistant是一个图形化的交互界面,可以用来配置任何URDF格式的机器人文件,更多详细内容可以参考Moveit 官方网站。
二、准备工作
首先要求环境配置:
Ubuntu20.04
ROS noetic
Moveit
URDF文件
1)moveit安装
安装moveit官方说明文档:https://moveit.ros.org/install/source/
源码地址:https://github.com/ros-planning/moveit_tutorials
2)URDF文件获取
通过采用Solidwoks导出urdf模型文件,具体方法不做过多阐述。
三、MoveIt Setup Assistant使用
1启动
roslaunch moveit_setup_assistant setup_assistant.launch
开始菜单会有两个选项:
o“Create New MoveIt Configuration Package”
o“Edit Existing MoveIt Configuration Package“
可以选择”创建新的moveit-config配置文件包”,也可以”编辑已经存在的moveit-config配置文件包”。
本文选择”创建新的moveit-config配置文件包”。
2, 选择”创建新的moveit-config配置文件包”,点击”Browse”加载我们的urdf文件。
若成功发加载,则会在右侧看到机械臂的模型,如图:
生成碰撞矩阵
如果设置为比较高的采样密度,会消耗更多的计算时间,而较低的密度会有遗漏的情况,默认值是10000次碰撞检测
点击”Self-Collision”导航栏,然后点击”Generate Collision Matrix” 按钮
添加Virtual Joints
Virtual Joints是用来连接机器人和世界坐标系的,对于Realman的机器人来说,需要定义一个Virtual Joints连接base_link和world坐标系
点击”Virtual Joints”栏, 点击”Add Virtual Joint”
Virtual Joint Name名字为 “virtual”
设置”child link” 为”base_link”, “parent frame”为”world”
设置”Joint type”为”fixed”
点击保存按钮
添加运动规划组
运动规划组用来区分机械臂的不同部分,比如定义手臂部分和末端执行器
点击”Planning Groups”栏
点击”Add group”,得到下面的界面
手臂运动规划组配置
o”Group Name”设置为”arm”
o选择”trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin”作为动力学求解器
o“Kin.SearchTimeout(sec)“设置为0.1
o“Group Default Planner“设置为”RRTConnect“
其他保留默认设置
点击Add Kin.Chain按钮,可以得到下图
oBase Link选择为base_link
oTip Link选择为Link7
o点击保存按钮
夹持器运动规划组配置
添加夹持器(注意:步骤和上面有不一样的地方)
o点击Add Group按钮
o“Group name”设置为”gripper”
o“Kinematics Solver”设置为”None”
o其他保持默认
o“Group Default Planner“设置为”None“
o点击Add Joints按钮
o选中gripper_link1,再点击“>“符号将其作为被选中joint
o选中gripper_link2,再点击“>“符号将其作为被选中joint
o点击save按钮进行保存
添加机器人位姿(可选)
可以用这一步来检查URDF文件有没有错误
o“Pose Name”设置为”up”
oPlanning Group设置为”arm”
o使得各个joint处于零位
o点击save按钮进行保存
添加夹持器位姿(可选)
o“Pose Name”设置为”close”
oPlanning Group设置为”gripper”
o使得gripper的link1和link2达到最大行程0.0442m
o点击save按钮进行保存
o“Pose Name”设置为”open”
oPlanning Group设置为”gripper”
o使得gripper的link1和link2完全打开
o点击save按钮进行保存
定义末端执行器
点击End Effector一栏
End effector name设置为parallel
End Effector group设置为gripper
Parent link设置为Link7
Parent Group设置为arm
点击save按钮进行保存
Passive Joints
告诉路径规划器,机器人上面可能存在被动关节(不被电机驱动),这些关节不会被控制, 这里不会用到,跳过
3D perception
用于设置yaml文件参数,跳过
Simulation
这个工具可以帮我们在Gazebo里面生成对应的机器人模型(跳过)
Controllers
生成MoveIt控制器用于控制机器人
点击Controllers栏
点击Auto Add FollowJointsTrajectory controllers For Each Planning Group进行自动添加控制器
添加作者信息
这一步不能省略,点击Author Information进行填写
生成Configuration 文件
点击Configuration Files一栏,选择一个路径,新建文件夹rm75zf-eg2-moveit-config,点击Chose
点击Generate Package按钮
完成
Rviz仿真
在上图的launch文件夹中包含了很多launch文件,进入到launch文件夹,运行demo.launch
在可视化工具rviz中打开
撰写评论