RoArm-M2-S 4. Moveit2 中拖拽交互

来自Waveshare Wiki
跳转至: 导航搜索
RoArm-M2-S
{{{name2}}}
{{{name3}}}
功能简介
特性 RoArm-M2-S 机械臂
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
接口 TTL总线舵机控制接口 I2C UART

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 rviz_config:=~/roarm_ws_em0/src/roarm_main/roarm_moveit/config/interact.rviz
  • 也可以在新终端界面来运行,在新终端界面运行一定要先进入机械臂 ROS2 的工作空间,再运行机械臂 Moveit2 拖拽交互的例程,如下:
cd roarm_ws_em0
ros2 launch roarm_moveit interact.launch.py rviz_config:=~/roarm_ws_em0/src/roarm_main/roarm_moveit/config/interact.rviz

注意:执行该指令后,机械臂将会转动(小臂伸向正前方,与水平面平行),请勿在机械臂周围放置易碎品,远离儿童。

启动 Rviz2 后没有显示机械臂,则 更改 Display 窗口内 Fixed Frame 后面的 map,将 map 更改为 base_link,回车确认,如下图。

M2-S拖拽交互.png

接着点击左下角的“Add”,选择“MotionPlanning”,点击“OK”。这样,就可以看到机械臂的模型出行在 Rviz2 可视化界面中了。可以参考 3.5 小节的操作来改变机械臂的视角。

M2-S拖拽交互1.png

现在可以通过拖拽位于机械臂末端的拖拽球或 XYZ 轴来改变机械臂的姿态。拖拽改变姿态之后,需要点击 Rviz2 可视化界面中右侧 Planning 选项卡中的“Plan & Execute”让机械臂按照拖拽的姿态动作执行。执行后需要让机械臂复位至 Rviz2 启动界面的初始位置,则将 Planning 选项卡中的“Goal State”选项更改为“home”,更改后,再次点击“Plan & Execute”让机械臂响应运动。

RoArm-M2-S ROS2 Humble + Moveit2 教程