RoArm-M2-S 4. Moveit2 中拖拽交互
| ||||||||||||||||||||||
|
4. Moveit2 中拖拽交互
4.1 Moveit2 简介
MoveIt2 是一个用于机器人运动规划、操作和控制的开源软件。它提供了一套简单的用户接口,可以帮助开发者处理复杂的运动规划问题。
MoveIt2 支持多种算法和策略,包括运动规划、运动执行、运动监控、运动学解析、碰撞检测等。它的强大功能使得它在工业、研究和教育领域都得到了广泛的应用。
MoveIt2 是在 ROS2(Robot Operating System 2)环境下运行的,可以与其他 ROS2 工具和库无缝集成,大大提高了机器人开发的效率和便捷性。
在本教程中,我们将使用 MoveIt2 来控制机械臂的运动。通过拖拽机械臂的末端点,MoveIt2 能够自动计算出机械臂的运动路径,并通过驱动节点控制机械臂的实际运动。
4.2 运行 Moveit2 拖拽交互例程
如果您是跟着前面的教程操作下来的,在运行这个例程之前,需要先关闭前面查看 Rviz2 机械臂模型关节界面,在运行查看 Rviz2 机械臂模型关节的终端窗口中,按 Ctrl+C 进行关闭这个进程。机械臂驱动节点的运行终端不需要进行操作关闭,否则不能控制现实中的机械臂。
若您也结束了机械臂驱动节点的运行终端进程,则需要根据 3.3 运行机械臂驱动节点中的内容重新运行。保持机械臂驱动节点的运行,接着再运行 Moveit2 拖拽交互例程。
- 可以在关闭运行查看 Rviz2 机械臂模型关节的终端界面中来运行机械臂 Moveit2 拖拽交互的例程,该例程包括逆运动学求解,允许您通过拖动末端关节与机械臂交互,执行以下命令启动 Rviz2:
ros2 launch roarm_moveit interact.launch.py
- 也可以在新终端界面来运行,在新终端界面运行一定要先进入机械臂 ROS2 的工作空间,再运行机械臂 Moveit2 拖拽交互的例程,如下:
cd roarm_ws_em0 ros2 launch roarm_moveit interact.launch.py
注意:执行该指令后,机械臂将会转动(小臂伸向正前方,与水平面平行),请勿在机械臂周围放置易碎品,远离儿童。
启动 Rviz2 后没有显示机械臂,则 更改 Display 窗口内 Fixed Frame 后面的 map,将 map 更改为 base_link,回车确认,如下图。
接着点击左下角的“Add”,选择“MotionPlanning”,点击“OK”。这样,就可以看到机械臂的模型出行在 Rviz2 可视化界面中了。可以参考 3.5 小节的操作来改变机械臂的视角。
现在可以通过拖拽位于机械臂末端的拖拽球或 XYZ 轴来改变机械臂的姿态。拖拽改变姿态之后,需要点击 Rviz2 可视化界面中左侧 Planning 选项卡中的“Plan & Execute”让机械臂按照拖拽的姿态动作执行。执行后需要让机械臂复位至 Rviz2 启动界面的初始位置,则将 Planning 选项卡中的“Goal State”选项更改为“home”,更改后,再次点击“Plan & Execute”让机械臂响应运动。
Planning Group:可以更改末端关节的形态,从 hand 改为 gripper,可以调节“夹爪”形态末端关节的角度,在左侧 Joints 选项卡中,划动设置好 Link3_to_gripper 的角度,设置好回到 Planning 选项卡中将“Start State”选项更改为“<previous>”后点击“Plan & Execute”让机械臂响应。将 Planning 选项卡中的“Goal State”选项更改为“open”后,夹爪会完全打开;更改完“close”后,夹爪会合上。