2、环境准备:硬件要求、操作系统选择、显卡驱动与CUDA安装、Python环境配置

好,咱们正式开始动手了。这一章说白了就是「搭台子」。台子搭不好,后面跑仿真的时候各种报错,你心态会崩。我当年第一次装Carla,光显卡驱动就折腾了一下午,后来发现是CUDA版本没对齐。嗯,这些坑我帮你先踩一遍。

2.1 硬件要求:别让机器拖后腿

Carla这玩意儿,吃硬件。尤其是显卡和内存。你想想看,它要实时渲染一个3D城市,还要跑传感器模拟,CPU和GPU都得扛得住。

我个人习惯,先看官方推荐的最低配置,再往上加一档。因为实际跑起来,你会发现「最低配置」只能让你看到画面,根本跑不了多智能体。

硬件 最低要求 推荐配置(我建议)
GPU NVIDIA GTX 1060 6GB NVIDIA RTX 3060 12GB 或更高
CPU Intel i5 第8代 / AMD Ryzen 5 Intel i7 第12代 / AMD Ryzen 7
内存 16 GB 32 GB(我强烈建议)
硬盘 SSD 256 GB NVMe SSD 512 GB 以上
显存 6 GB 8 GB 起步,12 GB 更稳
注意: 千万别用AMD显卡跑Carla。官方只支持NVIDIA的CUDA生态。我见过有人拿A卡硬上,结果渲染全是马赛克,传感器数据也读不出来。

2.2 操作系统选择:Ubuntu是亲儿子

官方对Windows也支持,但说实话,我在Windows上踩过不少坑。比如编译慢、路径分隔符问题、还有莫名其妙的DLL缺失。后来我彻底转到了Ubuntu,世界清净了。

我个人推荐 Ubuntu 22.04 LTS。为什么?

  • Carla官方对Ubuntu的兼容性测试最充分
  • ROS2和Carla的集成,Ubuntu是首选
  • 驱动和CUDA的安装,Linux下更透明

如果你非要用Windows,也不是不行。但请确保是 Windows 10 或 11 专业版,并且开启了WSL2。不过,我建议你直接装双系统或者用一台纯Linux机器。省心。

小技巧: 装系统时,给Ubuntu分200GB以上的空间。Carla本体加上地图包,轻松吃掉50GB。再装点Python库和数据集,空间很快就紧张了。

2.3 显卡驱动与CUDA安装:最容易翻车的一步

这一步,我当年翻车翻得最惨。装完驱动,重启,黑屏。装完CUDA,nvcc -V 报错。后来发现是驱动版本和CUDA版本不匹配。

为什么会这样?因为Carla对CUDA版本有要求。目前Carla 0.9.14及以上版本,推荐 CUDA 11.6 或 11.8。驱动版本则要 >= 510。

我的安装流程是这样的:

  1. 先卸载旧驱动(如果有的话)
  2. 安装NVIDIA驱动:推荐用官方runfile或者Ubuntu的附加驱动工具
  3. 安装CUDA Toolkit:去NVIDIA官网下载对应版本的runfile
  4. 配置环境变量:把CUDA路径加到.bashrc里
  5. 验证安装:运行 nvidia-smi 和 nvcc --version

具体命令,我贴出来供你参考:

# 1. 检查当前驱动
nvidia-smi

# 2. 如果没装,先装驱动(以Ubuntu 22.04为例)
sudo apt update
sudo apt install nvidia-driver-525

# 3. 重启
sudo reboot

# 4. 下载CUDA 11.8(去官网找runfile链接)
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
sudo sh cuda_11.8.0_520.61.05_linux.run

# 5. 配置环境变量
echo 'export PATH=/usr/local/cuda-11.8/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

# 6. 验证
nvcc --version
重要: 安装CUDA时,不要勾选安装驱动(如果已经装过)。否则两个驱动打架,你会后悔的。我曾经因为这个重装了三次系统。

2.4 Python环境配置:用虚拟环境,别污染系统

Python版本,Carla官方推荐 Python 3.8 或 3.9。别用3.10以上,有些依赖库还没适配好。

我个人习惯用 conda 来管理环境。为什么?因为方便切换。你想想看,你后面可能还要跑ROS2、PyTorch、TensorFlow,每个项目对Python版本和库版本要求都不一样。用虚拟环境,互不干扰。

安装步骤:

  1. 安装Miniconda(比Anaconda轻量)
  2. 创建Carla专用环境
  3. 安装必要的Python库
# 1. 下载并安装Miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh

# 2. 创建环境
conda create -n carla_env python=3.8
conda activate carla_env

# 3. 安装常用库
pip install numpy opencv-python pillow matplotlib
pip install pygame  # Carla自带的客户端需要这个
pip install shapely  # 处理几何数据
提示: 如果你用的是Windows,建议用 Anaconda Prompt 来执行这些命令。别用cmd,路径问题会让你抓狂。

2.5 验证环境:跑个简单的测试

装完别急着高兴。先验证一下环境是否真的通了。我一般会写个简单的Python脚本,导入Carla的Python API,看看能不能连上服务器。

# test_carla.py
import carla
import sys

try:
    # 连接到Carla服务器(默认本地)
    client = carla.Client('localhost', 2000)
    client.set_timeout(10.0)
    
    # 获取世界对象
    world = client.get_world()
    print("成功连接到Carla服务器!")
    print(f"地图: {world.get_map().name}")
    
except Exception as e:
    print(f"连接失败: {e}")
    sys.exit(1)

如果你还没启动Carla服务器,这个脚本会报错。没关系,至少说明Python环境和Carla的API包已经装好了。后面我们启动Carla后再跑一次。

注意: Carla的Python API包需要从Carla的安装目录里复制出来。具体路径是 CarlaUE4/Bindings/PythonAPI/carla/dist/ 下的那个egg文件。你需要把它解压或者用pip安装。这个细节,我们下一章会详细讲。

好了,环境准备就到这里。你跟着走一遍,应该不会出大问题。如果卡住了,别硬扛。去查一下错误日志,或者回头看看是不是哪一步漏了。我当年装CUDA时,就是少配了一个环境变量,结果折腾了两小时。嗯,这些坑,你记住了就好。