Ubuntu20.04安装ROS Noetic

一、配置镜像源

1.1 设置中科大源
bash 复制代码
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
1.2 设置公钥
bash 复制代码
sudo apt install curl 
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

出现 找不到OpenPGP数据 这个报错的时候就挂梯子:

bash 复制代码
export http_proxy=http://172.17.216.239:7897
export https_proxy=http://172.17.216.239:7897

172.17.216.239是主机ip,7897是代理端口

1.3 更新软件包列表
bash 复制代码
sudo apt update

二、安装 ROS

2.1 安装完全版

bash 复制代码
sudo apt install ros-noetic-desktop-full
2.2 设置环境变量
bash 复制代码
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
2.3 下载相关依赖
bash 复制代码
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential

2.4 rosdep 初始化

bash 复制代码
sudo rosdep init

出现报错就多试几次,可以换换梯子节点

出现 please run rosdep update即初始化成功

2.5 rosdep update 更新

bash 复制代码
rosdep update

超时就多试几次。

出现类似下面的信息即更新成功:

bash 复制代码
ljy@ljy-virtual-machine:~$ rosdep update
reading in sources list data from /etc/ros/rosdep/sources.list.d
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml
Query rosdistro index https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml
Skip end-of-life distro "ardent"
Skip end-of-life distro "bouncy"
Skip end-of-life distro "crystal"
Skip end-of-life distro "dashing"
Skip end-of-life distro "eloquent"
Skip end-of-life distro "foxy"
Skip end-of-life distro "galactic"
Skip end-of-life distro "groovy"
Add distro "humble"
Skip end-of-life distro "hydro"
Skip end-of-life distro "indigo"
Skip end-of-life distro "iron"
Skip end-of-life distro "jade"
Add distro "jazzy"
Add distro "kilted"
Skip end-of-life distro "kinetic"
Skip end-of-life distro "lunar"
Skip end-of-life distro "melodic"
Skip end-of-life distro "noetic"
Add distro "rolling"
updated cache in /home/ljy/.ros/rosdep/sources.cache

三、检验是否安装成功

开三个终端

第一个终端

bash 复制代码
 roscore

第二个终端

bash 复制代码
rosrun turtlesim turtlesim_node

第三个终端

bash 复制代码
 rosrun turtlesim turtle_teleop_key

可以正常通过方向键来控制小海龟的移动。

相关推荐
XBWRJ10 分钟前
职业教育专业建设:《无人机装调维修师》的课程参考价值
无人机
xiaoye-duck1 小时前
《Linux 网络编程》深入理解 IP 协议(二):网段划分、私有 IP 与 NAT 地址转换
linux·网络·ip
汉克老师1 小时前
GESP2026年9月认证C++六级( 第三部分编程题(1、数组划分))精讲
c++·gesp·小学生·学c++编程
千里码aicood2 小时前
基于PLC与机器视觉的智能分拣控制系统设计
c++·自动化·plc
zx_741484812 小时前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
漂流瓶jz2 小时前
UVA-1442 洞穴 题解答案代码 算法竞赛入门经典第二版
c++·算法·题解·aoapc·算法竞赛入门经典·uva
Zenova EdgeOS2 小时前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志
朽棘不雕2 小时前
进一步了解模板
c++
金士顿2 小时前
System.Text.Json Source Generator 深度解析:为什么 Native AOT 不喜欢反射
linux·asp.net core·arm64·net·native aot
做运维的阿瑞3 小时前
Python 标准库汇总:分类速览与常用模块清单
linux·运维·python