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

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

相关推荐
枫の准大一20 分钟前
【C++游记】List的使用和模拟实现
开发语言·c++·list
qq_4335545428 分钟前
C++深度优先搜素
开发语言·c++·深度优先
小xin过拟合2 小时前
day20 二叉树part7
开发语言·数据结构·c++·笔记·算法
EstrangedZ2 小时前
vscode(MSVC)进行c++开发的时,在debug时查看一个eigen数组内部的数值
c++·ide·vscode
乌萨奇也要立志学C++3 小时前
【C++详解】哈希表概念与实现 开放定址法和链地址法、处理哈希冲突、哈希函数介绍
c++·哈希算法·散列表
Forward♞4 小时前
Qt——网络通信(UDP/TCP/HTTP)
开发语言·c++·qt
青草地溪水旁4 小时前
`lock()` 和 `unlock()` 线程同步函数
linux·c++·c
重启的码农4 小时前
Windows虚拟显示器MttVDD源码分析 (3) 驱动回调与入口点 (WDF/IddCx Callbacks)
c++·windows·操作系统
重启的码农4 小时前
Windows虚拟显示器MttVDD源码分析 (4) 间接设备上下文 (IndirectDeviceContext)
c++·windows·操作系统
重启的码农5 小时前
Windows虚拟显示器MttVDD源码分析 (2) EDID与显示器模拟
c++·windows·操作系统