1.Carla安装
1.1网站资源
- carla官网:CARLA Simulator
- carla官方教程:Quick start package installation - CARLA Simulator
1.2Carla0.9.15安装
carla安装一般有两个方式:
- 源码编译安装,这种比较难装。
- 第二种就是发行版,直接下载压缩包解压后就能后使用,这里使用这种方式。0.9.15下载页面Release 0.9.15 · carla-simulator/carla
1.3安装显卡驱动
注意在Linux下运行需要安装Nvidia显卡驱动,其他方法可以自行查找,下面介绍一种方式。
首先使用ubuntu-drivers devices查看推荐的显卡驱动,如果该命令获取不到可以先使用sudo apt update。如若无问题,则会出现driver : nvidia-driver-575 - third-party non-free recommended,后面带有recommende代表推荐的,然后选择一个安装:sudo apt install nvidia-driver-575。安装完成后使用nvidia-smi进行测试,如果没有输出请重启电脑再次查看,正常会有:
Sun Aug 3 11:21:49 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 575.57.08 Driver Version: 575.57.08 CUDA Version: 12.9 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
上面使用可能获取不到最新的显卡驱动,可以使用下面的方式获取最新驱动,获取完毕后再次执行ubuntu-drivers devices不出意外可以获取最新的,其他步骤保持一致:
# 下载 pin 文件
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
# 添加密钥
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub
# 添加源
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"
#(报错)InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY A4B469963BF863CC
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A4B469963BF863CC
# 更新索引
sudo apt update
1.4测试Carla
进入解压目录CARLA_0.9.15中去,找到CarlaUE4.sh在终端中执行./CarlaUE4.sh。之后会出现Carla界面,下面是具体的操作指令:
- W:视角向前
- S:视角向后
- Q/E:视角上升或下降
- 鼠标在界面上左键按下左右移动视角也会左右移动
1.5 配置环境
上面运行的./CarlaUE4.sh相当于一个服务器,自己可以编写客户端来请求服务器,创建车辆或行人等操作。下面介绍运行Carla所需要的环境:
- 使用Anconda进行包管理。不使用也可以,不过做这方面的最好使用Anconda进行包管理,进行环境隔离。
- 创建一个虚拟环境。CARLA 客户端库可以从 PyPi 下载。此库与 Python 版本 2.7、3.6、3.7 和 3.8 兼容,这里选择3.8,不详细指定版本。之前有位博主说明3.7.8是非常稳定的版本,这里也可以使用这个版本(carla下有一个3.7whl文件,可以直接运行安装相关的依赖)。
1.5.1安装Anconda
使用uname -m查看电脑架构,我这里是x86_64。到清华开源软件镜像站进行下载Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror。这里下载Anaconda3-2025.06-0-Linux-x86_64.sh,可以任意选择或者选择一个稳定版本。找不到这个可以往下翻翻。
首先chmod +x Anaconda3-2025.06-0-Linux-x86_64.sh给予可执行权限,然后sudo ./Anaconda3-2025.06-0-Linux-x86_64.sh进行安装,可以看看具体的操作然后再Enter和yes,注意的是遇到conda config --set auto_activate_base false
这个代表每次开启终端是否conda bash是否自动激活,可以选择禁止自动激活。不过也可以使用conda init --reverse $SHELL来开启自自动激活。还有遇到安装路径的时候可能会出现在/root目录下,可以替换为其他路径。
正常的情况下会自动添加的,不需要配置。先sudo gedit ~/.bashrc或sudo vim ~/.bashrc,如若没有,在末尾添加export PATH="$HOME/anaconda3/bin:$PATH",这里要符合实际的安装路径。正常情况下使用conda --version有输出代表安装成功。
1.5.2Python3.7相关依赖(.whl 文件)(和ROS联合使用还是使用这个为好)
这里简单介绍一下Python3.7安装的过程,参考的内容为:Carla基础 | Carla预编译版安装与ROS联合仿真图文教程-CSDN博客。
- 首先创建一个虚拟环境:conda create -n carla python=3.7
- 激活该环境:conda activate carla
- 进入到CARLA_0.9.15/PythonAPI/carla/dist目录下,执行pip install carla-0.9.15-cp37-cp37m-manylinux_2_27_x86_64.whl。其中cp27代表的是Python2.7,不要选择错误。
- 增加carla相关配置,打开~/.bashrc添加
# Carla export CARLA_ROOT=$HOME/CARLA_0.9.15 export PYTHONPATH=$PYTHONPATH:$CARLA_ROOT/PythonAPI/carla/dist/carla-0.9.15-py3.7-linux-x86_64.egg:$CARLA_ROOT/PythonAPI/carla
1.5.3Python3.8 下安装相关依赖( Downloadable Python packag)
这里只是给出了Python3.8下安装依赖的方法,如果不使用上面的方式的与ROS联调会出现一些问题。
- 创建一个虚拟环境:conda create -n carla python=3.8
- 激活:conda activate carla
- 依次安装下面的依赖,指定版本的是参照CARLA_0.9.15/PythonAPI/carla/requirements.txt文件内容:
pip3 install carla pip3 install numpy==1.18.4 -i https://pypi.tuna.tsinghua.edu.cn/simple pip3 install future -i https://pypi.tuna.tsinghua.edu.cn/simple pip3 install pygame -i https://pypi.tuna.tsinghua.edu.cn/simple pip3 install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple pip3 install open3d -i https://pypi.tuna.tsinghua.edu.cn/simple pip3 install Pillow -i https://pypi.tuna.tsinghua.edu.cn/simple pip3 install Shapely==1.6.4.post2 -i https://pypi.tuna.tsinghua.edu.cn/simple pip3 install networkx -i https://pypi.tuna.tsinghua.edu.cn/simple
接下来进行测试,这里使用Vscode,Linux没有安装Pycharm懒的安了,所以用Vscode。首先使用Vscode打开项目,然后下载一下
安装先去点击右下角红框区域,然后选择环境即可。
接下来进行测试CARLA_0.9.15/PythonAPI/examples下有generate_traffic.py和automatic_control.py两个文件:
- generate_traffic.py是生成车辆和行人的
- automatic_control.py可以实现车辆的自动控制
首先运行两个节点前需要运行CarlaUE4.sh, 然后先运行generate_traffic.py生成车辆,然后运行automatic_control.py。
2.安装carla-ros-bridge
carla-ros-bridge 是连接自动驾驶仿真平台 CARLA 与机器人操作系统 ROS 的桥梁工具,能实现二者间数据(如传感器信息、车辆控制指令)的交互,便于在仿真环境中开发和测试 ROS 兼容的自动驾驶算法。
2.1安装ROS
一键安装:wget http://fishros.com/install -O fishros && . fishros
2.2 apt安装方式(大概率连接超时)
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1AF1527DE64CB8D9
sudo add-apt-repository "deb [arch=amd64] http://dist.carla.org/carla $(lsb_release -sc) main"
sudo apt-get update
sudo apt-get install carla-ros-bridge
2.3源码构建
参考:Carla 0.9.13 与ROS bridge安装记录_signal 11 caught. malloc size=65538 largememorypoo-CSDN博客
首先第一步骤就是先退出anconda环境,默认启动终端都带有bash,执行conda deactivate退出bash然后再次进行操作。
- 创建工作空间:mkdir -p carla-ros-bridge/catkin_ws/src
- git clone --recurse-submodules https://github.com/carla-simulator/ros-bridge.git carla-ros-bridge/catkin_ws/src/ros-bridg
- 安装依赖
cd carla-ros-bridge/catkin_ws/ sudo rosdep init rosdep update rosdep install --from-paths src --ignore-src -r
报错ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list可以使用下面方式:sudo apt install python3-pip sudo pip3 install rosdepc sudo rosdepc init rosdepc update rosdepc install --from-paths src --ignore-src -r
- 编译:catkin_make。这里可能会遇到两个错误:1.CMake Error at /opt/ros/noetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package): Could not find a package configuration file provided by "ackermann_msgs"和2.CMake Error at /opt/ros/noetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package): Could not find a package configuration file provided by "derived_object_msgs",直接安装就可以:
sudo apt-get install ros-noetic-ackermann-msgs sudo apt-get install ros-noetic-derived-object-msgs
2.4测试
首先使用启动carla:./CarlaUE4.sh -prefernvidia,然后启动carla-ros -bridge测试用例:roslaunch carla_ros_bridge carla_ros_bridge_with_example_ego_vehicle.launch town:='town01'
可以打开rviz,订阅传感器话题进行查看:
错误解决
1.process[carla_ros_bridge-2]: started with pid [23503] /usr/bin/env: “python”: 没有那个文件或目录
在 Linux 系统中,默认安装的 Python 3 通常以 python3
命名,而 python
命令可能未设置(未指向 python3
),导致依赖 python
命令的程序无法运行。
sudo ln -s /usr/bin/python3 /usr/bin/python
2.ModuleNotFoundError: No module named 'networkx'
注意这里不要在anconda bash下执行。
pip3 install networkx -i https://pypi.tuna.tsinghua.edu.cn/simple
3.CARLA python module version 0.9.13 required. Found: 0.9.15
打开carla-ros-bridge/catkin_ws/src/ros-bridge/carla_ros_bridge/src/carla_ros_bridge/CARLA_VERSION文件,将其修改为0.9.15
4. 提示没有pygame
pip3 install pygame -i https://pypi.tuna.tsinghua.edu.cn/simple