配置r3live运行环境中出现的一些问题

按照github配置安装环境即可。

实测ubuntu20.04和ros-noetic也可以成功运行。

问题一:ROS安装过程中:sudo apt install ros-noetic-desktop-full时链接失败。(connection failed)显示 [IP: 91.189.91.39 80]等问题,

解决方法:在 “软件和更新-->ubuntu软件-->下载自” 选项中选择mirrors.aliyun.com ,清华源也可以。再重新按照ROS的安装步骤进行即可。另外,注意要勾选main、universe、restricted、multiverse四个选项。

问题2:找不到~/catkin_ws/src文件夹

r3live原文教程第四步 Build R3LIVE on ROS 里面

cd ~/catkin_ws/src

这里的~/catkin_ws/src文件夹需要自己在根目录下创建 。

问题3:报错误Could not find a package configuration file provided by “livox_ros_driver”with any of the following names: livox_ros_driverConfig.cmake       livox_ros_driver-config.cmake

克隆r3live之后运行下面这一步时,可能会报错误Could not find a package configuration file provided by “livox_ros_driver”with any of the following names: livox_ros_driverConfig.cmake       livox_ros_driver-config.cmake,如下图所示。

catkin_make

 

找不到“livox_ros_driver”提供的包配置文件,这是因为你没有安装或者在安装livox_ros_driver之后没有使用  source ./devel/setup.sh  命令更新当前ROS包环境

解决方法:如果没有安装,则下载Livox-SDK。

                如果没有更新环境,在ws_livox中运行  source ./devel/setup.sh 。另外需要注意

注意:source ./devel/setup.sh 该命令只在当前的终端中有效,所以报错有可能是因为你在新建的终端窗口中运行 catkin_make。这种情况只需要先去指定目录下先source一下再回到~/catkin_ws/src目录下catkin_make。

cd ws_livox
source ./devel/setup.sh
cd ~/catkin_ws/src
catkin_make

 问题四:roslaunch r3live r3live_bag.launch时报错如下:

 

解决方法:在~/catkin_ws文件夹下运行下面命令 ,同样注意source命令只在当前终端生效。不要分两个终端运行下面命令。

cd ~/catkin_ws
source ~/catkin_ws/devel/setup.bash
roslaunch r3live r3live_bag.launch

### 如何在 ARM 架构上运行 R3Live 要在 ARM 构架上成功运行 R3Live,需完成一系列配置和调整工作。以下是详细的说明: #### 1. 安装依赖项 R3Live 需要一些必要的依赖库才能正常编译和运行。其中 Eigen 库是一个重要的依赖项。Eigen 是 C++ 的线性代数模板库,而 Ceres Solver(用于非线性优化)也依赖于它。 可以通过以下命令安装 Eigen 和其他必要工具: ```bash sudo apt-get update && sudo apt-get upgrade -y sudo apt-get install libeigen3-dev build-essential cmake git pkg-config python3-pip -y pip3 install numpy scipy matplotlib opencv-python-headless ros-noetic-catkin ``` 上述操作确保了开发环境具备构建 ROS 包所需的基础组件以及 Python 工具链[^3]。 #### 2. 修改源码适配 ARM 平台 由于 R3Live 原生支持的是基于 X86 的 SSE 指令集优化,因此当移植到 ARM 设备时需要禁用这些特定硬件加速功能。具体做法如下: 编辑 `CMakeLists.txt` 文件或相关头文件中的宏定义区域,找到类似于下面这样的预处理语句: ```cpp #if CV_SSE2 || defined(__SSE2__) // 使用 SSE2 加速逻辑... #endif ``` 将其改为无条件启用状态或者直接移除该片段以避免因缺少对应 CPU 扩展而导致错误[^1]。 另外需要注意的是,关闭这部分可能会稍微降低性能表现;但这是为了兼容不同类型的处理器所做出的妥协方案之一。 #### 3. 编写启动脚本 创建一个新的 shell 脚本来简化整个流程。假设我们已经有了一个名为 `start_r3live.sh` 的脚本,则其内容大致如下所示: ```bash #!/bin/bash source /opt/ros/noetic/setup.bash cd ~/catkin_ws/src/r3live/ roslaunch r3live r3live_bag.launch & rosbag play YOUR_DOWNLOADED.bag --clock wait $! echo "Process finished." ``` 记得赋予执行权限后再调用此脚本即可一键开启服务。 #### 4. 处理 Linux 内核级初始化细节 (可选) 对于某些高度定制化的嵌入式系统而言,可能还需要深入理解底层机制比如 MMU 设置过程等知识点以便更好地调试问题所在之处。例如,在加载过程中涉及到查找合适的核心版本号这一环节里使用的汇编技巧就很有代表性——通过读取寄存器值并与预期模式逐一比较直至发现最佳匹配对象为止[^2]。 --- ### 总结 综上所述,虽然将原本面向 Intel/AMD 系列设计的应用程序迁移到 ARM 上存在一定挑战,但是只要按照以上步骤逐步实施就能顺利达成目标!
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值