Linux 35.5 + JetPack v5.1.3@ros-noetic安装

1. 源由

因为目前香港HKUST Aerial Robotics Group开发了一系列基础技术,使空中无人机能够在复杂环境中自主运行。研究涵盖了空中自主导航建模比较完整技术栈,重点在于状态估计、地图绘制、轨迹规划、多机协调以及使用低成本传感和计算组件进行测试平台开发,其代码也被开源在Github - HKUST-Aerial-Robotics

若能很好的借鉴并应用上述技术,在实际领域进行应用拓展,将会对无人机的应用得到显著提升,进而突破闭源商业系统的垄断地位。

问题是,目前该代码基于ROS系统,ROS2上不支持,当然据悉后续会进行移植和兼容性拓展

因此,目前比较现实的问题就是在我们Jetson Orin Nao上进行ROS系统的安装,以支持上述技术栈代码的测试、应用、以及二次开发。

2. 调研

  1. ROS Noetic NinjemysMay, 2025 Focal(ubuntu 20.04) EOL
  2. Jetson Orin 系列对于ROS原生态的安装到Linux 36.2/36.3 Jammy(ubuntu 22.04)开始就不再支持。
  3. Jetson Orin 系列对于ROS在Jammy上有容器支持的尝试,目前尚未过编译。
  1. Jetson Archived Documentation中,我们可以找到最近的Linux 35.5.0,该版本是基于Focal的版本,因此直接支持ROS。

3. 安装

Step 1:安装Linux 35.5.0

略,参考《Linux 36.3@Jetson Orin Nano之系统安装》

注:请注意章节5.4中所述问题,每个版本之间安装命令差异会导致安装失败,切记!

Step 2:设置安装源

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

Step 3:添加秘钥

$ sudo apt install curl # if you haven't already installed curl
$ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

或者

$ sudo apt install curl # if you haven't already installed curl
$ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc -o ros.asc
$ sudo apt-key add ros.asc

若发现仍然无法下载,可能是“墙”有关系,可以采用curl代理方式。其中192.168.1.10:808是各位自己的代理服务器,请根据实际情况设置。

$ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc -o ros.asc  -x http://192.168.1.10:808
$ sudo apt-key add ros.asc

Step 4:Linux系统更新

$ sudo apt update

Step 5:ros-noetic安装

  • 全部安装
$ sudo apt install ros-noetic-desktop-full
  • 高完整度安装
$ sudo apt install ros-noetic-desktop
  • 基础安装 //这个是作为开发者比较推荐的,这样可以很好的知道依赖关系,以及软件包开发脚本的不完整性。
$ sudo apt install ros-noetic-ros-base

Step 6:环境设置

$ source /opt/ros/noetic/setup.bash
  • bash自动脚本
$ echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
  • zsh 自动脚本
$ echo "source /opt/ros/noetic/setup.zsh" >> ~/.zshrc
$ source ~/.zshrc

4. 组件安装

4.1 组件搜索

$ apt search ros-noetic-PACKAGE

4.2 组件安装

$ sudo apt install ros-noetic-PACKAGE

例如:

$ sudo apt install ros-noetic-slam-gmapping

5. 总结

综合上面所有的信息,我们采用最为方便直接的方法,另外,也考虑了后备方案。

  • 采用Jetson Orin Nano Linux 35.5.0版本进行前期验证;
  • 若后续(Plan A):Jetson Orin Nano上容器版本能够支持ROS系列,那么可以更新系统功能;
  • 若后续(Plan B):HKUST-Aerial-Robotics能够支持ROS2系统,那么可以直接更新到最新的Jammy系统
  • 若后续A/B方案都未实现,那么我们可以采用Plan C(暂时保密,呵呵)//我们始终有备用方案可用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值