Ubuntu18.04 ros 离线本地源的制作及离线安装(xavier arm架构)

本文详细介绍了如何在两台xavierARM架构设备上,使用Ubuntu18.04进行ROS离线本地源的制作和离线安装。首先在能联网的设备(xavierA)上安装ROS并保存deb包,然后制作本地源,包括安装依赖(gnupg,rng-tools),解决安装冲突,生成公钥私钥并签名Release文件。最后,将生成的本地源文件传输到无网设备(xavierB)上,导入公钥,修改apt源,更新索引并安装ROS。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

@[TOC](Ubuntu18.04 ros 离线本地源的制作及离线安装(xavier arm架构))

1 准备两台相同系统架构的电脑

此处使用两台xavier 均为arm架构。ubunu18.04,预备安装 ros1
xavier A可联网,用于制作本地源的
xavier B不联网,用于安装离线源

2 在xavier A上安装ros

首先打开xavierA中的var/cache/apt/archives,记住现有存在的安装包及文件。
注意:apt install 为安装后不保留deb安装包,apt-get install为安装后保留deb安装包,保存位置为var/cache/apt/archives内。

在这里插入图片描述
随后按照如下步骤安装,

1. sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
2.  wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc
3.  步骤2中无法直接获得ros.asc,则运行sudo gedit /etc/hosts,在文件第三行添加199.232.28.133  raw.githubusercontent.com,保存退出。
4. 执行步骤2,成功下载ros.asc。
5. 执行sudo apt-key add ros.asc
6.  执行sudo apt update
7.  sudo apt-get install ros-melodic-desktop-full
8.  echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
9.  source ~/.bashrc
10. 运行roscore,验证是否安装成功。

3 ROS离线本地源的制作

本节主要参考:Ubuntu18.04LTS 离线本地源的制作

3.1 前期准备

制作前先安装好需要的依赖库:

sudo apt install gnupg
sudo apt install rng-tools

其中安装 rng-tools,会提示

trying to overwrite '/etc/default/rng-tools', which is also in package nvidia-l4t-init 32.6.1-20210916210945
Errors were encountered while processing:
 /var/cache/apt/archives/rng-tools_5-0ubuntu4_arm64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

因此执行强制重写覆盖安装:

sudo dpkg -i --force-overwrite  /var/cache/apt/archives/rng-tools_5-0ubuntu4_arm64.deb

后续安装中为避免一些问题,先进入root模式。
第一次进入root先执行

sudo passwd root

设置密码后

su root

进入root后,
生成随机数:

rngd -r /dev/urandom

生成公钥和私钥(填写自定义名字、邮箱、密码,选择o):

gpg --gen-key

导出公钥(建议放在制作本地源后进行,容易过期,username换成上一步填写的name)

gpg -a --export username> username.pub

3.2 开始制作

进入本地deb文件所在目录
cd /var/cache/apt/archives/
这里我将除第2步安装过的包外的包拷到了home下的文件夹内了。
创建目录,将所有下载的安装包拷贝到该目录:

mkdir /media/packs
cp -r /var/cache/apt/archives/*.deb /media/packs/
// 我自己先进入deb目录内:cp -r  *.deb /media/packs/

随后进入/media/packs/

cd /media/packs/

生成Package.gz

apt-ftparchive packages . > Packages
gzip -c Packages > Packages.gz

注意,这一步如果没有apt-ftparchive指令,需要

apt-get install 
apt-update 
apt-upgrade

随后生成Release

apt-ftparchive release ./ > Release

对Release签名(密码为第2步设定的密码)

gpg --clearsign -o InRelease Release 
gpg -abs -o Release.gpg Release 

压缩本地源
先进入到/media文件目录下:

cd ..// (刚刚在/media/packs/内)
tar -zcvf mypacks.tar.gz packs/

完成后,此时导出公钥,最后得到如下图的两个文件
图2

4 xavierB下安装ros

将图中两个文件拷贝到xavierB的/opt中
导入公钥(请修改对应的username)

cd /opt (ros一般的安装目录)
apt-key add username.pub

解压packs到对应位置

tar -zxvf packs.tar.gz

备份apt源文件设置

cp /etc/apt/sources.list /etc/apt/sources.list.bak

修改apt源

sudo gedit /etc/apt/sources.list

将sources.list 原来的内容都注释掉。在最后添加

deb file:///media/packs/ /

注意上面的 file后面有3个/,且packs/和 后面/ 之间的空格。

更新索引

sudo apt-get update

到这个时候,设置本地源的工作完成。

安装ros:

 sudo apt install ros-melodic-desktop-full 

然后配置环境变量,个人用户,非 root ,命令如下:

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc

source ~/.bashrc

完成后roscore运行成功。

<think>好的,我现在需要帮助用户解决关于Jetson Xavier NX在Ubuntu 20.04上使用Realsense D455相机运行ORB-SLAM3的兼容性和设置问题。首先,我要整理现有的信息,看看用户提供的引用内容。 用户引用了三个资料: 1. 引用[1]提到Jetson Xavier NX配置Ubuntu 20.04时需要注意版本问题,避免使用22.04,可能因为驱动或兼容性问题。 2. 引用[2]是关于Jetson TX2 NX在Ubuntu 18.04上配置ROS melodic、turtlebot、Realsense D455和ORB-SLAM2的步骤,包括移动头文件和安装ORB-SLAM2。 3. 引用[3]则是在ORB_SLAM3目录下编译的步骤,使用build.sh脚本。 用户的问题集中在Jetson Xavier NX是否兼容Ubuntu 20.04、Realsense D455和ORB-SLAM3,以及如何设置。首先,我需要确认各个组件的兼容性。 首先,Jetson Xavier NX官方支持Ubuntu 18.04和20.04,但根据引用[1],用户可能遇到安装问题,特别是网络连接不稳定时。因此,建议使用Ubuntu 20.04,但需注意驱动和依赖的安装。 接下来,Realsense D455的SDK是否支持Ubuntu 20.04。Realsense的官方文档通常支持较新的系统,但需要确认具体的安装步骤,可能需要从源码编译librealsense,尤其是在ARM架构的Jetson设备上。 然后是ORB-SLAM3,它依赖于ROS、Pangolin、OpenCV、Eigen等库。引用[2]和[3]提到了在TX2 NX上安装ORB-SLAM2,而ORB-SLAM3可能需要更高的依赖版本,比如OpenCV 4.x。Ubuntu 20.04默认的OpenCV版本是4.2,可能适合ORB-SLAM3。 接下来,需要整合安装步骤。大致流程可能是: 1. 安装Ubuntu 20.04在Jetson Xavier NX上,确保系统更新。 2. 安装ROS Noetic(对应Ubuntu 20.04),因为引用[2]用的是ROS Melodic(对应18.04)。 3. 安装librealsense SDK,可能需要从源码构建,确保支持D455。 4. 安装依赖库,如Eigen3、Pangolin、OpenCV等。 5. 编译ORB-SLAM3,可能需要调整CMakeLists.txt以适应Jetson的环境,比如调整GPU架构或优化编译选项。 6. 测试Realsense D455的摄像头连接,确保ROS能获取图像数据,并运行ORB-SLAM3节点。 可能遇到的问题包括: - librealsense在ARM架构上的编译问题,可能需要应用特定补丁或调整构建参数。 - ORB-SLAM3的依赖版本冲突,如Pangolin或OpenCV版本不匹配。 - Jetson Xavier NX的算力是否足够运行ORB-SLAM3,可能需要优化设置,如降低图像分辨率或使用轻量级参数。 需要参考现有的社区资源或NVIDIA论坛,看看是否有其他用户在类似配置上成功运行的案例。此外,可能需要在安装过程中处理CUDA的支持,因为Jetson设备使用NVIDIA的GPU,ORB-SLAM3可能利用CUDA加速。 最后,生成相关问题时要围绕兼容性、安装步骤、常见问题解决、性能优化等方面提问,帮助用户进一步深入理解可能遇到的问题。</think>### Jetson Xavier NX + Ubuntu 20.04 + Realsense D455 + ORB-SLAM3 兼容性与配置指南 #### 1. **硬件与系统兼容性** - **Jetson Xavier NX** 官方支持 Ubuntu 18.04 和 20.04。根据引用[1],建议使用 Ubuntu 20.04,但需注意安装过程中可能因驱动或网络问题导致设备识别异常[^1]。 - **Realsense D455** 支持 Ubuntu 20.04,但需通过源码编译 `librealsense`(ARM架构需特殊配置)。 - **ORB-SLAM3** 依赖 ROS、OpenCV、Eigen 等库,Ubuntu 20.04 默认的 OpenCV 4.2 和 Eigen3 可满足需求。 #### 2. **配置步骤** ##### (1) 系统与驱动 1. 刷写 Jetson Xavier NX 的 Ubuntu 20.04 镜像,并更新系统: ```bash sudo apt update && sudo apt upgrade ``` ##### (2) 安装 ROS Noetic Ubuntu 20.04 需使用 ROS Noetic(替代引用[2]中的 Melodic): ```bash sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu focal main" > /etc/apt/sources.list.d/ros-latest.list' sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 sudo apt update && sudo apt install ros-noetic-desktop-full ``` ##### (3) 安装 Realsense D455 驱动 1. 安装依赖: ```bash sudo apt install libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev ``` 2. 编译 `librealsense`(需调整 ARM 平台参数): ```bash git clone https://github.com/IntelRealSense/librealsense.git cd librealsense && mkdir build && cd build cmake .. -DBUILD_EXAMPLES=true -DCMAKE_BUILD_TYPE=Release -DFORCE_RSUSB_BACKEND=true make -j4 && sudo make install ``` ##### (4) 安装 ORB-SLAM3 依赖 1. **Eigen3**: ```bash sudo apt install libeigen3-dev ``` 2. **Pangolin**: ```bash git clone https://github.com/stevenlovegrove/Pangolin.git cd Pangolin && mkdir build && cd build cmake .. && make -j4 && sudo make install ``` ##### (5) 编译 ORB-SLAM3 1. 克隆仓库并调整编译配置: ```bash git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git cd ORB_SLAM3 && chmod +x build.sh # 修改 CMakeLists.txt,确保 OpenCV 路径正确 ./build.sh ``` ##### (6) 测试 Realsense 与 ORB-SLAM3 1. 启动 Realsense 摄像头: ```bash realsense-viewer ``` 2. 运行 ORB-SLAM3(需配置 ROS 话题): ```bash ./Examples/ROS/ORB_SLAM3/Monocular /path/to/vocabulary.txt /path/to/settings.yaml ``` #### 3. **常见问题** - **Realsense 识别失败**:检查 USB 3.0 连接,或尝试重新编译驱动[^2]。 - **ORB-SLAM3 编译错误**:确保 CUDA 路径正确(Jetson 默认已安装 CUDA)。 - **性能优化**:在 `CMakeLists.txt` 中启用 `-march=native` 优化,或降低摄像头分辨率。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值