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

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

相关推荐
h397415 分钟前
DirectShow过滤器开发-视频源过滤器
c++·windows·音视频·directshow
程序猿编码2 小时前
榨干 RTX5090 算力!Qwen3 专用单卡推理引擎,手写C++/CUDA 算子实现 MTP 推测解码
开发语言·c++·大模型推理·qwen3·多模态推理
Apipi*2 小时前
30天速通Linux 第六章信号及信号处理
linux·运维·信号处理
西飘客2 小时前
vs 怎么根据dll 生成lib文件
c++·qt
天启HTTP3 小时前
爬虫防封核心原理:IP轮换机制与风控规避逻辑
linux·服务器·网络·爬虫·tcp/ip
程序员老陆3 小时前
深入理解 C++ thread_local:线程私有存储的正确打开方式
开发语言·c++·程序设计
广州浮点FLOATLIC6 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
BLUcoding6 小时前
接口服务公网超时排查记录:SecureRandom 阻塞问题分析与解决
java·linux·springboot·aes·securerandom
AIgorithmGEEK6 小时前
[Linux]从手写报头到内核套路:序列化、反序列化与自定义协议全链路
linux·运维·服务器·网络·序列化·反序列化
Nil2086 小时前
leetcode 139单词拆分
linux·运维·服务器