ubuntu20.04 noetic 安装 Astra Pro 驱动

ubuntu20.04 noetic 安装 Astra Pro 驱动

拿到了一个 Orbbec Astro Pro 的摄像头,具体型号为: LeTMC301
在ubuntu中安装了相应的驱动
参考:
https://blog.csdn.net/EternallyAccompany/article/details/111299779
https://blog.csdn.net/jifaley/article/details/81677275
https://blog.csdn.net/weixin_37772351/article/details/121834815

1.下载相关文件

在 https://developer.orbbec.com.cn/develop.html
下载文件 AstraSDK-v2.1.3-94bca0f52e-20210611T023312Z-Linux-aarch64。
在 https://github.com/choonyip/OpenNI-Linux-x64-2.3 下载文件:
OpenNI-Linux-x64-2.3.0.65.rar 。
ubuntu20.04 noetic 安装 Astra Pro 驱动_第1张图片
如上图所示,为下载解压后的相关文件,忽略其它不相关文件。

2.安装AstraSDK

cd AstraSDK(tab键补齐)
cd install

ubuntu20.04 noetic 安装 Astra Pro 驱动_第2张图片
有上述两个文件,对 install.sh添加可执行权限

chmod a+x install.sh

然后运行:./install.sh,输入密码后,便开始安装

Linux installer script for Astra SDK
 
    Installing rules for orbbec devices into /etc/udev/rules.d/
    Done.
 
    NOTES:
    We suggest adding the following lines to your .bash_profile or .bashrc
    export ASTRA_SDK_INCLUDE=/home/xsl/Disk2/WorkSpace/Code/Orbbec/AstraSDK/install/include
    export ASTRA_SDK_LIB=/home/xsl/Disk2/WorkSpace/Code/Orbbec/AstraSDK/install/lib

然后编辑 .bashrc文件,添加上述 export 路径

sudo gedit ~/.bashrc

在 .bashrc 文件中添加上面的两个 export,注意路径中的 install 要删除

export ASTRA_SDK_INCLUDE=/home/xsl/Disk2/WorkSpace/Code/Orbbec/AstraSDK/install/include
export ASTRA_SDK_LIB=/home/xsl/Disk2/WorkSpace/Code/Orbbec/AstraSDK/lib

最后 source ~/.bashrc

3.安装 OpenNI

cd 到 OpenNI 目录下,对 install.sh 文件添加权限后,./install.sh 运行
ubuntu20.04 noetic 安装 Astra Pro 驱动_第3张图片

然后

source OpenNIDevEnvironment

接下来进行测试:
ubuntu20.04 noetic 安装 Astra Pro 驱动_第4张图片
ubuntu20.04 noetic 安装 Astra Pro 驱动_第5张图片
在编译的过程中,可能会出现这样的错误

/usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:34: error:

这里参考文章,完成 gcc/g++ 版本的切换。

3.基于ros部署摄像头

参考完成了配置,以下内容是我按照博主的教程进行配置时出现的一些错误。
1.安装依赖
这里,根据原博文,显示 ros-noetic-libuvc 无法定位软件包,需要手动下载后编译,我把下载好的资源包传了上来,供有需要的人使用
https://download.csdn.net/download/m0_43422224/82077544
解压后,创建 build 文件夹,cd 到 build 目录下,运行

cmake ../ make/ sudo make install

进行安装。

2.编译功能包
新建工作空间,并进行 catkin_make,下载软件包后对工作空间进行编译,这里出现了错误:

 [ 98%] Built target astra_camera_node
/usr/bin/ld: CMakeFiles/camera_node.dir/src/libuvc_camera/camera_driver.cpp.o: in function `libuvc_camera::CameraDriver::~CameraDriver()':
camera_driver.cpp:(.text+0xcb4): undefined reference to `uvc_free_frame'
/usr/bin/ld: camera_driver.cpp:(.text+0xcd4): undefined reference to `uvc_exi

主要原因是找不到相应的库,于是在 ros_astra_camera 的 CMakeList.txt 中添加语句:

find_package(libuvc REQUIRED)

set(libuvc_INCLUDE_DIRS "/usr/local/include/libuvc")
set(libuvc_LIBRARIES "/usr/local/lib/libuvc.so")

libuvc的路径可根据自己的安装位置进行更改。

然后又出现了一个错误:

'nullptr' was not declared in this scope

在 ros_astra_camera 的 CMakeList.txt 中添加:

add_definitions(-std=c++11)

然后在工作空间下进行编译,catkin_make,这次没报错,编译成功
lsusb 查看设备id,

Bus 003 Device 011: ID 2bc5:0501 Azurewave Integrated Camera
Bus 003 Device 010: ID 2bc5:0403 VMware VMware Virtual USB Mouse

根据自己的 id 修改 astrapro.launch 中 0x0502 的值,我这里显示为 0501 ,因此需要将 product 参数的值修改为 0x0501

<param name="vendor" value="0x2bc5"/>
<param name="product" value="0x0502"/> #修改成自己相机的id

启动 launch 文件
source ~/catkin_ws/devel/setup.bash

roslaunch astra_camera astrapro.launch

启动 rviz:
订阅话题:

/camera/rgb/image_raw
/camera/ir/image
/camera/depth/image

即可得到相应的图像
ubuntu20.04 noetic 安装 Astra Pro 驱动_第6张图片

订阅 PointCloud2 下 /camera/depth/points 话题

即可得到点云数据
ubuntu20.04 noetic 安装 Astra Pro 驱动_第7张图片

你可能感兴趣的:(linux,ubuntu,运维)