这是一份超级适合新手的myCobot 280 Pi设置指南,适合初次接触机械臂产品以及想要进行一些初步的个性化设置的用户朋友。
一、引言
我们衷心感谢 MK Tech Lab 与我们分享他们的案例。原文链接:
https://mktechlab.net/2024/10/14/mycobot-280-pi-for-2023-setup/。
我们已获得作者的许可,可以转载和翻译内容。
二、设备介绍
大象机器人(中国深圳)推出的MyCobot280系列是一款紧凑轻巧的六轴机械臂。它的有效载荷为250克,自身重量仅860克,对于一款六轴机械臂而言,重量极轻。“280”代表其机械臂运动半径为280毫米,此外还有运动半径为320毫米的更大尺寸产品线。
根据所使用的控制板不同,该机械臂有多种型号,包括使用M5Stack(中国·深圳)的M5Stack微控制器模块的型号、基于树莓派4B的型号,以及采用英伟达Jetson Nano或Arduino的型号。无论哪种型号,机械臂末端都配有一个M5Stack ATOM Matrix(图中绿色发光部分),主要负责控制机械臂的运动算法(参考公司官方问答中“关于结构的问题”的“A3”项)。
三、设置
本文主要重点介绍实际测试中的关键观察和注释。
1、硬件连接
以下是操作 MyCobot 所需的最低连接数:
● 连接随附的 AC 适配器 DC 插头:兼容的适配器为 12V (3-5A),DC 插头尺寸为外径 5.5mm,内径为 2.1mm。
● 显示器连接:使用 Raspberry Pi 4B 上的两个 Micro HDMI 端口之一进行视频输出。
※ 如果单独购买 Micro HDMI 电缆,请注意 Micro HDMI 端口周围的高度很窄,约为 8 毫米。
● 键盘和鼠标连接:连接标准 USB 键盘和鼠标。
● 有线 LAN:如果需要有线连接,请连接以太网电缆。
● MyCobot 固定底座:
○ MyCobot 280 的 G-Base (Clamp):使用夹子将其固定在桌子的边缘。(本产品已停产)
○ MyCobot 280 的 G 形底座:使用夹子将其固定在桌子的边缘。
○ MyCobot 280 的平底:使用吸盘将其固定在桌面上。( 适用于玻璃或大理石等表面的桌子,吸盘粘附良好。)
2、系统配置
操作系统 (Ubuntu Mate 20.04) 和各种软件在出厂时已预装,因此您可以在启动后立即开始测试和开发。
打开 MyCobot 背面的电源并等待一段时间后,系统会自动以用户名“er”(Elephant Robotics)登录,并显示 Ubuntu Mate 桌面界面。
所需的最低设置如下:
WiFi 配置:
系统的默认连接设置为 “ElephantRobotics_AP”。如果您选择 “断开连接”,系统将自动搜索可用的接入点,允许您选择合适的接入点。
由于每次都会自动启用 “ElephantRobotics_AP” ,请按照以下步骤禁用它:
[菜单] → [偏好设置] → [启动应用程序],然后取消勾选 [启动程序] 选项卡下的 [WiFi_AP] 以禁用它。
单击屏幕右上角的 WiFi 图标,然后单击 [Edit Connections...]。在 WiFi 设置的 [General] 选项卡中,选中 [Automatically with priority (自动优先连接)] 并将优先级设置为 1。
键盘配置:
默认设置适用于英语布局,因此如果您使用的是日语键盘,则需要指定日语布局。具体步骤如下:
[菜单] → [偏好设置] → [键盘],然后在 [布局] 选项卡中点击 [添加],从 [按语言] 选项卡中选择“日语”,然后单击 [添加]。添加 “Japanese” 后,选择它并单击 [上移] 将其移动到顶部。
接下来,更新 ATOM (AtomMain) 的固件 (FW)。使用 USB Type-A 转 Type-C 数据线将 MyCobot 背面的 USB 端口连接到手臂尖端的 ATOM。然后,从桌面、Dock 或 [Elephant Robotics] 菜单启动 [myStudio]。
点击 MyCobot 280 图片,选择 [类型] 为“MyCobot 280 for Pi”,并确保 [USB 端口] 设置为“M5 Stack-atom”(如果连接到 ATOM)。最后,点击 [LOGIN]。
从左侧菜单中选择 [Basic],然后选择 FW (AtomMain) 版本 v6.2,然后单击 [Flash] 执行写入操作。
其他固件版本(例如 v6.4)不适用于默认的 pymycobot v3.0.1 (2022-12-9)。此外,版本 v6.5 及更高版本无法写入(该过程未完成)。因此,固件版本 v6.2 用于此设置。
如果写入固件版本 v6.5 或更高版本失败,请确保编写测试成功的版本(如 v6.2),以避免出现异常。
三、操作验证
MyCobot 与以下环境/软件兼容:
myBlockly
myBlockly 是预装的,可以从桌面、Dock 或 [Elephant Robotics] 启动——>菜单中的 [myBlockly]。详细说明请参考官方页面的 “myBlockly View” 部分。
下面是一个用于测试其功能的示例程序。
● 在 Init 块中,设置以下内容:
“MyCobot”,端口: “/dev/ttyAMA0”,波特率: “1000000”
● 将左侧 [MDI Control] 部分的 Set Angle 块连接到 Init 块。设置以下内容:J1 到 J6:0,Speed:10
● 将左侧 [Time] 部分的 Sleep 积木块连接到 Set Angle 积木块。
● 将左侧 [MDI Control] 部分的另一个 Set Angle 模块连接到 Sleep 模块。设置以下内容: J2: 90,J3: -90,Speed: 10
● 点击右上角的 [Run]
ROS1/ROS2 系列
环境已经设置好,可以从桌面或菜单的 [Elephant Robotics] -> [ROS1 Shell] 或 [ROS2 Shell] 下启动。此外,还提供了几个示例程序。有关详细信息,请参阅官方页面。
在这里,我们使用 ROS2 验证操作。从桌面、Dock 或 [Elephant Robotics] 下的 Menu 启动 [ROS2 Shell],然后执行以下命令:
ros2 launch mycobot_280pi slider_control.launch.py
通过使用鼠标增加或减少 Joint State Publisher 窗口中的滑块,可以进行控制。
※ 注意:即使滑块的轻微移动也会导致机械臂的剧烈运动,因此请谨慎操作。
使用 Python 进行操作验证 (pymycobot)
环境已经设置好了(不需要链接的 “Environment Building” 步骤),因此可以通过 Menu 或 Dock 中的 [Mate Terminal] 执行。此外,还提供了使用各种 API 的示例程序。
有关详细信息,请参阅官方页面。
使用 Python 环境进行操作验证 pymycobot 示例程序 (basic.py)
操作验证过程中的流程和日志如下:
er@er:~/pymycobot/demo$ python3 basic.py
--------------------------------------------
| This file will test basic option method: |
| set_led_color() |
| send_angles() |
| get_angles() |
| send_angle() |
| send_radians() |
| get_radians() |
| send_coords() |
| get_coords() |
| send_coord() |
--------------------------------------------
1 : /dev/ttyAMA0 - ttyAMA0
Please input 1 - 1 to choice:1
/dev/ttyAMA0
Please input baud(default:115200):1000000
1000000
Wether DEBUG mode[Y/n]:n
Start check basic options
::set_color() ==> color 255 255 0
::send_angles() ==> angles [0, 0, 0, 0, 0, 0], speed 100
::get_angles() ==> degrees: [0.52, 0.26, -0.52, 0.7, 0.79, 0.52]
::send_angle() ==> angle: joint1, degree: 90, speed: 50
::send_radians() ==> set radians [1, 1, 1, 1, 1, 1], speed 100
::get_radians() ==> radians: [1.005, 1.011, 0.996, 0.986, 0.983, 0.982]
::send_coords() ==> send coords [160, 160, 160, 0, 0, 0], speed 70, mode 0
::get_coords() ==> coords [160.8, 162.6, 152.1, -0.87, 3.4, 1.7]
::send_coord() ==> send coord id: X, coord value: -40, speed: 70
::set_free_mode()
=== check end ===
er@er:~/pymycobot/demo$
使用 MyCobot Controller 进行操作验证
有关详细信息,请参阅官方页面上的“2 MyCobot 控制器”部分。 截至 2024 年 10 月 14 日,该应用程序在 Google 商店中不可用,因此您需要从“下载安装包”链接下载 APK 文件并手动安装。应用程序版本为 1.0.1,虽然在 Android 14 上运行时出现“不支持此版本”的消息,但已确认该应用程序运行正常。
根据“MyCobot PI”的“2.4 如何使用 MyCobot Controller”部分中概述的程序,执行了以下步骤。
er@er:~$ cd pymycobot/demo/mycobot_pi_bluetooth/
er@er:~/pymycobot/demo/mycobot_pi_bluetooth$ sudo systemctl restart bluetooth
er@er:~/pymycobot/demo/mycobot_pi_bluetooth$ python3 uart_peripheral_serial.py
Skip adapter: /org/bluez
GATT application registered
GetAll
returning props
Advertisement registered
接下来,在你的智能手机上启用蓝牙并启动 MyCobot 控制器应用程序。
点击蓝牙图标以连接到 MyCobot Pi,然后点击手形图标(位于蓝牙图标右侧)以启用控制模式。然后,将反映每个关节的值。接下来,点击主页图标将机器人移动到主页位置。
之后,在 Joint Control 和 Coords Control 选项卡之间切换。您可以通过点击每个轴/坐标值旁边的光标图标来控制机器人。按住光标图标可启用连续运动;但是,随着值的增量变化,移动会非常缓慢。
小结
总之,本文简要概述了MyCobot 280 Pi设置,从准备可启动的microSD卡到验证跨各种环境/软件的操作。
MyCobot 280系列,包括MyCobot 280 Pi 2023,体积小巧,重量不到1公斤,便于携带。它支持各种环境/软件,降低了那些想要试用机械臂或将其用于教育目的的人的进入门槛。
然而,虽然环境/软件的设置程序和留档组织良好,但找到必要的信息可能具有挑战性。此外,大多数可用信息都与M5Stack版本有关,而不是MyCobot Pi,因此用户可能需要进行额外的研究,experiments.In未来,我计划记录我在各种场景中使用MyCobot 280 Pi的体验,并介绍将其与Pico投影仪相结合的项目。
再次衷心感谢MK Tech Lab与我们分享如此详细的用户指南。如果有人有更多案例研究,请随时与我们分享!