无人驾驶模拟器收集汇总

无人驾驶模拟器

现在有关汽车的模拟器非常多,但是我们能用的可能还是比较少的。

首先是本次寻找模拟器的需求:

  • 环境能够自己修改,自行添加车辆、行人等,运动物体的速度可以自己修改或者不修改也行.
  • 能够得到每个障碍物的位置信息
  • 障碍物之间的物理关系已有(相互之间发生碰撞会停止)
  • 源码最好C++,可以适当更改,加地图相关等
  • 有关的商业软禁prescan等先不考虑

模拟器调研

1. udaicty 课程模拟器

这是udacity专门用来为学生做项目使用,使用的项目有Term1的行为克隆(端到端的深度学习)、Term3 path-planning
优点:

  • 代码开源,障碍物之间的碰撞关系是已经有的。即两个行动的物体能够自己碰撞并且停下来,其他汽车的控制方案、速度、位置能够得到
  • 车辆有简单的动力学模型
  • 车辆使用PID横向和纵向控制

缺点:

  • 环境单一,增加环境还是有所困难的。现有环境中,其余车辆只能沿着车道线行驶
  • 不提供增加车辆的选项,只能自己该改源码增加。

意见: 暂时不用

2. IPG automotive

这是一个
无人驾驶模拟器收集汇总_第1张图片
它用于无人驾驶的也就是carmaker. 他有卡车小车以及摩托车模型 。
优点:

  • 场景编辑器,它允许你从头开始生成场景或编辑已经存在的场景。在传感器的关键领域也有一些创新。从概念研究的理想传感器模型和一般功能测试到开发传感器组件和算法的物理模型,正确的模型总是存在于6.0版本中。

缺点 :

  • 不开源 ,是一个产品
  • ×.exe Only for windows.

3. Gazebo

ex: car_demo
一个基于 ROS ,可自己建立 world
优点 :

  • C++,OPEN source, with ROS
  • have demo for car
    `缺点:
  • demo太过于简单,该car_demo主要还在开发中,因此暂时不使用。
    car_demo是最有可能被我们使用的 在文章末测试并安装了基于gazebo的car_demo

4. Carla

相对较为复杂,更受欢迎 CARLA is an open-source simulator for autonomous driving research
基于python和C++的模拟器,专门为自动驾驶打造,又Intel Labs、 Toyota Research Institute、 Computer Vision Center三家公司完成并开源,主要是Computer Vision Center。
优点:

  • 可以自己建图
  • 功能齐全
    缺点:
  • 项目较大,上手不易
  • 对电脑配置要求高,台式机运行卡顿
Carla 安装

安装时计算机状态:为了避免安装过程中出现意想不到的问题,本次测试安装了一个全新的系统ubuntu16.04。

  1. 安装依赖项:
  • sudo apt-get update
  • sudo apt-get install build-essential clang-3.9 git cmake ninja-build python3-pip python3-requests python-dev tzdata sed curl wget unzip autoconf libtool
  • sudo pip3 install protobuf

安装Unreal Engine
这是一个虚拟游戏引擎,carla依赖于这个游戏引擎。但是该repositories是private,
可以在它的网站上申请一个帐号,并且把这个帐号与github的帐号进行绑定。
随后在EpicGames的github上就能够看到private的文件了
解压下载后的UnrealEngine-release,在该目录下运行./Setup.sh,默默等待下载4.8G的文件。
failed。。。

5. VREP

也是一个很出名的机器人仿真。youtube有许多做这个的视频,效果很好。但是确实不太好做,使用3Dmax建模,工作量大。

下面对gazebo的安装和使用进行了简要研究。

Gazebo 使用

标签(空格分隔): install Gazebo Car_demo

Gazebo的安装方式

Default installation: one-liner

  1. Install

curl -ssL http://get.gazebosim.org | sh

  1. Run

gazebo

Gazebo 测试使用

加载环境

在下载的Gazebo工程文件下打开终端` gazebo ./worlds/pioneer2dx.world
无人驾驶模拟器收集汇总_第2张图片

`,将world文件内的环境加载即可,如果没有环境的model,他会自动从网上下载:
gazebo-world.png
加载好了后就会出现这个小敞篷车了:
gazebo-worldtest.png
无人驾驶模拟器收集汇总_第3张图片

客户端和服务端分开使用

运行gazebo时实际是运行了两个可执行程序,分别是gzsever gzclient

gzserver可执行文件运行物理更新循环和传感器数据生成。这是Gazebo的核心,可独立于图形界面使用,也是读取数据的

gzclient可执行文件运行基于QT的用户界面。此应用程序提供了一个很好的仿真可视化,并可以方便地控制各种仿真属性。

运行一个gzserver,可运行多个显示界面gzclient

Car_demo build&&run

build

  1. download from github car_demo
  2. Install docker-ce
  3. install nvida-docker
    Install the repository for your distribution by following the instructions here.
  • curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey |
    sudo apt-key add -
  • curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64/nvidia-docker.list |
    sudo tee /etc/apt/sources.list.d/nvidia-docker.list
  • sudo apt-get update
    ??
    Install the nvidia-docker2 package and reload the Docker daemon configuration:
  • sudo apt-get install nvidia-docker2
  • sudo pkill -SIGHUP dockerd
    after install the nvida-docker2.0, problems:
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast

we need to install nvidia-docker 1.So I remove the nvida-docker2.0 and install the 1.0 as follows:

sudo apt-get remove nvidia-docker2
sudo apt-get install nvidia-docker

4.Build the Car_demo
cd car_demo
./build_demo.bash
Successfully built 2e74b03360b1
Successfully tagged osrf/car_demo:latest

Run

  1. run the docker server
  2. ./run_demo.bash
    Car_demo.png
    无人驾驶模拟器收集汇总_第4张图片
    现在这个模型主要模拟了激光雷达传感器的点云数据,自己也建立一个小世界。

你可能感兴趣的:(ubuntu,无人驾驶)