图漾相机-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-full
 sudo apt install ros-noetic-rgbd-launch
 source /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_ros
 catkin_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 

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

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

相关文章

openbmc hwmon与sensor监控

1.说明 参考文档: https://github.com/openbmc/entity-manager/blob/master/docs/entity_manager_dbus_api.mdhttps://github.com/openbmc/entity-manager/blob/master/docs/my_first_sensors.md 1.1 简单介绍 注意: 本节是快速浏览整个sensor框架&#xff0c;了解大致open…

Java --- 多线程

目录 前言&#xff1a; 一.线程的创建&#xff1a; 1.通过继承 Thread 类来创建线程&#xff1a; 2.通过Runnable接口创建线程&#xff1a; 3.通过Java8引入的lambda语法&#xff1a; 线程的优先级&#xff1a; 二.线程的生命周期&#xff1a; 三. 中断线程&#xff1a…

使用 acme.sh 申请域名 SSL/TLS 证书完整指南

使用 acme.sh 申请域名 SSL/TLS 证书完整指南 简介为什么选择 acme.sh 和 ZeroSSL&#xff1f;前置要求安装过程 步骤一&#xff1a;安装 acme.sh步骤二&#xff1a;配置 ZeroSSL 证书申请 方法一&#xff1a;手动 DNS 验证&#xff08;推荐新手使用&#xff09;方法二&#xf…

Flutter组件————Scaffold

Scaffold Scaffold 是一个基础的可视化界面结构组件&#xff0c;它实现了基本的Material Design布局结构。使用 Scaffold 可以快速地搭建起包含应用栏&#xff08;AppBar&#xff09;、内容区域&#xff08;body&#xff09;、抽屉菜单&#xff08;Drawer&#xff09;、底部导…

YOLOv8目标检测(七)_AB压力测试

YOLOv8目标检测(一)_检测流程梳理&#xff1a;YOLOv8目标检测(一)_检测流程梳理_yolo检测流程-CSDN博客 YOLOv8目标检测(二)_准备数据集&#xff1a;YOLOv8目标检测(二)_准备数据集_yolov8 数据集准备-CSDN博客 YOLOv8目标检测(三)_训练模型&#xff1a;YOLOv8目标检测(三)_训…

SpringBoot的创建方式

SpringBoot创建的五种方式 1.通过Springboot官网链接下载 注意SpringBoot项目的封装方式默认为Jar 需要查看一下&#xff0c;自己的Maven版本是否正确 创建成功 2.通过 aliyun官网链接下载 修改服务路径为阿里云链接 创建成功 3.通过Springboot官网下载 点击&#xff0c;拉到最…

批处理理解

初识批处理 如何批处理&#xff1a; 命名&#xff1a;.bat 方法&#xff1a;创建一个记事本文件&#xff0c;然后将其扩展改为.bat 批处理作用&#xff1a;自上而下成批处理每一条DOS命令&#xff0c;直到执行到最后一条。运行环境&#xff1a;当然是我们cmd了 回归我学过的…

概率论得学习和整理29: 用EXCEL 描述二项分布

目录 1 关于二项分布的基本内容 2 二项分布的概率 2.1 核心要素 2.2 成功K次的概率&#xff0c;二项分布公式 2.3 期望和方差 2.4 具体试验 2.5 概率质量函数pmf 和cdf 3 二项分布的pmf图的改进 3.1 改进折线图 3.2 如何生成这种竖线图呢 4 不同的二项分布 4.1 p0.…

全志H618 Android12修改doucmentsui功能菜单项

背景: 由于当前的文件管理器在我们的产品定义当中,某些界面有改动的需求,所以需要在Android12 rom中进行定制以符合当前产品定义。 需求: 在进入File文件管理器后,查看...功能菜单时,有不需要的功能菜单,需要隐藏,如:新建窗口、不显示的文件夹、故代码分析以及客制…

Elasticsearch问题总结

Fielddata access on the_id field is disallowed, you can re-enable it by updating the dynamic cluster setting: indices.id_field_data.enabledElasticsearch默认禁用_id字段进行排序&#xff0c;这是因为_id字段通常不需要进行聚合或排序操作&#xff0c;启用字段数据可…

基于WCF(C#)+SQL SERVER设计与实现的在线评测系统

基于WCF和SQL SERVER的在线评测系统设计与实现 摘要 目前&#xff0c;在线评测系统大多采用Linux系统作为运行平台&#xff0c;由于Linux系统人机交互能力差&#xff0c;使得系统部署要求高和维护难度大。本文针对以上问题进行分析&#xff0c;采用Windows操作系统作为运行平…

【C++图论】1993. 树上的操作|1861

本文涉及知识点 C图论 LeetCode 1993. 树上的操作 给你一棵 n 个节点的树&#xff0c;编号从 0 到 n - 1 &#xff0c;以父节点数组 parent 的形式给出&#xff0c;其中 parent[i] 是第 i 个节点的父节点。树的根节点为 0 号节点&#xff0c;所以 parent[0] -1 &#xff0c…

如何使用Python WebDriver爬取ChatGPT内容(完整教程)

大背景 虽然我们能用网页版chatGPT来聊天、写文章&#xff0c;但是我们采集大量的内容&#xff0c;就得不断地手动输入提问来获取答案&#xff0c;并且将结果复制到数据库来保存。如果整个过程能使用程序来做自然要节省很多的人力&#xff0c;精力和时间。 Python webdirver …

渗透测试-前端加密分析之RSA加密登录(密钥来源服务器)

本文是高级前端加解密与验签实战的第6篇文章&#xff0c;本系列文章实验靶场为Yakit里自带的Vulinbox靶场&#xff0c;本文讲述的是绕过RSA加密来爆破登录。 分析 这里的代码跟上文的类似&#xff0c;但是加密的公钥是通过请求服务端获取的 http://127.0.0.1:8787/crypto/js/…

Pytorch | 从零构建MobileNet对CIFAR10进行分类

Pytorch | 从零构建MobileNet对CIFAR10进行分类 CIFAR10数据集MobileNet设计理念网络结构技术优势应用领域 MobileNet结构代码详解结构代码代码详解DepthwiseSeparableConv 类初始化方法前向传播 forward 方法 MobileNet 类初始化方法前向传播 forward 方法 训练过程和测试结果…

Java进程占用的内存有哪些部分?

大家好&#xff0c;我是锋哥。今天分享关于【Java进程占用的内存有哪些部分?】面试题。希望对大家有帮助&#xff1b; Java进程占用的内存有哪些部分? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Java进程在运行时&#xff0c;会将内存划分为多个区域&#xf…

秒优科技-供应链管理系统 login/doAction SQL注入漏洞复现

0x01 产品简介 秒优科技提供的供应链管理系统,即秒优SCM服装供应链管理系统,是一款专为服装电商企业设计的全方位解决方案。是集款式研发、订单管理、物料管理、生产管理、工艺管理、收发货管理、账单管理、报表管理于一体的服装电商供应链管理解决方案。它涵盖了从企划到开…

音视频入门基础:MPEG2-TS专题(21)——FFmpeg源码中,获取TS流的视频信息的实现

一、引言 通过FFmpeg命令可以获取到TS文件/TS流的视频压缩编码格式、色彩格式&#xff08;像素格式&#xff09;、分辨率、帧率信息&#xff1a; ./ffmpeg -i XXX.ts 本文以H.264为例讲述FFmpeg到底是从哪个地方获取到这些视频信息的。 二、视频压缩编码格式 FFmpeg获取TS文…

VSCode:Markdown插件安装使用 -- 最简洁的VSCode中Markdown插件安装使用

VSCode&#xff1a;Markdown插件安装使用 1.安装Marktext2.使用Marktext 本文&#xff0c;将在Visual Studio Code中&#xff0c;安装和使用Markdown插件&#xff0c;以Marktext插件为例。 1.安装Marktext 打开VSCode&#xff0c;侧边栏中找到扩展模块(或CtrlShiftX快捷键)&am…

线性分类器(KNN,SVM损失,交叉熵损失,softmax)

KNN 工作机制 k-近邻算法的工作机制可以分为两个主要阶段&#xff1a;训练阶段和预测阶段。 训练阶段 在训练阶段&#xff0c;k-近邻算法并不进行显式的模型训练&#xff0c;而是简单地存储训练数据集。每个样本由特征向量和对应的标签组成。此阶段的主要任务是准备好数据&…