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







我一直在等待两个平台的转变: -相当于早期PC的AR/VR -相当于早期个人电脑的机器人




制作自己的AI Robot
LeRobot目前使用的机械臂来源于Alexander Koch在几个月前开源的项目:



材料清单



配置和校准
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
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"), }, )
leader_pos = leader_arm.read("Present_Position") follower_pos = follower_arm.read("Present_Position") print(leader_pos) print(follower_pos)
array([2054, 523, 3071, 1831, 3049, 2441], dtype=int32) array([2003, 1601, 56, 2152, 3101, 2283], dtype=int32)

开玩!
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)


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()
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




内容中包含的图片若涉及版权问题,请及时与我们联系删除
评论
沙发等你来抢