当前位置: 首页 > news >正文

图漾相机-ROS1_SDK_ubuntu版本编译(新版本)

文章目录

  • 官网编译文档链接
  • 官网SDK下载链接
  • 1、下载 Camport ROS1 SDK
    • 1.下载git
    • 2、下载链接
  • 2、准备编译工作
    • 1、安装 catkin
    • 2、配置环境变量
    • 3. 将Camport3中的linux库文件拷贝到 user/lib目录下
    • 4、修改lunch文件制定相机(可以放在最后可以参考在线文档)
      • **percipio.launch.xml**
      • **percipio.cfg:**
      • a.执行以下命令,打开 percipio.launch 文件 ,指定相机ID.
      • b.修改 Percipio.cfg 配置
    • 5、下载和安装ROS-noetic版本
    • 6、下载和安装ROS1 SDK
    • 7,软件运行环境配置
    • 8,连接相机运行
    • 9.添加图像
        • 1、在页面左侧 Global Options 设置项中设置 “Fixed Frame” 为 “camera_depth_frame”。
        • 2、添加深度图显示。
        • 3、添加彩色图显示。
        • 4、添加点云图显示。
        • 5、根据成像情况,动态调整相机参数
    • 10.常见问题汇总
      • 问题1: python3-catkin-pkg 0.4.24-2 在处理时有错误发生,需要强行覆盖:
      • 问题2:default sources list file already exists”的错误
      • 问题3:其他问题链接
      • 问题4: 环境变量为设置包 percipio_launch
      • 问题5:缺少rgbd-launch库
      • 问题6:缺少pcl(opencv类似)
      • 问题7:编译缺少ros-noetic-camera-info-manager (其他库类似)

官网编译文档链接

官网SDK下载链接

1、下载 Camport ROS1 SDK

1.下载git

sudo apt install git

2、下载链接

 国内:git clone https://gitee.com/percipioxyz/camport_ros.git国外:git clone https://github.com/percipioxyz/camport_ros.git

2、准备编译工作

1、安装 catkin

sudo apt install catkin
或者
git clone https://github.com/ros/catkin
cd catkin/ && mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Release ../ && make && sudo make install
export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:/home/tuyang/Workspace/catkin/build/devel/

2、配置环境变量

echo "source <开发包存放路径>/camport_ros/devel/setup.bash" >> ~/.bashrc

3. 将Camport3中的linux库文件拷贝到 user/lib目录下

cd /camport_ros/src/camport3/lib/linux/lib_x64
sudo cp -fr * /usr/lib/

4、修改lunch文件制定相机(可以放在最后可以参考在线文档)

注意修改配置文件都要重新cakin_make

percipio.launch.xml

src/percipio_launch/launch/percipio.launch.xml用于配置相机启动时加载的默认参数,一般配置好
不需要动态修改的参数会放在这里。如:指定相机的 SN 或 IP、配置网络重传、组件配置(配置 color 和 depth 的分辨率、配置 SGBM 参数或者 ToF 相关参数,配置畸变校正是否打开等)。

percipio.cfg:

在这里插入图片描述

a.执行以下命令,打开 percipio.launch 文件 ,指定相机ID.

cd src/percipio_launch/launch  gedit/percipio.launch<arg name="device_id" default="207000106930" />  //制定相机ID<arg name="color_depth_synchronization" default="true" /> //左右灰度图像曝光完全同步开关<arg name="depth_registration" default="true" />  //设置深度图和彩色图对齐开关

device_id 默认值为 #1,表示默认打开找到的第一个相机。
只有同时打开彩色图和深度图后,此项使能开关才会生效。对于没有 RGB 组件的相机此设置无效。

b.修改 Percipio.cfg 配置

percipio.cfg 文件中的参数支持动态调节,修改 Percipio.cfg 参数最大值和最小值后,参见 运行 调出
rqt_reconfigure_Param 页面并进行调节。

cd src/percipio_camera/cfg/
gedit Percipio.cfg
//在 gen.add() 中设置参数的最小值和最大值
gen.add(name, type, level, description, default, min, max) 
//表示属性名称、类型、优先级、描述、默认值、最小值、最大值。
//布尔类型的值必须写成 True 或 False (首字母大写)。

1、若不知道相机属性的最小值和最大值,可通过以下方式查看相机支持的组件和属性:
可运行 SDK 示例程序 DumpAllFeatures,在列出的信息中查看相机支持的组件和属性。
可运行 SDK 示例程序 DumpAllFeatures -d,在生成 fetch_config.xml 文件中查看相机支持的组件和属性。
2、以下参数的设置范围可自定义:
depth_speckle_filter:斑点滤波开关。斑点滤波用于过滤深度图中的小块斑点噪声。
max_speckle_size:斑点噪声的最大尺寸。尺寸大于该设定值的斑点被认为不是噪声。建议设置范围为 [10,3000]。
max_speckle_diff:同块斑点中相邻像素的最大深度差值。若相邻像素的深度差值大于该设定值,则认为该相邻像素属于两块斑点。建议设置范围为 [10,1500]。
data_skip:跳帧。例如,图漾发布节点实际是 30fps,ROS 接收节点只想接收 10fps,此时可将 data_skip 设置为建议设置范围为 [0,20]。
z_scaling:深度图中像素值的单位。建议设置范围为 [0,8]。
use_device_time:默认设置为 True,表示使用相机内部时间戳;设置为 False 时,表示使用 ROS 的时间戳。

5、下载和安装ROS-noetic版本

需要注意:sudo apt install ros-noetic-desktop-full(18.04)
因ubuntu版本的不同其安装指令也有可能不同,我的是ubuntu20.04 执行上面的代码时显示:无法定位软件包 ros-melodic-desktop-full ,然后改为执行下面的命令来安装:

 sudo apt install ros-noetic-desktop-fullsudo apt install ros-noetic-rgbd-launchsource /opt/ros/noetic/setup.bash//注意:sudo apt install ros-noetic-rqt* 安装过程中若提示缺少该包再要安装

18.04ROS1安装链接
20.04ROS1 国内资源安装教程
20.04ROS1安装教程

6、下载和安装ROS1 SDK

//到达workspace目录
git clone -b pre_release https://github.com/percipioxyz/camport_ros.git 
cd /home/tuyang/Workspace/camport_roscatkin_make

7,软件运行环境配置

//打开~/.bashrc文件
vi ~/.bashrc
//写入
source /home/tuyang/Workspace/camport_ros/devel/setup.bash
//source 生效
source ~/.bashrc

8,连接相机运行

可以使用官网的percipio-view正确连接相机,确认本地网络和相机在同一个网段
//启动节点服务
roscore
//在开发包根目录下执行以下命令,订阅服务
roslaunch percipio_launch percipio.launch
//重新开一个终端,执行以下命令,运行 RViz:获取相机取图
rosrun rviz rviz

9.添加图像

1、在页面左侧 Global Options 设置项中设置 “Fixed Frame” 为 “camera_depth_frame”。

在这里插入图片描述

2、添加深度图显示。

点击 add, 添加 “Camera”,命名为 Depth Camera。
在这里插入图片描述
在页面左侧新增的 Depth Camera 设置项中设置“Image Topic”为“/camera/depth/image”。
在这里插入图片描述

3、添加彩色图显示。

点击 add, 添加 “Camera”,命名为 Color Camera。

勾选在页面左侧新增的 Color Camera,并在设置项中设置“Image Topic”为“/camera/rgb/image_raw”

4、添加点云图显示。

DepthCloud 是输入深度图和内参给 ROS,ROS 内部通过 rgbd_launch 转换出来的点云。
点击 add, 添加 “PointCloud2”,命名为 Point Cloud 2。
勾选在页面左侧新增的 Point Cloud 2,并在设置项中设置“Topic”为“/camera/PointCloud2”。

5、根据成像情况,动态调整相机参数

执行以下命令,调出 rqt_reconfigure_Param 页面。选择 driver,并在页面中调节参数。
rosrun rqt_reconfigure rqt_reconfigure
在这里插入图片描述

10.常见问题汇总

问题1: python3-catkin-pkg 0.4.24-2 在处理时有错误发生,需要强行覆盖:

你可以尝试强制覆盖安装python3-catkin-pkg-modules 软件包,使其覆盖已经存在的文件。在终端中执行以下命令:
sudo dpkg -i --force-overwrite /var/cache/apt/archives/python3-catkin-pkg-modules_1.0.0-1_all.deb
这会强制 dpkg 覆盖文件而不会终止安装过程。之后你可以运行 apt install -f 命令修复可能的依赖问题: sudo apt install -f

问题2:default sources list file already exists”的错误

default sources list file already exists”的错误

问题3:其他问题链接

其他问题链接

问题4: 环境变量为设置包 percipio_launch

在这里插入图片描述

source   /home/tuyang/Workspace/camport_ros/devel/setup.bash
source ~/.bashrc

问题5:缺少rgbd-launch库

在这里插入图片描述

sudo apt install ros-noetic-rgbd-launch

问题6:缺少pcl(opencv类似)

在这里插入图片描述

sudo apt install ros-noetic-pcl-ros

问题7:编译缺少ros-noetic-camera-info-manager (其他库类似)

在这里插入图片描述

//基于上面说的缺少库文件进行安装,例如上图中少了 camera_info_manager
sudo apt install ros-noetic-camera-info-manager 

相关文章:

图漾相机-ROS1_SDK_ubuntu版本编译(新版本)

文章目录 官网编译文档链接官网SDK下载链接1、下载 Camport ROS1 SDK1.下载git2、下载链接 2、准备编译工作1、安装 catkin2、配置环境变量3. 将Camport3中的linux库文件拷贝到 user/lib目录下4、修改lunch文件制定相机&#xff08;可以放在最后可以参考在线文档&#xff09;**…...

项目二十三:电阻测量(需要简单的外围检测电路,将电阻转换为电压)测量100,1k,4.7k,10k,20k的电阻阻值,由数码管显示。要求测试误差 <10%

资料查找&#xff1a; 01 方案选择 使用单片机测量电阻有多种方法&#xff0c;以下是一些常见的方法及其原理&#xff1a; 串联分压法&#xff08;ADC&#xff09; 原理&#xff1a;根据串联电路的分压原理&#xff0c;通过测量已知电阻和待测电阻上的电压&#xff0c;计算出…...

【NLP 17、NLP的基础——分词】

我始终相信&#xff0c;世间所有的安排都有它的道理&#xff1b;失之东隅&#xff0c;收之桑榆 —— 24.12.20 一、中文分词的介绍 1.为什么讲分词&#xff1f; ① 分词是一个被长期研究的任务&#xff0c;通过了解分词算法的发展&#xff0c;可以看到NLP的研究历程 ② 分词…...

uniapp blob格式转换为video .mp4文件使用ffmpeg工具

前言 介绍一下这三种对象使用场景 您前端一旦涉及到文件或图片上传Q到服务器&#xff0c;就势必离不了 Blob/File /base64 三种主流的类型它们之间 互转 也成了常态 Blob - FileBlob -Base64Base64 - BlobFile-Base64Base64 _ File uniapp 上传文件 现在已获取到了blob格式的…...

【无标题】 [蓝桥杯 2024 省 B] 好数

[蓝桥杯 2024 省 B] 好数 好数 一个整数如果按从低位到高位的顺序&#xff0c;奇数位&#xff08;个位、百位、万位……&#xff09;上的数字是奇数&#xff0c;偶数位&#xff08;十位、千位、十万位……&#xff09;上的数字是偶数&#xff0c;我们就称之为“好数”。 给定一…...

Leecode刷题C语言之同位字符串连接的最小长度

执行结果:通过 执行用时和内存消耗如下&#xff1a; bool check(char *s, int m) {int n strlen(s), count0[26] {0};for (int j 0; j < n; j m) {int count1[26] {0};for (int k j; k < j m; k) {count1[s[k] - a];}if (j > 0 && memcmp(count0, cou…...

Pytorch | 利用BIM/I-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击

Pytorch | 利用BIM/I-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击 CIFAR数据集BIM介绍基本原理算法流程特点应用场景 BIM代码实现BIM算法实现攻击效果 代码汇总bim.pytrain.pyadvtest.py 之前已经针对CIFAR10训练了多种分类器&#xff1a; Pytorch | 从零构建AlexNet对CIFAR1…...

音频进阶学习八——傅里叶变换的介绍

文章目录 前言一、傅里叶变换1.傅里叶变换的发展2.常见的傅里叶变换3.频域 二、欧拉公式1.实数、虚数、复数2.对虚数和复数的理解3.复平面4.复数和三角函数5.复数的运算6.欧拉公式 三、积分运算1.定积分2.不定积分3.基本的积分公式4.积分规则线性替换法分部积分法 5.定积分计算…...

将4G太阳能无线监控的视频接入电子监控大屏,要考虑哪些方面?

随着科技的飞速发展&#xff0c;4G太阳能无线监控系统以其独特的优势在远程监控领域脱颖而出。这种系统结合了太阳能供电的环保特性和4G无线传输的便捷性&#xff0c;为各种环境尤其是无电或电网不稳定的地区提供了一种高效、可靠的视频监控解决方案。将这些视频流接入大屏显示…...

使用docker拉取镜像很慢或者总是超时的问题

在拉取镜像的时候比如说mysql镜像&#xff0c;在拉取 时总是失败&#xff1a; 像这种就是网络的原因&#xff0c;因为你是连接到了外网去进行下载的&#xff0c;这个时候可以添加你的访问镜像源。也就是daemon.json文件&#xff0c;如果你没有这个文件可以输入 vim /etc/dock…...

Redis数据库笔记

Spring cache 缓存的介绍 在springboot中如何使用redis的缓存 1、使用Cacheable的例子【一般都是在查询的方法上】 /*** 移动端的套餐查询* value 就是缓存的名称* key 就是缓存id &#xff0c;就是一个缓存名称下有多个缓存&#xff0c;根据id来区分* 这个id一般就是多个查询…...

U盘出现USBC乱码文件的全面解析与恢复指南

一、乱码现象初探&#xff1a;USBC乱码文件的神秘面纱 在数字时代&#xff0c;U盘已成为我们日常生活中不可或缺的数据存储工具。然而&#xff0c;当U盘中的文件突然变成乱码&#xff0c;且文件名前缀显示为“USBC”时&#xff0c;这无疑给用户带来了极大的困扰。这些乱码文件…...

多线程 - 自旋锁

个人主页&#xff1a;C忠实粉丝 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 C忠实粉丝 原创 多线程 - 自旋锁 收录于专栏[Linux学习] 本专栏旨在分享学习Linux的一点学习笔记&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目录 概述 原理 优点与…...

vue2 - Day02 -计算属性(computed)、侦听器(watch)和方法(methods)

在 Vue.js 中&#xff0c;计算属性&#xff08;computed&#xff09;、侦听器&#xff08;watch&#xff09;和方法&#xff08;methods&#xff09;都是响应式的数据处理方式 文章目录 1. 方法&#xff08;Methods&#xff09;1.1. 是什么1.2. 怎么用示例&#xff1a; 1.3. 特…...

Linux C 程序 【05】异步写文件

1.开发背景 Linux 系统提供了各种外设的控制方式&#xff0c;其中包括文件的读写&#xff0c;存储文件的介质可以是 SSD 固态硬盘或者是 EMMC 等。 其中常用的写文件方式是同步写操作&#xff0c;但是如果是写大文件会对 CPU 造成比较大的负荷&#xff0c;采用异步写的方式比较…...

Liveweb视频汇聚平台支持WebRTC协议赋能H.265视频流畅传输

随着科技的飞速发展和网络技术的不断革新&#xff0c;视频监控已经广泛应用于社会各个领域&#xff0c;成为现代安全管理的重要组成部分。在视频监控领域&#xff0c;视频编码技术的选择尤为重要&#xff0c;它不仅关系到视频的质量&#xff0c;还直接影响到视频的传输效率和兼…...

SQL组合查询

本文讲述如何利用 UNION 操作符将多条 SELECT 语句组合成一个结果集。 1. 组合查询 多数 SQL 查询只包含从一个或多个表中返回数据的单条 SELECT 语句。但是&#xff0c;SQL 也允许执行多个查询&#xff08;多条 SELECT 语句&#xff09;&#xff0c;并将结果作为一个查询结果…...

方正畅享全媒体新闻采编系统 screen.do SQL注入漏洞复现

0x01 产品简介 方正畅享全媒体新闻生产系统是以内容资产为核心的智能化融合媒体业务平台,融合了报、网、端、微、自媒体分发平台等全渠道内容。该平台由协调指挥调度、数据资源聚合、融合生产、全渠道发布、智能传播分析、融合考核等多个平台组成,贯穿新闻生产策、采、编、发…...

【机器学习】【集成学习——决策树、随机森林】从零起步:掌握决策树、随机森林与GBDT的机器学习之旅

这里写目录标题 一、引言机器学习中集成学习的重要性 二、决策树 (Decision Tree)2.1 基本概念2.2 组成元素2.3 工作原理分裂准则 2.4 决策树的构建过程2.5 决策树的优缺点&#xff08;1&#xff09;决策树的优点&#xff08;2&#xff09;决策树的缺点&#xff08;3&#xff0…...

Flink执行模式(批和流)如何选择

DataStream API支持不同的运行时执行模式(batch/streaming),你可以根据自己的需求选择对应模式。 DataStream API的默认执行模式就是streaming,用于需要连续增量处理并且预计会一直保持在线的无界(数据源输入是无限的)作业。 而batch执行模式则用于有界(输入有限)作业…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

10-Oracle 23 ai Vector Search 概述和参数

一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI&#xff0c;使用客户端或是内部自己搭建集成大模型的终端&#xff0c;加速与大型语言模型&#xff08;LLM&#xff09;的结合&#xff0c;同时使用检索增强生成&#xff08;Retrieval Augmented Generation &#…...

解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用

在工业制造领域&#xff0c;无损检测&#xff08;NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统&#xff0c;以非接触式光学麦克风技术为核心&#xff0c;打破传统检测瓶颈&#xff0c;为半导体、航空航天、汽车制造等行业提供了高灵敏…...

uniapp 小程序 学习(一)

利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 &#xff1a;开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置&#xff0c;将微信开发者工具放入到Hbuilder中&#xff0c; 打开后出现 如下 bug 解…...

Vue 模板语句的数据来源

&#x1f9e9; Vue 模板语句的数据来源&#xff1a;全方位解析 Vue 模板&#xff08;<template> 部分&#xff09;中的表达式、指令绑定&#xff08;如 v-bind, v-on&#xff09;和插值&#xff08;{{ }}&#xff09;都在一个特定的作用域内求值。这个作用域由当前 组件…...

【堆垛策略】设计方法

堆垛策略的设计是积木堆叠系统的核心&#xff0c;直接影响堆叠的稳定性、效率和容错能力。以下是分层次的堆垛策略设计方法&#xff0c;涵盖基础规则、优化算法和容错机制&#xff1a; 1. 基础堆垛规则 (1) 物理稳定性优先 重心原则&#xff1a; 大尺寸/重量积木在下&#xf…...