ToB企服应用市场:ToB评测及商务社交产业平台
标题:
ROS 2 中(单/双目)USB相机驱动安装
[打印本页]
作者:
星球的眼睛
时间:
2024-10-16 00:07
标题:
ROS 2 中(单/双目)USB相机驱动安装
1、USB_CAM
USB_CAM
:并非传统意义上的Linux驱动,而是一个ROS(Robot Operating System,呆板人操作系统)驱动。它是一个应用步伐,通过V4L2接口设置摄像头并获取数据,然后使用ROS接口发布主题(Topic),供其他节点使用,
V4L2
是Linux内核提供给应用步伐访问音视频驱动的同一接口,用于收罗图片、视频和音频数据。
USB_CAM
主要用于ROS情况中,作为毗连USB摄像头和ROS系统的
桥梁
。它负责从摄像头捕捉图像或视频数据,并转换为ROS系统可以理解的格式(如
sensor_msgs::Image
),然后发布到
ROS主题
上,供其他ROS节点订阅和使用。
在
ROS
中使用摄像头的前提是,摄像头在
Linux系统
下是可识别的,通常来说
UVC
协议的
USB摄像头
都可以正常使用,大部分条记本电脑自带的摄像头都是UVC协议的,以是也可以直接使用。
驱动源码参考Github链接,拿来即用,只需修改部分参数适配本地相机
2、检查相机
启动相机前,应该确认usb相机能够被Linux系统识别,执行指令:ls /dev/video*查察是否有相机设备被识别,输出效果如下:
这里偶数号(/dev/video0)表示真实物理相机,而奇数号(/dev/video1)则表示虚拟相机(无法正常打开),一般来说一个镜头会有一对奇偶设备号,(如intel的RealSense相机:双目红外+可见光)但是对于一部分
非标件的双目相机
,如下图所示,会被识别为
一个相机设备
且会将双目图像
程度拼接为一张图发出
,以是在使用的时候大概必要通过代码将两幅图像分开使用。
设备号有利于后续开发过程中有针对性的获取某个镜头设备的数据,可以通过修改
相机驱动包
中特定
yaml设置文件
实现。
3、启动相机
创建工作空间:mkdir -p usb_driver/src
下载驱动源码:git clone https://github.com/ros-drivers/usb_cam.git
进入设置目次:cd usb_driver/src/usb_cam/config
修改
params_1.yaml
:主要修改
设备号、帧率及分辨率
,其它参数根据具体相机选择性修改。
如果必要将相机的参数发布出去,可以修改
camera_info.yaml
中的各项参数,启动相机驱动后会以
/camera_info
为话题名发布。
修改完参数后,回到usb_driver目次下,执行指令:colcon build编译源码,之后执行source install/setup.bash初始化情况变量。
执行指令:ros2 run usb_cam usb_cam_node_exe --ros-args --params-file /path/to/usb_driver/src/usb_cam/config/params_1.yaml启动相机。
启动相机后,执行指令:ros2 topic list查察话题名称,图像数据会以
/image_raw
为话题名发布。
4、小结
通过源码可以有更多更机动的方式启动相机,可以启动多个相机以及通过launch方式启动,可以参考github上的指令实现。对于设备号为什么会有奇偶之分暂时不是太明白,接待在评论区讨论!!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4