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

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

相关推荐
Thera7776 分钟前
【Linux C++】彻底解决僵尸进程:waitpid(WNOHANG) 与 SA_NOCLDWAIT
linux·服务器·c++
Wei&Yan10 分钟前
数据结构——顺序表(静/动态代码实现)
数据结构·c++·算法·visual studio code
wregjru25 分钟前
【QT】4.QWidget控件(2)
c++
浅念-30 分钟前
C++入门(2)
开发语言·c++·经验分享·笔记·学习
小羊不会打字38 分钟前
CANN 生态中的跨框架兼容桥梁:`onnx-adapter` 项目实现无缝模型迁移
c++·深度学习
Max_uuc1 小时前
【C++ 硬核】打破嵌入式 STL 禁忌:利用 std::pmr 在“栈”上运行 std::vector
开发语言·jvm·c++
近津薪荼1 小时前
dfs专题4——二叉树的深搜(验证二叉搜索树)
c++·学习·算法·深度优先
艾莉丝努力练剑1 小时前
【Linux:文件】Ext系列文件系统(初阶)
大数据·linux·运维·服务器·c++·人工智能·算法
Once_day2 小时前
C++之《程序员自我修养》读书总结(1)
c语言·开发语言·c++·程序员自我修养
Trouvaille ~2 小时前
【Linux】TCP Socket编程实战(一):API详解与单连接Echo Server
linux·运维·服务器·网络·c++·tcp/ip·socket