尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Mac 用户如何玩转 LeRobot?M3 芯片部署6 轴机械臂SoArm101经验总结 第2篇
关于系列这个系列会记录我基于 LeRobot 框架, 在 Mac M3 笔记本上部署 SO-ARM101 六轴机械臂从零到一搭建这套系统的全过程, 包括环境配置、硬件调试、遥操作、数据采集、云端训练( 在云服务器上完成模仿学习模型的训练与推理 ) 和模型部署等环节。过程中遇到的每一次排查、每一段有效代码我都会在这里如实记录。写作目的一是自我沉淀二是希望能给同样在 Mac 上尝试机器人学习的开发者提供一份可参考的实操笔记。我会持续更新欢迎关注交流。面向读者想在 Mac 上部署 LeRobot 的开发者对具身智能 / 模仿学习感兴趣的工程师和学生正在或准备调试 SO-ARM 系列机械臂的玩家第 1 篇环境搭建Mac M3 上部署 LeRobot 的第一步Miniconda、虚拟环境与 Feetech 驱动第2 篇硬件连接与舵机标定让机械臂“认识”自己串口通信调试与舵机 ID 设置2.1 硬件连接与准备工作SO-ARM101 是一款 6 自由度串联关节机械臂采用上下位机分离的架构设计其核心执行单元为 Feetech 品牌的高精度串行总线舵机。整条运动链由 6 个关节按串联方式耦合构成。在软件控制层面每个关节均被映射为一个独立的舵机 ID从而实现对各关节位置的单点精确控制。图3 SO-ARM101 单臂系列 硬件合集 (图片来源幻尔科技)机械臂从上往下( ID6 到 ID1) )每个舵机的命名依次为 gripper 、 wrist_roll 、 wrist_flex 、 elbow_flex 、 shoulder_lift 和 shoulder_pan, 分别负责:ID6 gripper夹爪 负责末端执行器的开合用于抓取物体ID5 wrist_roll腕部旋转 控制手腕绕自身轴线旋转ID4 wrist_flex腕部俯仰 控制手腕上下摆动ID3 elbow_flex肘部弯曲 控制小臂相对于大臂的折叠ID2 shoulder_lift肩部抬升 控制大臂在竖直平面内的升降ID1 shoulder_pan肩部旋转 控制整个臂在水平面内的左右摆动图4SO-ARM101 主/从臂舵机 ID 分配示意图这6个关节协同运动共同决定了末端夹爪在三维空间中的位置与姿态。使用时, 我们通过固定夹把主、从臂牢牢固定在桌面, 额外选配扩展的摄像头也固定到拍摄支架上, 连接好对应的USB接口 ( 主臂USB、从臂USB、相机USB通过扩展程序坞按需连接到Mac的TypeC插口 ), 插入电源并通电即可。 如果你购买的是 DIY 散件版本无需担心装配难度——哔站、Y管等开源社区中已有大量成熟的装机教程步骤详尽、资源丰富跟着操作即可完成整机搭建。本文不再赘述具体的组装过程,仅对 SO-ARM101 的硬件构成做简要介绍帮助大家建立对整体结构的基本认知。2.2 串口通信在开始舵机 ID 分配之前首先要确保 Mac 与舵机控制板之间能够正常通信。SO-ARM101 的两条机械臂各配备一块多功能驱动模块其核心是一颗 USB 转串口芯片( 图中红色方框 )。Mac 只有正确识别并加载了该芯片的驱动程序才能在终端中看到对应的串口设备文件后续的舵机控制指令才能正常下发。图5: SO- ARM101 多功能驱动模块布局图6SO-ARM101 USB 转串口芯片CH343P目前市面上的 USB 转串口芯片主要分为两类CH340沁恒微电子和 CP210x芯科科技。我手中的Soarm101 套件中搭载的是 CH343P 芯片 ( CH343P 是南京沁恒微电子[1]WCH推出的一款USB 转高速异步串口桥接芯片)因此我们以 CH343P 为例进行讲解。如果你手中的芯片型号不同只需到对应厂商官网下载驱动即可操作流程是类似的。1)串口芯片驱动安装激活虚拟环境并进入工程目录conda activate lerobotcd~/Desktop/lerobot# 根据实际路径调整使用brew安装驱动程序brewinstall--caskwch-ch343图7: bash中显示安装成功期间会弹出若干窗口, 根据不同的macOS版本还需要完成关键的授权步骤驱动才能工作macOS 11.0及以上版本a. 打开“启动台”找到并打开 CH34xVCPDriver 应用程序b. 点击Install按钮。系统可能会提示安全验证根据指引在“系统设置”中允许该驱动扩展对于 macOS 13 及以上你可以在系统设置 → 通用 → 登录项与扩展 → 驱动程序扩展中找到并手动启用CH34xVCPDriver:图8: 为驱动程序扩展授权所有版本通用a. 安装和授权后需要重启电脑才能使驱动生效b. 将设备连接到电脑在终端使用命令ls /dev/tty.*检查驱动是否成功加载如果看到类似tty.wchusbserialxxx的设备就表示成功了.图9: 完成驱动更换后设备标识符从 tty.usbmodem* 转变为 tty.usbserial*, 以此实现更稳定的数据流控制和更高的通信兼容性至于有的读者会问, 这里的两个串口设备, 我如何确定哪个是主臂, 哪个是从臂? 方法很简单, 通过插拔每次只留一个臂和Mac相连, 记下相对应的串口号即可. 比如在这里, 图9黄色方框序列号中5C8开头的设备是我的从臂, 5C4是我的主臂.补充:若国内用户若安装失败, 可以切换镜像源# 切换Homebrew核心源git-C$(brew--repo)remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git# 切换Homebrew Bottles源exportHOMEBREW_BOTTLE_DOMAINhttps://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles# 重试安装brewinstall--caskwch-ch343如果以上方法都不行可以直接从WCH官网下载CH343驱动, 步骤如下a.访问 WCH官网b.下载macOS版本的驱动图10: 驱动程序的下载c.手动安装2.3 舵机标定标定旨在确立控制信号与舵机物理转角之间的精确映射关系是保障后续运动控制精度的基础。设置舵机ID时每次只能有一个舵机连接主控板其他串联的信号线需全部拔掉。1) 从臂跟随者ID设置lerobot-setup-motors--robot.typeso101_follower--robot.port/dev/tty.wchusbserialXXX注意: 将上面命令中的/dev/tty.wchusbserialXXX替换为实际的端口号图11 舵机ID设置接口示意图操作流程终端会依次提示6个舵机名称gripper → wrist_roll → wrist_flex → elbow_flex → shoulder_lift → shoulder_pan每次提示时只插入对应ID的舵机(详见2.1)然后按回车出现下一个舵机名称提示表示当前舵机设置完成重复插拔和回车操作直到全部设置完毕2) 主臂领导者ID设置lerobot-setup-motors--teleop.typeso101_leader--teleop.port/dev/tty.wchusbserialXXX操作流程与从臂相同:图12 主臂舵机ID设置总结本篇介绍了SO-ARM101的硬件架构, CH343P串口芯片驱动的安装与授权流程完成了主、从臂各舵机ID的分配与标定。舵机ID标定完成后机械臂的各个关节已就位但主臂与从臂之间尚未建立统一的运动参考系。下一篇我们将进入机械臂校准环节为主、从臂建立统一的关节角度映射关系为后续遥操和数据采集铺平道路。校准完成后便可通过主臂直接遥控从臂运动真正让机械臂动起来。进度记录:26.07.08第一篇26.07.14第二篇后续章节若更新可点击标题链接跳转到相应界面, 完全开源, 无任何阅读条件:第 3 篇机械臂校准主从臂对齐让领导者与跟随者同步第 4 篇遥操作测试第一次让主臂控制从臂遥操作可视化与联动验证第 5 篇数据采集录制演示数据给机械臂做示范第 6 篇云端训练把数据传到云服务器用 RTX 3090 训练 ACT 策略第 7 篇推理测试模型部署到真实机械臂端到端模仿学习效果验证第 8 篇总结与展望整套流程回顾与后续优化方向参考^南京沁恒微电子 https://www.wch.cn/
RELATED

相关推荐

DirectX Repair V4.1.0.30770 增强版深度解析:从一键修复到C++与API Sets的全面守护

DirectX Repair V4.1.0.30770 增强版深度解析:从一键修复到C++与API Sets的全面守护

1. DirectX Repair增强版:游戏玩家的系统守护神 当你兴冲冲地双击游戏图标,却看到"0xc000007b应用程序错误"的弹窗时,那种感觉就像足球运动员临门一脚时发现鞋带断了。DirectX Repair增强版正是为解决这类问题而生——它不仅是简单…

📅 2026/9/8 18:52:47
Qwopus-3.6-35B-A3B-Coder GGUF量化版深度解析:本地部署35B参数编码模型的实战经验

Qwopus-3.6-35B-A3B-Coder GGUF量化版深度解析:本地部署35B参数编码模型的实战经验

说实话,在本地跑一个35B参数的编码专用大模型,放在半年前还是件挺奢侈的事。那时候要么显存不够,要么量化完精度掉得离谱,写代码补全经常前言不搭后语。但最近这套基于 Qwopus-3.6-35B-A3B-Coder 的自定义混合精度 GGUF量化 方案&…

📅 2026/9/8 19:07:05
AI产品经理靠谱么?

AI产品经理靠谱么?

生成式AI爆发后,AI产品经理成为职场热门岗位:招聘需求暴涨、薪资溢价明显,但行业两极分化极其严重。市面上一半AI产品经理落地困难、只会堆砌AI功能,另一半能串联技术、场景与商业,成为AI项目成败的核心角色。结论很明…

📅 2026/9/8 16:12:23
MORE NEWS

更多资讯

📰

最初的梦想是通过写代码,实现自由。没想到最终会以炒股实现自由

这是2020年写的,今年删减了一些东西,系统就将发布时间,改为了现在,特此说明。初一时,就对电脑这块痴迷,连电脑都没摸几回,就对着电脑书,看到凌晨,而仍精神得很。 梦想&am…

📰

关于java中Integer缓存数组的分析

今天发现一个很有趣的事情,java中的Integer如果两个变量值大于127,就算值相等,但是比较其对象则不一致。一、现象分析 1、当Integer值为处于[-128,127]时候,i1和i2,i5和i6这两组对象相同; 2、当Integer值为…

📰

人工智能入门 | K-means聚类算法的应用案例实战(含代码+图示)

前言:Hello大家好,我是小哥谈。K-means算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑…

📰

计算机网络-概论

物理媒体 (1). 双绞铜线 常用于建筑内网络. (2). 同轴电缆 常用于电缆电视系统. (3). 光纤 优势:速度快,不受电磁干扰,低衰减,难窃听 常用于长途传输媒体,因特网主干. (4). 陆地无线…

📰

提示工程核心原则与AI交互设计实践

1. 为什么提示设计能决定用户体验成败在AI交互领域,提示(prompt)就是用户与系统对话的"第一句话"。一个糟糕的提示设计,就像让用户面对一台没有按钮的老式收音机——明明功能强大,却不知从何下手。去年我们团…

📰

树莓派Pico低功耗实战:lightsleep深度优化与GPIO22唤醒避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬