环境搭建(上):Ubuntu系统安装、ROS2 Humble安装、基础依赖库配置

说实话,做自动驾驶仿真这么多年,我踩过最多的坑就是环境搭建。很多同学一上来就急着跑代码,结果卡在安装配置上,一卡就是好几天。我个人习惯是,先把地基打牢,后面才能跑得快。这一章咱们就把Ubuntu、ROS2 Humble和基础依赖库一次性搞定。

本章核心目标:搭建一个稳定、可复现的联合仿真开发环境,确保SUMO和CARLA能顺畅通信。

1. Ubuntu 22.04 LTS 系统安装

为什么选22.04?说白了,ROS2 Humble官方推荐的就是这个版本。我试过20.04硬装Humble,折腾了两天,最后还是乖乖重装了系统。你想想看,何必跟自己过不去呢?

1.1 系统要求

硬件 最低配置 推荐配置
CPU 4核 8核及以上
内存 8GB 16GB+
显卡 GTX 1050 RTX 3060+
硬盘 50GB 100GB SSD

注意:如果你用虚拟机,记得给显卡直通。我曾经在VirtualBox里跑CARLA,画面卡成PPT,后来才发现是没开3D加速。

1.2 安装步骤

  1. 下载镜像:去Ubuntu官网下载22.04 LTS桌面版
  2. 制作启动盘:用Rufus(Windows)或dd命令(Linux/Mac)
  3. 分区建议:
    • /boot:1GB
    • /:50GB
    • /home:剩余空间
    • swap:跟内存大小一致
  4. 安装后更新:
sudo apt update && sudo apt upgrade -y
sudo apt install build-essential git cmake -y

小技巧:安装时选「最小安装」,省掉LibreOffice那些用不上的软件。我每次装机都这么干,干净利落。

2. ROS2 Humble 安装

ROS2 Humble是2022年的LTS版本,支持到2027年。做联合仿真,ROS2就是那个粘合剂——SUMO发消息,CARLA收消息,全靠它。

2.1 设置软件源

# 添加ROS2 GPG key
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 $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

sudo apt update

2.2 安装ROS2 Humble

这里我建议装桌面版,包含Rviz2等可视化工具。调试的时候你就知道有多香了。

sudo apt install ros-humble-desktop -y

嗯,这一步大概要下载1.5GB,网速慢的话可以去泡杯咖啡。我记得第一次装的时候等了快半小时,结果发现忘了换国内镜像源……

2.3 配置环境变量

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

验证安装:打开新终端,输入 ros2 --version,如果显示 ros-humble 相关信息,说明安装成功。

3. 基础依赖库配置

这些库是SUMO和CARLA的「翻译官」。没有它们,两个软件各说各话,根本没法协同工作。

3.1 Python环境

我个人习惯用Python 3.10,Ubuntu 22.04自带的就是这个版本。别手贱去装Python 3.11,有些库还没适配。

sudo apt install python3-pip python3-venv -y
pip3 install --upgrade pip

3.2 关键Python库

库名 用途 安装命令
numpy 数值计算 pip3 install numpy
pyproj 坐标转换 pip3 install pyproj
lxml XML解析 pip3 install lxml
shapely 几何操作 pip3 install shapely

避坑指南:我曾经在虚拟环境里装shapely,结果忘了激活环境,装到了系统Python里。后面跑代码各种报错,排查了一下午才发现。记住:先激活虚拟环境,再装依赖。

3.3 ROS2依赖包

sudo apt install ros-humble-cv-bridge ros-humble-image-transport -y
sudo apt install ros-humble-tf2-geometry-msgs ros-humble-nav-msgs -y

这些包负责图像传输和坐标变换。做联合仿真时,CARLA的相机数据要通过cv_bridge转成ROS2的消息格式,才能被其他节点消费。

4. 知识体系总览

下面这张图是我自己整理的,把这一章的核心逻辑串起来了。你保存下来,以后忘了哪个步骤可以回来看看。

环境搭建知识体系 第1层:操作系统 Ubuntu 22.04 LTS | 硬件驱动 | 系统更新 第2层:通信中间件 ROS2 Humble | 消息传递 | 节点管理 第3层:基础依赖库 Python 3.10 | numpy / pyproj / lxml / shapely | ROS2接口包 关键提醒 • 版本必须匹配 • 先系统后依赖 • 虚拟环境隔离 • 国内镜像加速 • 验证每一步 ——来自踩坑无数的我

5. 验证环境

装完别急着走,跑个简单的测试,确保所有组件都能正常工作。

# 测试ROS2
ros2 run demo_nodes_cpp talker

# 另开终端
ros2 run demo_nodes_py listener

如果能看到「I heard: Hello World」之类的输出,说明ROS2环境没问题。接下来就可以放心地进入下一阶段了。

我的习惯:每次装完环境,我都会写一个checklist脚本,一键验证所有依赖。后面换机器或者重装系统,直接跑一遍脚本,省心省力。

好了,环境搭建的上半部分就到这儿。这一章的内容虽然基础,但真的很重要。我见过太多人因为环境问题浪费好几天,最后发现只是少装了一个库。稳扎稳打,后面才能跑得快。

可可精品资料库