自动驾驶听起啦挺智能很炫酷,感觉挺绕远的;但是国内国外好多企业挺早都在研究了,有些汽车公司实现板自动驾驶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在线上有体验测试,最近好像在维护中
搭建开发环境
官方推荐系统规格
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