2017年7月Apollo 1.0在Github上正式发布。当在新闻上读到这条消息——“Apollo 1.0开放封闭场地的自动驾驶能力”时,我就在想,我们的农场就是封闭场地,是否可以把Apollo 1.0用做公司机器人系统的无人驾驶模块呢?
第二天,一到公司我就把源码下载下来,开始配置运行环境。当用Rosbag在Dreamview里跑起系统自带的Demo时,我还是很兴奋的,立刻被Apollo圈粉了。Apollo是一个比较完整的开放平台,而且对林肯车和推荐硬件做了适配,偏重实战。如果按照推荐方案配置,3天之内实现自动驾驶并不夸张。然而基于安全性、可靠性等因素,平台推荐的硬件配置高、价格昂贵,这对农业场景并不适用。
我认为无人驾驶技术最终的目的是服务大众,让人们的生活更便捷、更美好。实际上,这项技术可以应用在很多行业,尤其是农业场景,比较容易落地。如果能够简化,实现低成本的方案,将大大加快无人驾驶在农业领域的发展。所以,简化这项技术,使其更贴近大众是非常值得一试的。因此,我们尝试了低成本的硬件方案,下面将和大家分享一下适配过程。
1
车平台
首先,要有一部实验车。我们改装了一部越野电动车,由一个专营电动车的车行定制而成。该车底盘为200x100cm,四轮都有减震,是一个越野底盘,后桥装有一台差速电机,能跑40km/h。
此外,我们加装了EPS转向助力系统和角度传感器,同时更换了电机控制器,用来实现线控和RC遥控。然后,我们模拟农场环境做了测试,经过几次迭代,在进一步改装之后,增强了车身的可靠性和稳定性,使其可以比较顺畅的在颠簸路面上行驶。
(ThorTec农场无人驾驶实验车)
2
硬件平台
Apollo 1.0推荐的硬件主要有:IPC、GNSS接收机、IMU和PCI-CAN卡。在1.0中定位是关键模块,只有实现厘米级的定位,才能实现无人驾驶。
IMU的优点是频率高,在高速的情况下表现好,缺点是存在累计误差,需要GNSS提供的绝对位置来纠偏。而GNSS设备频率低,恰好是在低速时表现好,并且在定位绝对位置时,采用RTK差分可以实现厘米级定位。
我们的测试场景是封闭园区低速行驶,速度不超过10km/h。于是,我们对定位设备做了裁剪,去掉了IMU,采用Novatel 617D 板卡RTK差分定位,同时采用双天线取得航向,最终实现位置精度2cm,航向精度1°的厘米级定位。PCI-CAN卡使用esdcan-pcie402,IPC选用普通的工控机。GPS设备的裁剪一项,使成本降低了10几万元,实现了我们的目标。
3
软件平台
我们主要对以下5个模块做了修改:
1.GPS驱动模块:主要解析Novatel 617D 的三个协议,BestPos,BestVel和Heading。BestPos解析出WGS84大地坐标;BestVel解析水平和垂直速度;Heading解析航向角。具体内容可以参阅Nvatel的技术说明书。
2.Localization:定位模块的修改,目的是将原来通过IMU获取的航向、线性速度等数据替换为GNSS接收机解析的数据。
3.Canbus:添加角度传感器,并适配车辆的控制器CanOpen协议。
4.Control:Apollo 1.0使用通用的LQR和PID控制算法,分别实现车辆动力学的横向和纵向控制。这里我们主要修改了控制模块的配置文件,针对我们的车辆调整各项参数,为控制模块输入合适的参数,保证控制模块输出正确的指令。
5.Common模块:使用GNSS接收机获取的数据,修改预瞄算法。
最后,我们模拟农场环境,成功的进行了测试验证。事实证明,我们的低成本方案是可行的,完全实现了Apollo1.0封闭场地无人驾驶。
我们在适配过程中遇到的很多问题,都在Apollo开发者社区中得到了开发者和Apollo工程师的解答,这对我们的帮助很大。这里,我把我们的适配过程给大家做了简单的分享,希望同样对大家有所助益。
-
无人驾驶
+关注
关注
98文章
4068浏览量
120575 -
Apollo
+关注
关注
5文章
342浏览量
18471
原文标题:开发者说 | Apollo 1.0适用于农业场景的低成本适配过程分享
文章出处:【微信号:Apollo_Developers,微信公众号:Apollo开发者社区】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论