turtlebot3-burger_150.png
turtlebot3-waffle-pi_150.png
turtlebot3-arm_150.png
walking-y2_150.png
turbot3-multi_150.png
turbot3-dl-ros1_150.png
turbot3-ai.png
turbot3-dl-ros2_150.png
turbot3-slam_150.png
turbot3-arm_150.png
turtlebot4-lite_150.png
turtlebot4-pro_150.png
turbot4-dl_150.png
turbot4-ai_150.png
aidriving-racebot_150.png
aidriving-autodrive_150.png
turtlebot-arm_150.png
openmanipulator-x_150.png
Home » LeRobot-SO100入门教程 » LeRobot-SO100入门教程-配置摄像头

LeRobot-SO100入门教程-配置摄像头

纠错,疑问,交流: 请进入讨论区请点击进入页面,扫码加入微信群或Q群进行交流

获取最新文章: 扫一扫加入“创客智造”公众号

说明:

  • 介绍如何配置两个摄像头
  • 获取摄像头的帧数,分辨率,更改配置文件

相关设备

步骤:

  • 两个摄像头摆放到合理的位置,尽可能拍到从臂附近的工作区即可

  • 查找两个摄像机索引,将保存每个检测到的摄像机的几帧:

python3 ~/lerobot/lerobot/common/robot_devices/cameras/opencv.py \
    --images-dir outputs/images_from_opencv_cameras
  • 结果如下:
相机1,/dev/video0,索引camera_index索引为0,fps帧数为25,分辨率 width为640,height为480
相机2,/dev/video2,索引camera_index索引为2,fps帧数为25,分辨率 width为640,height为480

Linux detected. Finding available camera indices through scanning '/dev/video*' ports Camera found at index /dev/video0 Camera found at index /dev/video2 Connecting cameras OpenCVCamera(0, fps=25, width=640, height=480, color_mode=rgb) OpenCVCamera(2, fps=25, width=640, height=480, color_mode=rgb) Saving images to outputs/images_from_opencv_cameras Frame: 0000 Latency (ms): 1011.64 Frame: 0001 Latency (ms): 31.14 Frame: 0002 Latency (ms): 44.36 Frame: 0003 Latency (ms): 35.54 Frame: 0004 Latency (ms): 44.39 Frame: 0005 Latency (ms): 35.47 Frame: 0006 Latency (ms): 44.44 Frame: 0007 Latency (ms): 39.86 Frame: 0008 Latency (ms): 40.01 Frame: 0009 Latency (ms): 40.18 Frame: 0010 Latency (ms): 35.13 Frame: 0011 Latency (ms): 44.25 Frame: 0012 Latency (ms): 35.58 Frame: 0013 Latency (ms): 44.06 Frame: 0014 Latency (ms): 40.26 Frame: 0015 Latency (ms): 39.65 Frame: 0016 Latency (ms): 40.38 Frame: 0017 Latency (ms): 35.12 Frame: 0018 Latency (ms): 43.70 Frame: 0019 Latency (ms): 35.68 Frame: 0020 Latency (ms): 44.38 Frame: 0021 Latency (ms): 35.59 Frame: 0022 Latency (ms): 48.05 Frame: 0023 Latency (ms): 40.52 Frame: 0024 Latency (ms): 35.23 Frame: 0025 Latency (ms): 43.76 Frame: 0026 Latency (ms): 36.08 Frame: 0027 Latency (ms): 43.83 Frame: 0028 Latency (ms): 35.83 Frame: 0029 Latency (ms): 45.41 Frame: 0030 Latency (ms): 34.63 Frame: 0031 Latency (ms): 44.24 Frame: 0032 Latency (ms): 39.66 Frame: 0033 Latency (ms): 35.82 Frame: 0034 Latency (ms): 44.21 Frame: 0035 Latency (ms): 35.52 Frame: 0036 Latency (ms): 43.96 Frame: 0037 Latency (ms): 40.45 Frame: 0038 Latency (ms): 39.29 Frame: 0039 Latency (ms): 40.12 Frame: 0040 Latency (ms): 33.09 Frame: 0041 Latency (ms): 44.61 Frame: 0042 Latency (ms): 40.80 Frame: 0043 Latency (ms): 38.72 Frame: 0044 Latency (ms): 40.10 Frame: 0045 Latency (ms): 35.17 Frame: 0046 Latency (ms): 44.40 Frame: 0047 Latency (ms): 40.18 Frame: 0048 Latency (ms): 35.15 Frame: 0049 Latency (ms): 43.80 Frame: 0050 Latency (ms): 35.69 Frame: 0051 Latency (ms): 44.16 Frame: 0052 Latency (ms): 40.66 Frame: 0053 Latency (ms): 35.12 Frame: 0054 Latency (ms): 43.73 Frame: 0055 Latency (ms): 36.00 Frame: 0056 Latency (ms): 44.50 Frame: 0057 Latency (ms): 39.45 Frame: 0058 Latency (ms): 35.71 Frame: 0059 Latency (ms): 44.01 Frame: 0060 Latency (ms): 35.29 Frame: 0061 Latency (ms): 44.40 Frame: 0062 Latency (ms): 39.37 Frame: 0063 Latency (ms): 35.89 Frame: 0064 Latency (ms): 44.25 Frame: 0065 Latency (ms): 35.80 Frame: 0066 Latency (ms): 44.38 Frame: 0067 Latency (ms): 39.98 Frame: 0068 Latency (ms): 35.25 Frame: 0069 Latency (ms): 43.99 Frame: 0070 Latency (ms): 39.89 Frame: 0071 Latency (ms): 39.91 Frame: 0072 Latency (ms): 39.66 Frame: 0073 Latency (ms): 35.63 Frame: 0074 Latency (ms): 44.44 Frame: 0075 Latency (ms): 38.93

  • 保存的图像在~/lerobot/outputs/images_from_opencv_cameras,确定哪个相机索引对应于哪个相机,0 对应 camera_00, 1 对应camera_01
camera_00_frame_000000.png
    [...]
    camera_00_frame_000047.png
    camera_01_frame_000000.png
    [...]
    camera_01_frame_000047.png
  • 修改两个相机的索引 camera_index
vim ~/lerobot/lerobot/common/robot_devices/robots/configs.py
  • 修改的内容如下,camera_index相机索引,fps帧数
@RobotConfig.register_subclass("so100")
    ...

    cameras: dict[str, CameraConfig] = field(
        default_factory=lambda: {
            "laptop": OpenCVCameraConfig(
                camera_index=0,
                fps=25,
                width=640,
                height=480,
            ),
            "phone": OpenCVCameraConfig(
                camera_index=2,
                fps=25,
                width=640,
                height=480,
            ),
        }
    )
  • 加载lerobot环境
conda activate lerobot
  • 进入lerobot目录
cd ~/lerobot
  • 运行程序,操控机械臂,显示两个相机的画面
python ~/lerobot/lerobot/scripts/control_robot.py \
      --robot.type=so100 \
      --control.type=teleoperate

请输入图片描述

演示视频

<iframe height=498 width=100% src="//player.bilibili.com/player.html?isOutside=true&aid=114424337729992&bvid=BV139GSzCEzt&cid=29706161941&p=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"></iframe>

纠错,疑问,交流: 请进入讨论区请点击进入页面,扫码加入微信群或Q群进行交流

获取最新文章: 扫一扫加入“创客智造”公众号


标签: lerobot-so100