carla
一、安装
官网地址
1.1 windows下安装
-
下载zip文件安装
-
在CARLA官方文档中点击下图部分,文档链接https://carla.readthedocs.io/en/latest/start_quickstart/
-
到git下直接下载windows版本, 下面可以选择版本, 这里我用最新版
-
-
在解压的文件中的…\PythonAPI\carla\dist中的.egg文件要求的版本安装Python。我这里是carla-0.9.12-py3.7-win-amd64.egg,所以安装Python3.7版本
-
确保安装了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
-
进入到解压文件双击CarlaUE4.exe, 就可以启动啦 用键盘的QWEASD和鼠标控制视野
正在上传…重新上传取消
5.如果报错说缺少Microsoft Visual C++ 和 DirectX, 或者其中之一参考下面链接
-
安装carla包
pip install carla
-
对于0.9.10版本的carla安装包应该这样装
easy_install .\carla-0.9.10-py3.7-win-amd64.egg
1.2 ubuntu下安装
-
环境要求
至少需要6GB的GPU carla需要大概20GB的磁盘空间 Python: 这里用python3.7(一般在下载的PythonAPI\carla\dist下查看)
-
升级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
-
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
-
安装carla包
cd PythonAPI/carla/dist/ pip3 install carla-0.9.12-cp37-cp37m-win_amd64.whl # 或者 pip3 install carla
-
可以启动啦
cd /opt/carla-simulator/bin/ ./CarlaUE4.sh
1.3 docker下安装
-
安装docker
-
安装依赖: nvidia-docker2和nvidia-container-runtime
-
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最新版本
- 启动
二、初识carla
-
carla默认的交互端口为2000和2001
2.1 carla的交互形式
来自carla官网的图片如下: Server + Client两个模块 (建立仿真世界+控制改变仿真世界)
正在上传…重新上传取消
2.2 carla的核心模块
-
Traffic Manager: 交通管理器。 负责模拟现实世界复杂的的交通环境,(后面细说比较复杂)
-
Sensors: Carla里面有各种各样模拟真实世界的传感器模型,包括相机、激光雷达、声波雷达、IMU、GNSS等等。为了让仿真更接近真实世界,它里面的相机拍出的照片甚至还有畸变和动态模糊效果。用户一般将这些Sensor attach到不同的车辆上来收集各种数据。
-
Recorder: 这个模块是用来记录仿真每一个时刻(Step)的状态,可以用来回顾、复现等等。
-
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 行为控制部分
-
确定起始位置和结束位置,生成航路点
networkx?
-
根据判断的信息进行操控小车
-
代码演示与讲解
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