自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

人人都能玩得起AI機(jī)器人!HuggingFace開源低成本解決方案

人工智能
近日,HuggingFace開源了低成本AI機(jī)器人LeRobot,并指導(dǎo)大家從頭開始構(gòu)建AI控制的機(jī)器人,包括組裝、配置到訓(xùn)練控制機(jī)器人的神經(jīng)網(wǎng)絡(luò)。

當(dāng)前的AI機(jī)器人,已經(jīng)可以上躥下跳后空翻、再接閃電五連鞭,代替人類承擔(dān)各種工作。

哪怕是當(dāng)大號(hào)手辦,咱也想整一個(gè)玩玩。

但無奈目前大多公司還在研發(fā)階段,少數(shù)能量產(chǎn)的又有億點(diǎn)小貴。

當(dāng)然了,小編相信AI和機(jī)器人最終會(huì)走進(jìn)千家萬戶。

而現(xiàn)在,我們可以玩到一個(gè)低成本的解決方案——LeRobot:

——不知諸位可還記得「炒菜大師」ALOHA?

而這個(gè)LeRobot,就是我們自己可以擁有的ALOHA,能夠模仿人類完成一些簡(jiǎn)單的任務(wù)。

單個(gè)機(jī)械臂的成本在200美元左右,而后端的模型訓(xùn)練在自己的筆記本上就可以搞定。

官方開源了全部的硬件和軟件,包括訓(xùn)練和控制程序、AI模型、SolidWorks文件等。

我們可以從零組裝出機(jī)械臂,并發(fā)揮想象教會(huì)它一些事情。

圖片圖片

LeRobot項(xiàng)目由前特斯拉工程師Remi Cadene(現(xiàn)在是HuggingFace的principal research scientist)所領(lǐng)導(dǎo),并給出了一份詳細(xì)的指南,

包括如何從頭開始構(gòu)建AI控制的機(jī)器人,——組裝、配置,以及訓(xùn)練控制機(jī)器人的神經(jīng)網(wǎng)絡(luò)。

項(xiàng)目基于開源的Koch v1.1機(jī)器人套件(也可以是別的硬件或者虛擬平臺(tái)),包含兩個(gè)六電機(jī)的機(jī)械臂,可使用一個(gè)或多個(gè)攝像頭作為視覺傳感器。

項(xiàng)目地址:https://github.com/huggingface/lerobot

LeRobot還計(jì)劃在未來開發(fā)更具性價(jià)比的Moss v1版本,定價(jià)僅為150美元。

連???????????? ??????????的作者也表示“Amazing”:

對(duì)于AI機(jī)器人,專業(yè)人士認(rèn)為它將成為這個(gè)時(shí)代的PC:

我一直在等待兩個(gè)平臺(tái)的轉(zhuǎn)變:

-相當(dāng)于早期PC的AR/VR

-相當(dāng)于早期個(gè)人電腦的機(jī)器人

而大多數(shù)網(wǎng)友則更加直接:這是我過去十年來一直想要的機(jī)械手,必須得到它!

說到開源的力量,項(xiàng)目剛剛發(fā)布就有網(wǎng)友玩了起來:

因?yàn)樗硎咀约旱囊曨l沒有加速,所以小編也沒給他加速。

圖片圖片

目前的HuggingFace上給出了四種模型,以及98個(gè)數(shù)據(jù)集,開發(fā)者還可以選擇在訓(xùn)練過程中上傳自己的數(shù)據(jù)集。

制作自己的AI Robot

LeRobot目前使用的機(jī)械臂來源于Alexander Koch在幾個(gè)月前開源的項(xiàng)目:

下圖是前輩的樣子,總體的硬件差別不大,但為了方便大家復(fù)刻和使用,LeRobot做了一些改進(jìn)。

Koch v1.1拿掉了之前硬件模型中一些干擾材料,讓尺寸標(biāo)準(zhǔn)化,并為引導(dǎo)臂添加了一個(gè)平臺(tái),允許從動(dòng)臂從地面拾取物體。

通過更換直流轉(zhuǎn)換器,Koch v1.1無需使用烙鐵進(jìn)行組裝,也無需手動(dòng)調(diào)節(jié)電壓轉(zhuǎn)換器。

項(xiàng)目還添加了機(jī)械臂的SolidWorks模型、接線圖以及裝配視頻。

圖片圖片

材料清單

以引導(dǎo)臂(Leader Arm)為例,

圖片圖片

下表是需要購(gòu)買的部件,主要的開銷在6個(gè)舵機(jī)上面,剩下的包括電機(jī)驅(qū)動(dòng)板、固定裝置、電源、杜邦線之類的。

而手臂結(jié)構(gòu)的塑料片,則需要根據(jù)給出的文件通過3D打印獲得。

圖片圖片

實(shí)際上對(duì)于相關(guān)愛好者來說,這些零件基本都能湊出來,而且咱們國(guó)內(nèi)買這些東西也要便宜得多。

另外,如果需要平替或者升級(jí)伺服電機(jī)的話,記得修改控制程序。

他這里給出的兩種電機(jī)扭矩都不大,但精度和轉(zhuǎn)速倒是都挺高,不知道替換后會(huì)有多大影響,感興趣的小伙伴不妨一試。

圖片圖片

配置和校準(zhǔn)

首先安裝Koch v1.1所需的依賴:

pip install -e ".[koch]"

然后按照接線圖給驅(qū)動(dòng)板和電機(jī)供電,USB連接到電腦:

圖片圖片

注意從動(dòng)臂這邊有倆大一點(diǎn)的電機(jī)需要12V供電,以及USB不能作為電源。

通過以下命令進(jìn)行電機(jī)的配置和校準(zhǔn):

python lerobot/scripts/control_robot.py teleoperate \
--robot-path lerobot/configs/robot/koch.yaml \
--robot-overrides '~cameras'  # do not instantiate the cameras

程序?qū)嵗粋€(gè)類來調(diào)用SDK操作電機(jī)(port改為自己設(shè)備上檢測(cè)到的端口):

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

接下來配置每個(gè)電機(jī)的索引(相當(dāng)于在總線上控制時(shí)的地址):

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會(huì)自動(dòng)檢測(cè)當(dāng)前電機(jī)索引,如果電機(jī)中保存的索引與配置文件中不匹配,會(huì)觸發(fā)一個(gè)配置過程,需要拔掉電機(jī)的電源,按順序重新連接電機(jī)。

讀寫測(cè)試

運(yùn)行以下代碼:

leader_pos = leader_arm.read("Present_Position")
follower_pos = follower_arm.read("Present_Position")
print(leader_pos)
print(follower_pos)

配置成功后可以得到所有12個(gè)電機(jī)的當(dāng)前位置:

array([2054,  523, 3071, 1831, 3049, 2441], dtype=int32)
array([2003, 1601,   56, 2152, 3101, 2283], dtype=int32)

校準(zhǔn)

手動(dòng)調(diào)節(jié)機(jī)械臂到幾個(gè)固定的位置,相當(dāng)于給電機(jī)一個(gè)相對(duì)的歸零位置,同時(shí)也保證引導(dǎo)臂和從動(dòng)臂的靜止位置大致對(duì)齊。

圖片圖片

通過校準(zhǔn)程序之后,這幾個(gè)位置會(huì)被寫入配置文件,作為之后運(yùn)行的基準(zhǔn)。

——溫馨提示:記得不要在Torque_Enable的情況下硬掰。

開玩!

準(zhǔn)備就緒,下面可以開始控制機(jī)械臂了,比如讓從動(dòng)臂模仿引導(dǎo)臂,設(shè)置采樣頻率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)

——是不是很簡(jiǎn)單?

那么由此可知,訓(xùn)練機(jī)械臂模仿人類的原理就是,在從動(dòng)臂模仿引導(dǎo)臂的同時(shí),加上一個(gè)攝像頭的實(shí)時(shí)畫面,

在模仿(訓(xùn)練)的過程中,模型收集了手臂位置和對(duì)應(yīng)的圖像數(shù)據(jù),之后(推理)就可以根據(jù)當(dāng)前攝像頭看到的畫面來預(yù)測(cè)各個(gè)電機(jī)需要到達(dá)的角度。

小編翻了一下項(xiàng)目的代碼,發(fā)現(xiàn)這個(gè)「模仿游戲」所用的AI模型居然就是ALOHA用的Action Chunking with Transformers (ACT)。

圖片圖片

論文地址:https://arxiv.org/pdf/2304.13705

圖片圖片

圖片圖片

除了ACT,你也可以使用或者訓(xùn)練自己的模型,可以改成ALOHA那樣的雙臂模式,或者在虛擬環(huán)境中進(jìn)行訓(xùn)練和驗(yàn)證。

加入攝像頭

項(xiàng)目使用opencv2庫(kù)來操作camera,以下代碼同時(shí)配置了機(jī)械臂和攝像頭:

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負(fù)責(zé)控制幀率):

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)

攝像頭拍攝的圖像幀會(huì)以線程的形式保存在磁盤上,并在錄制結(jié)束時(shí)編碼為視頻。

也可以將視頻流顯示在窗口中,以方便驗(yàn)證。

還可以使用命令行參數(shù)設(shè)置數(shù)據(jù)記錄流程,包括錄制開始前、錄制過程和錄制結(jié)束后停留的時(shí)間。

可視化

python lerobot/scripts/visualize_dataset_html.py \
--root data \
--repo-id ${HF_USER}/koch_test

以上命令將啟動(dòng)一個(gè)本地Web服務(wù)器,如下所示:

圖片圖片

建議

一旦您熟悉了數(shù)據(jù)記錄,就可以創(chuàng)建更大的數(shù)據(jù)集進(jìn)行訓(xùn)練。一個(gè)好的開始任務(wù)是在不同位置抓取一個(gè)物體并將其放入箱子中。

建議至少錄制50集,每個(gè)地點(diǎn)10集。在整個(gè)錄制過程中保持?jǐn)z像機(jī)固定并保持一致的抓取行為。

實(shí)現(xiàn)可靠的抓取性能后,您可以開始在數(shù)據(jù)收集過程中引入更多變化,例如額外的抓取位置、不同的抓取技術(shù)以及改變相機(jī)位置。

避免過快地添加太多變化,因?yàn)檫@可能會(huì)影響您的結(jié)果。

參考資料:

https://x.com/RemiCadene

責(zé)任編輯:武曉燕 來源: 新智元
相關(guān)推薦

2024-09-02 10:00:00

機(jī)器人開源

2011-07-05 15:39:50

FTTH

2023-06-04 00:05:10

2021-01-05 19:07:41

機(jī)器人人工智能AI

2011-11-28 13:53:03

2009-07-06 14:03:01

高性能Web應(yīng)用緩存

2015-08-07 10:09:54

AWS亞馬遜機(jī)器學(xué)習(xí)

2017-04-25 13:53:38

戴爾數(shù)據(jù)中心服務(wù)器

2024-11-25 08:20:00

2021-10-31 15:51:30

機(jī)器人人工智能監(jiān)控

2017-11-13 18:03:40

AI機(jī)器學(xué)習(xí)智能

2022-07-28 11:26:41

人工智能機(jī)器人

2020-12-14 13:28:00

大數(shù)據(jù)云計(jì)算大數(shù)據(jù)分析

2021-08-05 10:58:58

Facebook開源Droidlet

2012-03-01 17:17:30

2024-01-05 19:44:48

谷歌機(jī)器人憲法AI

2016-06-02 11:45:34

2020-10-15 15:42:00

人工智能

2020-08-26 19:04:36

工業(yè)革命AI智慧城市

2018-04-09 21:59:47

Aruba資產(chǎn)體驗(yàn)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)