前言
溱者机械臂目前暂未提供ROS MoveIt的交互环境,基于其数模本文实现了溱者机械臂的MoveIt config package,对其使用做简单说明,希望为将溱者机械臂在ROS MoveIt中运用的读者提供帮助
目前由于笔者项目只运用到了溱者CRB-7这个型号,因此构建内容只涵盖该型号,其他型号(4/12)将随者后续项目的运用而陆续引入
本文说明内容完整放入GitHub,读者可下载参考
溱者机械臂MoveIt Package
package包含了两个内容,分别是描述机械臂关节关系的机器人标准描述文件URDF,以及MoveIt的控制环境moveit_config
构建和编译
通过终端进入workspace的src目录,下载package,输入命令:
cd <your_workspace>/src
git clone https://github.com/xinjuezou-whi/chin_arm.git
下载完毕后,继续在终端输入命令,编译package:
catkin build
编译完成后,不要忘记为终端加入package的环境:
source <your_workspace>/devel/step.bash
使用
查看机械臂URDF
运行文件“urdf.launch”,可以查看溱者机械臂的URDF,以及完整的TF树,在终端输入命令:
cd <your_workspace>
roslaunch chin_crb7_description urdf.launch
交互控制虚拟机械臂
运行文件“demo.launch”可以实现对虚拟机械臂的交互控制,在终端输入命令:
cd <your_workspace>
roslaunch chin_crb7_moveit_config demo.launch
一旦可视化的溱者机械臂出现,会出现两个交互式标记。橙色机械臂对应的标记用于设置运动规划的“目标状态”,另一个绿色机械臂对应的标记用于设置运动规划的“开始状态”。通过使用这些标记来拖动机械臂并改变其位置和姿态。当TCP满足期望时,点击按钮“计划”按钮查看路径规划的结果:
关于如何使用MoveIt,不在本文说明范围,读者可参考Moveit的教程
交互控制真实机械臂
请注意,控制实臂需要使用controller interface。本文所说明的package不包括controller interface。但是该package已经包含了真实控制器的启动文件和控制器配置文件。其中,“moveit_controller_manager”被命名为“chin_arm”,类型为“FollowJointTrajectory”,控制器被命名为“chin_arm/controllers/command”。如果读者要构建自己的真实控制器,请参考这两个文件来同步名称和类型
下面的视频展示了使用苇航智能的controller interface控制真实机械臂的过程:
配置机械臂
本文的溱者package,默认设置了两个固定的位置: home和ready,它们可以在MoveIt中以目标状态进行对应的路径规划。除了固定位置的配置,MoveIt还有更多的设置,这些设置可以通过“MoveIt Setup Assistant”工具进行设置
运行如下命令,即可打开MoveIt Setup Assistant工具:
roslaunch chin_crb7_moveit_config setup_assistant.launch
随后在其开始对话框中点击按钮“Load Files”后即可对机械臂臂进行配置操作:
或者,直接运行MoveIt Setup Assistant:
roslaunch moveit_setup_assistant setup_assistant.launch
随后点击按钮“Edit Existing MoveIt”,点击按钮“Browse”选择目录“chin_moveit_config”,最后点击按钮“Load Files”
总结
本文介绍了所构建溱者机械臂在ROS MoveIt中的package及其使用,希望能对有溱者机械臂运用场景的读者提供一些帮助,文中package源码完整放入GitHub供读者下载使用和参考
文中如有表述不清或者错误的地方,欢迎指正,共同交流:xinjue.zou.whi@gmail.com