carla入门

carla入门

一、安装

1.1 windows下安装

  1. 下载zip文件安装
    carla入门
  2. 到git下直接下载windows版本, 下面可以选择版本, 这里我用最新版
  3. 在解压的文件中的…\PythonAPI\carla\dist中的.egg文件要求的版本安装Python。我这里是carla-0.9.12-py3.7-win-amd64.egg,所以安装Python3.7版本
  4. 确保安装了python的情况下执行:
pip install --user pygame numpy -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
 pip install -r requirements.txt  -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
 pip install shapely -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
  1. 进入到解压文件双击CarlaUE4.exe, 就可以启动啦 用键盘的QWEASD和鼠标控制视野

正在上传…重新上传取消

5.如果报错说缺少Microsoft Visual C++ 和 DirectX, 或者其中之一参考下面链接

  • Visual Studio :安装教程(需要重启)
  • DirectX: 安装包 (下一步、下一步安装就可以)

  • 安装carla包

pip install carla
  1. 对于0.9.10版本的carla安装包应该这样装
easy_install .\carla-0.9.10-py3.7-win-amd64.egg

1.2 ubuntu下安装

  1. 环境要求
至少需要6GB的GPU
carla需要大概20GB的磁盘空间
Python: 这里用python3.7(一般在下载的PythonAPI\carla\dist下查看)
  1. 升级pip3并安装pygame和numpy
pip3 install --upgrade pip -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
 pip install --user pygame numpy -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
  1. Debian 安装
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-simulator
cd /opt/carla-simulator
​
carla-simulator=你要的版本,这里安装最新版本0.9.12
apt-cache madison carla-simulator
sudo apt-get install carla-simulator=0.9.12
  1. 安装carla包
cd PythonAPI/carla/dist/
pip3 install carla-0.9.12-cp37-cp37m-win_amd64.whl
​
或者
pip3 install carla
  1. 可以启动啦
cd /opt/carla-simulator/bin/
./CarlaUE4.sh

1.3 docker下安装

  1. 安装docker
  2. 安装依赖: nvidia-docker2和nvidia-container-runtime
  3. sudo apt-get install nvidia-docker2
    • 可能报错:
    • 解决办法执行下面
      +
$ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
  sudo apt-key add -
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
$ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
  sudo tee /etc/apt/sources.list.d/nvidia-docker.list
$ sudo apt-get update
  • 然后安装 sudo apt-get install nvidia-container-runtime
  • 拉取镜像:我这里是0.9.11版本, 也可以自选版本,或者docker pull carlasim/carla:latest最新版本
  • 启动

undefined

二、初识carla

  • carla默认的交互端口为2000和2001

2.1 carla的交互形式

来自carla官网的图片如下: Server + Client两个模块 (建立仿真世界+控制改变仿真世界)

正在上传…重新上传取消

2.2 carla的核心模块

  1. Traffic Manager: 交通管理器。 负责模拟现实世界复杂的的交通环境,(后面细说比较复杂)
  2. Sensors: Carla里面有各种各样模拟真实世界的传感器模型,包括相机、激光雷达、声波雷达、IMU、GNSS等等。为了让仿真更接近真实世界,它里面的相机拍出的照片甚至还有畸变和动态模糊效果。用户一般将这些Sensor attach到不同的车辆上来收集各种数据。
  3. Recorder: 这个模块是用来记录仿真每一个时刻(Step)的状态,可以用来回顾、复现等等。
  4. ROS bridge: 这个模块可以让Carla与ROS还有Autoware交互,正是这个模块的存在使得在仿真里测试你的自动驾驶系统变得可能,十分重要。

2.3 小案例一

(实践是检验真理的唯一标准)

  • 在仿真世界中创建一辆小车,并控制行驶
  • 在编程过程中,一般按照下面三个元素抽象层级的顺序进行编程
  • world:先创建这个仿真世界
  • blueprint: 获得所有actor的blueprint
  • actor: 所有仿真世界的 ‘演员’ 车、人、传感器
  • 代码演示

三、核心模块扩展

3.1 Sensors

  • 第一类返回数据都是类的实例
  • RGB camera : RGB相机 普通摄像头
  • Semantic Segmentation camera: 语义分割相机
  • Depth camera: 深度相机
  • Optical Flow Camera : 光流相机
  • DVS camera(Dynamic Vision Sensor): 动态视觉传感器相机
  • Gnss sensor: 导航卫星定位传感器
  • Lidar raycast.:激光雷达传感器
  • Radar: 雷达
  • SemanticLidar raycast: 语义激光雷达
  • IMU sensor:惯性传感器
  • RSS sensor(responsibility sensitive safety) : 责任敏感安全传感器
  • 第二类, 返回是一个触发事件
  • Collision detector: 碰撞检测
  • Lane invasion detector: 压线检测
  • Obstacle detector: 障碍物检测

3.1.1 代码演示

  • 注册传感器蓝图
  • 设置传感器的参数
  • 放置的位置
  • 监听返回结果

3.2 Traffic Manager 车辆管理模块

正在上传…重新上传取消

3.3 行为控制部分

  1. 确定起始位置和结束位置,生成航路点 networkx?

  2. 根据判断的信息进行操控小车

  3. 代码演示与讲解

3.4 可视化工具carlaviz

  • 0.9.10: 与pygame结合进行展示
  • docker run -it -p 8080:8080 -p 2000:2000 -e CARLAVIZ_HOST_IP=localhost -e CARLA_SERVER_IP=localhost -e CARLA_SERVER_PORT=2000 mjxu96/carlaviz:0.9.10

Original: https://blog.csdn.net/weixin_42464652/article/details/127109092
Author: 有梦想的塔姆
Title: carla入门

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/779028/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球