usb_cam学习笔记(一)

最近在学习ros下usb_cam的使用,本博客记录博主的学习过程和遇到的问题

1.创建工作空间,下载usb_cam包并编译

mkdir -p catkin_uc/src
cd catkin_uc/src
git clone  https://github.com/bosch-ros-pkg/usb_cam.git usb_cam
cd ..
catkin_make
source devel/setup.bash

这里下载可能会很慢,可以从博主的这篇博客下载

2.根据摄像头参数修改launch文件(在src/usb_cam/launch文件夹中),插入摄像头并输入:

ls /dev/video*

 

  我的电脑自带的摄像头为video0和video1,所以修改launch文件中的video0为video2,同理,在使用opencv调用摄像头时,videocapture(0)表示调用电脑摄像头,videocapture(2)表示调用外部摄像头

v4l2-ctl -d 0 --all

输出如下:

根据以下三行修改launch文件(其实也可以不改),mjpg对应为yuyv(不是很懂)

Format Video Capture:
	Width/Height      : 1280/720
	Pixel Format      : 'MJPG'

如果出现:

执行以下指令:

sudo install v4l2-ctl

3.确定编译通过后在catkin_uc目录下输入:

roslaunch usb_cam usb_cam-test.launch 

效果如下:

 如果没有弹出摄像头窗口,这可能时缺少对应的ros包,可以打开rviz,在左下角add中的by topic中的image查看是否有摄像头的信息,效果如下:

 

 此时,可以通过补装对应的包来解决:(其实你可能只缺少其中的一个或几个包,但我不知道你缺少哪个包😎)

sudo apt install ros-melodic-uvc-camera
sudo apt install ros-melodic-image-view
sudo apt install ros-melodic-usb-cam
sudo apt-get install ros-melodic-image-*
sudo apt-get install ros-melodic-rqt-image-view

重新测试,这时应该就可以弹出摄像头窗口了,接下来就可以进行相机标定等的学习了

如果出现:

unknown control 'focus_auto'

可以先不管它,应该是不影响的。

以上就是关于usb_cam安装的过程和可能出现的问题,欢迎大家一起交流,共同学习,共同进步!

### 关于 `usb_cam-test.launch` 文件未找到的问题 当遇到错误提示 `RLException: usb_cam-test.launch not found in package usb_cam` 时,这通常意味着 ROS 系统无法定位到指定的 launch 文件。以下是可能的原因以及解决方案: #### 可能原因分析 1. **文件缺失** 如果 `usb_cam-test.launch` 文件确实不存在,则可能是安装过程中遗漏了该文件或者版本不匹配[^3]。 2. **路径配置问题** 即使文件存在,但如果工作空间中的包路径未被正确设置,ROS 将无法识别它。需要确认当前 workspace 是否已通过 `source devel/setup.bash` 命令加载[^4]。 3. **依赖项未满足** 某些功能可能依赖特定的库或工具链(如 OpenCV),如果这些依赖未正确安装,可能导致某些测试文件不可用[^5]。 --- ### 解决方案 #### 方法:验证文件是否存在 进入 `usb_cam` 包目录并查找是否有 `test/usb_cam-test.launch` 文件: ```bash roscd usb_cam ls test/ ``` 如果没有发现此文件,则需重新克隆官方仓库或将缺少的部分手动补充。可以尝试从 GitHub 上获取最新源码: ```bash git clone https://github.com/ros-drivers/usb_cam.git cd usb_catest/ catkin_make source devel/setup.bash ``` #### 方法二:检查环境变量与路径 确保当前终端已经初始化正确的 ROS 工作区,并执行以下命令来刷新环境变量: ```bash source /opt/ros/<distro>/setup.bash cd ~/catkin_ws catkin_make source devel/setup.bash ``` 其中 `<distro>` 是您的 ROS 版本名称(例如 melodic 或 noetic)。完成后再次运行启动指令以验证问题是否解决[^6]。 #### 方法三:修复潜在依赖冲突 由于提到 OpenCV 的相关内容,建议排查是否存在兼容性问题。可以通过修改 CMakeLists.txt 来调整编译选项,具体操作如下: 编辑 `yolo_console_dll.cpp` 文件并将注释掉的行取消注释: ```cpp #define OPENCV ``` 之后重新构建项目即可应用更改[^7]。 另外注意,对于上述提及的好特征追踪函数报错情况 `_mask.empty()` ,应仔细核对输入参数类型及其尺寸致性[^8]。 --- ### 总结 综上所述,针对 `usb_cam-test.launch` 找不到的情况可以从三个方面入手处理——核实资源完整性、校正系统配置以及排除外部因素干扰。希望以上指导能够帮助您顺利解决问题!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值