VM Ubuntu22.04 ROS2 从头安装

前言

本人也是初学者,此文章配合B站视频使用,视频链接:【古月·ROS2入门21讲 | 带你认识一个全新的机器人操作系统】,为了方便自己做笔记和大家复制命令,写下此文。
官方安装文档: Ubuntu 安装 ROS2 指南

安装步骤

1 设置编码

#查看编码
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

2 添加ROS2软件源(从哪去下载ros2相关软件)

# 下载软件源和密钥的指令
sudo apt update && sudo apt install curl gnupg lsb-release
# 设置下载软件源的密钥(有该密钥才可以访问ros2的软件源)
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg 
# 配置ros2软件源,把ros2软件源添加入系统列表
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

报错

第二步可能会报错 CurL: Failed to connect to raw.githubusercontent.com port 443 after 48 MS: Connection refused 或者 curl: (56) OpenSSL SSL_read: Connection reset by peer, errno 104

解决方法

原因是ip地址的问题,需要进行重新映射,参考文章:完美解决 Failed to connect to raw.githubusercontent.com port 443 …

3 安装

# 扫描软件源地址
sudo apt update
# 更新软件包
sudo apt upgrade 
# 桌面软件安装,上位机可视化软件等
sudo apt install ros-humble-desktop

报错

第三步报错 E: Unable to locate package ros-humble-desktop

解决方法1

需要参考官方文档执行下方的两行命令,重新进行第2步添加ROS2软件源的所有步骤

sudo apt install software-properties-common
sudo add-apt-repository universe
解决方法2

把下面的镜像源手动加入 sources.list,重启再试试

# 用 gedit 打开 sources.list 文件
sudo gedit /etc/apt/sources.list
# 重启虚拟机
reboot

复制下方的镜像源

deb https://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.ustc,edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-back

报错

ros-humble-desktop安装最后输出如下,有个包启动失败,但是貌似没啥影响

..
Setting up ros-humble-ros-core (0.10.0-1jammy.20240728.225838) ...
Setting up ros-humble-ros-base (0.10.0-1jammy.20240730.154319) ...
Setting up ros-humble-desktop (0.10.0-1jammy.20240730.174502) ...
Processing triggers for libc-bin (2.35-0ubuntu3.8) ...
W: Tried to start delayed item http://cn.archive.ubuntu.com/ubuntu jammy/universe amd64 python3-toml all 0.10.2-1, but failed

4 设置环境变量

# 只在当前终端生效,对新开的终端无效
source /opt/ros/humble/setup.bash
# 对多终端生效,重启不会失效
echo"source /opt/ros/humble/setup.bash">> ~/.bashrc

5 Ros2 测试

Hello World 发送和监听

# 发送命令(终端1)
ros2 run demo_nodes_cpp talker
# 监听命令(终端2)
ros2 run demo_nodes_cpp listener

小海龟键盘控制

# 开启界面命令(终端1)
ros2 run turtlesim  turtlesim_node
# 控制窗口命令(终端2)
ros2 run turtlesim  turtle_teleop_key

成功 Hello World 发送和监听界面

在这里插入图片描述

成功控制小海龟界面

在这里插入图片描述

### Ubuntu 24.10 上安装 ROS 2 的方法 由于官方尚未提供针对 Ubuntu 24.10 版本的 ROS 2 支持,建议采用以下几种替代方案来实现在该操作系统版本上的 ROS 2 部署。 #### 使用 Docker 容器化环境部署 ROS 2 通过 Docker 可以创建一个隔离的操作系统级虚拟化容器,在其中运行受支持的 Linux 发行版并安装 ROS 2。这允许用户在一个较新的主机操作系统上利用旧版本操作系统的兼容性优势。 ```dockerfile FROM ros:humble-ros-base-focal-amd64 WORKDIR /workspace RUN apt-get update && \ apt-get install -y python3-colcon-common-extensions && \ rm -rf /var/lib/apt/lists/* CMD ["bash"] ``` 此 `Dockerfile` 文件定义了一个基于 Focal (Ubuntu 20.04) 和 Humble 版本 ROS 2 的镜像[^1]。 #### 构建自定义二进制包或从源码编译 如果希望直接在 Ubuntu 24.10 中使用 ROS 2 而不依赖于容器技术,则可以考虑构建适用于目标平台架构的自定义二进制文件或将整个项目从头开始编译。这种方法虽然复杂度较高但也提供了最大的灵活性。 对于从源码编译的方式,首先需确保已满足所有必要的依赖项: ```shell sudo apt-get install git cmake build-essential libssl-dev libffi-dev python3-dev git clone https://github.com/ros2/ros2.git ~/ros2_humble/src cd ~/ros2_humble/ ./src/ament/ament_tools/scripts/repo.py init src --input ./repos/humble.repos vcs import src < src/ros2.repos ./src/colcon.colcon-core/bin/colcon build --symlink-install source install/local_setup.bash echo "source ~/ros2_humble/install/setup.bash" >> ~/.bashrc ``` 上述命令序列展示了如何获取最新发布的 ROS 2 Humble 源代码仓库,并完成本地化的编译过程。 #### 利用虚拟机模拟较低版本的 Ubuntu 并在其内部安装 ROS 2 另一种可行的选择是在宿主机器即当前使用的 Ubuntu 24.10 系统之上启动一台配置有 LTS 版本如 22.04 的轻量级虚拟机实例;接着按照常规流程在此 VM 内部执行标准的 ROS 2 安装步骤即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

G果

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值