当前位置:首页 > 元宇宙 > AI

人人都能玩得起 AI 机器人,HuggingFace 开源低成本解决方案 LeRobot

来源: 责编: 时间:2024-09-01 11:49:20 35观看
导读 近日,HuggingFace 开源了低成本 AI 机器人 LeRobot,并指导大家从头开始构建 AI 控制的机器人,包括组装、配置到训练控制机器人的神经网络。当前的 AI 机器人,已经可以上蹿下跳后空翻、再接闪电五连鞭,代替人类承担

近日,HuggingFace 开源了低成本 AI 机器人 LeRobot,并指导大家从头开始构建 AI 控制的机器人,包括组装、配置到训练控制机器人的神经网络。QNP28资讯网——每日最新资讯28at.com

当前的 AI 机器人,已经可以上蹿下跳后空翻、再接闪电五连鞭,代替人类承担各种工作。哪怕是当大号手办,咱也想整一个玩玩。QNP28资讯网——每日最新资讯28at.com

但无奈目前大多公司还在研发阶段,少数能量产的又有亿点小贵。当然了,小编相信 AI 和机器人最终会走进千家万户。QNP28资讯网——每日最新资讯28at.com

而现在,我们可以玩到一个低成本的解决方案 ——LeRobot:QNP28资讯网——每日最新资讯28at.com

QNP28资讯网——每日最新资讯28at.com

—— 不知诸位可还记得「炒菜大师」ALOHA?QNP28资讯网——每日最新资讯28at.com

QNP28资讯网——每日最新资讯28at.com

而这个 LeRobot,就是我们自己可以拥有的 ALOHA,能够模仿人类完成一些简单的任务。QNP28资讯网——每日最新资讯28at.com

QNP28资讯网——每日最新资讯28at.com

单个机械臂的成本在 200 美元左右,而后端的模型训练在自己的笔记本上就可以搞定。QNP28资讯网——每日最新资讯28at.com

官方开源了全部的硬件和软件,包括训练和控制程序、AI 模型、SolidWorks 文件等。QNP28资讯网——每日最新资讯28at.com

我们可以从零组装出机械臂,并发挥想象教会它一些事情。QNP28资讯网——每日最新资讯28at.com

QNP28资讯网——每日最新资讯28at.com

LeRobot 项目由前特斯拉工程师 Remi Cadene(现在是 HuggingFace 的 principal research scientist)所领导,并给出了一份详细的指南,包括如何从头开始构建 AI 控制的机器人,—— 组装、配置,以及训练控制机器人的神经网络。QNP28资讯网——每日最新资讯28at.com

QNP28资讯网——每日最新资讯28at.com

项目基于开源的 Koch v1.1 机器人套件(也可以是别的硬件或者虚拟平台),包含两个六电机的机械臂,可使用一个或多个摄像头作为视觉传感器。QNP28资讯网——每日最新资讯28at.com

QNP28资讯网——每日最新资讯28at.com

项目地址:https://github.com/huggingface/lerobotQNP28资讯网——每日最新资讯28at.com

LeRobot 还计划在未来开发更具性价比的 Moss v1 版本,定价仅为 150 美元。QNP28资讯网——每日最新资讯28at.com

连 Mobile ALOHA 的作者也表示“Amazing”:QNP28资讯网——每日最新资讯28at.com

QNP28资讯网——每日最新资讯28at.com

对于 AI 机器人,专业人士认为它将成为这个时代的 PC:QNP28资讯网——每日最新资讯28at.com

QNP28资讯网——每日最新资讯28at.com

我一直在等待两个平台的转变:QNP28资讯网——每日最新资讯28at.com

-相当于早期 PC 的 AR / VRQNP28资讯网——每日最新资讯28at.com

-相当于早期个人电脑的机器人QNP28资讯网——每日最新资讯28at.com

而大多数网友则更加直接:这是我过去十年来一直想要的机械手,必须得到它!QNP28资讯网——每日最新资讯28at.com

QNP28资讯网——每日最新资讯28at.com

说到开源的力量,项目刚刚发布就有网友玩了起来:QNP28资讯网——每日最新资讯28at.com

QNP28资讯网——每日最新资讯28at.com

因为他表示自己的视频没有加速,所以小编也没给他加速。QNP28资讯网——每日最新资讯28at.com

QNP28资讯网——每日最新资讯28at.com

目前的 HuggingFace 上给出了四种模型,以及 98 个数据集,开发者还可以选择在训练过程中上传自己的数据集。QNP28资讯网——每日最新资讯28at.com

QNP28资讯网——每日最新资讯28at.com

制作自己的 AI Robot

LeRobot 目前使用的机械臂来源于 Alexander Koch 在几个月前开源的项目:QNP28资讯网——每日最新资讯28at.com

QNP28资讯网——每日最新资讯28at.com

下图是前辈的样子,总体的硬件差别不大,但为了方便大家复刻和使用,LeRobot 做了一些改进。QNP28资讯网——每日最新资讯28at.com

QNP28资讯网——每日最新资讯28at.com

Koch v1.1 拿掉了之前硬件模型中一些干扰材料,让尺寸标准化,并为引导臂添加了一个平台,允许从动臂从地面拾取物体。QNP28资讯网——每日最新资讯28at.com

通过更换直流转换器,Koch v1.1 无需使用烙铁进行组装,也无需手动调节电压转换器。QNP28资讯网——每日最新资讯28at.com

项目还添加了机械臂的 SolidWorks 模型、接线图以及装配视频。QNP28资讯网——每日最新资讯28at.com

QNP28资讯网——每日最新资讯28at.com

材料清单

以引导臂(LeaderArm)为例:QNP28资讯网——每日最新资讯28at.com

QNP28资讯网——每日最新资讯28at.com

下表是需要购买的部件,主要的开销在 6 个舵机上面,剩下的包括电机驱动板、固定装置、电源、杜邦线之类的。QNP28资讯网——每日最新资讯28at.com

而手臂结构的塑料片,则需要根据给出的文件通过 3D 打印获得。QNP28资讯网——每日最新资讯28at.com

QNP28资讯网——每日最新资讯28at.com

实际上对于相关爱好者来说,这些零件基本都能凑出来,而且咱们国内买这些东西也要便宜得多。QNP28资讯网——每日最新资讯28at.com

另外,如果需要平替或者升级伺服电机的话,记得修改控制程序。QNP28资讯网——每日最新资讯28at.com

他这里给出的两种电机扭矩都不大,但精度和转速倒是都挺高,不知道替换后会有多大影响,感兴趣的小伙伴不妨一试。QNP28资讯网——每日最新资讯28at.com

QNP28资讯网——每日最新资讯28at.com

配置和校准

首先安装 Koch v1.1 所需的依赖:QNP28资讯网——每日最新资讯28at.com

pip install -e ".[koch]"QNP28资讯网——每日最新资讯28at.com

然后按照接线图给驱动板和电机供电,USB 连接到电脑:QNP28资讯网——每日最新资讯28at.com

QNP28资讯网——每日最新资讯28at.com

注意从动臂这边有俩大一点的电机需要 12V 供电,以及 USB 不能作为电源。QNP28资讯网——每日最新资讯28at.com

通过以下命令进行电机的配置和校准:QNP28资讯网——每日最新资讯28at.com

python lerobot/scripts/control_robot.py teleoperate /QNP28资讯网——每日最新资讯28at.com

--robot-path lerobot/configs/robot/koch.yaml /QNP28资讯网——每日最新资讯28at.com

--robot-overrides '~cameras' # do not instantiate the camerasQNP28资讯网——每日最新资讯28at.com

程序实例化一个类来调用 SDK 操作电机(port 改为自己设备上检测到的端口):QNP28资讯网——每日最新资讯28at.com

DynamixelMotorsBus(port="/dev/tty.usbmodem575E0031751")QNP28资讯网——每日最新资讯28at.com

接下来配置每个电机的索引(相当于在总线上控制时的地址):QNP28资讯网——每日最新资讯28at.com

follower_arm = DynamixelMotorsBus(QNP28资讯网——每日最新资讯28at.com

port=follower_port,QNP28资讯网——每日最新资讯28at.com

motors={QNP28资讯网——每日最新资讯28at.com

# name: (index, model)"shoulder_pan": (1, "xl430-w250"),QNP28资讯网——每日最新资讯28at.com

"shoulder_lift": (2, "xl430-w250"),QNP28资讯网——每日最新资讯28at.com

"elbow_flex": (3, "xl330-m288"),QNP28资讯网——每日最新资讯28at.com

"wrist_flex": (4, "xl330-m288"),QNP28资讯网——每日最新资讯28at.com

"wrist_roll": (5, "xl330-m288"),QNP28资讯网——每日最新资讯28at.com

"gripper": (6, "xl330-m288"),QNP28资讯网——每日最新资讯28at.com

},QNP28资讯网——每日最新资讯28at.com

)QNP28资讯网——每日最新资讯28at.com

DynamixelMotorsBus 会自动检测当前电机索引,如果电机中保存的索引与配置文件中不匹配,会触发一个配置过程,需要拔掉电机的电源,按顺序重新连接电机。QNP28资讯网——每日最新资讯28at.com

读写测试QNP28资讯网——每日最新资讯28at.com

运行以下代码:QNP28资讯网——每日最新资讯28at.com

leader_pos = leader_arm.read("Present_Position")QNP28资讯网——每日最新资讯28at.com

follower_pos = follower_arm.read("Present_Position")QNP28资讯网——每日最新资讯28at.com

print(leader_pos)QNP28资讯网——每日最新资讯28at.com

print(follower_pos)QNP28资讯网——每日最新资讯28at.com

配置成功后可以得到所有 12 个电机的当前位置:QNP28资讯网——每日最新资讯28at.com

array([2054, 523, 3071, 1831, 3049, 2441], dtype=int32)QNP28资讯网——每日最新资讯28at.com

array([2003, 1601, 56, 2152, 3101, 2283], dtype=int32)QNP28资讯网——每日最新资讯28at.com

校准QNP28资讯网——每日最新资讯28at.com

手动调节机械臂到几个固定的位置,相当于给电机一个相对的归零位置,同时也保证引导臂和从动臂的静止位置大致对齐。QNP28资讯网——每日最新资讯28at.com

QNP28资讯网——每日最新资讯28at.com

通过校准程序之后,这几个位置会被写入配置文件,作为之后运行的基准。QNP28资讯网——每日最新资讯28at.com

—— 温馨提示:记得不要在 Torque_Enable 的情况下硬掰。QNP28资讯网——每日最新资讯28at.com

开玩!

准备就绪,下面可以开始控制机械臂了,比如让从动臂模仿引导臂,设置采样频率 200Hz,操作 30 秒:QNP28资讯网——每日最新资讯28at.com

import tqdmQNP28资讯网——每日最新资讯28at.com

seconds = 30QNP28资讯网——每日最新资讯28at.com

frequency = 200QNP28资讯网——每日最新资讯28at.com

for _ in tqdm.tqdm(range(seconds*frequency)):QNP28资讯网——每日最新资讯28at.com

leader_pos = robot.leader_arms["main"].read("Present_Position")QNP28资讯网——每日最新资讯28at.com

robot.follower_arms["main"].write("Goal_Position", leader_pos)QNP28资讯网——每日最新资讯28at.com

—— 是不是很简单?QNP28资讯网——每日最新资讯28at.com

那么由此可知,训练机械臂模仿人类的原理就是,在从动臂模仿引导臂的同时,加上一个摄像头的实时画面,QNP28资讯网——每日最新资讯28at.com

在模仿(训练)的过程中,模型收集了手臂位置和对应的图像数据,之后(推理)就可以根据当前摄像头看到的画面来预测各个电机需要到达的角度。QNP28资讯网——每日最新资讯28at.com

小编翻了一下项目的代码,发现这个「模仿游戏」所用的 AI 模型居然就是 ALOHA 用的 Action Chunking with Transformers (ACT)。QNP28资讯网——每日最新资讯28at.com

QNP28资讯网——每日最新资讯28at.com

论文地址:https://arxiv.org/pdf/2304.13705QNP28资讯网——每日最新资讯28at.com

QNP28资讯网——每日最新资讯28at.com

QNP28资讯网——每日最新资讯28at.com

除了 ACT,你也可以使用或者训练自己的模型,可以改成 ALOHA 那样的双臂模式,或者在虚拟环境中进行训练和验证。QNP28资讯网——每日最新资讯28at.com

加入摄像头QNP28资讯网——每日最新资讯28at.com

项目使用 opencv2 库来操作 camera,以下代码同时配置了机械臂和摄像头:QNP28资讯网——每日最新资讯28at.com

robot = KochRobot(QNP28资讯网——每日最新资讯28at.com

leader_arms={"main": leader_arm},QNP28资讯网——每日最新资讯28at.com

follower_arms={"main": follower_arm},QNP28资讯网——每日最新资讯28at.com

calibration_path=".cache/calibration/koch.pkl",QNP28资讯网——每日最新资讯28at.com

cameras={QNP28资讯网——每日最新资讯28at.com

"laptop": OpenCVCamera(0, fps=30, width=640, height=480),QNP28资讯网——每日最新资讯28at.com

"phone": OpenCVCamera(1, fps=30, width=640, height=480),QNP28资讯网——每日最新资讯28at.com

},QNP28资讯网——每日最新资讯28at.com

)QNP28资讯网——每日最新资讯28at.com

robot.connect()QNP28资讯网——每日最新资讯28at.com

使用下面的代码尝试以 60 fps 录制视频 30 秒(busy_wait 负责控制帧率):QNP28资讯网——每日最新资讯28at.com

import timeQNP28资讯网——每日最新资讯28at.com

from lerobot.scripts.control_robot import busy_waitQNP28资讯网——每日最新资讯28at.com

record_time_s = 30QNP28资讯网——每日最新资讯28at.com

fps = 60QNP28资讯网——每日最新资讯28at.com

states = []QNP28资讯网——每日最新资讯28at.com

actions = []QNP28资讯网——每日最新资讯28at.com

for _ in range(record_time_s * fps):QNP28资讯网——每日最新资讯28at.com

start_time = time.perf_counter()QNP28资讯网——每日最新资讯28at.com

observation, action = robot.teleop_step(record_data=True)QNP28资讯网——每日最新资讯28at.com

states.append(observation["observation.state"])QNP28资讯网——每日最新资讯28at.com

actions.append(action["action"])QNP28资讯网——每日最新资讯28at.com

dt_s = time.perf_counter() - start_timeQNP28资讯网——每日最新资讯28at.com

busy_wait(1 / fps - dt_s)QNP28资讯网——每日最新资讯28at.com

摄像头拍摄的图像帧会以线程的形式保存在磁盘上,并在录制结束时编码为视频。QNP28资讯网——每日最新资讯28at.com

也可以将视频流显示在窗口中,以方便验证。QNP28资讯网——每日最新资讯28at.com

还可以使用命令行参数设置数据记录流程,包括录制开始前、录制过程和录制结束后停留的时间。QNP28资讯网——每日最新资讯28at.com

可视化QNP28资讯网——每日最新资讯28at.com

python lerobot/scripts/visualize_dataset_html.py /QNP28资讯网——每日最新资讯28at.com

--root data /QNP28资讯网——每日最新资讯28at.com

--repo-id ${HF_USER}/koch_testQNP28资讯网——每日最新资讯28at.com

以上命令将启动一个本地 Web 服务器,如下所示:QNP28资讯网——每日最新资讯28at.com

QNP28资讯网——每日最新资讯28at.com

建议QNP28资讯网——每日最新资讯28at.com

一旦您熟悉了数据记录,就可以创建更大的数据集进行训练。一个好的开始任务是在不同位置抓取一个物体并将其放入箱子中。QNP28资讯网——每日最新资讯28at.com

建议至少录制 50 集,每个地点 10 集。在整个录制过程中保持摄像机固定并保持一致的抓取行为。QNP28资讯网——每日最新资讯28at.com

实现可靠的抓取性能后,您可以开始在数据收集过程中引入更多变化,例如额外的抓取位置、不同的抓取技术以及改变相机位置。QNP28资讯网——每日最新资讯28at.com

避免过快地添加太多变化,因为这可能会影响您的结果。QNP28资讯网——每日最新资讯28at.com

本文来自微信公众号:微信公众号(ID:null),作者:alan,原标题《人人都能玩得起 AI 机器人!HuggingFace 开源低成本解决方案》QNP28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-45-6540-0.html人人都能玩得起 AI 机器人,HuggingFace 开源低成本解决方案 LeRobot

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 书生・天际 3.0 实景三维大模型开源发布:城市级 100 平方公里全范围实时渲染,VR 设备可用

下一篇: 2024 三星开发者大会将于 10 月 3 日在美国加州举行,聚焦 AI 创新

标签:
  • 热门焦点
  • 元娲2.7上线:虚拟人视频制作速度疯狂翻倍!

    元娲2.7上线:虚拟人视频制作速度疯狂翻倍!

    来源:清元宇宙 炎炎夏日努力工作的Q仔的电脑都冒烟儿啦~今天要给大家介绍两个新小伙伴——小元和小娲,他们将给大家解读元娲2.7版本重磅更新内容~大家掌声欢迎~~~本次更
  • 数字虚拟人23年最新变化!

    数字虚拟人23年最新变化!

    作者:小资来源:米塔之家自2021年元宇宙“爆炸”后,作为现实世界连接元宇宙的媒介之一,大批虚拟人跑步入场。到了2022年底,据天眼查数据显示,我国目前企业名称或经营范围
  • 关于年度热词NFT,除了钱,我们还可以聊点啥?

    关于年度热词NFT,除了钱,我们还可以聊点啥?

    每到年底,社交媒体总少不了年度盘点、年度总结、年度热词。如果让你来总结2021年度热词,你会想到什么?柯林斯词典将年度热词颁给了“NFT”,而其理由是:一个缩写词的
  • 游戏玩家才是最“元宇宙”的

    游戏玩家才是最“元宇宙”的

    01元宇宙的概念,最早由科幻作家尼尔·斯蒂芬森于1992年在其著作《雪崩》中提出。它指的是一个脱胎于现实世界,又与现实世界平行、相互影响,并且始终在线的虚拟世
  • 超跑与NFT的首次结合,兰博基尼能否破局?

    超跑与NFT的首次结合,兰博基尼能否破局?

    兰博基尼公司近日称即将推出它的首款NFT,并且将加速进军区块链领域。这家闻名遐迩的意大利汽车厂商野心勃勃地将目光投向混合动力和电动跑车,并宣布将拍卖与瑞士
  • 网易音乐、理想申请元宇宙商标被驳回,“啫喱”暂停新用户进入

    网易音乐、理想申请元宇宙商标被驳回,“啫喱”暂停新用户进入

    【《原神》开发商米哈游宣布创立元宇宙品牌】《原神》开发商米哈游宣布推出元宇宙品牌 HoYoverse,旨在通过各种娱乐服务为全球玩家创造并提供沉浸式虚拟世界体
  • 2022年去中心化交易所会崛起吗?

    2022年去中心化交易所会崛起吗?

    “在某个时候,去中心化衍生品的交易量可能会超过去中心化现货交易所。”DEX 越来越多地转向第二层解决方案。“数字化金融市场的概念以及如何沿着以用户为中心
  • 头像类NFTs的统治能持续多久?

    头像类NFTs的统治能持续多久?

    在过去的一两年里,NFTs在互联网世界中掀起了一场风暴。今天,当我们想到NFTs时,我们主要想到的是那些充斥着我们的社交媒体屏幕的数字卡通--无聊猿、punks 和介于
  • 从NFT数字收藏,洞察数字音乐版权市场发展趋势

    从NFT数字收藏,洞察数字音乐版权市场发展趋势

    去年8月9日,腾讯音乐布局NFT数字收藏,在腾讯应用宝发布幻核app,腾讯音乐的提前布局示意着未来区块链技术将对数字音乐版权市场进行改造升级。作者从深层测分析为
Top