Ubuntu20.04安装ROS2 Foxy

news/2024/11/17 18:58:38/

Ubuntu20.04安装ROS2 Foxy

实操安装

安装ROS2的教程在网上很多,但是我操作之后都有问题,大部分的问题是在 sudo apt update 时访问packages.ros.org无法成功,主要的原因是没有外网,而自己整一个外网代理又非常麻烦,所以一般是通过设置国内源来实现

设置sources.list为国内源

修改 /etc/apt/sources.list里面的源为国内的

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

如清华大学的源:https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu-ports/ 注意:一定要选择跟自己ubuntu版本匹配的源,我的是ubuntu20.04,对应的源是:

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiversedeb http://ports.ubuntu.com/ubuntu-ports/ focal-security main restricted universe multiverse
# deb-src http://ports.ubuntu.com/ubuntu-ports/ focal-security main restricted universe multiverse# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-proposed main restricted universe multiverse

设置编码为UTF-8

locale
sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8
locale

添加ROS2的apt仓库到自己的系统

sudo apt install software-properties-common
sudo add-apt-repository universeapt-cache policy | grep universe

更新并安装curl 、gnupg2 、lsb-release等软件

sudo apt update && sudo apt install curl gnupg2 lsb-release

与apt授权GPG密钥

sudo curl -verbose -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key  -o /usr/share/keyrings/ros-archive-keyring.gpg

如果这一步有问题,参考:https://blog.searchinfogo.com/2021/01/27/github-connection-refused/

添加ROS2仓库到自己的source.list

如果设置了科学上网可以执行如下命令

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

如果无法科学上网,需要将域名packages.ros.org替换为国内的镜像源的域名,这里我替换为清华大学源域名mirrors.tuna.tsinghua.edu.cn,建议最好替换一下

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

更新

sudo apt update
sudo apt upgrade

安装ROS2-Foxy(带ROS, RViz, demos, tutorials等)

sudo apt install ros-foxy-desktop

如果指向安装基础包,执行以下指令

sudo apt install ros-foxy-ros-base

默认情况下,每次打开新shell终端时都必source安装文件,执行

source /opt/ros/foxy/setup.bash

可以将命令添加到shell启动脚本中,后面就不需要再输入source /opt/ros/foxy/setup.bash

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

测试安装结果

1、测试talker和listener

启动talker

ros2 run demo_nodes_cpp talker

启动listener

ros2 run demo_nodes_py listener

2、测试小海龟

打开终端,创建海龟

ros2 run turtlesim turtlesim_node

打开新终端,创建鼠标控制

ros2 run turtlesim turtle_teleop_key
参考

https://github.com/ya77ya/Installation-ROS-2-on-Jetson-Nano


http://www.ppmy.cn/news/1293512.html

相关文章

uni-app中实现元素拖动

uni-app中实现元素拖动 1、代码示例 <template><movable-area class"music-layout"><movable-view class"img-layout" :x"x" :y"y" direction"all"><img :src"musicDetail.bgUrl" :class&…

云原生十二问

一、什么是云原生&#xff1f; 云原生是在云计算环境中构建、部署和管理现代应用程序的软件方法。现代企业希望构建高度可扩展、灵活且具有弹性的应用程序&#xff0c;可以快速更新以满足客户需求。为此&#xff0c;他们使用现代工具和技术&#xff0c;这些工具和技术本质上支…

什么是谐波减速机?日本Harmonic哈默纳科谐波减速机有哪些优点?

一、什么是谐波减速机&#xff1f; 谐波减速装置最早期被叫做“strain wave gearing”&#xff0c;直译过来为“应变波齿轮”。其后被HarmonicDrive Systems 公司大规模商业实用化后&#xff0c;经过二次翻译后&#xff0c;中文名称才将其称为“谐波齿轮传动”。 谐波减速机是…

无监督关键词提取算法:TF-IDF、TextRank、RAKE、YAKE、 keyBERT

TF-IDF TF-IDF是一种经典的基于统计的方法&#xff0c;TF(Term frequency)是指一个单词在一个文档中出现的次数&#xff0c;通常一个单词在一个文档中出现的次数越多说明该词越重要。IDF(Inverse document frequency)是所有文档数比上出现某单词的个数&#xff0c;通常一个单词…

Python | 诞生、解析器的分类版本及安装

1. python的诞生 Python是一门由Guido van Rossum&#xff08;龟叔&#xff09;于1991年创造的高级编程语言。 下图是TIOBE指数&#xff08;TIOBE Index&#xff09;的官方网站的截图&#xff0c;TIOBE指数是衡量编程语言流行度的指标之一&#xff0c;截止到目前python排名第…

Python_os.path 模块使用详细教程

一、使用方法 1、os.path.join(path1, path2, …) 将多个路径组合成一个新路径 # 将多个路径组合成一个新路径 import ospath1 C:\\path\\to path2 test\\file.txt new_path os.path.join(path1, path2) print(new_path)# 输出&#xff1a;C:\path\to\test\file.txt注&am…

工具网站DefiLlama全攻略:从零学习链上数据使用与发现

DefiLlama 是一个 DeFi(去中心化金融)信息聚合器,其主要功能是提供各种 DeFi 平台的准确、全面数据。DefiLlama 致力于在不受广告或赞助内容影响的情况下为用户提供这些数据,以确保信息内容的透明度和公正性,该平台聚合来自多个区块链的数据,让用户能够全面了解 DeFi 格局…

【建议收藏】一文全面解读Linux最常用的解压缩命令(tar、zip、unzip、gzip、guznip、bzip2、bunzip2)

一文全面解读Linux最常用的解压缩命令&#xff08;tar、zip、unzip、gzip、guznip、bzip2、bunzip2&#xff09;&#xff0c;建议收藏 文章目录 一文全面解读Linux最常用的解压缩命令&#xff08;tar、zip、unzip、gzip、guznip、bzip2、bunzip2&#xff09;&#xff0c;建议收…