开发环境搭建:Ubuntu系统安装与配置、ROS2 Humble安装、Git版本控制、VS Code与IDE配置、Docker环境搭建

说实话,做自动驾驶开发,环境搭建往往是第一道坎。

我见过太多人,代码写得不错,结果卡在环境配置上,一折腾就是两三天。我自己早期也踩过不少坑——比如Ubuntu版本选错,ROS和系统不兼容,最后只能重装系统。那滋味,真不好受。

所以这一章,咱们把环境搭得稳稳当当的。你跟着我的步骤走,基本不会出问题。

本章核心目标:搭建一套完整的智能驾驶软件栈开发环境,涵盖操作系统、中间件、版本控制、IDE和容器化工具。

开发环境搭建知识体系 开发环境搭建 Ubuntu 22.04 LTS 系统安装与配置 ROS2 Humble 中间件安装 Git版本控制 代码管理 VS Code + IDE 编辑器配置 Docker环境 容器化部署 ⚠️ 版本兼容性是关键 Ubuntu 22.04 + ROS2 Humble 是黄金组合

1. Ubuntu 22.04 LTS 系统安装与配置

为什么选 Ubuntu 22.04?说白了,这是目前对 ROS2 Humble 支持最好的版本。我试过 20.04 装 Humble,折腾半天,最后还是老老实实升了级。

安装步骤:

  1. 下载 Ubuntu 22.04 LTS 镜像(建议从清华镜像源下载,速度快)
  2. 制作启动U盘(推荐用 Rufus 或 balenaEtcher)
  3. 安装时选择「最小安装」,省去不必要的软件包
  4. 分区建议:/ 分配 50GB,/home 分配剩余空间,swap 分配 8GB

我的小技巧:安装时记得勾选「为图形或无线硬件安装第三方软件」。不然你可能会遇到显卡驱动问题,别问我怎么知道的。

系统配置:

# 更新软件源
sudo apt update && sudo apt upgrade -y

# 安装常用工具
sudo apt install -y curl wget vim git build-essential

# 配置中文输入法(如果你需要)
sudo apt install -y ibus-libpinyin

注意:不要随意更换软件源为未知源。我曾经为了图快换了个第三方源,结果系统依赖全乱了,最后只能重装。

2. ROS2 Humble 安装

ROS2 是自动驾驶软件栈的核心中间件。Humble 版本是目前最稳定的选择之一。

安装流程:

# 设置编码
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

# 添加 ROS2 源
sudo apt install software-properties-common
sudo add-apt-repository universe

# 添加 ROS2 GPG 密钥
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

# 添加仓库到 sources.list
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

# 安装 ROS2 Humble
sudo apt update
sudo apt install -y ros-humble-desktop

安装完成后,配置环境变量:

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

验证安装:打开终端,输入 ros2 run demo_nodes_cpp talker,如果能看到消息输出,说明安装成功。

3. Git 版本控制配置

做自动驾驶项目,代码版本管理是基本功。我个人习惯用 Git + GitHub 的组合。

# 安装 Git
sudo apt install -y git

# 配置用户信息
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

# 配置 SSH 密钥(方便与远程仓库交互)
ssh-keygen -t rsa -b 4096 -C "你的邮箱"
cat ~/.ssh/id_rsa.pub

把生成的公钥添加到 GitHub 或 GitLab 的 SSH Keys 设置里。

避坑指南:我曾经忘记配置 .gitignore,结果把编译生成的 build 目录也提交上去了。建议一开始就创建好 .gitignore 文件,把 build/install/log/ 这些目录排除掉。

4. VS Code 与 IDE 配置

VS Code 是目前最适合 ROS2 开发的编辑器,没有之一。插件生态丰富,调试方便。

安装 VS Code:

# 下载 .deb 包安装
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
sudo apt update
sudo apt install -y code

必装插件:

插件名称 用途
ROS ROS2 语法高亮、代码补全、调试支持
C/C++ C++ 智能提示和调试
Python Python 开发支持
GitLens Git 历史可视化
Docker Docker 容器管理

注意:VS Code 的 ROS 插件需要配置 ROS_DISTRO 环境变量。如果插件不工作,检查一下 echo $ROS_DISTRO 是否输出 humble

5. Docker 环境搭建

Docker 是解决「在我电脑上能跑」问题的终极方案。我团队现在所有开发环境都容器化了,部署效率提升了不少。

安装 Docker:

# 卸载旧版本
sudo apt remove docker docker-engine docker.io containerd runc

# 安装依赖
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release

# 添加 Docker 官方 GPG 密钥
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 设置仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 安装 Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

# 将当前用户加入 docker 组(避免每次 sudo)
sudo usermod -aG docker $USER
newgrp docker

验证安装:

docker run hello-world

看到 Hello from Docker! 就说明安装成功了。

推荐做法:创建一个 ROS2 Humble 的 Docker 镜像,把开发环境打包进去。这样团队成员拉下来就能用,省去重复配置的时间。

# 示例 Dockerfile
FROM ros:humble-ros-base-jammy

RUN apt update && apt install -y \
    vim \
    git \
    build-essential \
    python3-pip

RUN pip3 install colcon-common-extensions

WORKDIR /workspace

CMD ["/bin/bash"]

我的经验:Docker 容器里跑 GUI 程序需要额外配置。如果你要用 rviz2 或 gazebo,记得加上 --net=host --env="DISPLAY" --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" 这些参数。

好了,环境搭建到这里就完成了。你手头现在应该有一套完整的开发环境:Ubuntu 22.04 打底,ROS2 Humble 做中间件,Git 管代码,VS Code 写代码,Docker 做隔离。这套组合拳,足够你应付大部分自动驾驶开发场景了。

嗯,接下来你就可以开始写第一个 ROS2 节点了。不过那是下一章的事,咱们先把基础打牢。


专注资料整理