网站建设售后服务合同,菜鸟教程网站怎么做,Wordpress大前端破解版,腾讯云学生机做网站写在前面#xff1a; #x1f31f; 欢迎光临 清流君 的博客小天地#xff0c;这里是我分享技术与心得的温馨角落。#x1f4dd; 个人主页#xff1a;清流君_CSDN博客#xff0c;期待与您一同探索 移动机器人 领域的无限可能。 #x1f50d; 本文系 清流君 原创之作 欢迎光临 清流君 的博客小天地这里是我分享技术与心得的温馨角落。 个人主页清流君_CSDN博客期待与您一同探索 移动机器人 领域的无限可能。 本文系 清流君 原创之作荣幸在CSDN首发 若您觉得内容有价值还请评论告知一声以便更多人受益。 转载请注明出处尊重原创从我做起。 点赞、评论、收藏三连走一波让我们一起养成好习惯 在这里您将收获的不只是技术干货还有思维的火花 系列专栏【Linux】系列带您深入浅出领略控制之美。 愿我的分享能为您带来启迪如有不足敬请指正让我们共同学习交流进步 人生如戏我们并非能选择舞台和剧本但我们可以选择如何演绎 感谢您的支持与关注让我们一起在知识的海洋中砥砺前行~~~ 文章目录 引言一、源码安装方法1.1 下载摄像头驱动usb_cam1.2 查找FFmpeg库路径1.3 添加FFmpeg库路径到CMakeLists.txt1.4 编译usb_cam包1.5 修改usb_cam驱动配置1.6 修改launch文件 二、软件包安装方法2.1 安装ROS Melodic版本的usb_cam2.2 安装相机标定功能包2.3 安装UVC相机功能包2.4 启动摄像头节点2.5 处理摄像头连接问题2.6 相机启动警告处理2.7 相机标定方法2.8 查看相机话题和数据 三、总结参考资料 引言 usb_cam是针对USB摄像头的ROS驱动包简单来说就是得有这个功能包才能在ROS中把摄像头打开。但是官网给出的目前最新版 usb_cam 已不再支持 ROS1因此若想在 ubuntu18.04 上安装摄像头驱动 usb_cam则需修改配置文件 本篇博客介绍具体操作。 本篇博客提供两种安装方法源码安装方法、软件包安装方法。 一、源码安装方法
1.1 下载摄像头驱动usb_cam 下载usb_cam文件见本博客置顶的资源。 参考以下方法将下载到主机的驱动文件发送到虚拟机Ubuntu中 windows主机和ubuntu互传文件的4种方法 虚拟机共享文件位置 /mnt/hgfs/Share 从官网下载的usb_cam切换到支持ROS1的master分支。
git clone https://github.com/ros-drivers/usb_cam.git
cd usb_cam
git checkout master编译usb_cam会报错提示链接不到FFmpeg相关的库文件 因此通过添加FFmpeg库路径到LD_LIBRARY_PATH来解决这些错误。
1.2 查找FFmpeg库路径 查找编译所需的文件位置
locate libavcodec.so编辑~/.bashrc文件打开终端输入
sudo nano ~/.bashrc在.bashrc文件末尾添加如下内容
export LD_LIBRARY_PATH/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH保存并关闭文件然后执行以下命令来使更改立即生效
source ~/.bashrc1.3 添加FFmpeg库路径到CMakeLists.txt CMakeLists.txt文件中的内容如下
cmake_minimum_required(VERSION 3.5)
project(test_ffmpeg)set(CMAKE_LIBRARY_PATH /usr/lib/x86_64-linux-gnu)find_package(PkgConfig REQUIRED)
pkg_check_modules(AVCODEC REQUIRED libavcodec)
pkg_check_modules(AVUTIL REQUIRED libavutil)
pkg_check_modules(AVFORMAT REQUIRED libavformat)
pkg_check_modules(SWSCALE REQUIRED libswscale)add_executable(test_ffmpeg test_ffmpeg.cpp)target_link_libraries(test_ffmpeg${AVCODEC_LIBRARIES}${AVUTIL_LIBRARIES}${AVFORMAT_LIBRARIES}${SWSCALE_LIBRARIES}
)测试文件编译通过。 因此在usb_cam文件夹下的CMakeLists.txt添加如下内容
# 添加内容
set(CMAKE_LIBRARY_PATH /usr/lib/x86_64-linux-gnu)find_package(PkgConfig REQUIRED)
pkg_check_modules(AVCODEC REQUIRED libavcodec)
pkg_check_modules(AVUTIL REQUIRED libavutil)
pkg_check_modules(AVFORMAT REQUIRED libavformat)
pkg_check_modules(SWSCALE REQUIRED libswscale)# 添加内容
target_link_libraries(${PROJECT_NAME}_node${AVCODEC_LIBRARIES}${AVUTIL_LIBRARIES}${AVFORMAT_LIBRARIES}${SWSCALE_LIBRARIES}
)1.4 编译usb_cam包 再次编译。
catkin_make若编译出错使用如下指令清理构建目录并重新编译项目
cd ~/catkin_ws
rm -rf build/ devel/
catkin_make1.5 修改usb_cam驱动配置 找到自己的USB摄像头所对应的端口。 我的是/dev/video0 /dev/video1
1.6 修改launch文件 在src/usb_cam目录下打开并编辑launch文件。 二、软件包安装方法 下面介绍一种使用软件包安装usb-cam的方法。
2.1 安装ROS Melodic版本的usb_cam 首先打开终端输入
sudo apt-get install ros-melodic-usb-cam这里melodic应该根据自己Ubuntu系统进行灵活变换例如我使用的Ubuntu18.04那么我对应的就是melodic版本。
2.2 安装相机标定功能包 安装ROS Melodic版本的相机标定功能包。
sudo apt-get install ros-melodic-camera-calibration相机标定是确定相机内部参数如焦距、主点等的过程这对于处理从相机获得的图像数据非常重要。
2.3 安装UVC相机功能包 安装ROS Melodic版本的UVC相机功能包。
sudo apt-get install ros-melodic-uvc-cameraUVCUniversal Video Class是一种USB摄像头的标准这个功能包允许ROS与UVC兼容的USB摄像头通信。
2.4 启动摄像头节点 驱动安装完成后会自带一个launch文件我们打开launch文件就可以打开摄像头。 启动名为usb_cam的ROS节点并运行一个名为usb_cam-test.launch的launch文件。
roslaunch usb_cam usb_cam-test.launch这个launch文件配置了如何使用USB摄像头获取图像并包括其他相关参数设置。
2.5 处理摄像头连接问题 此时保证相机已经开机并通过usb接口连接至电脑若出现以下问题 说明没有检测到USB摄像头重新插入摄像头 2.6 相机启动警告处理 如果报错如下select timeout 说明USB兼容性选择错了需要关闭虚拟机进行更改点击编辑虚拟机打开 USB 控制器将 USB 兼容性改为USB 3.1点击确定重新打开虚拟机再次运行即可打开摄像头。 出现以下画面成功打开摄像头。
2.7 相机标定方法 如果相机启动时出现如下警告 说明相机没有进行标定所以出现警告。 参考以下链接进行相机标定 【相机内参标定】—— 如何标定单目相机的内参张正友标定法
2.8 查看相机话题和数据 查看相机发布的话题。
rostopic list查看相机获取的数据。
rostopic echo /camera_info安装完成 三、总结 在Ubuntu18.04上安装USB摄像头驱动usb_cam的方法主要有两种源码安装和软件包安装。 源码安装方法 需要从GitHub下载usb_cam源码切换到支持ROS1的master分支并通过添加FFmpeg库路径到LD_LIBRARY_PATH来解决编译错误。 软件包安装方法 通过使用sudo apt-get命令安装ROS Melodic版本的usb_cam、camera-calibration和uvc-camera功能包然后运行usb_cam-test.launch文件来启动摄像头节点。 安装完成后可以通过rostopic list和rostopic echo命令查看摄像头发布的话题和获取的数据。 总的来说这两种方法都能在Ubuntu18.04上成功安装和使用usb_cam驱动但在选择安装方法时应根据自己的需求和环境进行选择。 参考资料 1、windows主机和ubuntu互传文件的4种方法 2、ubuntu利用usb_cam打开摄像头 3、【相机内参标定】—— 如何标定单目相机的内参张正友标定法 后记 感谢您耐心阅读这篇关于 虚拟机安装USB摄像头ROS驱动 usb_cam 的技术博客。 如果您觉得这篇博客对您有所帮助请不要吝啬您的点赞和评论 您的支持是我继续创作的动力。同时别忘了收藏本篇博客以便日后随时查阅。 让我们一起期待更多的技术分享共同探索移动机器人的无限可能 感谢您的支持与关注让我们一起在知识的海洋中砥砺前行