我是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 即可。