【Autoware自动驾驶-开源项目实践】大家快来入门体验啦

对自动驾驶感兴趣的感兴趣的学者,不妨来体验一下Autoware呀,它是世界上第一个用于自动驾驶汽车的“多合一”开源软件,挺不错的。本章包括框架分析、要点总结、开发环境搭建、动手实践等方面。

目录

大家先看看Autoware的炫酷效果啦;

Autoware介绍

使用Autoware需要什么?

什么是激光雷达吗?

如何创建3D地图数据?

看一下Autoware的开发框架

搭建开发环境

首先安装docker

安装Autoware相关软件

体验Autoware

模拟测试展示

模拟数据包效果:

完成体验,愉快退出

彩蛋(自动驾驶、无人驾驶资料)


大家先看看Autoware的炫酷效果啦;

激光雷达感知周围环境

在图片中我们能看到它感知到行人(红色的),一圈一圈类似于水纹的是激光雷达发出的光波。

 

Autoware 的NDT算法建图

这里能看到三维建模的立体效果,3D的效果还是不错的;这里如何激光雷达的线数比较高,那么做出来的图会更细腻。

 

真实道路上行驶

这里使用Autoware软件模拟出来的,绿色的线是规划车辆行驶的轨迹,如果大家觉得不错的,可以尝试动手实现呀。

 

Autoware软件模拟

看到这么有趣的,冲呀亲自动手搭建环境实现它呀😁

 

Autoware介绍

Autoware是用于城市自主驾驶的开源平台,界面很有科技感,功能也很强大,支持以下功能:

路径规划、路径跟随、加速/制动/转向控制、数据记录、汽车/行人/物体检测、3D本地化、3D映射

交通信号检测、交通灯识别、车道检测、对象跟踪、传感器校准、传感器融合、面向云的地图

连接自动化、智能手机导航、软件仿真、虚拟现实

 

开源代码地址:官方放到了GitLab

本来是放在GitHub的,后来改变了。

Autoware官网:https://www.autoware.ai/

论文地址:https://ieeexplore.ieee.org/document/7368032

 

使用Autoware需要什么?

  • 需要3D地图数据和LiDAR传感器。它们用于大多数主要功能模块,例如定位,检测,跟踪,预测和计划。(这个必要哈)
  • 相机使Autoware能够结合3D地图数据识别交通信号灯,还可以增强检测能力。(非必要)
  • GNSS和IMU对补充本地化结果也很有用。(非必要)
  • 最后需要一辆具有Autoware的汽车;考虑到大家可能没有,可以使用ROSBAG和模拟器实现😀

 

什么是激光雷达吗?

简介

激光雷达系统按照光速映射周围环境,获取周围环境的形状、位置信息。

组成

 发射激光脉冲的发射器,拦截脉冲回波的接收器,用于处理输入数据的光学分析系统

工作原理

  在LiDAR系统中,快速发射的激光,这种光传播到地面(周围物体),并反射出建筑物和树枝等物体;然后反射的光能返回到LiDAR传感器,并在那里进行记录。LiDAR系统测量发射的光到达地面(周围物体)并返回所需的时间,该时间用于计算行进距离;然后将行进的距离转换为高程。

 从激光雷达到检测到树木之间的距离等于所述脉冲乘以的发送和接收之间的时间的一半的光速度 d = 1 / 2c

那激光雷达发出的光,然后反射回去,怎么能模拟出物体的形状呢?(比如一棵树的形状)

  光能是光子的集合。当组成光的光子移向地面时,它们撞击树上的树枝等物体。一些光从那些物体反射回来并返回到传感器如果物体很小,并且周围有空隙可以让光线通过,则有些光线会继续向下射向地面。由于某些光子从分支之类的物体反射而其他光子则继续向下反射至地面,因此从一个光脉冲中可能会记录多次反射。

 返回到传感器的能量分布产生了我们所谓的波形,返回到LiDAR传感器的能量称为“强度”。更多光子或更多光能返回到传感器的区域会在能量分布中产生峰值。波形中的这些峰值通常代表地面上的物体-树枝,树叶或建筑物。

上图是从两棵树和地面返回的一个示例性LiDAR波形

效果

 

如何创建3D地图数据?

  • 用Autoware提供的NDT映射节点方法(开源免费的)
  • 或使用Autoware Tools(付费服务)来创建用于私有区域测试的小规模3D地图数据。

以上两种方法是在封闭环境设计的(比如教室内、办公室内等),不适合创建大规模3D地图数据。

 

看一下Autoware的开发框架

大家可以去看看参考论文

1)S.Kato,S.Tokunaga,Y.Maruyama,S.Maeda,M.Hirabayashi,Y.Kitsukawa,A.Monrroy,T.Ando,Y.Fujii和T.Azumi,``车载软件:支持自动驾驶汽车嵌入式系统,''在第9届ACM / IEEE网络物理系统国际会议论文集(ICCPS2018),第287-296页,2018年。https://dl.acm.org/doi/10.1109/ICCPS.2018.00035

2)加藤(S. Kato),竹内(E. Takeuchi),石黑(Y.Isguro),二宫Y. ``开放式自动驾驶汽车方法'',IEEE Micro,Vol。35,第6号,第60-69页,2015年。https://ieeexplore.ieee.org/document/7368032/

 

其实Autoware在线上有体验测试,最近好像在维护中

https://autoware.online/

 

搭建开发环境

官方推荐系统规格

CPU核心数:8

内存大小:32GB

储存空间:64GB以上

这个配置还是挺高的😂,如果是体验的朋友可以相应降低,如果是真实开发的建议符合官方配置。

这里参考官方最新的信息,在ubuntu18系统搭建,采用docker容器把Autoware相关的开放软件和依赖放在里面;相对之前的ubuntu14,ubuntu16使用的源码安装会更便捷,适合大家入门体验。

没有安装ubuntu18的朋友可以在windows用个虚拟机(比如:VMware),如果配置更不上可能影响体验。😂

首先安装docker

  为ubnutu18系统安装docker;docker相当与一个容器,里面可以存放一些资料,安装一些软件,并且在docker的操作不会影响原本系统的。大家可以想象docker使用独立的容器,能装下整个Autoware开发环境,进入这个容器会进入Autoware开发环境。

1)准备工作

删除较旧或不兼容的Docker版本(如果之前没有安装docker的朋友,请跳过此步)

sudo apt-get remove docker docker-engine docker.io

接下来安装docker 

更新apt-get软件包列表。

sudo apt-get update

允许apt-get访问使用HTTPS的存储库。

sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

添加Docker的官方GPG密钥。

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

2)正式安装

apt-get使用新的存储库更新软件包列表。

sudo apt-get update

安装最新版本的Docker CE。

sudo apt-get install docker-ce

3)后续完善工作

把我们当前的用户加到docker用户组中

sudo gpasswd -a myusername docker

myusername是指你的用户名,比如用户名叫zhangsan  ;命令:sudo gpasswd -a zhangsan docker

然后重启电脑会生效的。

恭喜呀安装好docker了!!

 

安装Autoware相关软件

这里考虑到是入门体验体验篇,先不安装NVIDIA、CUDA之类的显卡。后续如果大家有需要GPU加速的,会专门写一篇介绍的。

1)下载包含Autoware安装的资料

git clone https://gitlab.com/autowarefoundation/autoware.ai/docker.git

cd docker/generic

下载到本地的是一个名为docker的一个文件夹。大约10M以内,还是要等一下。

图片这里是 docker文件夹中的内容。往后主要用的:generic这个目录

2) 配置Docker 国内加速器

这一步是为下一步作准备的,很有必要的。博主开始使用原配的docker去下载,(几十k的网速)等了几个小时,最后还中断了,心态瞬间不好了。反思过后,于是有了下面的方法:

新建 /etc/docker/daemon.json 文件,执行命令:

sudo vi /etc/docker/daemon.json

具体内容:

{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn","https://kfwkfulq.mirror.aliyuncs.com","https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://6tgttyn9.mirror.aliyuncs.com"]
}

这里是做了了6-7实验,测试那个加速器最快,加速器如何之间如何相互结合作用最大的最终产物,不容易啊。

 

3)下载Autoware的开发软件和依赖包,并整合到docker中

./run.sh -c off

这里由于没有CUDA(显卡)的支持,需要指定不是用CUDA加速。详细的run.sh参数可以用:./run.sh -h

这里需要等待比较久。有时候还会卡在不动或,被中断,太难了。坚持住就会胜利的,冲呀。

 

体验Autoware

1)进入Autoware的docker中  cd docker/generic

./run.sh -c off

成功进入了,大家可以看一下用户名那里颜色变了,滑稽。目录下的文件也改变了,之前的文件不见了呀。

其实没事的,这是Autoware的docker中独立的空间,有独立的文件,看不到原本系统的文件。

2)探索体验

我们来启动Autoware:

cd  Autoware

source install/setup.bash

roslaunch runtime_manager runtime_manager.launch

然后大家可以看到如下界面:

 

点击一下右下方那个的 RViz按钮

看到RViz的初始化界面:

看到下面的界面是否会有激动的感觉呢:

说明,我这里在虚拟机安装的,配置是2核,4G内存,发现跑不起模拟数据包😭;于是找一下教程视频给大家学习。

视频我本来放在了网上的,发现审核太慢了,难受;如果在这里网页看不到的朋友,再网盘也放了一份:

链接:https://pan.baidu.com/s/1gMbL6tp1l184XQbaLFOaEw    提取码:yz89

网页这里也上传了一份视频:https://v.qq.com/x/page/h0935tqd612.html

autoware-自动驾驶-模拟测试展示

 

 

模拟测试展示

下载好模拟数据包后,就可以实现文章开头的炫酷效果啦。

进入共享目录 shared_dir,下载到这里的资料,是会长期保存的;如果在进入autoware的docker开发环境中的其他目录下,退出时会下载资料会删除的。

下载示例3D Pointcloud /矢量地图数据

wget https://autoware-ai.s3.us-east-2.amazonaws.com/sample_moriyama_data.tar.gz

下载示例数据(LiDAR:VELODYNE HDL-32E,GNSS:JAVAD GPS RTK Delta 3)

wget https://autoware-ai.s3.us-east-2.amazonaws.com/sample_moriyama_150324.tar.gz

解压数据包

tar zxfv sample_moriyama_150324.tar.gz
tar zxfv sample_moriyama_data.tar.gz

我们来启动Autoware:

cd  Autoware

source install/setup.bash

roslaunch runtime_manager runtime_manager.launch

然后根据上面的视频,就可以实现啦。

这里说一下视频教程中选择文件的路径可能不一样,版本更新迭代了,是正常的哈。

1)选择map、planning、localization、sensing等文件的路径

2)选择刚才下载,解压好的数据包:

选择后会有bag数据包的加载信息出来的 

 

模拟数据包效果:

选择好数据包、map文件,点击Play来播放bag数据包:

 

选择好planning(规划路径文件):

 

 

完成体验,愉快退出

在命令行中输入exit

 

官方展示视频:https://gitlab.com/autowarefoundation/autoware.ai/autoware/-/wikis/Videos

如果大家对Autoware-自动驾驶感兴趣,发现有个不错网址学习:https://www.ncnynl.com/category/autoware/

官网学习:https://gitlab.com/autowarefoundation/autoware.ai/autoware

 


 

彩蛋(自动驾驶、无人驾驶资料)

分享一下自动驾驶、无人驾驶的资料给感兴趣的学者

链接:https://pan.baidu.com/s/1HejDWwxYSRbok8Q6LZOSNA           提取码:zjbl

学习课程:激光SLAM (深蓝学院)

链接:https://pan.baidu.com/s/18u_3Gip2I3FRIywkt1sokQ   提取码:b1kw

 

ROS Kinetic (深蓝学院)

链接:https://pan.baidu.com/s/1p1iIPdU7liBqqINloUEoPw    提取码:un6c

大家加油啦。😁

 

 

 

 

一颗小树x CSDN认证博客专家 华为云首席贡献官 华为云-云享专家 研发工程师
计算机专业,从事自动驾驶工作。有幸成为华为云-云享专家,华为云-云创 首席贡献官,CSDN博客专家,华为认证AI工程师,华为云产品”四星级“体验官;GitChat认证作者。
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页
实付 29.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值