基于ubuntu20.04安装ros系统搭配使用工业相机
基于ubuntu20.04安装ros系统搭配使用工业相机
- 1. ROS系统安装部署
- 1.1更新镜像源
- 1.1.1 备份源文件
- 1.1.2 更新阿里源
- 1.1.3 更新软件源
- 1.2 ros系统安装
- 1.2.1 添加ros软件源
- 1.2.2 添加秘钥
- 1.2.3 更新软件源
- 1.2.4 配置及更换最佳软件源
- 1.2.5 ROS安装
- 1.2.6 初始化rosdep
- 1.2.7 设置环境变量
- 1.2.8 安装rosinstall
- 1.2.8 验证ROS是否安装成功
- 2. 海康工业相机SDK安装
- 2.1 SDK下载
- 2.2 MVS&SDK安装
- 3. ROS Package使用
- 3.1 ros工作空间部署
- 3.2 查看和发布 ROS 话题(Topic)的信息
- 3.3 rviz 可视化工具
1. ROS系统安装部署
参考链接:详细介绍如何在ubuntu20.04中安装ROS系统
本文重点讲工业相机使用部分,ros系统安装,大家可以自行看参考链接,作者写的很详细,每一个报错都考虑到了
1.1更新镜像源
ros系统安装过程中,需要下载大量的依赖环境,更换一个下载速度快的软件源,提升安装速度,本文使用阿里镜像源
deb https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
1.1.1 备份源文件
sudo cp -r /etc/apt/source.list source.listbak
1.1.2 更新阿里源
sudo gedit /etc/apt/source.list source.list
把阿里源的路径更新上去
1.1.3 更新软件源
sudo apt update
1.2 ros系统安装
1.2.1 添加ros软件源
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
1.2.2 添加秘钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
1.2.3 更新软件源
sudo apt update
1.2.4 配置及更换最佳软件源
1.参考链接:Ubuntu如何通过简单的几步操作来配置系统的软件源
2.解决更新最佳源时,出现的没有公钥问题
输入命令:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654
1.2.5 ROS安装
基于ubuntu20.04 安装,其他版本,命令会有差异,遇到的问题也会有差异
输入安装命令
sudo apt install ros-noetic-desktop-full
这个下载安装比较慢,手机热点下载了大约10分钟左右(可能是参考前面几个步骤,更新了软件源,速度比较快),网速差的话,看其他博主,大约需要1天,随缘
如果不能保证持续下载,要关电脑,输入ctr+c终端下载,正常关闭,下次有时间后,重新输入命令,可以继续下载
1.2.6 初始化rosdep
sudo rosdep init
正常顺利,如下图,就完成了,如果不顺利,查找篇头的文章,找找解决方法

1.2.7 设置环境变量
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
注意:这里的noetic取决于ubuntu的系统版本,ubuntu是20.04版本的,对应的是noetic
生效环境变量:
source ~/.bashrc
1.2.8 安装rosinstall
sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool
1.2.8 验证ROS是否安装成功
roscore
结果如下:

如果安装过程中,出现其他错误,建议查阅引用文章详细介绍如何在ubuntu20.04中安装ROS系统,或者百度、CSDN等渠道解决
2. 海康工业相机SDK安装
2.1 SDK下载
在海康机器人的官网下载中心-> 海康机器人下载中心
我们可以看见海康机器人为用户提供了较多的软件下载,不同的软件对应的其不同产品系列,而工业相机,下载其MVS即可,MVS集成了相机的客户端软件与提供给用户二次开发SDK

选择linux版本下载,解压后,根据系统版本,选择x64安装包

2.2 MVS&SDK安装
将MVS-2.1.2_x86_64_20231011.deb复制到系统中,使用安装命令,进行安装即可
给安装包文件读写权限:
chmod 777 MVS-2.1.2_x86_64_20230301.deb
执行MVS安装命令:
sudo dpkg -i MVS-2.1.2_x86_64_20230301.deb

安装完成后,可打开MVS,使用MVS进行相机的成像预览、调试,以及相机参数设置:
bash /opt/MVS/bin/MVS.sh

3. ROS Package使用
引用说明:对ros接触较短,直接下载了CSDN资源,引用链接,对其demo进行了修改与注释
3.1 ros工作空间部署
创建使用的文件夹
mkdir -p ~/hkcam_ws/src
解压demo文件
unzip hk_cam.zip
复制demo到指定文件夹
cp hk_cam ~/hkcam_ws/src -rf
编译与生成
cd ~/hkcam_wscatkin_make #编译
run
source devel/setup.bashroslaunch hk_cam hk_cam.launch



3.2 查看和发布 ROS 话题(Topic)的信息
rosluanch运行成功后,在新开一个终端,输入rostopic list,查看 ROS 中所有的话题列表:
rostopic list

3.3 rviz 可视化工具
rosluanch运行起来后,可以在新的终端输入,即可打开rviz 可视化工具
rviz

接下来加载rviz config,在左上角菜单栏,选择File->Open Config,
选择demo路径下的config(仅供演示效果,可以自己配置)

加载完成后,在Image Topic选择demo发布的topic即可预览查看图像,如下

demo下载路径:hikrobot-cam-ros-toptic
相关文章:
基于ubuntu20.04安装ros系统搭配使用工业相机
基于ubuntu20.04安装ros系统搭配使用工业相机 1. ROS系统安装部署1.1更新镜像源1.1.1 备份源文件1.1.2 更新阿里源1.1.3 更新软件源 1.2 ros系统安装1.2.1 添加ros软件源1.2.2 添加秘钥1.2.3 更新软件源1.2.4 配置及更换最佳软件源1.2.5 ROS安装1.2.6 初始化rosdep1.2.7 设置环…...
网络运维与网络安全 学习笔记2023.11.20
网络运维与网络安全 学习笔记 第二十一天 今日目标 交换网路径选择、Eth-Trunk原理、动态Eth-Trunk配置 Eth-Trunk案例实践、MUX VLAN原理、MUX VLAN配置 交换网路径选择 STP的作用 在交换网络中提供冗余/备份路径 提供冗余路径的同时,防止环路的产生 影响同网…...
银行业数据分析算法应用汇总
数据分析在银行业的应用及具体案例 一、欺诈检测二、客户细分三、风险建模四、营销优化五、信用评分六、客户流失预测七、推荐引擎八、客户生命周期价值预测 一、欺诈检测 欺诈检测即通过分析交易模式,检测可能的欺诈行为,主要有以下几个方面 1.跨机构开…...
搜索引擎trick:成为搜索高手的秘籍
诸神缄默不语-个人CSDN博文目录 文章目录 1. 搜索指令1.1 "完全匹配搜索"1.2 -1.3 site1.4 filetype1.5 * 模糊搜索1.6 intitle1.7 inurl1.8 related1.9 inanchor 2. 组合搜索技巧3. 搜索引擎的选择4. 使用高级搜索功能4.1 时间限定搜索4.2 语言限定搜索4.3 使用搜索…...
基于springboot实现冬奥会科普平台系统【项目源码+论文说明】计算机毕业设计
基于SpringBoot实现冬奥会科普平台系统演示 摘要 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理平台应运而生&…...
用C++标准库生成制定范围内的整数随机数
2023年11月22日,周三上午 #include <iostream> #include <random>int main() {std::random_device rd; // 随机设备,用于获取种子值std::mt19937 gen(rd()); // 使用 Mersenne Twister 引擎作为随机数生成器std::uniform_int_distribution&…...
使用ExLlamaV2量化并运行EXL2模型
量化大型语言模型(llm)是减少这些模型大小和加快推理速度的最流行的方法。在这些技术中,GPTQ在gpu上提供了惊人的性能。与非量化模型相比,该方法使用的VRAM几乎减少了3倍,同时提供了相似的精度水平和更快的生成速度。 ExLlamaV2是一个旨在从…...
【ARM AMBA AXI 入门 15 -- AXI-Lite 详细介绍】
请阅读【ARM AMBA AXI 总线 文章专栏导读】 文章目录 AXI LiteAXI-Full 介绍AXI Stream 介绍AXI Lite 介绍AXI Full 与 AIX Lite 差异总结AXI Lite AMBA AXI4 规范中包含三种不同的协议接口,分别是: AXI4-FullAXI4-LiteAXI4-Stream 上图中的 AXI FULL 和 AIX-Lite 我们都把…...
【开源】基于Vue.js的天然气工程业务管理系统的设计和实现
项目编号: S 021 ,文末获取源码。 \color{red}{项目编号:S021,文末获取源码。} 项目编号:S021,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、使用角色3.1 施工人员3.2 管理员 四…...
SpringBoot : ch04 整合数据源
前言 Spring Boot 是当今最流行的 Java 开发框架之一,它以简洁、高效的特点帮助开发者快速构建稳健的应用程序。在实际项目中,涉及到数据库操作的需求时,我们需要对数据源进行整合。本文将重点介绍如何在 Spring Boot 中整合数据源ÿ…...
Docker Swarm总结
目录 1、swarm 理论基础 1.1 简介 1.2 节点架构 1.3 服务架构 1.4 服务部署模式 2、swarm 集群搭建 2.1 需求 2.2 克隆主机 2.3 启动5个docker宿主机 2.4 查看 swarm 激活状态 2.5 关闭防火墙 2.6 swarm 初始化 2.7 添加 worker 节点 2.8 添加 manager 节点 3…...
特殊token的特殊用途
特殊token的特殊用途 特殊voc设计传统的特殊token 用途特殊用途例子特殊voc设计 普通token1 。。。。普通token1000,特殊token1,,,,,特殊token100 ,特殊指示token1,,,特殊指示token100 传统的特殊token 用途 在您提供的示例中,有1000个普通 token(从普通 token …...
苹果Siri怎么打开?教你两招轻松唤醒!
苹果Siri助手是苹果公司开发的智能语音助手。作为智能语音助手,Siri可以理解用户的指令,并给出相应的回答或执行相应的操作,帮助大家完成各种任务,比如发送短信、查询天气、播放音乐、设置提醒等等。 然而,还有一些小…...
分类问题的评价指标
一、logistic regression logistic regression也叫做对数几率回归。虽然名字是回归,但是不同于linear regression,logistic regression是一种分类学习方法。 同时在深度神经网络中,有一种线性层的输出也叫做logistic,他是被输入…...
Hive 定义变量 变量赋值 引用变量
Hive 定义变量 变量赋值 引用变量 变量 hive 中变量和属性命名空间 命名空间权限描述hivevar读写用户自定义变量hiveconf读写hive相关配置属性system读写java定义额配置属性env只读shell环境定义的环境变量 语法 Java对这个除env命名空间内容具有可读可写权利; …...
51单片机LED灯渐明渐暗实验
51单片机LED灯渐明渐暗实验 1.概述 这篇文章介绍使用单片机控制两个LED彩灯亮度渐明渐暗效果,详细介绍了操作步骤以及完整的程序代码,动手就能制作的小实验。 2.操作步骤 2.1.硬件搭建 1.硬件准备 名称型号数量单片机STC12C2052AD1LED彩灯无2晶振1…...
美团面试:微服务如何拆分?原则是什么?
尼恩说在前面 在40岁老架构师 尼恩的读者交流群(50)中,最近有小伙伴拿到了一线互联网企业如美团、字节、如阿里、滴滴、极兔、有赞、希音、百度、网易的面试资格,遇到很多很重要的面试题: 微服务如何拆分? 微服务拆分的规范和原则…...
easyExcel注解详情
前言11个注解字段注解 类注解基础综合示例补充颜色总结 11个注解 ExcelProperty ColumnWith 列宽 ContentFontStyle 文本字体样式 ContentLoopMerge 文本合并 ContentRowHeight 文本行高度 ContentStyle 文本样式 HeadFontStyle 标题字体样式 HeadRowHeight 标题高度 HeadStyle…...
S7-1200PLC 作为MODBUSTCP服务器通信(多客户端访问)
S7-1200PLC作为MODBUSTCP服务器端通信编程应用,详细内容请查看下面文章链接: ModbusTcp通信(S7-1200PLC作为服务器端)-CSDN博客文章浏览阅读239次。S7-200Smart plc作为ModbusTcp服务器端的通信S7-200SMART PLC ModbusTCP通信(ModbusTcp服务器)_s7-200 modbustcp-CSDN博客文…...
泰勒多项式
泰勒展开 f ( x ) P n ( x ) R n ( x ) f(x)P_n(x)R_n(x) f(x)Pn(x)Rn(x) P n ( x ) ∑ 0 n f ( k ) ( x 0 ) k ! ( x − x 0 ) k P_n(x)\sum_0^n\frac{f^{(k)}(x_0)}{k!}(x-x_0)^k Pn(x)∑0nk!f(k)(x0)(x−x0)k R n ( x ) f ( n 1 ) ( ξ x 0 ) ( n 1 ) !…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...
七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...
Webpack性能优化:构建速度与体积优化策略
一、构建速度优化 1、升级Webpack和Node.js 优化效果:Webpack 4比Webpack 3构建时间降低60%-98%。原因: V8引擎优化(for of替代forEach、Map/Set替代Object)。默认使用更快的md4哈希算法。AST直接从Loa…...
