基于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_ws
	catkin_make #编译

run

	source devel/setup.bash
	roslaunch 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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何使用无代码系统搭建软件平台?有哪些开源无代码开发平台?

无代码是什么 无代码开发,也称为零代码(Zero Code)开发,是一种技术概念。无代码开发无需代码基础,适合业务人员、IT开发及其他各类人员使用。他们通过无代码开发平台快速构建应用,并适应各种需求变化&#…

吴恩达《机器学习》9-4-9-6:实现注意:展开参数、梯度检验、随机初始化

一、实现注意:展开参数 在上一个视频中,讨论了使用反向传播算法计算代价函数的导数。在本视频中,将简要介绍一个实现细节,即如何将参数从矩阵展开为向量。这样做是为了在高级最优化步骤中更方便地使用这些参数。 二、梯度检验 在神经网络中…

MySQL MHA高可用配置及故障切换

一、MHA相关概念 1.什么是 MHA MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。 MHA 的出现就是解决MySQL 单点的问题。 MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。 …

pytorch中.to(device) 和.cuda()的区别

在PyTorch中,使用GPU加速可以显著提高模型的训练速度。在将数据传递给GPU之前,需要将其转换为GPU可用的格式。 函数原型如下: def cuda(self: T, device: Optional[Union[int, device]] None) -> T:return self._apply(lambda t: t.cuda…

【C++进阶之路】第八篇:智能指针

文章目录 一、为什么需要智能指针?二、内存泄漏1.什么是内存泄漏,内存泄漏的危害2.内存泄漏分类(了解)3.如何检测内存泄漏(了解)4.如何避免内存泄漏 三、智能指针的使用及原理1.RAII2.智能指针的原理3.std:…

Windows安装MongoDB

1、下载MongoDB的zip,解压 2、创建目录 mkdir D:\JavaSoftware\Database\MongoDB\mongodb-win32-x86_64-windows-5.0.8\data\db mkdir D:\JavaSoftware\Database\MongoDB\mongodb-win32-x86_64-windows-5.0.8\data\log 3、创建一个配置文件mongod.cfg&#xff0c…

7.Gin 路由详解 - 路由分组 - 路由文件抽离

7.Gin 路由详解 - 路由分组 - 路由文件抽离 前言 在前面的示例中,我们直接将路由的定义全部写在 main.go 文件中,如果后面 路由越来越多,那将会越来越不好管理。 所以,下一步我们应该考虑将路由进行分组管理,并且将其抽…

使用jmeter对接口进行简单测试

JMeter是一个开源的性能测试工具,它可以对于Web应用程序、FTP、数据库服务器等各种服务器进行性能测试和负载测试,以确定它们是否能够承受预期的负载。JMeter支持多种协议和技术,如HTTP、HTTPS、FTP、JDBC、LDAP、SOAP、JMS等。它使用Java编写…

maven pom引入依赖不报红,但是项目Dependencies中没有引入jar包

前言 小编我将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注一下! 也许一个人独行,可以走的很快,但是一群人结伴而行,才能走的更远!让我们在成长的道路上互相学习&…

maven打包项目,然后给其他项目引用

A项目(这个项目需要被打包,作为被引入的项目),不需要启动类,因为作为公共模块被B项目引入: package com.yunya.mvndependontest.rest;import org.springframework.web.bind.annotation.RequestMapping; im…

kubeadm join 192.168.10.16:6443 --token xxx报错Failed to request cluster-info

1、node节点执行 kubeadm join 192.168.10.16:6443 --token hak4zi.hrib9uv4p62t1uok --discovery-token-ca-cert-hash sha256:4337638eef783ee6a66045ad699722079e071c2dfbaa21e37d3174f04d58ea97 --v2 报错 [discovery] Failed to request cluster-info, will try again: G…

Qt应用开发(进阶篇)——线程 QThread

一、前言 QThread类继承于QObject基类,是Qt经典基础工具类,QThread类提供了一种独立于平台的方式来管理线程,让开发者能够快速的完成多线程的创建和使用。 正常情况下,一个PC程序使用到多线程的概率是非常高的,在不同方…

智能座舱架构与芯片- (11) 软件篇 上

一、智能汽车基础软件平台分类 汽车软件主要分为应用软件和基础软件。应用软件和业务形态高度关联,不同控制器的应用软件之间差异较大。基础软件介于应用软件和硬件之间,用于屏蔽硬件特性、支撑应用软件。可有效地实现应用软件与硬件之间解耦&#xff0…

Kubernetes容器状态探测的艺术

在Kubernetes集群中维护容器状态更像是一种艺术,而不是科学。原文: The Art and Science of Probing a Kubernetes Container[1] 在Kubernetes集群中维护容器状态更像是一种艺术,而不是科学。 本文将带你深入理解容器探测[2],并特别关注相对较…

C++ LibCurl实现Web隐藏目录扫描

LibCurl是一个开源的免费的多协议数据传输开源库,该框架具备跨平台性,开源免费,并提供了包括HTTP、FTP、SMTP、POP3等协议的功能,使用libcurl可以方便地进行网络数据传输操作,如发送HTTP请求、下载文件、发送电子邮件等…

Stable Diffusion XL网络结构-超详细原创

强烈推荐先看本人的这篇 Stable Diffusion1.5网络结构-超详细原创-CSDN博客 1 Unet 1.1 详细整体结构 1.2 缩小版整体结构 以生成图像1024x1024为例,与SD1.5的3个CrossAttnDownBlock2D和CrossAttnUpBlock2D相比,SDXL只有2个,但SDXL的Cros…

如何选择示波器?

简介 对于很多工程师来讲,从市场中上百款不同价格和规格的各种型号的示波器中,选择一台新示波器是一件很挠首的事情。本文就旨在指引你拨开迷雾,希望能帮助你避免付出昂贵的代价。 重中之重 选择示波器的第一步不是要看那些示波器的广告和规…

MAVEN——PACKAGE、INSTALL、DEPLOY的联系与区别

我们在用maven构建java项目时,最常用的打包命令有mvn package、mvn install、deploy,这三个命令都可完成打jar包或war(当然也可以是其它形式的包)的功能,但这三个命令还是有区别的。下面通过分别执行这三个命令的输出结…

Openlayer【三】—— 绘制多边形GeoJson边界绘制

1.1、绘制多边形 在绘制多边形和前面绘制线有异曲同工之妙,多边形本质上就是由多个点组成的线然后连接组成的面,这个面就是最终的结果,那么这里使用到的是Polygon对象,而传给这个对象的值也是多个坐标,坐标会一个个的…

分享几个MicroPython开发的ES32项目源码

最近在学习物联网,必不可少的就是需要玩一下ESP8266和ESP32,当然开发它们的语言分为C/C 今天带给大家几个MicroPython开发的几个ESP32的项目源码,喜欢的童鞋可以关注一下 1、点亮开发板LED灯 from machine import Pinled_pin Pin(4,Pin.O…