在Ubuntu 20.04中安装CARLA

[复制链接]
发表于 2026-1-15 01:19:44 | 显示全部楼层 |阅读模式
0. 弁言

CARLA (Car Learning to Act) 是一款开源主动驾驶模拟器,其支持主动驾驶体系全管线的开发训练验证(Development, Training, and Validation of autonomous driving systems)。Carla提供了丰富的数字资产,比方都会结构(Urban layouts)、构筑物(Buildings)、车辆(Vehicles),并支持多项功能——包罗机动的传感器设置、环境条件、对静态和动态Actors的控制、舆图天生等。Carla使得研究职员和工程师可以或许在假造环境中模拟复杂的都会交通环境,天生多样化的场景数据,极大地低沉主动驾驶算法路测时的本钱和风险。



  • Carla 官方网站
CARLA: Open-source simulator for autonomous driving research.
https://carla.org/



  • Carla 学术论文(随着论文版本更新链接大概失效,当前为v78)
CARLA: An Open Urban Driving Simulator
https://proceedings.mlr.press/v78/dosovitskiy17a/dosovitskiy17a.pdf

Carla 的亮点功能


  • 可扩展性(Scalability via a server multi-client architecture):通过服务器多客户端架构实现扩展性,多个客户端可以在同一节点或差异节点上控制差异的Actors
  • 机动的API(Flexible API:CARLA的API允许用户控制与仿本干系的各个方面,包罗交通天生、行人举动、天气、传感器等
  • 主动驾驶传感器套件(Autonomous Driving sensor suite):用户可以设置多样化的传感器套件,包罗激光雷达(LIDAR)、多摄像头、深度传感器、GPS等
  • 快速仿真(Fast simulation for planning and control):提供快速仿真模式,该模式关闭了渲染功能,以便快速实验不必要图形的交通仿真和蹊径举动
  • 舆图天生(Maps generation):用户可以通过RoadRunner等工具,根据ASAM OpenDRIVE尺度创建自界说舆图
  • 交通场景仿真(Traffic scenarios simulation):ScenarioRunner引擎允许用户基于模块化举动界说并实验差异的交通场景
  • ROS集成(ROS integration):CARLA通过ROS-bridge实现了与ROS的集成
  • 主动驾驶基线(Autonomous Driving baselines):CARLA中提供了主动驾驶Baselines,包罗AutoWare Agent和基于条件模拟学习的Agent(Conditional Imitation Learning agent)

1. Carla安装步调

本部门给出具体步调,先容怎样在 Ubuntu 20.04体系中安装 CARLA。根据以下图片所示的软件依赖关系,ROS bridge必要基于ROS2 Foxy,因此也必要Ubuntu 版本Ubuntu 20.04(Focal Fossa)。

ROS Bridge版本依赖要求


ROS2 Foxy版本依赖要求

根据以上安装指南,可确定所涉及的各软件版本应为


  • Ubuntu 20.04 (不可使用假造机体系)
  • ROS2 Foxy
  • Carla 0.9.13
本人的GPU软硬件环境如下:


  • RTX 2070 + GPU Driver Version: 535.183 + CUDA Version: 12.2 (GPU驱动安装参考)
1)安装依赖项



  • 安装Python3的pip,并升级pip
   
  1. sudo apt install python3-pip
  2. pip3 install --upgrade pip
复制代码
   

  • 安装须要的Python库
   
  1. pip3 install --user pygame numpy
  2. pip3 install opencv-python
  3. pip3 install carla
复制代码
   

  • 安装体系库
   
  1. sudo apt install libomp5
  2. sudo apt install ros-foxy-derived-object-msgs
复制代码
   2)下载并设置CARLA模拟器



  • 前去CARLA的GitHub发布页面,下载实用于Linux/Ubuntu的Carla 0.9.13压缩包,文件名为CARLA_0.9.13.tar.gz
  • 解压并进入CARLA目次
  1. # 定位至Carla解压后的文件夹路径,例如 cd /home/yaoyao/Documents/CARLA_0.9.13
  2. cd <path-to-carla>
复制代码


  • 初次运行CARLA必要导入设置文件
  1. ./ImportAssets.sh
复制代码


  • 运行CARLA模拟器
  1. ./CarlaUE4.sh
复制代码
此时,下令行会提示如下内容,并在新的CarlaUE4窗口中体现一个都会街景图。
  
  1. yaoyao@u2004:~/Documents/CARLA_0.9.13$ ./CarlaUE4.sh
  2. 4.26.2-0+++UE4+Release-4.26 522 0Disabling core dumps.
复制代码
   

  3)安装ROS2



  • 使用鱼香ROS一键安装ROS2。安装过程中,选择ROS2 Foxy版本
  1. wget http://fishros.com/install -O fishros && . fishros
复制代码
4)安装carla_ros_bridge



  • 创建carla-ros bridge工作空间并进入,以下示例代码为将carla-ros-bridge安装在根目次下
  1. mkdir -p ~/carla-ros-bridge && cd ~/carla-ros-bridge
复制代码


  • 克隆carla_ros_bridge堆栈
  1. git clone --recurse-submodules https://github.com/carla-simulator/ros-bridge.git src/ros-bridge
复制代码


  • source ROS2环境(应根据foxy setup.bash的现实安装目次举行修改)
  1. source /opt/ros/foxy/setup.bash
复制代码
5)安装ROS功能包依赖rosdep

rosdep是ROS的依赖管理工具,用于安装ROS包所需的体系依赖项,确保环境的划一性。继承使用鱼香ROS安装rosdep:
   

   
  1. wget http://fishros.com/install -O fishros && . fishros
复制代码

  1. rosdepc update
复制代码


  • 安装依赖项
  1. cd /opt/ros/foxy
  2. rosdepc install --from-paths src --ignore-src -r
复制代码


  • 编译carla_ros_bridge
  1. cd ~/carla-ros-bridge
  2. colcon build
复制代码
   

  ​请注意,第一次编译时大概会出现stderr: pcl_recorder错误。
  

  • 再次运行colcon编译下令,办理此stderr错误
  1. colcon build
复制代码
6)设置Python环境变量



  • 更新Python环境变量,使用sudo gedit ~/.bashrc下令,将以下语句添加至 ~/.bashrc
  1. export CARLA_ROOT=/home/yaoyao/CARLA_ROS/CARLA_0.9.13
  2. export PYTHONPATH=$PYTHONPATH:$CARLA_ROOT/PythonAPI/carla/dist/carla-0.9.13-py3.7-linux-x86_64.egg:$CARLA_ROOT/PythonAPI/carla
复制代码


  • 修改~/.bashrc如下图第157-158行所示。此中,carla-0.9.13-py3.7-linux-x86_64.egg应能在Carla安装目次的.../PythonAPI/carla/dist/目次下找到。

7)修复bool范例错误

NumPy版本更新后,numpy.bool范例被弃用,运行过程中大概会遇到以下错误:
  1. TypeError: data type 'numpy.bool' not understood
复制代码


  • 为了办理上述兼容性题目,起首定位至packages文件夹 
  1. cd ~/carla-ros-bridge/install/carla_ros_bridge/lib/python3.8/site-packages/carla_ros_bridge
复制代码


  • 使用gedit等文本处置惩罚工具,将camera.py的第455行('pol', numpy.bool)修改为('pol', bool)

以上各个步调即完成了Carla的安装。

2. 启动根本测试

由于ROS2接纳分布式节点架构,每个节点大概在差异的终端或呆板上运行。为了同时运行CARLA模拟器和ROS2 Bridge,必要在差异的终端中启动。


  • 第一个终端:启动CARLA模拟器(根据现实安装目次修改路径)
-carla-rpc-port=2000:指定CARLA的RPC端口,默以为2000
carla_ros_bridge.launch.py:启动ROS桥接节点,与CARLA举行通讯
  1. cd /home/yaoyao/Documents/CARLA_0.9.13./CarlaUE4.sh
  2. -carla-rpc-port=2000
复制代码


  • 第二个终端:启动ROS Bridge
  1. cd ~/carla-ros-bridge
  2. source ./install/setup.bash
  3. ros2 launch carla_ros_bridge carla_ros_bridge.launch.py
复制代码
Carla的运行界面会变为如下图所示的街景:

大概,第二个终端也可启动带有示例车辆的案例。即不运行上述ros2 launch carla_ros_bridge carla_ros_bridge.launch.py,而是实验以下代码:
  1. cd ~/carla-ros-bridge
  2. source ./install/setup.bash
  3. ros2 launch carla_ros_bridge carla_ros_bridge_with_example_ego_vehicle.launch.py
复制代码
将出现CARLA ROS manual control窗口,可以通过键盘举行车辆控制。

控制阐明:


  • H:体现资助信息
  • B:切换手动驾驶模式
  • P:切换主动驾驶模式

3. 总结

本教程涉及了在Ubuntu体系上安装CARLA模拟器的具体步调,并设置了ROS2和carla_ros_bridge。安装乐成后可在ROS 2环境中与CARLA举行交互,举行主动驾驶干系的开发和测试。
常见题目



  • Anaconda的安装大概导致Python环境题目
    在安装与运行ROS2和CARLA时,不要激活如已安装的Anaconda环境:
  1. # Anaconda将在启动终端时不再自动激活base环境
  2. conda config --set auto_activate_base false
复制代码


  • CARLA模拟器运行痴钝
    实验使用低质量模式运行,大概升级硬件设置。不应使用假造机运行Carla。
  1. # 以低分辨率运行Carla./CarlaUE4.sh
  2. -quality-level=Low
复制代码
参考资料



  • CARLA官方文档
  • 鱼香ROS
  • ROS2入门21讲 • 古月


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表