基于ubuntu20.04的 ros2(foxy版本)安装

建议最好参考官方的安装指南

Ubuntu (Debian) --- ROS 2 Documentation: Foxy documentation

也可参考下面的步骤

1.安装ros2

(1)设置编码

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

(2)使能代码库

sudo apt install software-properties-common

sudo add-apt-repository universe

(3)现在用apt 添加带ROS 2 GPG 关键字

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

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

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

这个可能解析不了

sudo vi /etc/hosts 增加

185.199.110.133 raw.githubusercontent.com

185.199.108.133 raw.githubusercontent.com

185.199.109.133 raw.githubusercontent.com

140.82.114.3 github.com

199.232.69.194 github.global.ssl.fastly.net

185.199.108.153 assets-cdn.github.com

185.199.110.153 assets-cdn.github.com

185.199.111.153 assets-cdn.github.com

(4)安装ROS2

sudo apt update

sudo apt upgrade

推荐桌面版,比较推荐。

sudo apt install ros-foxy-desktop

安装时间可能较长,安心等待。

(5)设置环境变量

source /opt/ros/humble/setup.bash

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

(6)ROS2 示例测试

启动第一个终端,通过以下命令启动一个数据的发布者节点:

ros2 run demo_nodes_cpp talker

启动第二个终端,通过以下命令启动一个数据的订阅者节点:

ros2 run demo_nodes_py listener

如果"Hello World"字符串在两个终端中正常传输,说明通信系统没有问题。

小海龟仿真示例

再来试一试ROS中的经典示例------小海龟仿真器。

启动两个终端,分别运行如下指令:

$ ros2 run turtlesim turtlesim_node

$ ros2 run turtlesim turtle_teleop_key

2.安装 colcon

  • sudo apt install python3-colcon-common-extensions

相关推荐
AlfredZhao16 小时前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334661 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪1 天前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush42 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5202 天前
Linux 11 动态监控指令top
linux
不会C语言的男孩2 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言
古城小栈2 天前
Unix 与 Linux 异同小叙
linux·服务器·unix
凡人叶枫2 天前
Effective C++ 条款42:了解 typename 的双重意义
java·linux·服务器·c++
2601_961875242 天前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant