目录
一、配置的环境
- 相机型号:TM460(网络相机,不是USB相机)
- 系统:Ubuntu 18.04
- ROS:melodic
- 语言:C++
二、下载内容及链接
三、ubuntu环境配置
下载 Camport3 SDK
选择以下任意方式,下载 Camport3 SDK:
- 使用浏览器访问 http://github.com/percipioxyz/ 并下载 Camport3 SDK。
- 或者通过git,记得apt-get 安装git
git clone https://github.com/percipioxyz/camport3.git
下载后的文件目录结构如下:
sample 目录存放了可供用户编程参考的示例程序。关于示例程序,详情请参见 示例程序说明。
安装依赖
- cmake
sudo apt-get install cmake
- opencv
sudo apt-get install libopencv-dev
如果是USB相机,还需要安装usb依赖、设置usb的root权限。详细教程官方文档有介绍。
动态ip设置
- 动态dhcp设置
sudo vim /etc/network/interfaces
配置文件内容如下:注意,我的ifconfig中有线网络的端口名称是enp3s0,大家要记得更改。
auto lo
iface lo inet loopback
auto enp3s0
iface enp3s0 inet dhcp
之后,重启即可
sudo /etc/init.d/networking restart
编译
- 进入 camport3 目录,执行以下命令编译示例代码。
sudo cp lib/linux/lib_x64/libtycam.so* /usr/lib/
cd sample
mkdir build
cd build
cmake ..
make
- 在 camport3/sample/build/bin 目录下生成若干编译生成的可执行文件。
运行
深度相机连接电脑后开始系统初始化,直到相机背面 Power 灯以 1Hz 的频率闪烁。相机初始化后,以 root 权限运行以下命令,即可接收并显示深度图像。
sudo ./SimpleView_FetchFrame
四、安装OpenNI2套件
OpenNI2 SDK 基于 Linux SDK 开发,提供相应平台的库文件。
OpenNI(开放自然交互)是一个多语言,跨平台的框架,它定义了编写应用程序,并利用其自然交互的 API。OpenNI 的主要目的是要形成一个标准的 API,来搭建视觉和音频传感器与视觉和音频感知中间件通信的桥梁。
下载 Camport3 OpenNI2 SDK
- 选择以下方式,下载 Camport3 OpenNI2 SDK:
-
git clone https://github.com/percipioxyz/camport3_openni2.git
Camport3 OpenNI2 SDK 的目录图所示:
- 该开发包根目录下的 Percipio.ini 复制到 /etc/openni2 目录.
Camport3 OpenNI2 SDK 通过读取该文件的配置来设置 Percipio 深度相机输出的深度和彩色图像数据分辨率,相机默认输出的深度和彩色图像数据分辨率是 640x480。
安装 Camport3 OpenNI2 SDK
sudo dpkg -i libopenni2-0_2.2.0.33+dfsg-4_i386.deb
sudo dpkg -i libopenni2-dev_2.2.0.33+dfsg-4_i386.deb
安装好后,运行SImpleRead_x64,可以看到有数据传输。
五、ROS平台安装
下载 Camport3 ROS SDK
选择以下方式,下载 Camport3 OpenNI2 SDK:
-
git clone https://github.com/percipioxyz/camport_ros.git
Camport3 OpenNI2 SDK 的目录图所示:
-
openni2_camera:ROS 调用 OpenNI2 的封装层。
-
openni2_launch:打开 OpenNI2 设备并获取深度和颜色数据应用。
-
depthimage_to_laserscan:打开 OpenNI2 设备并获取线性深度数据应用。
-
安装包
在开发包根目录下执行以下命令:
sudo apt-get install ros-melodic-rgbd-launch
配置环境变量
echo "source ~/camport_ros/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
运行
catkin_make
-
在多个窗口中,执行以下命令,在 RVIZ 中查看 Depth Camera:
roscore
roslaunch openni2_launch openni2.launch
rosrun rviz rviz
在 RVIZ 的 /camera/image/depth 目录下添加深度图像视图,可查看三维空间视图。 -
执行如下命令,在 RVIZ 中查看从深度图中仿真出的 Laser Scan 图:
roscore
roslaunch depthimage_to_laserscan depthimage_to_laserscan.launch
rosrun rviz rviz
在 RVIZ 的 /scan/LaserScan 目录下添加激光扫描视图,可查看模拟线激光视图。
可通过下拉箭头选择不同模式下的image