< >
Home » 智能台灯LeLamp快速入门教程 » 智能台灯LeLamp快速入门教程-录制和回放运动轨迹

智能台灯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

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: none