RoArm-M2-S 3. 驱动节点控制现实中的机械臂

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

3. 驱动节点控制现实中的机械臂

3.1 查看机械臂连接时的串口设备

  1. 在 Ubuntu 虚拟机电脑中按 Ctrl+Alt+T 打开终端,查看当前 Ubuntu 的串口设备。此时不需要用 USB 线将机械臂与电脑相连。
  2. ls /dev/tty*
  3. 首先将机械臂接通电源,打开机械臂驱动板上的电源开关,用 USB 线将机械臂与电脑连接起来,注意要连接机械臂驱动板中间的 Type-C 接口(边缘的 Type-C 接口是与雷达通信的接口,不与 ESP32 进行通信)。
  4. 点击 Oracle VM VirtualBox 上方的“设备”→“USB”→带有 CP210x 字样的设备名称,该设备名称前出现 ,则代表机械臂连接到虚拟机上。
  5. M2-S连接串口.png
    如果连接机械臂的串口设备时,右边弹出不能挂载到这个设备的提示框,此时将虚拟机的系统关机。
    首先确保你的主机(Windows 系统)可以检测到机械臂的 USB 设备。
    在这个系统镜像的设置里面,找到 USB 设备,勾选 启用 USB 控制器,选择 USB 3.0(xHCI) 控制器,然后点击右侧第二个 icon 添加一个 USB 筛选器,选择带有 CP210x 字样的设备,点击确定。
    再次运行这个镜像,点击窗口上方的 设备 → USB → 查看带有 CP2102N USB 字样的设备前面是否有对号,有则代表挂载成功。
    
  6. 再次在终端中查看当前的 Ubuntu 串口设备,可以看见此时多出来一个 /dev/ttyUSB0 的设备名,这个代表机械臂连接的端口号。
  7. M2-S连接串口1.png


3.2 更改串口设备

在我们的例程中,默认串口设备名称为 /dev/ttyUSB0。如果上一小节查看到的机械臂串口设备名称为 /dev/ttyUSB0,则可以直接跳过本小节,直接进行下一小节的学习。

如果你查到的串口设备名称不是 /dev/ttyUSB0,则需要更改串口设备名称。打开 ~/roarm_ws_em0/src/roarm_main/roarm_driver/roarm_driver/ 这个目录下的 roarm_driver.py 脚本文件,如下图将 /dev/ttyUSB0 改为你的机械臂查看到的串口设备名称。更改完后点击右上角的“Save”保存后关闭该文件。

M2-S更改串口设备名.png


3.3 运行机械臂驱动节点

  1. 在 Ubuntu 中使用 Python 脚本与串口设备通信,需要给串口设备读写权限,在虚拟机终端中输入以下指令来赋予串口权限:
    sudo chmod 666 /dev/ttyUSB0  (密码为系统默认密码:ws)
    如果该指令报错,则参考 3.1 和 3.2 小节确定串口设备号是否正确以及机械臂是否与虚拟机系统连接。
  2. 接着编译机械臂 ROS2 的功能包,编译功能包需要在对应的工作空间下进行编译:
    cd ~/roarm_ws_em0/
    colcon build
    source install/setup.bash
  3. 按 Ctrl+Alt+T 打开一个新的终端窗口,进入机械臂 ROS2 的工作空间,运行 ROS2 的机械臂驱动节点:
    cd ~/roarm_ws_em0/
    ros2 run roarm_driver roarm_driver

    反馈如下即代表运行成功,此时 ROS2 模型关节界面未打开,因此没有其它的反馈:

    M2-S运行机械臂驱动节点.png

成功运行机械臂驱动节点的终端界面不要关闭,接着根据 3.4 小节的内容打开 ROS2 中机械臂模型关节界面。在后续教程的操作中,都需要保持机械臂驱动节点的运行,若不小心结束了该进程,需要重新运行机械臂驱动节点。

3.4 查看机械臂模型关节

这里是使用 ROS2 Rviz2 工具来展示机械臂模型和关节角度控制面板的。Rviz2 是 ROS2 的可视化工具,它可以用于展示和调试机器人模型、传感器数据、规划路径等多种信息。通过 Rviz2,我们可以直观地看到机械臂的运动状态和当前位置。此外,Rviz2 还提供了一些工具,如 3D 视图、时间轴、参数调整等,帮助我们更好地理解机器人的行为。

注意:执行该指令后,机械臂将会转动(大臂小臂竖直向上),请勿在机械臂周围放置易碎品,远离儿童。

按 Ctrl+Alt+T 打开一个新的终端窗口,进入机械臂 ROS2 的工作空间,启动 Rviz2 模型界面:

cd ~/roarm_ws_em0/
ros2 launch roarm_description display.launch.py

在启动 Rviz2 后,Rviz2 中的机器人 URDF 会将机械臂的每个关节角度发布到驱动节点中,驱动节点会将这些关节角度编辑为对应 JSON 格式的控制指令发送给机械臂,因此机械臂会转动。同时,也可以看见运行机械臂驱动节点上出现机械臂的每个关节角度信息。

运行机械臂驱动节点和查看机械臂模型关节终端界面,左边为机械臂驱动节点运行界面,右边为查看 Rviz2 机械臂模型关节界面:

M2-S查看模型关节.png

点击左侧的齿轮图标,关节角度控制面板会出现在 Rviz2 模型界面上方:

M2-S查看模型关节1.png

  • 可以通过拖拽控制面板上的滑块,来控制机械臂各个关节转动;
  • Center —— 恢复至 Rviz2 模型界面启动时的初始位置;
  • Randomize —— 机械臂随机运动至某位置。


3.5 Rviz2 中机械臂视角操作

在 Rviz2 中,可以使用鼠标来调整观察机器人模型的视角。

  • 左键点击并拖动,可以在水平面内移动视角。
  • 右键点击并拖动,可以改变观察的方向和角度。
  • 滚动鼠标滚轮,可以调整观察的距离,即放大或缩小视图。
  • 按下鼠标中键(即滚轮键)并拖动,可以在垂直视角方向的平面上移动。

使用这些操作,你可以从任何角度和距离观察机器人模型。

RoArm-M2-S ROS2 Humble + Moveit2 教程