VMware虚拟机中ubuntu使用记录(5)—— 如何在ubuntu中安装USB相机ros驱动并获取usb摄像头数据

news2024/11/24 19:54:49

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

文章目录

  • 一、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

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

在这里插入图片描述
在这里插入图片描述

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设备,重复输入查看设备号的指令,页面如下:

在这里插入图片描述

(2) 修改launch文件

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

在这里插入图片描述

(3) 编译usb_cam相机驱动

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

 终端输入: catkin_make

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

在这里插入图片描述
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   //启动相机

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

在这里插入图片描述

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

在这里插入图片描述

原因:
由于相机没有进行标定,所以出现警告
解决:
使用张正友相机标定法进行标定,
具体的标定流程可以参考我这篇博客的记录:VMware虚拟机中ubuntu使用记录(6)—— 如何标定单目相机的内参(张正友标定法)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1651571.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电商大数据的采集||电商大数据关键技术【基于Python】

.电商大数据采集API 什么是大数据? 1.大数据的概念 大数据即字面意思,大量数据。那么这个数据量大到多少才算大数据喃?通常,当数据量达到TB乃至PB级别时,传统的关系型数据库在处理能力、存储效率或查询性能上可能会遇…

深度剖析Comate智能产品:科技巧思,实用至上

文章目录 Comate智能编码助手介绍Comate应用场景Comate语言与IDE支持 Comate安装步骤Comate智能编码使用体验代码推荐智能推荐生成单测注释解释注释生成智能问答 Comate实战演练总结 Comate智能编码助手介绍 市面上现在有很多智能代码助手,当时互联网头部大厂百度也…

泰克MSO64示波器的应用

泰克MSO64示波器是一款功能强大、多用途的数字示波器,具备高性能和灵活的测量功能,适用于各种应用场景。它不仅具备传统示波器的功能,还集成了逻辑分析仪的功能,能够同时观测和分析模拟和数字信号。下面将介绍泰克MSO64示波器在几…

一文读懂 SOLID 原则

大家好,我是孔令飞,字节跳动云原生开发专家、前腾讯云原生技术专家、云原生实战营 知识星球星主、《企业级 Go 项目开发实战》作者。欢迎关注我的公众号【令飞编程】,Go、云原生、AI 领域技术干货不错过。 在 Go 项目开发中,你经常…

【快捷部署】024_Hive(3.1.3)

📣【快捷部署系列】024期信息 编号选型版本操作系统部署形式部署模式复检时间024Hive3.1.3Ubuntu 20.04tar包单机2024-05-07 一、快捷部署 #!/bin/bash ################################################################################# # 作者:cx…

【C++题解】1383. 奶牛和草丛

问题:1383. 奶牛和草丛 类型:深度搜索 题目描述: 奶牛Bessie计划好好享受柔软的春季新草。新草分布在 R 行 C 列的牧场里。它想计算一下牧场中的草丛数量。 在牧场地图中,每个草丛要么是单个“#”,要么是有公共边的相…

powershell 注册全局热键——提升效率小工具

powershell 注册全局热键 01 前言 在处理一些重复工作问题的时候,想搞一个小工具,配合全局快捷键来提高效率。因为是Windows系统,想到C#,但是又不想用VS开发,因为那样不够灵活,没办法随时修改随时用&…

构建 WebRTC 一对一信令服务器

构建 WebRTC 一对一信令服务器 构建 WebRTC 一对一信令服务器前言为什么选择 Nodejs?Nodejs 的基本原理浏览器使用 Nodejs安装 Nodejs 和 NPMsocket.io信令服务器搭建信令服务器客户端服务端启动服务器并测试 总结参考 构建 WebRTC 一对一信令服务器 前言 我们在学…

一文读懂三维点云分割

点击下方卡片,关注“小白玩转Python”公众号 什么是点云分割? 点云是世界的一种非结构化三维数据表示,通常由激光雷达传感器、立体相机或深度传感器采集。它由一系列单个点组成,每个点由 x、y 和 z 坐标定义。 自动驾驶模型的点云…

达梦数据库导入数据问题

进行数据导入的时候遇到了导入数据问题 第一个问题: 该工具不能解析此文件,请使用更高版本的工具 这个是因为版本有点低,需要下载最新的达梦数据库 第二个问题: (1)本地编码:PG_GBK, 导入文…

【JavaEE 初阶(三)】多线程代码案例

❣博主主页: 33的博客❣ ▶️文章专栏分类:JavaEE◀️ 🚚我的代码仓库: 33的代码仓库🚚 🫵🫵🫵关注我带你了解更多线程知识 目录 1.前言2.单例模式2.1饿汉方式2.2饿汉方式 3.阻塞队列3.1概念3.2实现 4.定时器4.1概念4.…

js原生写一个小小轮播案例

先上示例&#xff1a; 附上代码 html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content…

西奥CHT-01软胶囊硬度测试仪:重塑行业标杆,引领硬度测试新纪元

西奥CHT-01软胶囊硬度测试仪&#xff1a;重塑行业标杆&#xff0c;引领硬度测试新纪元 在当今医药领域&#xff0c;软胶囊作为一种广泛应用的药品剂型&#xff0c;其品质的稳定性和安全性直接关系到患者的健康。而在确保软胶囊品质的各项指标中&#xff0c;硬度测试尤为关键。…

Bookends for Mac v15.0.2 文献书籍下载管理

Bookends Mac版可以轻松地将其导入参考 &#xff0c;并直接搜索和进口从数以百计的线上资料来源。Bookends Mac版使用内置在浏览器中下载参考与PDF格式的文件&#xff0c;或和/或网页的点击。 Bookends for Mac v15.0.2注册激活版下载 本文由 mdnice 多平台发布

云密码机的定义与特点

云密码机&#xff0c;作为云计算环境中保障数据安全的关键设备&#xff0c;其重要性不言而喻。它基于虚拟化技术&#xff0c;通过提供高性能的数据加解密、密钥管理等服务&#xff0c;确保云上数据的安全与隐私。下面&#xff0c;安策科技将从云密码机的定义、特点、应用场景以…

JAVA中的线程、死锁、异常

线程 Thread 一、程序 1&#xff0e;一段静态代码&#xff08;静态&#xff09; 二、进程 1&#xff0e;动态的&#xff0c;有开始&#xff0c;有结束&#xff1b;2&#xff0e;程序的一次执行过程&#xff0c;3&#xff0e;操作系统调度分配资源的最小单位&#xff1b; 三、…

图形渲染在AI去衣技术中的奇妙之旅

在这个数字化飞速发展的时代&#xff0c;人工智能&#xff08;AI&#xff09;已经成为了我们生活中不可或缺的一部分。它像一位神秘的魔法师&#xff0c;以其不可思议的力量改变着我们的世界。今天&#xff0c;我要和大家探讨的&#xff0c;是一个颇具争议却技术含金量极高的话…

群晖上部署农场管理系统farmOS

什么是 farmOS &#xff1f; farmOS 是一个基于 Web 的应用程序&#xff0c;用于农场管理、规划和记录保存。它由志愿者社区开发&#xff0c;旨在为农民、开发人员和研究人员提供一个标准平台。 需要注意的是&#xff0c;群晖内核版本太低会遇到下面的错误&#xff0c;这个 AH0…

2024暨南大学校赛热身赛解析

文章目录 A 突发恶疾B Uzi 的真身C 时间管理大师D 基站建设E 在仙境之外weiwandaixu 题目地址 A 突发恶疾 斐波那契数列 fn [0]*1000006fn[0],fn[1] 0,1for i in range(2,1000002):fn[i] (fn[i-1]fn[i-2])%998244353n int(input()) print(fn[n])B Uzi 的真身 分析&#xff…

SSM【Spring SpringMVC Mybatis】——Maven

目录 1、为什么使用Maven 1️⃣获取jar包 2️⃣添加jar包 3️⃣使用Maven便于解决jar包冲突及依赖问题 2、什么是Maven 3、Maven基本使用 3.1 Maven准备 3.2 Maven基本配置 3.3 Maven之Helloworld 4、Maven及Idea的相关应用 4.1 将Maven整合到IDEA中 4.2 在IDEA中新建…