在ROS中使用奥比中光Orbbec Astra Pro深度相机
有兴趣的可以看一下ROS Wiki上的介绍:
Orbbec Astra Pro介绍
astra_camera包介绍
astra_launch包介绍
功能包下载地址,可以直接用步骤里的git clone
1)
安装ROS
若已安装请忽略
2)
安装依赖:
$ sudo apt install ros--rgbd-launch ros--libuvc ros--libuvc-camera ros--libuvc-ros
或者
$ sudo apt install ros-ROS_DISTRO-libuvc ros-ROS_DISTRO-libuvc-ros
3)
创建工作空间,,然后运行ROS的工作空间初始化命令即可完成创建过程:
$ mkdir -p ~/catkin_camera/src
$ cd ~/catkin_camera/src
$ catkin_init_workspace
4)
配置工作空间的环境变量
$ cd catkin_camera
$ sourse devel/setup.bash
(使用zsh终端的直接吧bash换成zsh就可以了,下同)
如果这样设置环境变量,那么这个环境变量只对于此个终端有效,再打开一个终端是还需要再设置一下环境变量才行
我们可以直接在终端的配置文件中加入环境变量的设置:
$ echo"source/catkin_lidar/devel/setup.bash">>~/.bashrc
这样的话对打开的终端设置的环境变量都有效
之前设置过环境变量的可以用下面这个命令修改
gedit ~/.bashrc
打开之后添加或修改成:
为了确保环境变量已经生效,可以使用如下命令进行检查:echo $ROS_PACKAGE_PATH
如果打印的路径中已经包含当前工作空间的路径,则说明环境变量设置成功
5)
下载功能包
$ cd catkin_camera/src
$ git clone https://github.com/orbbec/ros_astra_camera
6)
创建Astra udev rule
$ roscd astra_camera
$ ./scripts/create_udev_rules
7)
在工作空间编译相机
$ cd ~/catkin_camera
$ catkin_make --pkg astra_camera
启用过滤器(不推荐:建议首先尝试主分支)
astra驱动程序提供了正常的和过滤的方法。使用filter driver,我们可以获得更精确的深度数据,但这会消耗更多的计算资源。如果程序将在嵌入式系统上执行,我们建议使用常规方法。
我么可以使用 -DFILTER=ON / OFF去开启关闭用下面这个命令:
$ catkin_make --pkg astra_camera -DFILTER=OFF
8)
下面进入正式的使用示例,大家可以感受一下这个相机
首先打开一个新终端,运行roscore把ros master请出来,
然后再打开新的终端进行操作:
①使用Astra
$ roslaunch astra_camera astra.launch
②使用Astra Stereo S (w/ UVC)
$ roslaunch astra_camera stereo_s.launch
这个命令后就可以使用rviz和image_view了
在终端输入:rviz
订阅相机的图像话题就可以看到图像了