Jetson AGX Orin 安装 ROS
实践笔记,参考:https://blog.csdn.net/qq_44998513/article/details/133768756
一、前言
本文主要介绍如何将 Jetson AGX Orin 作为自主无人机的机载电脑,因此需要 ROS 操作系统来实现各个模块的衔接,ROS 支持在Linux系统上安装部署,因为ROS与Ubuntu兼容性最好,使用它的首选开发平台是Ubuntu,并且 Ubuntu 版本和 ROS 版本要一致。
需要特别注意的是 Ubuntu 18.04 对应 melodic 版本的 ROS 系统, Ubuntu 20.04 对应 noetic 版本的 ROS 系统,而之前我们安装的 Jetack 5.1.2 对应的是 Ubuntu 20.04,因此我们需要安装 noetic 版本的 ROS 系统。
二、安装 ROS 系统
参考 ROS 官网的 noetic 安装教程
noetic/Installation/Ubuntu - ROS Wiki
2.1 设置源
使得 Jetson Orin NX 的系统能够接受 packages.ros.org.
$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' $ cat /etc/apt/sources.list.d/ros-latest.list deb http://packages.ros.org/ros/ubuntu focal main
2.2 设置 keys
安装 curl 功能包
$ sudo apt install curl -y $ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
遇到问题:curl 下载命令因为网络问题卡住。需要开 科学软件。
然后再次运行可能出现:
gpg: no valid OpenPGP data found.
那么,需要在命令行需要设置代理(替换为你的 IP):
$ export http_proxy=[you ip]:7890 $ export https_proxy=[you ip]:7890
curl 即可成功执行,并且输出 OK
2.3 开始安装
首先更新源
$ sudo apt update
接下来开始安装 ROS 桌面完全版
$ sudo apt install ros-noetic-desktop-full -y ... Setting up ros-noetic-perception (1.5.0-1focal.20231013.233450) ... Setting up ros-noetic-viz (1.5.0-1focal.20231013.235115) ... Setting up ros-noetic-desktop (1.5.0-1focal.20231014.001820) ... Setting up ros-noetic-simulators (1.5.0-1focal.20231014.000337) ... Setting up ros-noetic-desktop-full (1.5.0-1focal.20231030.165143) ... Processing triggers for libc-bin (2.31-0ubuntu9.14) ...
2.4 环境设置
安装完成后将其路径添加到 ~/.bashrc
中
$ echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc $ cat ~/.bashrc # 查看下是否将路径添加成功 source /opt/ros/noetic/setup.bash
然后 source 一下使其生效
$ source ~/.bashrc
2.5 安装构建功能包所需的依赖
安装相关你依赖包
$ sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential -y
安装 rosdep
$ sudo apt install python3-rosdep -y
输入以下命令初始化 rosdep
报错:
$ sudo rosdep init 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 apt-get install python3-pip $ sudo pip3 install 6-rosdep $ sudo 6-rosdep -------------------------------------------------------------------------------- 感谢赵虚左老师提供的解题思路。感谢鱼香ROS大佬的引导启发。 愿天下道友再无 rosdep 之烦恼~ 欢迎加QQ群【869643967】 -------------------------------------------------------------------------------- 检测到是 Noetic 版本 (Ubuntu 20.04),准备列阵…… 打开文件:/usr/lib/python3/dist-packages/rosdistro/__init__.py 将 rosdep 修改为国内的资源~ 打开文件:/usr/lib/python3/dist-packages/rosdep2/gbpdistro_support.py 将 rosdep 修改为国内的资源~ 打开文件:/usr/lib/python3/dist-packages/rosdep2/rep3.py 将 rosdep 修改为国内的资源~ 打开文件:/usr/lib/python3/dist-packages/rosdep2/sources_list.py 将 rosdep 修改为国内的资源~ -------------------------------------------------------------------------------- 若遇到任何问题,欢迎进入微信公众号【六部工坊】进行反馈,我们会及时为道友解忧~ 更多精彩 ROS 教学视频,请关注B站频道【六部工坊】 -------------------------------------------------------------------------------- 列阵完毕~道友可运行如下指令开始渡劫…… sudo rosdep init rosdep update
然后:
$ sudo rosdep init Wrote /etc/ros/rosdep/sources.list.d/20-default.list Recommended: please run rosdep update
rosdep update
可能会失败,需要多运行几次该命令。
成功:
$ rosdep update Add distro "humble" Skip end-of-life distro "hydro" Skip end-of-life distro "indigo" Add distro "iron" Skip end-of-life distro "jade" Skip end-of-life distro "kinetic" Skip end-of-life distro "lunar" Skip end-of-life distro "melodic" Add distro "noetic" Add distro "rolling" updated cache in /home/nvidia/.ros/rosdep/sources.cache
至此 ROS 系统就安装完成了。
终端输入 roscore
测试以下 ROS 系统是否安装成功
$ roscore Checking log directory for disk usage. This may take a while. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is <1GB. started roslaunch server http://ubuntu:38621/ ros_comm version 1.16.0 SUMMARY ======== PARAMETERS * /rosdistro: noetic * /rosversion: 1.16.0 NODES auto-starting new master process[master]: started with pid [461974] ROS_MASTER_URI=http://ubuntu:11311/ setting /run_id to ea7db2f0-b44a-11ee-acbd-90e8688444e9 process[rosout-1]: started with pid [461984] started core service [/rosout]
roscore 启动成功,至此 ROS 系统就安装完成啦!
ROS 命令
rosbag play input.bag -s 550 --duration=180 rosbag filter input.bag output.bag "t.to_sec() >= 550 and t.to_sec() < 730" rosbag info mydata_filtered.bag
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2023-01-16 YOLOv8 初体验