ros2配置一个摄像头

我是proxmos虚拟机,先用proxmox直通 USB的摄像头,找到PVE: 找到虚拟机,找到 硬件 → 添加 → USB设备 →【使用 USB 供应商/设备 ID】 找到类似 HD Camera的设备直通。

我的摄像头是USB的支持 UVC免驱的,直通到虚拟机即可。

然后 允许任何人访问摄像头, sudo chmod 666 /dev/video*

以下的ROS2命令都以 humble版本为例:

安装ROS2驱动包:

sudo apt install ros-humble-usb-cam

启动USB摄像头,注册到ROS2,默认/dev/vedeo0

ros2 run usb_cam usb_cam_node_exe

如果需要其他的摄像头,则需要:

ros2 run usb_cam usb_cam_node_exe –ros-args -p video_device:=“/dev/video1”

如果需要更细的调节

ros2 run usb_cam usb_cam_node_exe \
  --ros-args \
  -p video_device:="/dev/video0" \
  -p image_width:=640 \    # 图像宽度
  -p image_height:=480 \   # 图像高度
  -p framerate:=30 \       # 帧率(Hz)
  -p pixel_format:=yuyv    # 像素格式(常见有yuyv、mjpeg等,根据摄像头支持情况选择)
  --remap image_raw:=/ctbots_camera 默认是 image_raw 的话题,可以自定义发布摄像头到指定的话题

使用工具可视化查看

sudo apt install ros-humble-rqt-image-view ros2 run rqt_image_view rqt_image_view

注意工具启动的时候,需要 refresh以下列表,然后选择: /image_raw 即可。