无人驾驶技术Apollo 1.0用于农业机械的的低成本适配过程

电子说

1.3w人已加入

描述

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工程师的解答,这对我们的帮助很大。这里,我把我们的适配过程给大家做了简单的分享,希望同样对大家有所助益。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分