通过可穿戴外骨骼,以更灵活的方式操作你的机器人。

今天,我们将介绍一款专为控制 Mercury X1 和 Mercury B1 机械臂而设计的创新外骨骼。这种外骨骼以人类手臂的结构为蓝本,可实现直观和精确的控制。

开发这种外骨骼的动机源于人们对深度学习和机器学习等领域日益增长的兴趣。这些技术使机器人能够自主学习和执行人类任务,例如折叠衣服或做饭。为了实现这些功能,必须收集大量数据,并且必须采用一种便捷的方式来控制机械臂。设计这种外骨骼的主要目标是满足这一需求。

项目硬件介绍

大象机器人 Mercury X1

M5Stack ESP32 基础核心物联网开发套件

NVIDIA Jetson Orin Nano 开发者套件

ROS 机器人操作系统

Elephant Robotics myCobot Pro 自适应夹爪

产品介绍

Mercury X1

Mercury X1 由 Elephant Robotics 开发,是一款先进的人形机器人,旨在处理各种自动化任务。它拥有 19 个 DOF(每臂 7 个 DOF),在手术过程中提供了卓越的灵活性和适应性。Mercury X1 采用由高性能直驱电机驱动的轮式移动底座,确保在复杂环境中稳定移动,电池续航时间长达 8 小时。Mercury X1 配备了由 NVIDIA Jetson Xavier 提供支持的高性能主控制器系统,支持视觉测距、传感器融合、定位和建图、障碍物检测和路径规划的复杂算法。移动底座配备了 LiDAR、超声波传感器和 2D 视觉系统,可实现高度感知的环境交互。

外骨骼

这款创新的外骨骼专为远程控制和数据收集而设计。其结构由 2 个以人体解剖结构为蓝本的手臂组件组成,并与 Mercury X1 的双臂运动结构保持一致,可以精确模仿人类手臂运动。中心嵌入了一个 M5Stack Basic 模块,作为主控单元,提供强大的计算能力和灵活的接口。外骨骼旨在提供舒适的佩戴体验,同时确保高精度的运动跟踪和数据收集,以支持机器人操作和机器学习训练。

开发挑战

初始设计限制

第一代外骨骼安装在操作员的肩膀上。虽然这种设计看起来很有效,但在实际操作中被证明很麻烦。用户必须显着抬高手臂和肘部才能正确控制 Mercury X1,从而导致不适和效率低下。

电源和连接问题

初始版本需要直接连接到充电器,因此需要三到四根电缆连接到设备。这种设置创造了一个错综复杂的工作空间。

操作员疲劳

使用外骨骼的物理压力在操作仅 5 分钟后就变得明显,导致用户迅速疲劳。这些缺点突出了进行大量升级的必要性,并导致了改进版本的开发。

最新升级

我们目前的设计已经解决了之前的大部分痛点。新的外骨骼具有悬挂在胸部前方的手臂,并通过中心杆连接,确保两侧之间的平衡。以前对外部电源的依赖已被中央 M5Stack Basic 模块中的内置可充电电池所取代。这消除了对多个拖曳充电器的需求,从而显著减少了杂乱。现在,只需一根电缆即可将 M5Stack Basic 连接到 Mercury X1,从而高效传输数据并简化设置。

实现细节

操作系统:Ubuntu 20.04

编程语言:Python

使用的库:pymycobot、threading、time、serial

该程序的工作原理是从外骨骼上的磁性编码器读取数据,将电位值转换为机械臂可以解释和执行的角度。尽管代码不到 100 行,但该程序实现了控制机械臂的基本功能。

python 复制代码
def read_data():
    while True:
        try:
            # read left robot data
            ser.write(hex_array_l)
            time.sleep(0.01)
            count = ser.in_waiting
            data = ser.read(count).hex()
            tim = time.time()
            #print("l:"+data+","+str(tim))
            if len(data) == 84 and data[0:2] == "d5" and data[-2:] == "5d":
                for i in range(7):
                    data_h = data[8 + i * 10: 10 + i * 10]
                    data_l = data[10 + i * 10: 12 + i * 10]
                    encode = int(data_h + data_l, 16)
                    # l_angle_list[i] = (encode - 2048) * 180 / 2048 if encode != 2048 else 0
                    if encode == 2048:
                        angle = 0
                    elif encode < 2048:
                        angle = -180 * (2048 - encode) / 2048
                    else:
                        angle = 180 * (encode - 2048) / 2048
                    l_angle_list[i] = angle

                button = bin(int(data[-10: -8]))[2:].rjust(4, "0")
                l_atom_list[0] = int(button[1])
                l_atom_list[1] = int(button[2])
                l_atom_list[2] = int(data[-6: -4], 16)
                l_atom_list[3] = int(data[-4: -2], 16)
                print("Left Arm Angles:", l_angle_list)

基于此基本设置,可以记录特定运动期间的关节参数并用于训练机器学习模型,从而有助于为后续算法开发收集有价值的数据。

展望

展望未来,我们设想通过触觉反馈和自适应运动算法等高级功能来增强外骨骼,以进一步弥合人类控制和机器人精度之间的差距。这些改进将为操作员提供更身临其境的体验,提供实时传感反馈,并允许在操作过程中进行更直观的调整。此外,我们计划扩展外骨骼的兼容性,以便与更广泛的机器人平台配合使用,从而在制造、医疗保健和研究等各个行业实现更广泛的应用。这一进展将支持更广泛的数据收集,并促进可以处理日益复杂任务的协作人机系统。

相关推荐
INDEMIND32 分钟前
INDEMIND:AI视觉赋能服务机器人,“零”碰撞避障技术实现全天候安全
人工智能·视觉导航·服务机器人·商用机器人
慕容木木36 分钟前
【全网最全教程】使用最强DeepSeekR1+联网的火山引擎,没有生成长度限制,DeepSeek本体的替代品,可本地部署+知识库,注册即可有750w的token使用
人工智能·火山引擎·deepseek·deepseek r1
南 阳41 分钟前
百度搜索全面接入DeepSeek-R1满血版:AI与搜索的全新融合
人工智能·chatgpt
企鹅侠客1 小时前
开源免费文档翻译工具 可支持pdf、word、excel、ppt
人工智能·pdf·word·excel·自动翻译
冰淇淋百宝箱1 小时前
AI 安全时代:SDL与大模型结合的“王炸组合”——技术落地与实战指南
人工智能·安全
Elastic 中国社区官方博客2 小时前
Elasticsearch Open Inference API 增加了对 Jina AI 嵌入和 Rerank 模型的支持
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索·jina
东隆科技2 小时前
精准测量PMD:OCI-V光矢量分析系统赋能光纤通信性能优化
科技
AWS官方合作商2 小时前
Amazon Lex:AI对话引擎重构企业服务新范式
人工智能·ai·机器人·aws
workflower2 小时前
Prompt Engineering的重要性
大数据·人工智能·设计模式·prompt·软件工程·需求分析·ai编程
curemoon3 小时前
理解都远正态分布中指数项的精度矩阵(协方差逆矩阵)
人工智能·算法·矩阵