小言_互联网的博客

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

716人阅读  评论(0)

自动驾驶听起啦挺智能很炫酷,感觉挺绕远的;但是国内国外好多企业挺早都在研究了,有些汽车公司实现板自动驾驶L4级别的(在特定的道路和天气下,可以实现全自动驾驶的)。想想未来如果可以安心放下手中的方向盘,继续未完成的工作;或者打一盘游戏;或者在车上品一杯咖啡,看书读报,那将是多么轻松和惬意。😀

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和模拟器实现😀

 

如何创建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

 

 

模拟数据包演示

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

进入共享目录 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/16H9LW2hGUKg0dPsvb6EiyQ   提取码:cr7e 

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

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

 

ROS Kinetic (深蓝学院)

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

大家加油啦。😁

 

 

 

 


转载:https://blog.csdn.net/qq_41204464/article/details/104846518
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场