Plus Camera用户手册

一、ROS SDK安装

Tips:

  • 目前仅支持Linux平台.
  • 建议 Kinetic(ubuntu , debian)and Melodi (ubuntu , debian)
  • ROS目前可运行Indigo版本, 但仍不建议Indigo版本, 因Ubuntu 14.04于2019年4月30日结束支持。这意味着在此日期之后Ubuntu 14.04用户将无法获得安全和维护更新。从而有可能出现ROS在ubuntu14.04后续升级依赖软件包时出现预期不到的问题,导致无法支持。
  • 未适配Noetic版本
  • 目前不支持Winows平台
  • 目前不支持ROS2

在ROS SDK安装之前,您需要确保您的机器符合兼容的版本,并已经搭建好了最基础的ROS环境

点击ROS,进入官网安装说明界面,选择平台。
Indigo --- linux 14.04

Kinetic --- linux 16.04

Melodic --- linux 18.04

配置好安装环境后,您可以点击以下链接来获得ROS SDK的源码文件

点击下载orbbec ROS SDK 提取码:kpqv

若提示您需要安装百度网盘,选择deb格式下载安装包的方式更快捷 e95eb9564d77a7ecccefc103f2bb107b.jpg

成功下载ROS SDK源码文件后,您仍需要安装相关的ros依赖项:

 sudo apt install ros-$ROS_DISTRO-rgbd-launch
 sudo apt install ros-$ROS_DISTRO-libuvc ros-$ROS_DISTRO-libuvc-camera ros-$ROS_DISTRO-libuvc-ros

注:若平台为linux 14.04,不建议安装ROS自带的libuvc库,详情请看:三、编译问题汇总-

下面开始安装和配置ROS SDK ,首先您需要创建一个用于存放和编译ROS SDK的工作空间:

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make
source /devel/setup.bash

随后把下载的ROS SDK源码文件文档内的功能包提取到工作空间的src文件夹内

操作顺序为:进入ROS SDK文件夹--进入SDK文件夹--选择20220616--打开ROS SDK压缩包--提取ros_astra_camera功能包到src文件夹

94bb9def0d89ecd085e65fe42ea22aac.jpg

由于文件权限如今仅限于root用户,所以您还需更改文件的权限:

    cd ~/catkin_ws
    sudo chmod 777 * -R

最后对工作空间内的ROS SDK功能包进行编译:

    cd ~/catkin_ws
    catkin_make --pkg astra_camera

若显示如下界面,则证明您的ROS SDK已经安装完毕 c0543afae9f0157e42ae051c97df2212.jpg

二、ROS SDK使用

您可以通过roslaunch命令来运行ROS SDK驱动:

    roslaunch astra_camera astraplus.launch

你还可以用RViz可视化工具查看摄像头所捕获的图像.

打开一个新的终端并运行以下指令:

> rviz

如果您的rviz可视化界面没有摄像头的窗口,那么需要您手动添加,点击左下角的 Add按钮进行添加,会弹出一个小窗口,选中里面的Image,然后点击ok就会添加成功.

添加成功后,需要进行设置,才能让Image框显示图像,找到侧边栏的Image点击使其展开,将Visiblity选框中的勾去掉,设置Image Topic的图像话题,一般我们选择的是/camera/rgb/image_raw/camera/depth/image_raw

rviz_add_camera_02

注意: 如果您的图像窗口无法正常显示摄像头所捕获图像,请点击侧边栏的 Camera Status,查看status是否是 Warn 或者 Error, 并点击Status 下的 Camera Info查看详细信息。 rviz_camera_info

一般而言,如果Camera Info 显示的信息为 "No image received" or "For frame[xxx]:Fixed Frame [map] does not exist".

则你需要点击侧边栏的Global Options 中的Fixed Frame ,并根据Camera Info所提示信息对其进行设置:

rviz_camera_info2

如果您想修改相机驱动的某些功能,可以参照以下几个教程:

1、修改分辨率

方法1:修改ROS的参数服务器,适合用于机器人参数可视化在线调试。减少在调试机器人时修改完参数再编译的低效操作过程。

:重启命令框,或者相机上下电,都需要重新修改参数服务器

命令:rosrun rqt_reconfigure rqt_reconfigure

  • 先启动astraplus相机节点
    roslaunch astra_camera astraplus.launch
  • 再启动参数服务器 rosrun rqt_reconfigure rqt_reconfigure
  • 参数服务器中,选择camera/driver/下,depth_mode为640400_30H(13)
  • 启动rviz工具,选择添加rviz/image,选择topic为/camera/depth/image_raw,可显示正常深度图 微信截图_20220722150143.png

方法2:通过rosparam命令对参数服务器进行操作修改。

  • 先启动launch文件。
  • rosparam list 列出参数服务器中的参数。
  • 结合Astra.cfg中output_mode_enum分辨率定义数组。
  • 在launch文件末尾加入如下:(修改深度图分辨率为640x400)

    <rosparam>

    /camera/driver/depth_mode: 13

    </rosparam>

  • 重新启动launch文件,rviz可视化工具即可看到调整后的深度图。

方法3:修改Astra.cfg文件,可固定相机的分辨率

注:修改cfg文件,需重新catkin_make编译工作区,才能生效。

  • 打开Astra.cfg,路径:ros_astra_camera\cfg\Astra.cfg
  • 查找"depth_mode",修改gen.add中对应640x400的值,如下(Astra.cfg默认depth分辨率 为VGA)

gen.add("depth_mode", int_t, 0, "Video mode for depth camera", 8, 1, 17, edit_method = output_mode_enum)

  • 重新catkin_make工作区。
  • 重新启动launch文件,此时显示的分辨率为640x400。

2、通过修改软件层来降低帧率

/src/astra_driver.cpp下,

  • 1、修改AstraDriver::configb 中 dataskip = 3 ,降到10FPS
  • 2、重新编译工作空间源代码 执行catkin_make
  • 3、rostopic hz /camera/depth/points 微信截图_20220722152104.png

3、启动多个相机

步骤1:接入相机,获取相机系列号(serial number)

  • 正常启动相机lanuch文件(以astra相机为例)
  • 需在工作空间内,通过rosservice list命令列出服务,找到camera/get_serial,在执行此服 务获取相应系列号。 微信截图_20220722152459.png

如上图获取相机系列号为:17121830167 同理获取接到机器上其他同型号相机系列号

步骤2:修改多相机启动launch文件 微信截图_20220722152510.png

例程launch: 两台astra[提取码:7ao0]

三、编译问题汇总

1、提示libOpenNI2.so: undefined reference to CXXABI_1.3.8错误 微信截图_20220721182322.png

解决方案:CXXABI_1.3.8错误,因系统gcc版本过低,可查看gcc版本,升级gcc到5.5

解决方法:升级 gcc 4.8到gcc 5.x

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
安装依赖的包(出现错误才需要如下这个)
(sudo apt-get install software-properties-common)
sudo apt-get install gcc-5 g++-5
sudo ln -s /usr/bin/gcc-5 /usr/bin/gcc -f
sudo ln -s /usr/bin/g++-5 /usr/bin/g++ -f

2、ubuntu14.04编译时提示关于libuv出现错误 微信截图_20220721182504.jpg

解决方案:如下安装指令为造成libuvc错误原因,因ROS在ubuntu14.04平台上自带的libuvc库比较老旧,接 口并没有更新,导致源码中使用libuvc接口找不到。

    ros-$ROS_DISTRO-libuvc ros-$ROS_DISTRO-libuvc-camera ros-$ROS_DISTROlibuvc-ros

解决方法:

  1. 查找系统是否安装libuvc库

    dpkg -l | grep libuvc

  2. 卸载已安装的libuvc

    sudo apt-get remove ros-indigo-libuvc*

  3. 下载libuvc最新源码并安装

    cd ~
    git clone https://github.com/ktossell/libuvc
    cd libuvc
    mkdir build
    cd build
    cmake ..
    make && sudo make install

3、编译过程中,提示有权限问题(Permerssion denied),如Astra.cfg或者UVCCamera.cfg 微信截图_20220721183720.jpg

解决方案: 修改astra.cfg可执行文件(具体以本地文件所在路径为准)

解决方法:

    cd ~/catkin_ws
    chmod 777 -R /src/ros_astra_camera-master/cfg

4、编译过程中,提示缺少'gstremaer'相关package a96797e0a2596328b93a7a75e3066e1a.jpg

解决方案:安装gstreamer模块时缺漏,重新安装

解决方法:

     sudo apt-get install libgstremaer*k0

results matching ""

    No results matching ""