智能台灯LeLamp快速入门教程-录制和回放运动轨迹
文章说明
- 本教程主要介绍如何进行录制和回放运动
操作步骤
- 示例命令
# 录制
$ sudo uv run -m lelamp.record --id your_lamp_name --port your_port --name action_name
# 回放
$ sudo uv run -m lelamp.replay --id your_lamp_name --port your_port --name action_name
# 查看所有已录制的轨迹
$ sudo uv run -m lelamp.list_recordings --id your_lamp_name
your_lamp_name为当前自己定义的设备名称,your_port为当前驱动板的端口,action_name为自定义的运动轨迹名称启动录制程序后,手动操控设备,做出不同的动作, 程序会自动记录当前的运动轨迹
$ sudo uv run -m lelamp.record --id lelamp1 --port /dev/ttyACM0 --name rotation1
calibration path: /root/.cache/huggingface/lerobot/calibration/teleoperators/lelamp_leader/lelamp1.json
calibration content: {'base_yaw': MotorCalibration(id=1, drive_mode=0, homing_offset=-1997, range_min=1008, range_max=2768), 'base_pitch': MotorCalibration(id=2, drive_mode=0, homing_offset=-1099, range_min=1189, range_max=2946), 'elbow_pitch': MotorCalibration(id=3, drive_mode=0, homing_offset=629, range_min=1550, range_max=2048), 'wrist_roll': MotorCalibration(id=4, drive_mode=0, homing_offset=-107, range_min=849, range_max=3103), 'wrist_pitch': MotorCalibration(id=5, drive_mode=0, homing_offset=1686, range_min=1131, range_max=3166)}
Press Enter to start recording...
{'base_yaw.pos': 19.318181818181813, 'base_pitch.pos': -41.4911781445646, 'elbow_pitch.pos': 100.0, 'wrist_roll.pos': 2.1295474711623825, 'wrist_pitch.pos': -2.7027027027026946}
{'base_yaw.pos': 19.318181818181813, 'base_pitch.pos': -41.4911781445646, 'elbow_pitch.pos': 100.0, 'wrist_roll.pos': 2.1295474711623825, 'wrist_pitch.pos': -2.7027027027026946}
{'base_yaw.pos': 19.090909090909093, 'base_pitch.pos': -41.4911781445646, 'elbow_pitch.pos': 100.0, 'wrist_roll.pos': 2.1295474711623825, 'wrist_pitch.pos': -2.7027027027026946}
{'base_yaw.pos': 18.97727272727272, 'base_pitch.pos': -41.4911781445646, 'elbow_pitch.pos': 100.0, 'wrist_roll.pos': 2.1295474711623825, 'wrist_pitch.pos': -2.7027027027026946}
^CShutting down teleop...
- 最终录制成功的运动轨迹会保存在目录
~/lelamp_ws/lelamp_runtime/lelamp/recordings下
$ ls ~/lelamp_ws/lelamp_runtime/lelamp/recordings/rotation1.csv
/home/raspios/lelamp_ws/lelamp_runtime/lelamp/recordings/rotation1.csv
- 启动回放程序,进行运动轨迹的回放
注意:回放结束,程序会关闭扭矩控制,需要注意设备主臂突然掉落
$ sudo uv run -m lelamp.replay --id lelamp1 --port /dev/ttyACM0 --name rotation1
Replaying 154 actions from /home/raspios/lelamp_ws/lelamp_runtime/lelamp/recordings/rotation1.csv
- 查看所有已录制的轨迹
$ sudo uv run -m lelamp.list_recordings --id lelamp1
Recordings for lamp ID 'lelamp1':
curious
File: curious.csv
Rows: 177
excited
File: excited.csv
Rows: 144
happy_wiggle
File: happy_wiggle.csv
Rows: 149
headshake
File: headshake.csv
Rows: 144
idle
File: idle.csv
Rows: 1798
nod
File: nod.csv
Rows: 187
rotation
File: rotation.csv
Rows: 122
rotation1
File: rotation1.csv
Rows: 154
sad
File: sad.csv
Rows: 149
scanning
File: scanning.csv
Rows: 189
shock
File: shock.csv
Rows: 144
shy
File: shy.csv
Rows: 220
wake_up
File: wake_up.csv
Rows: 258
FAQ
问题一:运行录制程序时,报错“has no calibration registered.”
问题原因:sudo 的权限问题,实际上校准文件已成功生成,但是程序读取的路径是/root/.cache/huggingface/lerobot/calibration/teleoperators/lelamp_leader/lelamp1.json
解决方法一:
- 创建对应的文件夹,复制json进去
$ sudo mkdir -p /root/.cache/huggingface/lerobot/calibration/teleoperators/lelamp_leader
$ sudo cp \
/home/raspios/.cache/huggingface/lerobot/calibration/teleoperators/lelamp_leader/lelamp1.json \
/root/.cache/huggingface/lerobot/calibration/teleoperators/lelamp_leader/
解决方法二:
- 把串口权限给当前用户
raspios,然后可以直接运行不带sudo的命令
$ sudo usermod -aG dialout raspios
$ logout
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


















