图漾相机-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