astra pro相机(乐视/奥比中光相机)在JETSON NANO、TX2、NX上的ubuntu18.04+ros环境中的驱动及使用

0 设备和环境

我用设备的是:
jetson-nx
设备的环境:
nano:Ubuntu18.04+ros-melodic

1 安装过程

(1)安装依赖

sudo apt-get install build-essential freeglut3 freeglut3-dev

(2)检查udev版本,需要libudev.so.1,没有的话需要添加
这一步基本上设备都有,创客智造、张瑞雷、还有其他博客上都是这一段话:

#check udev version, Orbbec Driver need libudev.so.1, if can’t find it, can make symbolic link from libudev.so.x.x,
#which usually locate in /lib/x86_64-linux-gnu or /lib/i386-linux-gnu

$ ldconfig -p | grep libudev.so.1
$ cd /lib/x86_64-linux-gnu
$ sudo ln -s libudev.so.x.x.x libudev.so.1

(3)下载并安装OpenNI驱动

官网或者GitHub上下载有时候可能网络不方便,其他博主已经下载好之后传到网盘上了,方便大家用:
链接:https://pan.baidu.com/s/1PCHBm65Y4_pFP0uKHhZ9tw
提取码:7389

这里需要注意一下,确定自己的设备是什么架构、是什么位数,选择对应的去使用。(For user with ARM based development board:
With CPU Structure older than Cortex A17, use OpenNI-Linux-Arm-2.3 Nofilter.tar for better performance)

我的NX用的是arm64的普通版本。

unzip OpenNI-Linux-x64-2.3.zip
cd OpenNI-Linux-x64-2.2
sudo chmod a+x install.sh
sudo ./install.sh
source OpenNIDevEnvironment

到这里,驱动安装就ok了,如果你想试一下官方的例子来检验一下是否安装成功,去包里面编译运行就行,这个过程我就不写了,readme或者其他博客都有,按部就班操作就行。
(4)ros包安装
新建一个ros工作空间,在src文件夹下打开终端,这里要分两种情况:
如果你是ros-kinetic或者之前的版本,很简单:

sudo apt-get install ros-kinetic-astra-camera ros-kinetic-astra-launch

注意ros版本号就行。不过我建议最好是在src上git clone这两个launch包,因为后面我们要改launch文件内容。源码安装的我试过,launch文件中少了很多东西,我没法修改。
如果你是ros-melodic版本,(截至2020/4/20,之后可能会直接源码安装就行),只能去GitHub下载:

git clone https://github.com/orbbec/ros_astra_launch.git
git clone https://github.com/orbbec/ros_astra_camera.git

下载完成之后,

cd ..
catkin_make

注意有可能有依赖错误,安装好错题提示中的对应依赖即可,结合apt search搜索对应需要的依赖包,安装ros的版本。

(5)启动奥比中光的launch文件,看相机效果。
这里就不多赘述了,启动文件就是在launch文件夹里面,选择astra.launch或者astrapro.launch启动就行。
有可能部分设备(我的nano就是)启动报错:

ERROR] [1587364749.976103622]: Permission denied opening /dev/bus/usb/001/009
[camera/camera_rgb-2] process has died [pid 7183, exit code 255, cmd /home/sr/leshi_ws/devel/lib/astra_camera/camera_node /camera/image_raw:=/camera/rgb/image_raw __name:=camera_rgb __log:=/home/sr/.ros/log/a0c9b86a-82d1-11ea-be99-96edff6a96fd/camera-camera_rgb-2.log].
log file: /home/sr/.ros/log/a0c9b86a-82d1-11ea-be99-96edff6a96fd/camera-camera_rgb-2*.log

这个原因很常见,说白了就是端口号没权限,打不开对应的端口,按照终端提示错误的端口号那里,给权限就行,
解决方法,在终端中输入:

sudo chmod 777 /dev/bus/usb/001/009

由于我暂时还在做开发,不想直接锁死端口号,等开发结束整理的时候把设备的端口号写死就行,这里也欢迎大佬们在评论区里给出自己的方法。
启动launch文件之后,在另一个终端中输入:

rqt_image_view

即可看到显示出相机的图像,如下图所示:

camera/depth/image就是相机发布的深度信息topic,同理也可以在rviz中订阅这个topic进行查看。

02 解决无法显示rgb彩色信息的问题
基本上所有用这个设备的伙伴们都会有这个问题,我刚开始按照张瑞雷大佬的博客进行安装的时候,他的方法我反复在多台设备上试了好几次也没成功,而且还要再定位什么文件之类的操作实在是有点麻烦。
偶然间,我在终端中输入

lsusb

查看设备端口号的时候猜想,会不会是端口号的映射地址在launch文件中错了导致打不开rgb信息。因为我在第n次安装的时候看launch文件过程中不小心键盘碰到几下,后来保存的时候也点了saving。这才发现尼玛是官方给的launch文件都不对,,,,,,,,,,,,,,,,,于是我又重新下载ros包,发现并不是我手贱,是真的有问题。如下图:

看到了吧,0502是rgb的端口号,所以你打开astpro.launch,发现在大概68行43列的最后,它写的竟然是0501,,,,,所以我们修改成0502,保存退出,重新编译工作空间,再运行就可以了。如下:

rgb图像出来了,rgb的topic是/camera/rgb/image_raw
至此,坑填好了,关于这个rgb无法显示的解决方法,还有一个大佬的博客可以参考,方法也很简单:博客链接

至此,Ubuntu16和18中使用奥比中光进行开发的过程我总结完了,16和18其实没有太大区别,除了ros包的安装需要注意ros版本号,其他没啥了。
接下啦就是用奥比中光进行vslam等视觉的开发。
————————————————
版权声明:本文为CSDN博主「Numberors」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/numberors/article/details/105637209

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值