【视觉传感器系列1】—— 如何在ubuntu中安装USB相机ros驱动并获取usb摄像头数据

07-11 1426阅读

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 一、ROS下USB相机驱动
    • 1.准备工作
      • (1) 下载驱动
      • (2) 创建ROS工作空间
      • 2. 安装usb_cam驱动
        • (1) 安装usb_cam驱动包
        • (2) 编译代码
        • 3. 修改usb_cam驱动的配置文件
          • (1) 查看USB摄像头设备号
          • (2) 修改launch文件
          • (3) 编译usb_cam相机驱动
          • 4. 启动相机节点
            • (1) 启动ROS master
            • (2) 启动相机节点

              一、ROS下USB相机驱动

              在VMware虚拟机中安装USB相机的驱动并读取USB相机的图像数据,第一步先设置虚拟机能够正常的调用本机电脑的USB设备的接口,具体的设置操作可以参考下面这篇博客:

              VMware虚拟机中ubuntu使用记录(4)—— 如何在VMware虚拟机中调用本机电脑的摄像头

              1.准备工作

              (1) 下载驱动

              ROS版本USB摄像头驱动(建议从ROS官网给出的USB驱动源码包进行编译安装)

              官网的下载地址:https://github.com/ros-drivers/usb_cam
              

              (2) 创建ROS工作空间

              1)创建工作空间,终端输入:

              roscore
              mkdir -p ~/catkin_ws/src
              cd ~/catkin_ws/src
              catkin_init_workspace
              

              2)编译工作空间

              cd ~/catkin_ws/
              catkin_make
              

              3)使得工作空间的环境变量生效

              source devel/setup.bash
              

              4)使得环境变量在所有的终端中都有效(将路径添加进.bashrc文件中):

              按个人的喜好,此步骤不是必选项,执行这段代码之后,意味着电脑开机就自动生效该工作空间的ROS环境

              echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
              

              5)保存.bashrc文件,查看添加的环境变量是否生效:

              source ~/.bashrc
              

              6)查看添加的环境变量是否生效,创建一个新终端,输入:

              echo $ROS_PACKAGE_PATH
              

              回车之后会显示如下语句,如果打印的路径中包含当前工作空间的路径,则环境变量设置成功,整个操作页面如下图所示:

              【视觉传感器系列1】—— 如何在ubuntu中安装USB相机ros驱动并获取usb摄像头数据

              【视觉传感器系列1】—— 如何在ubuntu中安装USB相机ros驱动并获取usb摄像头数据

              2. 安装usb_cam驱动

              (1) 安装usb_cam驱动包

              在catkin_ws/src目录下,下载驱动包:

              https://github.com/ros-drivers/usb_cam
              

              (2) 编译代码

              切换至catkin_ws的目录下:

              cd ..
              

              编译工作空间:

              catkin_make
              

              等待编译完成即可,一般不会出现什么报错。

              3. 修改usb_cam驱动的配置文件

              (1) 查看USB摄像头设备号

              把usb相机拔插前后哪个设备号发生变化,打开终端:

              ls /dev/video*
              

              注意:如果查看设备号出现报错:ls:无法访问‘/dev/video*‘: 没有那个文件或目录,具体的原因分析和解决可以参考我下面这篇博客:

              拔插usb设备,重复输入查看设备号的指令,页面如下:

              【视觉传感器系列1】—— 如何在ubuntu中安装USB相机ros驱动并获取usb摄像头数据

              (2) 修改launch文件

              查看usb_cam内部结构,在src/usb_cam目录下打开并编辑launch文件“

              【视觉传感器系列1】—— 如何在ubuntu中安装USB相机ros驱动并获取usb摄像头数据

              (3) 编译usb_cam相机驱动

              1)切换至/catkin_ws目录工作空间,

               终端输入: catkin_make
              

              编译成功如下:(建立相机节点:usb_cam_node)

              【视觉传感器系列1】—— 如何在ubuntu中安装USB相机ros驱动并获取usb摄像头数据

              2) 使得工作空间的环境变量生效:

               source devel/setup.bash  
               echo "source ~/catkin_ws/devel/setup.sh" >> ~/.bashrc          //永久生效环境
              

              4. 启动相机节点

              (1) 启动ROS master

                CTRL+ALT+T打开终端1:roscore
              

              (2) 启动相机节点

              在/catkin_ws目录下打开终端2:

               source devel/setup.bash                 //生效环境过环境后,可跳过此步
               roslaunch usb_cam usb_cam-test.launch   //启动相机
              

              启动节点后,弹出一小窗,效果如下:

              【视觉传感器系列1】—— 如何在ubuntu中安装USB相机ros驱动并获取usb摄像头数据

              如果相机启动时出现如下警告:

              【视觉传感器系列1】—— 如何在ubuntu中安装USB相机ros驱动并获取usb摄像头数据

              原因:

              由于相机没有进行标定,所以出现警告

              解决:

              使用张正友相机标定法进行标定,

              具体的标定流程可以参考我这篇博客的记录:VMware虚拟机中ubuntu使用记录(6)—— 如何标定单目相机的内参(张正友标定法)

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]