查看原文
其他

技术文档丨用LGSVL仿真器运行Apollo 5.0

阿波君 Apollo开发者社区 2022-07-29


LGSVL Simulator是一款开源的无人驾驶仿真系统,支持Linux系统和Windows系统,可以对接Apollo及Autoware自动驾驶软件使用。运行该仿真系统需要一台带NVidia独立显卡的高配置的电脑。我下载的是Windows版本的Simulator,并通过访问指定的ip地址的方式与运行在Linux上的Apollo建立连接。


注意:本文主要介绍如何让LGSVL Simulator对接Apollo 5.0。Simulator本身的具体使用方法将另文介绍。本文提到的Apollo 5.0是LG维护的一个分支,其中包含针对该仿真系统的修改,请不要使用Apollo官方版本。



  以下,ENJOY  





指南概述了用LG汽车模拟器来安装Apollo所需的步骤。如果您还没有设置模拟器,请先按照《LGSVL Simulator: An Autonomous Vehicle Simulator》(链接见文末)的说明进行设置。





  • Linux操作系统(最好是Ubuntu 14.04或更高版本)。

  • Nvidia显卡(感知模块需要)。

    ○ 必须安装Nvidia专用驱动程序。

    ○ 当前版本的Apollo不支持Volta和Turing架构(包括Titan V和RTX 2080 GPUs)。





Apollo 的设计充分利用了Docker容器。镜像将作为卷挂载这个存储库,因此不需要在每次修改时重新构建镜像。


请参阅《Docker官方文件》(链接见文末)来安装Docker CE。


注意:如果Docker是用sudo启动的,Apollo将不会有反应。我们建议遵循以下《安装后的步骤》(链接见文末)。


在安装Nvidia -docker之前,请确保安装了合适的Nvidia驱动程序。在终端中输入nvidia-smi来测试Nvidia驱动程序是否正确安装。如果驱动程序安装正确,应该会出现类似下面的输出。



Nvidia-docker的安装步骤可以在《NVIDIA Docker的官方存储库》(链接见文末)中找到。


LGSVL维护一个Docker映像,以便与此存储库一起使用。《LGSVL的Apollo Docker映像》(链接见文末)提供了Docker映像。


使用以下命令提取图像:

docker pull lgsvl/apollo-5.0

<左右滑动以查看完整代码>


这个存储库包含两个用于HD Maps和Igsvl msgs的子模块。要确保这些子模块也被克隆,可以使用以下命令:


git clone --recurse-submodules https://github.com/lgsvl/apollo-5.0.git

<左右滑动以查看完整代码>


现在构建Apollo所需的一切都准备好了。Apollo必须从容器中构建。要启动容器,请导航到克隆存储库所在的目录,并输入:


./docker/scripts/dev_start.sh

<左右滑动以查看完整代码>


这将启动容器并装入几个卷。在第一次运行时,可能需要几分钟才能拉出最新的卷。


进入容器:


./docker/scripts/dev_into.sh

<左右滑动以查看完整代码>


构建Apollo:


./apollo.sh build_gpu

<左右滑动以查看完整代码>






在这里,我们使用Apollo和模拟器描述了一个简单的例子:驾驶车辆从点A到点 B。


  • 启动Apollo。


    注意:如果您没有从/apollo目录运行脚本,可能会收到有关dreamview没有生成的错误信息。

bootstrap.sh

<左右滑动以查看完整代码>



  • 运行Bridge(在Docker容器内)。

   

bridge.sh

<左右滑动以查看完整代码>


  • 在Docker外部运行LGSVL模拟器。参见《模拟器存储库》(链接见文末)中的说明。


    注意:这部分涉及到WebUI如何操作,WebUI页面里有好几个Tab,具体每个Tab的说明在下面这些文档中:

    https://www.lgsvlsimulator.com/docs/maps-tab/

    https://www.lgsvlsimulator.com/docs/vehicles-tab/

    https://www.lgsvlsimulator.com/docs/clusters-tab/

    https://www.lgsvlsimulator.com/docs/simulations-tab/

  • 其中,Vehicles Tab里面需要对主车上的传感器进行设置,具体文档参照:https://www.lgsvlsimulator.com/docs/sensor-json-options/

    ○ 创建一个仿真BorregasAve地图和Lincoln2017MKZ (Apollo 5.0)车辆。

    ○ 输入localhost:9090作为桥接字符串。

    (可选)启用模拟交通和行人。

    (可选)设置一天的时间和天气设置。

    提交模拟。

    选择创建的模拟,点击“Play”。



  • 通过localhost: 8888在浏览器中打开Apollo dreamview。

    选择右上角的Lincoln2817MKz车辆和BorregasAve地图。

    打开模块控制器选项卡(在左侧栏)。

    启用定位、转换、感知、交通灯、规划、预测、路由和控制功能

    浏览路线编辑选项卡。

    通过单击车道线并点击击提交路线。

    看着车辆导航至目的地。

    ○ 要停止docker容器,请在apollo/docker/scripts的新终端(不在docker容器中)中运行dev_start.sh stop脚本。


  • 如果您正在使用ufw,最简单的方法是完全禁用防火墙,以允许连接sudo ufw disable。

    ○ 如果不可能,请添加以下规则:

◆ 即使在同一机器上运行模拟器和Apollo,这些也是必要的。

◆ sudo ufw allow 8888

◆ sudo ufw allow 9090





默认车辆的校准文件包含在《LGSVL Branch of Apollo 5.0》(链接见文末)中。





默认地图的高精地图文件包含在《LGSVL Branch of Apollo 5.0》(链接见文末)中。





Copyright (c) 2019 LG Electronics, Inc.

本软件包含许可中描述的代码。




*《LGSVL Simulator: An Autonomous Vehicle Simulator/模拟器存储库》

https://github.com/lgsvl/simulator

*《Docker官方文件》

https://docs.docker.com/engine/install/ubuntu/

*《安装后的步骤》

https://docs.docker.com/engine/install/linux-postinstall/

*《NVIDIA Docker的官方存储库》

https://github.com/NVIDIA/nvidia-docker

*《LGSVL的Apollo Docker映像》

https://hub.docker.com/r/lgsvl/apollo-5.0/

*《LGSVL Branch of Apollo 5.0》

https://github.com/lgsvl/apollo-5.0/

以上是"用LGSVL仿真器运行Apollo 5.0"的全部内容,更多话题讨论、技术交流可以扫描下方二维码添加『Apollo小哥哥』为好友,进开发者交流群。









您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存