这篇教程详细介绍了如何为SO-ARM机械臂Lerobot添加摄像头,解决连接带宽不足的问题,确保系统稳定运行。通过逐步指导,用户可以完成硬件连接、端口检测和参数配置,实现机械臂的视觉功能扩展,避免常见错误如画面卡顿或设备冲突。
智能速览
使用额外USB hub连接机械臂,摄像头直连电脑避免带宽不足。
运行命令检测摄像头端口并记录分辨率,如video2和video4。
推荐分辨率640x480以防止系统卡顿和死机。
配置命令时正确输入端口号和宽高参数。
测试摄像头窗口显示和机械臂遥控同步操作。
精华内容
添加摄像头是机械臂视觉系统的关键环节,但需注意硬件连接细节和软件配置。本教程将指导完成从端口检测到运行测试的全流程,确保高效稳定。
硬件连接
由于电脑USB口不足(仅3个),而两个机械臂和两个摄像头需4个口,必须使用额外USB hub。将机械臂连接到hub上,摄像头直接插入电脑USB口,避免连接hub导致带宽不足(否则只有一个摄像头能工作)。建议使用海康1080P定焦摄像头。
连接后,为设备赋予权限:每次拔插设备后运行命令授权。例如,在终端中使用sudo chmod 666 /dev/ttyACM*命令,确保系统识别设备。
检测摄像头
运行检测命令验证摄像头状态:在终端输入python -n lerobot .find_cameras opencv or realsense for Intel Realsense cameras。输出显示所有摄像头端口,如video0(笔记本自带)、video2和video4(外部摄像头)。记录可用端口(2和4)及分辨率(宽640,高480)。
通过保存的图像路径区分端口:video2拍摄位置A,video4拍摄位置B。笔记本自带摄像头通常为video0,不推荐使用。
配置参数
在配置命令中设置端口和分辨率。例如,robot.cameras参数中,将index设为2或4,width和height设为640和480。避免高分辨率(如1920x1080),因用户反馈高分辨率导致长时间运行时画面卡顿或死机。推荐使用检测到的默认值,确保匹配机械臂输出。
同时,配置机械臂端口(如/dev/ttyACM0和/dev/ttyACM1),并设置display_data为True以展示画面,或为False节省资源。
运行测试
执行启动命令,如python -n lerobot .teleoperate --robot.type=solo1_follower --robot.port=/dev/ttyACM0 --robot.cameras=(front:(type:opencv,index_or_path:2,width:640,height:480,fps:30))。检查两个摄像头窗口是否正常显示,并测试遥控操作:移动机械臂时,摄像头画面应同步更新。
若一切正常,关闭程序并运行下一步数据采集命令。测试中需验证分辨率参数,避免因不匹配导致系统不稳定。