紧凑型 6 自由度机械臂 myCobot 280 Pi 设置指南

这是一份超级适合新手的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与我们分享如此详细的用户指南。如果有人有更多案例研究,请随时与我们分享!

<think>嗯,用户问的是关于“大象机械”的项目或资料,还提到了IT实现。首先,我需要确认“大象机械”具体指的是什么。可能是一个特定的项目名称,或者是某种机械的昵称?可能在机器人领域或者工业自动化中有相关的研究。 先从基础查起,看看有没有知名的机械项目叫这个名字。比如,MIT的Cheetah机器人很有名,但大象机械没听说过。或者可能是某个大学的研究项目?比如ETH Zurich或者CMU可能有类似的项目。另外,有没有可能用户指的是“大象机器人”(Elephant Robotics)这家公司?他们确实生产机械产品,比如myCobot系列,这可能和大象机械有关。 接下来,考虑IT实现部分。机械通常涉及控制系统、运动规划、传感器集成等。IT方面可能包括使用ROS(机器人操作系统)、机器学习算法进行运动控制,或者结合计算机视觉进行目标识别。用户可能想知道如何从IT技术角度实现这样的机械项目,比如编程、算法或者系统集成。 然后,需要检查是否有相关的开源项目或论文。GitHub上可能有机械的控制代码,比如使用Arduino或Raspberry Pi驱动的机械项目。此外,查找学术数据库如IEEE Xplore或Google Scholar,看看是否有以“大象机械”为关键词的研究。 还要注意用户提供的引用内容。引用1提到语音识别开发板的制作困难,引用2提到将计算设备集成到神经网络中的可能性。这可能暗示用户对机械与AI结合的应用感兴趣,比如用神经网络控制机械,或者处理计算不可约性的挑战。 另外,用户可能希望了解具体的实现步骤,比如硬件选型、软件框架、算法应用等。需要提供结构化的建议,比如先选择硬件平台,再学习运动学算法,然后集成传感器和通信模块,最后进行测试优化。 如果找不到直接相关的“大象机械”资料,可能需要建议替代方案,比如类似的机械项目或框架,并指导用户如何调整以适应他们的需求。同时,提醒用户注意项目中的常见挑战,如实时控制、精度问题、系统集成复杂性等,引用中的经验也可能适用。 最后,确保回答符合格式要求,使用正确的中文和LaTeX,生成相关问题,并正确引用提供的材料。可能需要确认引用部分是否与机械项目相关,如果相关度不高,需适当调整引用位置。</think>### 关于“大象机械”项目及IT实现的综合回答 #### 1. 项目背景与定义 “大象机械”目前未指向明确的公开项目,可能属于以下方向: - **企业级产品**:如Elephant Robotics公司的协作机械(如myCobot系列),支持Python/ROS编程和AI扩展[^1] - **学术研究**:MIT CSAIL等机构在仿生机械领域有类似“动物命名”项目,如猎豹机器人 - **开源社区**:GitHub存在开源机械项目(如uArm-SWIFT),用户可自定义控制算法 #### 2. IT实现关键技术 $$ \text{控制系统} = \text{硬件接口} + \text{运动规划} + \text{感知反馈} $$ - **硬件层** - 驱动器:步进电机(低成本)vs 伺服电机(高精度) - 通信协议:CAN总线/$I^2C$/Modbus - **软件层** - 实时控制:ROS2框架 + MoveIt运动库 - 算法实现:逆运动学求解(如$q_{target} = J^{-1}(\theta) \cdot v_{end}$) - 机器学习:DQN算法优化抓取路径[^2] #### 3. 推荐学习路径 ```python # 示例:机械逆运动学简化代码 import numpy as np def inverse_kinematics(target_pos): theta = np.arctan2(target_pos[1], target_pos[0]) return [theta, 0.5, 0.8] # 三轴机械的关节角度 ``` - **初级阶段**:Arduino+舵机控制实验 - **中级阶段**:ROS Gazebo仿真环境搭建 - **高级阶段**:结合视觉传感器(OpenCV/YOLO)实现闭环控制 #### 4. 挑战与建议 - 硬件同步误差需补偿算法(如PID调节) - 实时性要求需RTOS或Xenomai实时内核 - 传感器融合复杂度随自由度指数增长[^1]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值