分享好友 最新动态首页 最新动态分类 切换频道
人人都能玩得起AI机器人,HuggingFace开源低成本解决方案
2024-12-29 22:50

新智元报道

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

编辑:alan

【新智元导读】近日,HuggingFace开源了低成本AI机器人LeRobot,并指导大家从头开始构建AI控制的机器人,包括组装、配置到训练控制机器人的神经网络。

当前的AI机器人,已经可以上蹿下跳后空翻、再接闪电五连鞭,代替人类承担各种工作。

哪怕是当大号手办,咱也想整一个玩玩。

但无奈目前大多公司还在研发阶段,少数能量产的又有亿点小贵。

当然了,小编相信AI和机器人最终会走进千家万户。

官方开源了全部的硬件和软件,包括训练和控制程序、AI模型、SolidWorks文件等。

LeRobot还计划在未来开发更具性价比的Moss v1版本,定价仅为150美元。

-相当于早期PC的AR/VR

-相当于早期个人电脑的机器人

通过更换直流转换器,Koch v1.1无需使用烙铁进行组装,也无需手动调节电压转换器。

另外,如果需要平替或者升级伺服电机的话,记得修改控制程序。

首先安装Koch v1.1所需的依赖:

pip install -e ".[koch]"

通过以下命令进行电机的配置和校准:

python lerobot/scripts/control_robot.py teleoperate

--robot-path lerobot/configs/robot/koch.yaml

--robot-overrides '~cameras' # do not instantiate the cameras

程序实例化一个类来调用SDK操作电机(port改为自己设备上检测到的端口):

DynamixelMotorsBus(port="/dev/tty.usbmodem575E0031751")

接下来配置每个电机的索引(相当于在总线上控制时的地址):

follower_arm = DynamixelMotorsBus(

port=follower_port,

motors={

# name: (index, model)"shoulder_pan": (1, "xl430-w250"),

"shoulder_lift": (2, "xl430-w250"),

"elbow_flex": (3, "xl330-m288"),

"wrist_flex": (4, "xl330-m288"),

"wrist_roll": (5, "xl330-m288"),

"gripper": (6, "xl330-m288"),

},

)

DynamixelMotorsBus会自动检测当前电机索引,如果电机中保存的索引与配置文件中不匹配,会触发一个配置过程,需要拔掉电机的电源,按顺序重新连接电机。

读写测试

运行以下代码:

leader_pos = leader_arm.read("Present_Position")

follower_pos = follower_arm.read("Present_Position")

print(leader_pos)

print(follower_pos)

配置成功后可以得到所有12个电机的当前位置:

array([2054, 523, 3071, 1831, 3049, 2441], dtype=int32)

array([2003, 1601, 56, 2152, 3101, 2283], dtype=int32)

校准

——温馨提示:记得不要在Torque_Enable的情况下硬掰。

开玩!

准备就绪,下面可以开始控制机械臂了,比如让从动臂模仿引导臂,设置采样频率200Hz,操作30秒:

import tqdm

seconds = 30

frequency = 200

for _ in tqdm.tqdm(range(seconds*frequency)):

leader_pos = robot.leader_arms["main"].read("Present_Position")

robot.follower_arms["main"].write("Goal_Position", leader_pos)

——是不是很简单?

那么由此可知,训练机械臂模仿人类的原理就是,在从动臂模仿引导臂的同时,加上一个摄像头的实时画面,

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

加入摄像头

项目使用opencv2库来操作camera,以下代码同时配置了机械臂和摄像头:

robot = KochRobot(

leader_arms={"main": leader_arm},

follower_arms={"main": follower_arm},

calibration_path=".cache/calibration/koch.pkl",

cameras={

"laptop": OpenCVCamera(0, fps=30, width=640, height=480),

"phone": OpenCVCamera(1, fps=30, width=640, height=480),

},

)

robot.connect()

使用下面的代码尝试以60 fps录制视频30秒(busy_wait负责控制帧率):

import time

from lerobot.scripts.control_robot import busy_wait

record_time_s = 30

fps = 60

states = []

actions = []

for _ in range(record_time_s * fps):

start_time = time.perf_counter()

observation, action = robot.teleop_step(record_data=True)

states.append(observation["observation.state"])

actions.append(action["action"])

dt_s = time.perf_counter() - start_time

busy_wait(1 / fps - dt_s)

摄像头拍摄的图像帧会以线程的形式保存在磁盘上,并在录制结束时编码为视频。

也可以将视频流显示在窗口中,以方便验证。

还可以使用命令行参数设置数据记录流程,包括录制开始前、录制过程和录制结束后停留的时间。

可视化

python lerobot/scripts/visualize_dataset_html.py

--root data

--repo-id ${HF_USER}/koch_test

一旦您熟悉了数据记录,就可以创建更大的数据集进行训练。一个好的开始任务是在不同位置抓取一个物体并将其放入箱子中。

建议至少录制50集,每个地点10集。在整个录制过程中保持摄像机固定并保持一致的抓取行为。

实现可靠的抓取性能后,您可以开始在数据收集过程中引入更多变化,例如额外的抓取位置、不同的抓取技术以及改变相机位置。

避免过快地添加太多变化,因为这可能会影响您的结果。

参考资料:

最新文章
ChatGPT与AI智能助手Molly
相信有关注科技圈的朋友一定听说过ChatGPT的大名吧,而Molly作为AI得贤招聘官开发的基于ChatGPT技术的智能AI助手,她能够对多种问题作出回答。当您向Molly提出问题时,Molly会先将问题分解成关键词和语义信息,然后利用NLP技术和机器学习算
ai改写高质量原创文章怎么做,文章重写原创
在此信息发达的时代,创意写作已逐渐发展为热门行业。许多创作者面临着写出优质原创新文的挑战,但借助人工智能的力量,这一问题便迎刃而解了!身为AI写作助手,我将倾力传授如何运用AI来提升文章质量的技巧。1.概括主要内容为了提升一篇精
DVDGuy’s Blog @ Digital Digest
And just like that, 2019 is nearly over. Or maybe already over by the time I post this because, a) this thing took longer than I expected to finish, and/or b) you live on one of the Line Islands and you’ve reached 20
ai续写小说网站有什么?这些ai续写工具助你一臂之力
面对空白的页面,灵感枯竭,每个字都难以下笔?别急,现在有了AI续写小说网站等工具,轻松搞定创作难题。无论何时何地,只要打开电脑或手机,一键就能激发你的创作灵感,是不是感觉轻松多了?这样的工具不仅能节省大量宝贵的时间,还能在写
abc分析图怎么制作?一文详解——九数云BI
很多人都知道二八定理,即20%的人掌握着80%的财富。很有名的ABC分类法和abc分析图,可以说是二八法则的衍生,其核心目的也是帮助分析人员把握关键,分清主次。如下是使用九数云制作的abc分析图。本文将为大家介绍什么是abc分析,以及abc分
AI智能技术:一键将多种字体高效转化为路径,满足设计师多样化需求
1. 字体生成技术是利用人工智能算法,按照客户手写的少量文字,自动扩展生成一套完整的字体库。2. 通过深度学模型可以学使用者的书写风格,并将这类风格应用到所有汉字上,生成独一无二的TTF(TrueType Font)格式字体。3. 使用者仅需提供8
AnsiblePlaybooks详解:任务、变量、模板和角色
Ansible 我所有Ansible剧本的家。先决条件Ansible 您需要做的第一件事是在管理站(台式机/笔记本电脑,可能是您从中读取的位置)上安装的ansible。 请参阅我的文档。生成SSH密钥您服务器上的Python3 您将需要在服务器(目标机器/设备)上安
AI人工智能核心算法原理与代码实例讲解:数据预处理
数据预处理,机器学习,特征工程,数据清洗,数据转换,数据归一化,数据标准化,异常值处理,数据降维 在机器学习领域,数据预处理是构建高质量机器学习模型的基础环节。高质量的数据预处理可以有效地提高模型的准确性、鲁棒性和泛化能力
facebook海外户广告开户投放技巧分享
facebook海外户广告开户投放技巧分享全球化的商业环境下,海外市场已经成为越来越多企业的关注焦点。而在海外市场进行广告推广是非常必要的一环。本文将为大家分享关于在Facebook海外户开户投放的技巧和注意事项,帮助您更好地进行广告推广
AI一键生成LOGO,秒杀广告设计公司,革命性的颠覆来了
大家好,我是飞哥,AI矩阵创始人,全网12个矩阵账号右上角关注,我分享两份爆款三段式标题和GPT入门指南用AI+矩阵解决方案变现,赋能万众创业者继AI写作AI绘画之后,AI logo横空出世,巨好用,一秒钟生成1000款Logo和字体商标设计,直接就
相关文章
推荐文章
发表评论
0评