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 更稳 |
2.2 操作系统选择:Ubuntu是亲儿子
官方对Windows也支持,但说实话,我在Windows上踩过不少坑。比如编译慢、路径分隔符问题、还有莫名其妙的DLL缺失。后来我彻底转到了Ubuntu,世界清净了。
我个人推荐 Ubuntu 22.04 LTS。为什么?
- Carla官方对Ubuntu的兼容性测试最充分
- ROS2和Carla的集成,Ubuntu是首选
- 驱动和CUDA的安装,Linux下更透明
如果你非要用Windows,也不是不行。但请确保是 Windows 10 或 11 专业版,并且开启了WSL2。不过,我建议你直接装双系统或者用一台纯Linux机器。省心。
2.3 显卡驱动与CUDA安装:最容易翻车的一步
这一步,我当年翻车翻得最惨。装完驱动,重启,黑屏。装完CUDA,nvcc -V 报错。后来发现是驱动版本和CUDA版本不匹配。
为什么会这样?因为Carla对CUDA版本有要求。目前Carla 0.9.14及以上版本,推荐 CUDA 11.6 或 11.8。驱动版本则要 >= 510。
我的安装流程是这样的:
- 先卸载旧驱动(如果有的话)
- 安装NVIDIA驱动:推荐用官方runfile或者Ubuntu的附加驱动工具
- 安装CUDA Toolkit:去NVIDIA官网下载对应版本的runfile
- 配置环境变量:把CUDA路径加到.bashrc里
- 验证安装:运行 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
2.4 Python环境配置:用虚拟环境,别污染系统
Python版本,Carla官方推荐 Python 3.8 或 3.9。别用3.10以上,有些依赖库还没适配好。
我个人习惯用 conda 来管理环境。为什么?因为方便切换。你想想看,你后面可能还要跑ROS2、PyTorch、TensorFlow,每个项目对Python版本和库版本要求都不一样。用虚拟环境,互不干扰。
安装步骤:
- 安装Miniconda(比Anaconda轻量)
- 创建Carla专用环境
- 安装必要的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 # 处理几何数据
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后再跑一次。
CarlaUE4/Bindings/PythonAPI/carla/dist/ 下的那个egg文件。你需要把它解压或者用pip安装。这个细节,我们下一章会详细讲。
好了,环境准备就到这里。你跟着走一遍,应该不会出大问题。如果卡住了,别硬扛。去查一下错误日志,或者回头看看是不是哪一步漏了。我当年装CUDA时,就是少配了一个环境变量,结果折腾了两小时。嗯,这些坑,你记住了就好。