一、虚拟机中使用OPENNI显示相机图像
下载openni的linux安装包。下载地址
https://dl.orbbec3d.com/dist/openni2/OpenNI_2.3.0.66.zip
将文件夹中的该文件拷贝到虚拟机中
首先安装依赖包
sudo apt-get install build-essential freeglut3 freeglut3-dev
然后解压压缩包,并进入解压后的压缩包
unzip OpenNI-Linux-x64-2.3.0.66.zip
解压后执行以下语句
chmod 777 install.sh
sudo ./install.sh
重新拔插设备 初始化OpenNI环境
source OpenNIDevEnvironment
编译运行
cd Samples/SimpleViewer
make
cd Bin/x64-Release
./SimpleViewer
二,在ROS环境中使用Orbbec Astra
1)安装依赖包
sudo apt install ros-$ROS_DISTRO-rgbd-launch ros-$ROS_DISTRO-libuvc ros-$ROS_DISTRO-libuvc-camera ros-$ROS_DISTRO-libuvc-ros
2)将ros_astra_camera包,放在已经创建好的ros工作区间的SRC文件夹下:
使用命令的方法
cd ~/catkin_ws/src
git clone https://github.com/orbbec/ros_astra_camera
执行该句,很难下载到装包,使用以下链接,直接在windows下环境下,下载好,拷贝到工作空间
3)在工作区下进行编译astra_camera
cd ~/catkin_ws
catkin_make --pkg astra_camera
编译成功的结果为:
4)创建 astra udev 规则
roscd astra_camera
./scripts/create_udev_rules
5)运行astra_camera
注意:搞清楚自己相机的型号,是否是pro版本的
roslaunch astra_camera astrapro.launch
如果上面的编译没有什么问题,执行上面一句话后,结果如图所示:
如果想看相机的ros包中,具备的话题有哪些,可以使用以下命令查看
其实,这里面我们最感兴趣的只有三个:深度图像、彩色图像、红外图像
/camera/depth/image_raw
是深度图像
/camera/depth_registered/image_raw
是和彩色图像配准之后的深度图像
/camera/ir/image_raw
是红外图像
/camera/rgb/image_raw
是彩色图像
6)使用rviz显示相机
在终端输入:rviz
随后在左侧打开选项卡
image
,在
image Topic
中选择自己订阅的节点即可。
三,测试相机自带的所有例程
1.彩色相机标定
第一个终端启动命令
roslaunch astra_camera astrapro.launch
重启一个终端输入命令
# 彩色图
rosrun camera_calibration cameracalibrator.py image:=/camera/rgb/image_raw camera:=/camera/rgb --size 9x6 --square 0.02
标定的结果到什么程度算是合格,最好的情况是【X】、【Y】、【Size】、【Skew】下面的线条变为绿色后就成功了;
当认为当前标定图像的数目已经够了,(六七十张就差不多了,太多容易卡死),点击
【CALIBRATE】
计算相机内参。
计算完内参后,进行保存
标定结束后,标定结果存在【/tmp/calibrationdata.tar.gz】,可以移动出来看看内容
sudo mv /tmp/calibrationdata.tar.gz ~
解压后,里面有刚刚标定的图片,一个ost.txt文件和一个ost.yaml文件。yaml文件是我们需要的,不过还需要修改才可以使用。
- 将ost.yaml改为head_camera.yaml
- 将camera_name:后面的名称改为head_camera
-
将文件移动到~/.ros/camera_info文件夹下
【这个文件夹是针对小车下的文件夹的。虚拟机只是用来做标定获得该文件夹即可】