news 2026/5/25 18:44:19

Ubuntu 20.04 + ROS Noetic 下,奥比中光Astra相机驱动安装的完整避坑实录

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ubuntu 20.04 + ROS Noetic 下,奥比中光Astra相机驱动安装的完整避坑实录

Ubuntu 20.04 + ROS Noetic 下奥比中光Astra相机驱动安装全攻略

第一次在Ubuntu 20.04上安装奥比中光Astra相机的ROS驱动时,我本以为按照网上的教程一步步来就能顺利完成。然而现实给了我当头一棒——从依赖缺失到版本冲突,从路径错误到编译失败,每一步都暗藏玄机。这篇文章将带你完整经历我踩过的每一个坑,并分享最终成功的解决方案。

1. 环境准备与基础依赖安装

在开始之前,确保你已经完成了以下基础环境配置:

  • Ubuntu 20.04 LTS 系统
  • ROS Noetic 完整安装
  • 基本的编译工具链(gcc, g++, make等)

1.1 安装libuvc

大多数教程都会从libuvc开始,这是一个开源的USB视频类库,Astra相机依赖它进行底层通信。

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

这个步骤通常比较顺利,但如果遇到问题,可能是缺少基础开发库:

sudo apt-get install build-essential cmake libusb-1.0-0-dev

1.2 处理ROS依赖包

网上常见的依赖安装命令是:

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

但实际执行时,你可能会遇到"无法定位软件包ros-noetic-libuvc"的错误。这是因为Noetic版本的ROS中,这个包已经被重命名或不再维护。

解决方案:跳过这个依赖,事实证明Astra相机驱动可以不依赖这些ROS包正常运行。

2. 创建工作空间与驱动下载

2.1 创建工作空间

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

2.2 获取Astra相机驱动

官方驱动仓库位于:

cd ~/camera_ws/src git clone https://github.com/orbbec/ros_astra_camera

如果克隆速度慢,可以考虑从国内镜像获取,或者直接下载zip包。

3. 编译过程中的疑难杂症

3.1 glog缺失问题

首次编译时,最常见的错误是:

None of the required 'libglog' found

解决方案:安装Google的glog库

git clone https://github.com/google/glog sudo apt-get install autoconf automake libtool cd glog mkdir build cd build cmake .. make -j$(nproc) sudo make install

注意:如果make过程中出现内存不足,去掉-j参数使用单线程编译

3.2 CMake版本过低

在较新的Ubuntu系统上这个问题较少见,但如果你遇到"CMake 3.19.2 or higher is required"的错误,需要升级CMake:

sudo apt remove cmake wget https://github.com/Kitware/CMake/releases/download/v3.22.1/cmake-3.22.1.tar.gz tar -xzvf cmake-3.22.1.tar.gz cd cmake-3.22.1 ./bootstrap make -j$(nproc) sudo make install

验证版本:

cmake --version

3.3 glog版本冲突

即使安装了glog,仍可能遇到编译错误。这是因为驱动可能需要特定版本的glog。

解决方案:尝试使用glog 0.5.0版本:

wget https://github.com/google/glog/archive/refs/tags/v0.5.0.tar.gz tar -xzvf v0.5.0.tar.gz cd glog-0.5.0 mkdir build cd build cmake .. make sudo make install

4. 路径配置与最终编译

4.1 解决libuvc路径问题

编译卡在96%通常是找不到libuvc库的问题。需要手动指定libuvc的路径:

编辑~/camera_ws/src/ros_astra_camera/CMakeLists.txt,在适当位置添加:

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

4.2 完整编译流程

cd ~/camera_ws rm -rf build devel # 清除之前的编译结果 catkin_make source devel/setup.bash

4.3 设置USB权限

roscd astra_camera sudo chmod 777 scripts/create_udev_rules ./scripts/create_udev_rules

5. 启动相机与验证

5.1 启动相机节点

roslaunch astra_camera astra.launch

5.2 使用RViz查看图像

rosrun rviz rviz

在RViz中添加Image显示,并选择相应的topic:

  • /camera/rgb/image_raw (彩色图像)
  • /camera/depth/image (深度图像)

5.3 常见问题排查

如果启动失败,检查以下方面:

  1. USB连接是否正常(尝试不同USB口)
  2. 查看日志中的具体错误信息
  3. 确认所有依赖都已正确安装
  4. 检查~/.bashrc中是否source了ROS和workspace的setup.bash

6. 性能优化与高级配置

6.1 相机参数调整

通过修改launch文件可以调整相机参数:

<param name="depth_registration" value="true" /> <param name="color_depth_synchronization" value="false" /> <param name="auto_exposure" value="true" />

6.2 降低CPU占用

在launch文件中添加:

<param name="depth_mode" value="320x240_30" /> <param name="color_mode" value="320x240_30" />

6.3 多相机支持

如果需要使用多个Astra相机,需要为每个相机指定唯一的serial_no:

<param name="serial_no" value="ABC123" />

7. 开发建议与经验分享

在实际项目中使用Astra相机时,有几个实用技巧值得分享:

  1. 帧率稳定性:在ROS中,Astra相机的帧率有时会不稳定。可以通过限制USB带宽使用来改善:
sudo sh -c 'echo 1000 > /sys/module/usbcore/parameters/usbfs_memory_mb'
  1. 点云生成:结合depth_image_proc包可以轻松生成点云:
roslaunch astra_camera astra_pro.launch rosrun depth_image_proc point_cloud_xyzrgb depth:=/camera/depth/image_raw rgb:=/camera/rgb/image_rect_color camera_info:=/camera/rgb/camera_info _queue_size:=10
  1. 校准建议:定期进行相机校准能显著提高深度图像质量。推荐使用camera_calibration包:
rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.0245 image:=/camera/rgb/image_raw camera:=/camera/rgb
  1. ROS2支持:如果你计划迁移到ROS2,可以考虑使用astra_camera2包,它提供了更好的ROS2支持。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/1 9:31:43

树莓派5到手第一步:Debian 12 (Bookworm) 串口配置避坑全记录

树莓派5与Debian 12串口配置实战指南&#xff1a;从设备映射到多串口启用 刚拿到树莓派5的开发者们&#xff0c;当你们兴奋地准备连接各种串口设备时&#xff0c;是否发现按照旧教程操作总是遇到各种"坑"&#xff1f;Debian 12&#xff08;Bookworm&#xff09;系统与…

作者头像 李华
网站建设 2026/4/1 9:30:58

【CARLA避坑指南】0.10.0版本安装疑难杂症全解析

1. CARLA 0.10.0版本安装前的准备工作 在开始安装CARLA 0.10.0之前&#xff0c;我们需要做好充分的准备工作。这个版本相比之前的版本有了很大的升级&#xff0c;特别是引入了虚幻引擎5.5的支持&#xff0c;这意味着它对硬件和软件环境的要求都更高了。 首先&#xff0c;我们需…

作者头像 李华
网站建设 2026/4/28 23:03:24

解决Keil5.37升级后ARM-Compiler与fromelf工具链缺失问题

1. Keil MDK5.37升级后的典型问题 最近升级到Keil MDK5.37版本后&#xff0c;很多开发者都遇到了两个非常棘手的问题&#xff1a;一是工程默认使用的ARM Compiler 5&#xff08;AC5&#xff09;突然找不到了&#xff0c;二是fromelf工具链路径失效导致生成bin文件失败。这两个问…

作者头像 李华
网站建设 2026/4/1 9:24:10

3分钟搞定网页资源下载:猫抓浏览器扩展的终极使用指南

3分钟搞定网页资源下载&#xff1a;猫抓浏览器扩展的终极使用指南 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否曾遇到过心仪的视频无法下…

作者头像 李华
网站建设 2026/4/1 9:23:43

Win10/Win11磁盘合并全攻略:第三方工具 vs 系统自带功能实测对比

Win10/Win11磁盘合并全攻略&#xff1a;第三方工具 vs 系统自带功能深度解析 当你的电脑硬盘空间告急时&#xff0c;合并磁盘分区可能是最直接的解决方案之一。不同于简单的删除文件或清理垃圾&#xff0c;磁盘合并能从根本上重组存储空间&#xff0c;让系统运行更加流畅。本文…

作者头像 李华