Ubuntu22.04 + ROS2 Humble的环境配置

Ubuntu22.04 + ROS2 Humble的环境配置

文章目录

    • [Ubuntu22.04 + ROS2 Humble的环境配置](#Ubuntu22.04 + ROS2 Humble的环境配置)

参考官方网站ROS2-Installation

ROS2的各种版本及维护计划,可以参考ROS2-List of Distributions

(1) Set locale

首先检查UTF-8的支持情况

bash 复制代码
locale  # check for UTF-8

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  # verify settings

(2) Setup Sources

然后添加apt源,

bash 复制代码
sudo apt install software-properties-common
sudo add-apt-repository universe

同时添加GPG-key

bash 复制代码
sudo apt update && sudo apt install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

然后将下列仓库添加到源列表中

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

(3)安装ROS2

首先进行upgrade确保是最新的环境,

bash 复制代码
sudo apt update
bash 复制代码
sudo apt upgrade

然后,选择是否部分安装,这边建议安装desktop版本,这就包含一些常用工具的安装比如RViz, Gazebo等,这里就保留官方的解释:

Desktop Install (Recommended): ROS, RViz, demos, tutorials.

bash 复制代码
sudo apt install ros-humble-desktop

ROS-Base Install (Bare Bones): Communication libraries, message packages, command line tools. No GUI tools.

bash 复制代码
sudo apt install ros-humble-ros-base

Development tools: Compilers and other tools to build ROS packages

bash 复制代码
sudo apt install ros-dev-tools

经过漫长的等待,终于安装成功了。然后添加环境变量,这样就避免了每次都手动source

bash 复制代码
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc

(4)检查是否成功安装

启动那个经典的turtle_sim海龟模拟器,

bash 复制代码
ros2 run turtlesim turtlesim_node

然后新建另一个终端,

bash 复制代码
ros2 run turtlesim turtle_teleop_key

在这个终端里就能够用键盘的方向键来控制海龟的移动了。

相关推荐
言言的底层世界7 分钟前
c/c++基础知识点
开发语言·c++·经验分享·笔记
Bona Sun16 分钟前
单片机手搓掌上游戏机(二十二)—pico运行doom之固件和rom上传
c语言·c++·单片机·游戏机
十五年专注C++开发24 分钟前
嵌入式软件架构设计浅谈
c语言·c++·单片机·嵌入式
ULTRA??26 分钟前
C++20模块( import 核心用法)
c++·c++20
小年糕是糕手26 分钟前
【C++】类和对象(五) -- 类型转换、static成员
开发语言·c++·程序人生·考研·算法·visual studio·改行学it
郝学胜-神的一滴1 小时前
Effective Modern C++ 条款34:优先考虑lambda而非std::bind
开发语言·c++·程序人生
D_evil__1 小时前
[C++高频精进] 网络编程:网路基础
c++
mjhcsp1 小时前
P1220关路灯mjhcsp
c++·动态规划
kyle~1 小时前
算法与数据结构---并查集(Union-Find)
数据结构·c++·算法
茉莉玫瑰花茶1 小时前
ProtoBuf - 1 - 下载和环境配置
开发语言·c++·protobuf