论文部分内容阅读
摘要:为实现农业机械田间作业时的路径跟踪控制,在无人驾驶高速插秧机硬件系统基础上,采用基于规划路径弯曲度的动态搜索预瞄算法设计了路径跟踪控制软件。该算法以作业机械横向偏差和航向偏差作为航向模糊控制器的输入变量,以前轮转角期望值为输出变量,设计航向模糊控制器,实现航向控制;同时结合转向模糊免疫PID控制器对步进电机的PWM频率进行控制,实现水田作业机械的方向改变,从而完成作业机械沿规划路径自动行驶跟踪,并用Matlab/Simulink仿真平台对所采用的路径跟踪控制原理和所设计的模糊控制器进行了有效性验证,结果表明所采用的控制方法是可行的。经试验,插秧机以1 m/s的速度进行直线跟踪时最大的跟踪偏差只有4 cm,且始终围绕零值附近上下波动,计算平均跟踪偏差为0.84 cm,能够满足水田作业机械路径跟踪控制的要求。
关键词:自动导航;农业机械;软件设计;路径规划;路径跟踪算法
中图分类号: U463.6文献标志码: A文章编号:1002-1302(2015)02-0370-04
收稿日期:2014-04-22
基金项目:贵州省科学技术基金(编号:黔科合J字LKZS[2014]24);贵州省科学技术重点项目(编号:黔科合J字LKZS[2014]05);贵州省级重点学科资助课题(编号:黔学位办[2013]18);贵州省遵义师范学院教研基金(编号:13-56)。
作者简介:熊中刚(1986—),男,湖南常德人,硕士,讲师,主要从事电气自动化和农业机械智能控制方面的研究。E-mail:[email protected]。随着计算机技术和传感器技术的不断发展,农业机械自动导航技术在很多发达国家和地区已有了很深入的研究,但亚洲除了日本、韩国和中国台湾外,其他国家和地区在这一领域研究较少[1]。农业机械自动导航技术是精细农业的基础平台,也是当前农业工程领域的研究热点之一[2]。然而在自动导航过程中,轮式机械在田间作业时需要实现地头转向和直线行走2个动作。地头转向是农业机械完成当前行作业,通过姿态调整以精确进入下一行的重要步骤,大多情况是一种180°转向动作,与直线行走有着明显不同[3-4]。目前,完成上述2个动作采用的车辆跟踪控制的方法主要有基于PID控制算法和基于模糊控制算法等[5]。本设计采用的是基于路径弯曲度动态预瞄搜索算法的车辆路径跟踪方法,该方法不仅可以使作业机械满足直线行走,而且可以提高农业机械换行作业的精度,缩短农业机械在地头转向中的时间,最终提高整个农业机械作业的效率。
1系统总体原理设计
路径跟踪就是车辆在获得已经规划好的目标路径的前提下,根据车辆当时的行驶状态和它与目标路线间的相对位置关系,按照一定的控制法则综合车辆的行驶速度和行驶方向,使车辆的运动轨迹与目标路径的偏离误差满足设计的要求。车辆的路径跟踪控制是根据车辆即时偏离行驶路线的横向偏差决定车辆的行驶方向。车辆的航向跟踪控制是在转向控制的基础上,使车辆沿目标航向角行驶,即实现车辆行驶方向[6]。本设计采用的车辆路径跟踪控制方法主要是基于规划路径弯曲度来模糊确定前视距离即预估距离的大小,然后由前视距离找到预瞄点,由预瞄点和车辆当前位置确定目标方向,由目标方向跟当前的航向角之间的差值得出航向偏差,横向偏差就是车辆当前的坐标与预定义路线的投影。
2软件理论设计
2.1基于规划路径弯曲度预瞄前视距离方法
当驾驶员在实际驾驶过程中,不仅要观察车辆当前的道路状况,而且要同时考虑车辆前方一定距离范围内的道路信息,而前方路径的弯曲程度是决定车辆的转弯方向、转角大小及车速大小的重要因素[7].在路径跟踪控制中,预瞄距离的选择原则跟车辆的行驶速度有关,行驶速度快时,需要预瞄的距离就要大些,而车速慢时,距离小些就会达到控制效果。根据这一思想,路径的弯曲率的确定是进行路径预瞄的第一步,弯曲率的确定方法[8]如图1所示。
如图1所示,图中β1是路径第1条折线和车辆前进方向的夹角改变量,βi是第i条折线和第i-1条折线的方向角改变量。定义C为所有区域路径的弯曲度和,则有:
C=∑ni=1|βi|。(1)
路径顺时针方向变化时,βi为负值,反之为正值。 βi取绝对值的意义是保证路径的弯曲不管是什么变化,其弯曲度是增加的,即弯曲的效果一致。采取文献[8]所述的车速v、预瞄距离d确定方法随C的变化而变化,其变化规律遵循C越大,v、d越小的原则,方法如下:
预瞄距离确定后,预瞄点及车辆的航向偏差、横向偏差也随之确定,这样就为车辆的转向控制提供参数,实现路径跟踪。在实际预估的前视距离中还应包括车辆的本身轴距长度和车辆行驶的速度。
2.2路径跟踪航向偏差和横向偏差确定
当确定好前视距离后,就可确定跟踪路径上的预瞄点,如图2所示。
插秧机当前航向方位θd上,插秧机当前的位置点Dq加上前视距离Lf得到点Ym,点Ym在规划路径上的投影点为Yg,即为预瞄点,则当前目标方向θm为:
3软件功能的实现
3.1软件功能设计及工作流程
由于VB是一种可视化的、面向对象和采用事件驱动方式的结构化的高级程序语言,本研究以VB作为编程工具,进行控制软件的编写,根据系统设计功能的要求,本研究设计的软件主要由通讯模块、控制决策模块、显示模块、数据存贮模块等组成。通讯模块主要实现对水田作业机械的位置、航向角、前轮转角、速度等模块的信息采集;控制决策模块将所设计的各类模糊控制器、各类控制算法用计算机语言表述,并进行控制决策,实现作业机械的路径跟踪控制;显示模块实时显示作业机械的航向角、前轮转角、横向偏差、车速等信息,并能实时做出作业机械的路径跟踪图与规划路径图,数据存贮模块主要是完成对采集数据的存贮,为以后的数据分析和控制调整提供数据参考,其系统软件功能实现流程图如图3所示。 3.2串行通信设计
系统软件采用SerialPort控件来进行串行通讯,该控件主要包括BaudRate、PortName、Parity、DataBitss、StopBit等属性,这几个属性主要用来设置波特率、端口号、奇偶校验、数据位以及停止位;主要方法有Read、Write、Open、Close、ReadtoBytes等用来读数据、写数据、打开端口、关闭端口和读取字节数;主要事件为DataReceived。串口的初始化主要是对SerialPort控件[9-10]的属性进行设置。系统软件的通讯参数设置部分主要用来进行串行端口的设置,波特率的设置、奇偶校验设置以及数据位的设置等。串行端口的选择可以根据当前PC机上可用串行端口的端口号;波特率是数据传输的速率,在该系统中默认为9 600 bps,可以根据需要选择其他的波特率;为提高数据的准确率,可使用奇偶校验来进行控制,奇偶校验设置根据需要可从Odd、Even、Mark、Space、None等几种方式中选择,本软件系统默认为None的方式;数据位的设置用于设置每个字节中数据位的长度通常为5~8位,默认为8位。所有参数设置完成后利用SerialPort控件的Open方法就能打开通讯串口。
VisualBasic.net2008中进行串行通讯时,对于通讯数据的发送采用SerialPort的Write方法完成。然而所采用的Write方法主要分为3种形式,它们分别是Write(String)、Write(Byte(),Offset(),Count())和Write(Char(),Offset(),Count())。发送方式为SerialPort1.启动定时器。在Timer的Tick事件中就可以用 Write(Byte(),Offset(),Count()),该命令语句中的Byte()表示的含义是一个字节型的数组,Offset()表示的含义是字节数组中从0开始的字节偏移量,Count()表示的含义是所要写进命令语句中的字节数。
该系统串口通信中数据的接收主要可以分为DataReceived驱动和利用定时器完成2种方式。第1种数据接收的方式就是通过DataReceived事件驱动的方式,该方式主要是在串行端口初始化的时候,对ReceivedBytesThreshold的属性值进行设置,所设置的该属性值即是表示对触发DataReceived事件进行设置的时候,其缓冲区所接收到的字节数。系统中默认ReceivedBytesThreshold的属性为1,通过测试实验证明了如果ReceivedBytesThreshold的属性设为1时,系统不能完全确保DataReceived 事件被接收到的每个字节都能引发,只有属性值大于1的ReceivedBytesThreshold能够完全按照要求把DataReceived事件进行触发。因此为了获取接收缓冲区中的数据字节数,当DataReceived事件产生后须要立即读取 BytesToRead 属性值,然后再根据通信需求将缓冲区中的相应字节读取出来。在VisualBasic.net2008中,如果要更改相应控件的属性和处理数据,则须要采用委托的方式进行。因为当数据从SerialPort对象上获取时,引发的相应DataReceived事件是发生在辅助线程上,如果要将主线程中的控件属性或其他UI元素等直接在DataReceived过程中进行修改,将会引发线程异常错误。
第2种就是利用定时器的进行数据接收的方式。假设任意一串数据的接收时间为tms,则该定时器Timer的Interval属性值即为tms,接着可以在一个Button的Click事件后,立刻把接收缓冲区中的字节通过SerialPort控件的Read方法读取出来,而且在Timer的Tick事件中可以直接对窗体控件的相关属性进行修改,不需要采取委托的方式。在对缓冲区中的数据进行读取时,因为采取的是字节型的数据传输方式,所以应采用Read(Byte(),offset(),count())的方式完成。
4路径跟踪控制仿真设计
利用插秧机的运动学模型和所设计的路径跟踪算法,在基于航向跟踪控制系统的基础上,应用Matlab的Simulink环境进行仿真研究[11],建立插秧机路径跟踪控制系统的仿真框图,如图4所示。
对直线y=3x进行跟踪仿真,所需的基本参数设置如下:由于规划路径为直线,所以C=0,则v=1.5 m/s,预瞄距离为4 m,被控对象在XOY坐标系中的初始位置为(0,0),初始航向角指向y轴的正方向。由此得出如图5的仿真图。从仿真结果图中可以看出在初始的一段距离内存在较大的稳态跟踪误差,研究中发现这是因为模型实际航向与规划路径存在夹角,经过控制器的调整后,完成了之后很平滑的直线跟踪。
5路径跟踪控制试验分析
实现路径跟踪是评价控制系统设计好坏的最终标准,因此本研究进行了相应的路径跟踪控制试验。
首先人工开动插秧机到不同的两点如A、B处获得坐标,并连接A、B两点构成一条直线,以此直线为坐标的x轴,将插秧机的前后轴中心线与基准线重合,航向角与x轴方向一致。同时在插秧机的后轴中心点挂上一装有白色石灰的漏斗,当插秧机以1 m/s的速度自动行驶时,所得的跟踪偏差与行驶距离变化曲线如图6所示。
从图中可以看出,插秧机以1 m/s的速度进行直线跟踪时最大的跟踪偏差只有4 cm,且始终围绕零值附近上下波动,计算平均跟踪偏差为0.84 cm。所设计的系统控制器具有良好的控制性能,能满足水田作业机械的直线跟踪控制的要求。
6结论
本研究在分析了作业机械路径跟踪预瞄的原理基础上,设计了基于规划路径弯曲度动态预瞄搜索算法的路径跟踪控制器,为水田作业机械的自动导航控制注入了灵魂。通过对插秧机的路径跟踪控制进行试验研究,结果表明基于自动导航的水田作业机械路径跟踪控制精度较高,所设计的控制系统性能良好,能满足水田作业机械的路径跟踪控制系统要求。 参考文献:
[1]Reid J F,Zhang Q,Noguchi N,et al. Agricultural automatic guidance research in North America[J]. Computers and Electronics in Agriculture,2000,25(1/2):155-167.
[2]Keicher R,Seufert H. Automatic guidance for agricultural vehicles in Europe[J]. Computers and Electronics in Agriculture,2000,25(1/2):169-194.
[3]张智刚,罗锡文,李俊岭. 轮式农业机械自动转向控制系统研究[J]. 农业工程学报,2005,21(11):77-80.
[4]于海业,马成林,并河清,等. 农用自动引导行走车的实验研究[J]. 农业工程学报,1998,14(2):36-39.
[5]周建军,张漫,汪懋华,等. 基于模糊控制的农用车辆路线跟踪[J]. 农业机械学报,2009,40(4):151-156.
[6]张智刚,罗锡文. 农业机械导航中的航向角度估计算法[J]. 农业工程学报,2008,24(5):110-114.
[7]李庆中,顾伟康,叶秀清,等. 移动机器人路径跟踪的智能预瞄控制方法研究[J]. 机器人,2002,24(3):252-255.
[8]陈无畏,李进,王檀彬,等. 视觉导航智能车辆的路径跟踪预瞄控制[J]. 机械工程学报,2008,44(10):277-282.
[9]龚沛曾,陆慰民,杨志强. Visual Basic程序设计简明教程[M]. 北京:高等教育出版社,2001:218-220.
[10]蒋加伏,张林峰. Visual Basic 程序设计教程[M]. 北京:北京邮电大学出版社,2006:128-130.
[11]石辛民,郝整清. 模糊控制及其MATLAB仿真[M]. 北京:清华大学出版社,2008:127-129.郑子松,姜永平,李纲,等. 南京地区玻璃温室中地源热泵的加温效果及效益分析[J]. 江苏农业科学,2015,43(2):374-377.
关键词:自动导航;农业机械;软件设计;路径规划;路径跟踪算法
中图分类号: U463.6文献标志码: A文章编号:1002-1302(2015)02-0370-04
收稿日期:2014-04-22
基金项目:贵州省科学技术基金(编号:黔科合J字LKZS[2014]24);贵州省科学技术重点项目(编号:黔科合J字LKZS[2014]05);贵州省级重点学科资助课题(编号:黔学位办[2013]18);贵州省遵义师范学院教研基金(编号:13-56)。
作者简介:熊中刚(1986—),男,湖南常德人,硕士,讲师,主要从事电气自动化和农业机械智能控制方面的研究。E-mail:[email protected]。随着计算机技术和传感器技术的不断发展,农业机械自动导航技术在很多发达国家和地区已有了很深入的研究,但亚洲除了日本、韩国和中国台湾外,其他国家和地区在这一领域研究较少[1]。农业机械自动导航技术是精细农业的基础平台,也是当前农业工程领域的研究热点之一[2]。然而在自动导航过程中,轮式机械在田间作业时需要实现地头转向和直线行走2个动作。地头转向是农业机械完成当前行作业,通过姿态调整以精确进入下一行的重要步骤,大多情况是一种180°转向动作,与直线行走有着明显不同[3-4]。目前,完成上述2个动作采用的车辆跟踪控制的方法主要有基于PID控制算法和基于模糊控制算法等[5]。本设计采用的是基于路径弯曲度动态预瞄搜索算法的车辆路径跟踪方法,该方法不仅可以使作业机械满足直线行走,而且可以提高农业机械换行作业的精度,缩短农业机械在地头转向中的时间,最终提高整个农业机械作业的效率。
1系统总体原理设计
路径跟踪就是车辆在获得已经规划好的目标路径的前提下,根据车辆当时的行驶状态和它与目标路线间的相对位置关系,按照一定的控制法则综合车辆的行驶速度和行驶方向,使车辆的运动轨迹与目标路径的偏离误差满足设计的要求。车辆的路径跟踪控制是根据车辆即时偏离行驶路线的横向偏差决定车辆的行驶方向。车辆的航向跟踪控制是在转向控制的基础上,使车辆沿目标航向角行驶,即实现车辆行驶方向[6]。本设计采用的车辆路径跟踪控制方法主要是基于规划路径弯曲度来模糊确定前视距离即预估距离的大小,然后由前视距离找到预瞄点,由预瞄点和车辆当前位置确定目标方向,由目标方向跟当前的航向角之间的差值得出航向偏差,横向偏差就是车辆当前的坐标与预定义路线的投影。
2软件理论设计
2.1基于规划路径弯曲度预瞄前视距离方法
当驾驶员在实际驾驶过程中,不仅要观察车辆当前的道路状况,而且要同时考虑车辆前方一定距离范围内的道路信息,而前方路径的弯曲程度是决定车辆的转弯方向、转角大小及车速大小的重要因素[7].在路径跟踪控制中,预瞄距离的选择原则跟车辆的行驶速度有关,行驶速度快时,需要预瞄的距离就要大些,而车速慢时,距离小些就会达到控制效果。根据这一思想,路径的弯曲率的确定是进行路径预瞄的第一步,弯曲率的确定方法[8]如图1所示。
如图1所示,图中β1是路径第1条折线和车辆前进方向的夹角改变量,βi是第i条折线和第i-1条折线的方向角改变量。定义C为所有区域路径的弯曲度和,则有:
C=∑ni=1|βi|。(1)
路径顺时针方向变化时,βi为负值,反之为正值。 βi取绝对值的意义是保证路径的弯曲不管是什么变化,其弯曲度是增加的,即弯曲的效果一致。采取文献[8]所述的车速v、预瞄距离d确定方法随C的变化而变化,其变化规律遵循C越大,v、d越小的原则,方法如下:
预瞄距离确定后,预瞄点及车辆的航向偏差、横向偏差也随之确定,这样就为车辆的转向控制提供参数,实现路径跟踪。在实际预估的前视距离中还应包括车辆的本身轴距长度和车辆行驶的速度。
2.2路径跟踪航向偏差和横向偏差确定
当确定好前视距离后,就可确定跟踪路径上的预瞄点,如图2所示。
插秧机当前航向方位θd上,插秧机当前的位置点Dq加上前视距离Lf得到点Ym,点Ym在规划路径上的投影点为Yg,即为预瞄点,则当前目标方向θm为:
3软件功能的实现
3.1软件功能设计及工作流程
由于VB是一种可视化的、面向对象和采用事件驱动方式的结构化的高级程序语言,本研究以VB作为编程工具,进行控制软件的编写,根据系统设计功能的要求,本研究设计的软件主要由通讯模块、控制决策模块、显示模块、数据存贮模块等组成。通讯模块主要实现对水田作业机械的位置、航向角、前轮转角、速度等模块的信息采集;控制决策模块将所设计的各类模糊控制器、各类控制算法用计算机语言表述,并进行控制决策,实现作业机械的路径跟踪控制;显示模块实时显示作业机械的航向角、前轮转角、横向偏差、车速等信息,并能实时做出作业机械的路径跟踪图与规划路径图,数据存贮模块主要是完成对采集数据的存贮,为以后的数据分析和控制调整提供数据参考,其系统软件功能实现流程图如图3所示。 3.2串行通信设计
系统软件采用SerialPort控件来进行串行通讯,该控件主要包括BaudRate、PortName、Parity、DataBitss、StopBit等属性,这几个属性主要用来设置波特率、端口号、奇偶校验、数据位以及停止位;主要方法有Read、Write、Open、Close、ReadtoBytes等用来读数据、写数据、打开端口、关闭端口和读取字节数;主要事件为DataReceived。串口的初始化主要是对SerialPort控件[9-10]的属性进行设置。系统软件的通讯参数设置部分主要用来进行串行端口的设置,波特率的设置、奇偶校验设置以及数据位的设置等。串行端口的选择可以根据当前PC机上可用串行端口的端口号;波特率是数据传输的速率,在该系统中默认为9 600 bps,可以根据需要选择其他的波特率;为提高数据的准确率,可使用奇偶校验来进行控制,奇偶校验设置根据需要可从Odd、Even、Mark、Space、None等几种方式中选择,本软件系统默认为None的方式;数据位的设置用于设置每个字节中数据位的长度通常为5~8位,默认为8位。所有参数设置完成后利用SerialPort控件的Open方法就能打开通讯串口。
VisualBasic.net2008中进行串行通讯时,对于通讯数据的发送采用SerialPort的Write方法完成。然而所采用的Write方法主要分为3种形式,它们分别是Write(String)、Write(Byte(),Offset(),Count())和Write(Char(),Offset(),Count())。发送方式为SerialPort1.启动定时器。在Timer的Tick事件中就可以用 Write(Byte(),Offset(),Count()),该命令语句中的Byte()表示的含义是一个字节型的数组,Offset()表示的含义是字节数组中从0开始的字节偏移量,Count()表示的含义是所要写进命令语句中的字节数。
该系统串口通信中数据的接收主要可以分为DataReceived驱动和利用定时器完成2种方式。第1种数据接收的方式就是通过DataReceived事件驱动的方式,该方式主要是在串行端口初始化的时候,对ReceivedBytesThreshold的属性值进行设置,所设置的该属性值即是表示对触发DataReceived事件进行设置的时候,其缓冲区所接收到的字节数。系统中默认ReceivedBytesThreshold的属性为1,通过测试实验证明了如果ReceivedBytesThreshold的属性设为1时,系统不能完全确保DataReceived 事件被接收到的每个字节都能引发,只有属性值大于1的ReceivedBytesThreshold能够完全按照要求把DataReceived事件进行触发。因此为了获取接收缓冲区中的数据字节数,当DataReceived事件产生后须要立即读取 BytesToRead 属性值,然后再根据通信需求将缓冲区中的相应字节读取出来。在VisualBasic.net2008中,如果要更改相应控件的属性和处理数据,则须要采用委托的方式进行。因为当数据从SerialPort对象上获取时,引发的相应DataReceived事件是发生在辅助线程上,如果要将主线程中的控件属性或其他UI元素等直接在DataReceived过程中进行修改,将会引发线程异常错误。
第2种就是利用定时器的进行数据接收的方式。假设任意一串数据的接收时间为tms,则该定时器Timer的Interval属性值即为tms,接着可以在一个Button的Click事件后,立刻把接收缓冲区中的字节通过SerialPort控件的Read方法读取出来,而且在Timer的Tick事件中可以直接对窗体控件的相关属性进行修改,不需要采取委托的方式。在对缓冲区中的数据进行读取时,因为采取的是字节型的数据传输方式,所以应采用Read(Byte(),offset(),count())的方式完成。
4路径跟踪控制仿真设计
利用插秧机的运动学模型和所设计的路径跟踪算法,在基于航向跟踪控制系统的基础上,应用Matlab的Simulink环境进行仿真研究[11],建立插秧机路径跟踪控制系统的仿真框图,如图4所示。
对直线y=3x进行跟踪仿真,所需的基本参数设置如下:由于规划路径为直线,所以C=0,则v=1.5 m/s,预瞄距离为4 m,被控对象在XOY坐标系中的初始位置为(0,0),初始航向角指向y轴的正方向。由此得出如图5的仿真图。从仿真结果图中可以看出在初始的一段距离内存在较大的稳态跟踪误差,研究中发现这是因为模型实际航向与规划路径存在夹角,经过控制器的调整后,完成了之后很平滑的直线跟踪。
5路径跟踪控制试验分析
实现路径跟踪是评价控制系统设计好坏的最终标准,因此本研究进行了相应的路径跟踪控制试验。
首先人工开动插秧机到不同的两点如A、B处获得坐标,并连接A、B两点构成一条直线,以此直线为坐标的x轴,将插秧机的前后轴中心线与基准线重合,航向角与x轴方向一致。同时在插秧机的后轴中心点挂上一装有白色石灰的漏斗,当插秧机以1 m/s的速度自动行驶时,所得的跟踪偏差与行驶距离变化曲线如图6所示。
从图中可以看出,插秧机以1 m/s的速度进行直线跟踪时最大的跟踪偏差只有4 cm,且始终围绕零值附近上下波动,计算平均跟踪偏差为0.84 cm。所设计的系统控制器具有良好的控制性能,能满足水田作业机械的直线跟踪控制的要求。
6结论
本研究在分析了作业机械路径跟踪预瞄的原理基础上,设计了基于规划路径弯曲度动态预瞄搜索算法的路径跟踪控制器,为水田作业机械的自动导航控制注入了灵魂。通过对插秧机的路径跟踪控制进行试验研究,结果表明基于自动导航的水田作业机械路径跟踪控制精度较高,所设计的控制系统性能良好,能满足水田作业机械的路径跟踪控制系统要求。 参考文献:
[1]Reid J F,Zhang Q,Noguchi N,et al. Agricultural automatic guidance research in North America[J]. Computers and Electronics in Agriculture,2000,25(1/2):155-167.
[2]Keicher R,Seufert H. Automatic guidance for agricultural vehicles in Europe[J]. Computers and Electronics in Agriculture,2000,25(1/2):169-194.
[3]张智刚,罗锡文,李俊岭. 轮式农业机械自动转向控制系统研究[J]. 农业工程学报,2005,21(11):77-80.
[4]于海业,马成林,并河清,等. 农用自动引导行走车的实验研究[J]. 农业工程学报,1998,14(2):36-39.
[5]周建军,张漫,汪懋华,等. 基于模糊控制的农用车辆路线跟踪[J]. 农业机械学报,2009,40(4):151-156.
[6]张智刚,罗锡文. 农业机械导航中的航向角度估计算法[J]. 农业工程学报,2008,24(5):110-114.
[7]李庆中,顾伟康,叶秀清,等. 移动机器人路径跟踪的智能预瞄控制方法研究[J]. 机器人,2002,24(3):252-255.
[8]陈无畏,李进,王檀彬,等. 视觉导航智能车辆的路径跟踪预瞄控制[J]. 机械工程学报,2008,44(10):277-282.
[9]龚沛曾,陆慰民,杨志强. Visual Basic程序设计简明教程[M]. 北京:高等教育出版社,2001:218-220.
[10]蒋加伏,张林峰. Visual Basic 程序设计教程[M]. 北京:北京邮电大学出版社,2006:128-130.
[11]石辛民,郝整清. 模糊控制及其MATLAB仿真[M]. 北京:清华大学出版社,2008:127-129.郑子松,姜永平,李纲,等. 南京地区玻璃温室中地源热泵的加温效果及效益分析[J]. 江苏农业科学,2015,43(2):374-377.