Jetson Xavier NX上安装ROS、Cartographer、基于D435i的Yolov5+TensorRT7的流程及问题解决

主要记录下自己在Jetson Xavier NX上运行ROS、Cartographer、基于D435i的Yolov5+TensorRT的系统环境配置流程,经过了无数次在ARM上的安装,这次是最流畅的一次环境配置,很丝滑。感谢各位大佬们的帮助!!!
(采用的是官方的Xavier NX)

*目录

**
**
一、Jetson Xavier NX 用SD卡刷Jetpack4.5.1
二、开机配置
三、ROS环境安装
四、Cartographer环境安装
五、YoloV5+TensorRT7环境安装**
**

**

一、Jetson Xavier NX 用SD卡刷Jetpack4.5.1

**
官方下载:https://developer.nvidia.com/embedded/downloads
下载完后按照官网刷镜像就ok
https://developer.nvidia.com/embedded/learn/get-started-jetson-xavier-nx-devkit#prepare

jetpack4系列默认ubuntu18.04

二、开机配置

试了几次更换国内源,但是出现upgrade后重启进不去系统,Jetpack4.6没问题,因此本文省略换国内源。
1、直接更新:

sudo apt-get update
sudo apt-get upgrade

2、CUDA环境变量配置

sudo vim ~/.bashrc # 使用 Vim 编辑环境变量

在最后添加下面两行

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

wq保存退出

source ~/.bashrc

安装pip3

sudo apt install python3-pip python3-dev
python3 -m pip install --upgrade pip  #升级pip

安装 Jetson-stats 管理工具

sudo -H pip3 install jetson-stats

运行,输入命令,如果出现错误在安装一遍运行

sudo jtop

可通过按数字 1-6 来切换不同功能界面,按 q 离开。后续环境配置需要TensorRT7
在这里插入图片描述
3、ibus输入法安装

sudo apt-get install ibus-pinyin
安完重启,配置
sudo ibus-setup

三、ROS环境安装

1、添加ROS软件源

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

2、添加公钥

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

3、更新

sudo apt-get update

4、安装ros,推荐桌面完整版

sudo apt install ros-melodic-desktop-full

5、初始化 rosdep

sudo rosdep init
此时会报错误缺少rosdep包,用python安装(不要用python3安装):
sudo apt-get install python-rosdep
ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.
直接新建文件并添加内容:
sudo su 
sudo mkdir -p /etc/ros/rosdep/sources.list.d
cd /etc/ros/rosdep/sources.list.d
sudo gedit 20-default.list
添加如下内容:
# os-specific listings first rosdep update
yaml https://gitee.com/wybros/rosdistro/raw/master/rosdep/osx-homebrew.yaml osx

# generic
yaml https://gitee.com/wybros/rosdistro/raw/master/rosdep/base.yaml
yaml https://gitee.com/wybros/rosdistro/raw/master/rosdep/python.yaml
yaml https://gitee.com/wybros/rosdistro/raw/master/rosdep/ruby.yaml
gbpdistro https://gitee.com/wybros/rosdistro/raw/master/releases/fuerte.yaml fuerte
# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead

6、update之前进行文件修改

1.默认python2安装,需要到python2.7下更改文件路径
(1)/usr/lib/python2.7/dist-packages/rosdep2/rep3.py
将'https://raw.githubusercontent.com/ros/rosdistro/master/releases/targets.yaml'改为'https://gitee.com/wybros/rosdistro/raw/master/releases/targets.yaml'
(2)/usr/lib/python2.7/dist-packages/rosdistro/__init__.py
将'https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'改为'https://gitee.com/wybros/rosdistro/raw/master/index-v4.yaml'
修改完之后
rosdep update
设置环境变量:
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
roscore即可。
安装rosinstall:
sudo apt-get install  python-rosinstall python-rosinstall-generator python-wstool build-essential

四、Cartographer环境安装

参考链接:https://blog.youkuaiyun.com/waihekor/article/details/117221931
1、安装依赖库

sudo apt-get update
sudo apt-get install -y \
    clang \
    cmake \
    g++ \
    git \
    google-mock \
    libboost-all-dev \
    libcairo2-dev \
    libcurl4-openssl-dev \
    libeigen3-dev \
    libgflags-dev \
    libgoogle-glog-dev \
    liblua5.2-dev \
    libsuitesparse-dev \
    lsb-release \
    ninja-build \
    stow

2、初始化工作空间

cd catkin_google_ws
wstool init src

3、将链接中的功能包下载,把以下版本的功能包放到src目录里,版本要对应。
在这里插入图片描述
把解压的protobuf放到src同级目录下

4、ceres包下编译

cd ~/catkin_google_ws/src/ceres-solver-1.13.0
mkdir build
cd build
cmake .. -G Ninja -DCXX11=ON
ninja
CTEST_OUTPUT_ON_FAILURE=1 ninja test
sudo ninja install

5、安装protobuf

cd ~/catkin_google_ws/protobuf
mkdir build
cd build
cmake -G Ninja \
  -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
  -DCMAKE_BUILD_TYPE=Release \
  -Dprotobuf_BUILD_TESTS=OFF \
  ../cmake
ninja
sudo ninja install
装arm的:
cd ..
把autogen.sh文件的属性改成可执行文件
./autogen.sh
./configure --host=arm-linux --with-protoc=protoc
make
sudo make install

6、编译cartographer

cd ~/catkin_google_ws$
catkin_make_isolated --install --use-ninja

**
报错1:
**

在这里插入图片描述
解决方法:在下载回来的cartographer上有安装absl的脚本

sudo chmod +x ~/catkin_google_ws/src/cartographer-master/scripts/install_abseil.sh
cd ~/catkin_google_ws/src/cartographer-master/scripts
 ./install_abseil.sh

**
报错2:
**

/usr/local/bin/protoc: error while loading shared libraries: libprotoc.so.14: cannot open shared object file: No such file or directory

解决方法:

vim ~/.bashrc

底行添加:export LD_LIBRARY_PATH=/usr/local/lib

source ~/.bashrc

最后添加环境变量

echo "source ~/catkin_google_ws/install_isolated/setup.bash" >> ~/.bashrc
source ~/.bashrc

建图时发现工作空间路径和系统环境路径有顺序,以下是我的,可以正常建图。
在这里插入图片描述

至此Cartographer的环境完美安装,安装了无数次后,最快完成的一次,感谢各位大佬的帮助。
根据自己需求建图吧,我的实际建图效果:
在这里插入图片描述

五、YoloV5+TensorRT7环境安装

1、YoloV5环境安装
参考链接:https://github.com/killnice/yolov5-D435i(Python版本)
**
报错1:
**

如果直接pip install -r requirements.txt安装 matplotlib会报错
解决办法:

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib==3.2.2

然后删掉txt中的matplotlib.本文采用默认自带的Python3.6.9安装环境

pip3 install -r requirements.txt

**
报错2:
**

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
launchpadlib 1.10.6 requires testresources, which is not installed.

解决办法:

python3.6 -m pip install launchpadlib

2、D435i环境安装
(1)目前还没有arm架构下的pyralsense2的PyPi包,因此在jetson使用pip安装的话,无法找到满足的版本,所以就源码编译安装:
下载zip包:https://github.com/IntelRealSense/librealsense/releases/
安装realsense2.50版本:
https://blog.youkuaiyun.com/weixin_62952541/article/details/130001682
安装realsense_ros报错:
在这里插入图片描述

把/usr/include/opencv 改成/usr/include/opencv4
之后ros下如果缺ddynamic_reconfigureConfig:
sudo apt-get install ros-melodic-ddynamic-reconfigure

3、TensorRT加速过程(C++版)
参考链接:https://github.com/RichardoMrMu/yolov5-deepsort-tensorrt
验证了下TensorRT8确实会出现版本问题,TensorRT7没问题。

**本文转载均给出链接,所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系邮箱840487058@qq.com删除。

<think>嗯,用户之前询问了关于SLAM底盘的推荐,包括价格、性能特点和集成方法,现在又具体问到了RPLIDAR A3这款底盘怎么样。首先,我需要确认用户是否混淆了产品类型,因为RPLIDAR A3实际上是思岚科技的一款激光雷达,而不是完整的移动底盘。可能在之前的对话中,我推荐了思岚的A1M8底盘,其中集成了RPLIDAR A1雷达,所以用户可能误以为A3也是一个底盘。 接下来,我应该先澄清这一点,说明RPLIDAR A3是激光雷达,不是底盘。然后,如果用户实际上是想了解这款雷达的性能,或者是否有底盘产品使用了A3雷达,需要进一步分析。例如,思岚可能有其他底盘产品搭载了更高版本的雷达,如A3,但根据我的知识库,A1M8用的是A1雷达,而A3可能用于更高级的底盘或需要更高性能的场景。 然后,我需要评估用户的需求。用户之前提到的是医院环境,低噪音、稳定导航、易开发,所以如果A3雷达性能更好,是否适合这样的场景?例如,A3的测距更远,扫描频率更高,可能在大型医院或需要更高精度的环境中表现更好,但价格可能更高,也需要相应的底盘支持。 另外,用户可能是在考虑自研底盘,使用RPLIDAR A3作为传感器,但根据用户之前的要求,他们不想自研,而是买成品。因此,我需要推荐集成A3雷达的成品底盘,或者说明A3通常作为单独传感器用于哪些底盘。 如果思岚科技有使用A3雷达的底盘,我需要提供相关信息;如果没有,可能需要建议用户选择支持A3雷达集成的第三方底盘,并说明集成步骤,如通信协议、接口兼容性等。 最后,确保回答结构清晰,分点说明RPLIDAR A3的性能,适用场景,与主控集成的方法,以及成品底盘推荐,帮助用户全面了解该产品,并根据他们的实际需求做出选择。</think>--- ### **RPLIDAR A3 详细分析** **注意**:RPLIDAR A3 是**激光雷达传感器**(思岚科技产品),而非完整的移动底盘。若需成品SLAM底盘,需搭配底盘结构、电机、主控等组件。以下是其作为核心传感器的性能及适配场景: --- #### **一、RPLIDAR A3 基础参数** - **价格**:约¥1800-2500(单雷达,不含底盘) - **性能特点**: - **测距范围**:25米(室内实际有效距离约8-12米)。 - **扫描频率**:16Hz(每秒16圈),角度分辨率≤0.45°。 - **精度**:±2cm(@1σ,10米内)。 - **通信接口**:USB/UART,支持ROS/ROS2驱动。 - **抗光干扰**:支持室内混合光源(如医院走廊日光灯+窗户自然光)。 --- #### **二、适配的成品底盘方案** 若需基于RPLIDAR A3构建完整SLAM底盘,可参考以下组合方案: 1. **Yahboom X3-Pro移动底盘(+ RPLIDAR A3)** - **总成本**:约¥5000-6000(含雷达) - **性能**: - 负载15kg,麦克纳姆轮(全向移动),适配医院狭窄拐角。 - 主控推荐:Jetson Xavier NX(运行ROS Melodic/Cartographer)。 - 导航精度:±5cm(需融合IMU数据)。 2. **思岚科技定制底盘(第三方集成)** - **方案**:购买思岚的**底盘模组(无雷达版)** + RPLIDAR A3。 - **优势**:兼容思岚官方SDK,可直接调用`rplidar_ros`驱动包。 --- #### **三、医院场景下的优缺点** - **优点**: - **长距探测**:适合大型医院走廊(>20米通道),提前规划路径。 - **高分辨率**:可识别细小障碍物(如输液架、轮椅扶手)。 - **缺点**: - **成本高**:单雷达价格已接近低端成品底盘(如Yahboom Humble)。 - **复杂度**:需自行配置底盘-雷达标定(外参矩阵)。 --- #### **四、与主控的集成方法** 1. **硬件连接**: - 将RPLIDAR A3通过USB接入主控(如Jetson Nano),供电需独立5V/2A。 2. **软件配置**: ```bash # 安装ROS驱动 sudo apt-get install ros-$ROS_DISTRO-rplidar-ros # 启动雷达节点 roslaunch rplidar_ros rplidar_a3.launch ``` 3. **数据融合**: - 将雷达点云(`/scan`话题)与底盘编码器数据(`/odom`)通过`robot_localization`包融合,提升定位鲁棒性。 --- ### **选型建议** - **推荐使用场景**: - 医院大厅、长走廊等大空间区域(需远距离建图)。 - 对细小障碍物敏感的任务(如避开临时摆放的医疗推车)。 - **不推荐场景**: - 预算有限的小型项目(可降级为RPLIDAR A1或2D激光雷达)。 - 强反光地面环境(需额外配置深度相机补盲)。 如需完整方案(底盘+雷达+主控),建议联系思岚科技或Yahboom定制,以减少软硬件调试时间。 😊
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值