基于北斗-RTK的农用无人车设计与实现
2022-03-11刘婷婷郭佩佩洪志鹏孟祥宝黄家怿
刘婷婷,郭佩佩,高 翔,洪志鹏,孟祥宝, ,黄家怿
(1.广州市健坤网络科技发展有限公司,广东 广州 510630;2.广东省现代农业装备研究所,广东 广州 510630;3.深圳市现代农业装备研究院,广东 深圳 518038)
0 引言
中国是世界第一的农机生产和使用大国,受耕地分布、人口密度、经济水平等因素的影响,农机的主要操控手段仍然是人工操控[1]。研究农机无人操控技术,将农民彻底从农业耕作中解放出来,具有重要的现实意义。
农机无人操控的核心是农机导航系统,目前我国的农机导航系统绝大多数依赖进口,主要包括美国大宝、日本拓普康、加拿大半球、瑞士徕卡等公司,产品价格高昂且难于维护[2]。北斗导航系统是我国拥有自主知识产权的卫星导航系统,随着第二代北斗导航系统的应用和普及,其较强的信号覆盖能力与高精度定位为我国的农业发展提供了重要的技术支撑[3]。我国已有学者在基于北斗导航系统的无人农机操控方面做过一些基础性的研究,如浙江大学蒋浩研究了适用于云端和移动端农田障碍物检测平台的深度学习模型,为导航系统路径规划功能和避障功能的开发奠定了基础。西北农林科技大学王誉熹研究了基于北斗的农用无人机自主导航方法,定位精度达3.07 m。
本文开发一种基于北斗-RTK 的农用无人车,利用无人车搭载的无线传输模块与云服务平台通信,无人车可根据规划的路径自适应行走,碰到障碍物自动避障。用户可通过遥控手柄或者云平台对无人车进行操控。本文开发的无人车可有效提高作业效率,减少劳动力投入,对提高国内无人农机自动化程度具有积极作用。
1 总体结构组成及性能参数
1.1 总体结构组成
基于北斗-RTK 的无人车主要由行走装置[4-5]、负载装置、RTK 定位装置、双目摄像头、超声波传感器等部分组成,结构示意如图1 所示。
图1 无人车结构示意图
1.2 性能参数
无人车具有自动、手动控制2 种作业模式,具备障碍物识别、标准及非标准路径规划、遥控手柄控制、云平台监控等功能,可将车辆位置、电池电量、行驶速度、实时视频等现场作业数据实时上传到服务器。操作者可以通过云平台进行作业数据查看、作业任务规划等操控作业。无人车的结构性能参数如表1 所示。
表1 无人车结构性能参数
续表
2 控制系统设计
控制系统由树莓派+TX2+STM32 组成。控制系统总体框架如图2 所示。树莓派控制系统负责行走、遥控等的控制、数据存储及与平台服务器、STM32、TX2 系统通信。TX2 主要负责计算机视觉处理。STM32 负责RTK、电机行走、电压、超声波等数据的采集与上报以及接受树莓派控制系统的控制命令控制外部设备。
图2 控制系统总体框图
2.1 控制系统硬件设计
控制系统硬件采用树莓派4B+作为决策控制器,STM32F407 作为底层驱动控制器,两者通过USBTTL 进行数据通信,如图3 所示。控制系统硬件功能模块包括北斗RTK 差分定位模块、底盘驱动控制模块、超声波驱动模块,这些功能模块通过UART 串口与STM32F407 微控制器进行通信。控制系统硬件扩展了I/O 接口,I/O 接口可驱动外围的MOS 管来控制灌溉、喷药等设备的运行。控制系统硬件还预留有多个串口和SWD 接口,方便扩展设备和功能调试。
图3 系统硬件总体框图
2.1.1 北斗RTK差分定位模块
北斗RTK 差分定位模块采用的是北斗星通OMER222 组合导航板卡,通过串口通信方式与主板相连[6],接收北斗卫星信号运用差分定位技术计算出高精度位置信息由串口输出到主板。选用驿唐的MD-149R工业级4G通信模块作为RTK无线数据终端,该模块支持NTRIP Client协议,通过接收基站差分数据,结合北斗卫星导航差分数据实现更高精度的差分定位。并且加入了TXS0108EPWR芯片进行电平转换和数字隔离,保证主控芯片与模块之间通信的稳定性。
2.1.2 底盘驱动控制模块
底盘驱动采用了DAS48150 双驱伺服控制器,通过串行RS-232 接口与驱动控制板进行通信,并采用了RSM232 高速单路隔离型RS-232 双向收发器来防止电机产生的电磁干扰和高压浪涌对串口通信干扰,保证底盘驱动器与主控之间的稳定通信。
2.1.3 超声波驱动模块
无人车采用了超声波避障传感器,通过RS-485接口与主控进行数据交互。采用芯片SN75176BDR作为485 转TTL 收发控制器,并加入了自动收发流向控制电路,实现超声波避障传感器的信息采集。同时也在485 通信接口处加入了型号为PSM712-LF-T7 的TVS 保护管,防止差分输入信号过压损坏485收发控制器。
2.2 控制系统软件设计
控制系统软件主要包括树莓派控制系统软件、TX2 控制系统软件和STM32 控制系统软件3 部分。
2.2.1 树莓派控制系统软件设计
树莓派控制系统主要包括了无人车的服务器通信模块、串口数据收发模块、遥控处理模块、数据存储模块、外围设备控制模块、路径规划模块和自动行走控制模块,如图4 所示。
图4 树莓派控制系统框图
服务器通信模块与平台服务器进行网络通信,收发平台服务器JSON 格式的命令数据,是实现平台远程查看操控无人车的接入口。树莓派与STM32 以及TX2 通过串口通信数据,该模块实时接收传入数据并定时将需要发送的数据发出[7]。遥控处理模块处理遥控手柄各控制按钮的PWM 键值,转化为运行速度与转向大小的控制参量,是控制无人车前进、后退、左右变向的重要数据处理模块。数据存储模块实现各类数据的保存与读取。无人车目前的外围设备有三色灯、超声波和喷药装置。外围设备控制模块封装了各外围设备的控制,只需调用相应的控制函数即可实现外围设备信息的读取和控制。路径规划模块用于生成规划路径,可分为规则路径生成,示教路径生成2 种。自动行走控制模块控制无人车按照规划生成的作业路径自动行驶。
2.2.2 TX2控制系统软件设计
TX2 控制系统软件主要负责采集摄像头的图像数据,运用计算机视觉处理技术对采集到的图像数据进行图像处理与障碍物识别,根据识别的结果判断是否有障碍物信号,并将障碍物的信号通过串口传送给树莓派控制系统,如图5 所示。
图5 TX2 控制系统流程图
2.2.3 STM32控制系统软件设计
STM32 控制系统软件主要功能为采集RTK 定位、姿态角、控制底盘电机电压等信息上报至树莓派控制系统[8],如图6 所示,并且接收树莓派控制系统传送的控制命令控制底盘行走、避障以及一些外部设备,同时具有看门狗保护及心跳灯功能。
图6 STM32 主程序控制流程图
3 系统功能
无人车系统实现了自适应行走控制、远程监控、路径规划、自动避障等功能。
3.1 自适应行走控制
当无人车发生偏航时,通过自适应的方式控制偏离规划路径的无人车靠近规划的路径[9]。如图7 所示,起点为S,终点为E,连接起点S 与终点E 的直线为规划路径。
图7 自适应行走控制示意图
图7 中x为无人车偏离规划路径的距离偏移量,x>0 是左偏,x<0 是右偏。y为无人车的朝向偏离无人车与终点连线的角度偏移量,y<0 是朝向左偏,y>0 是朝向右偏。
自适应行走控制公式如式(1)所示,其中,A、B、C、D 是常数系数,计算得到的结果Z值用于调整无人车左右轮的转速,Z>0 左转,Z<0 右转。通过实时计算Z值,当无人车偏离规划路径时,能控制无人车自适应的行走调整到规划路径上。
3.2 远程监控
控制装备通过搭载的多种传感器采集无人车的位置、姿态、运动状态、避障、电池电量等数据信息,并上传至服务器。用户可通过云平台对无人车作业情况进行实时监控,并可控制无人车进行路径规划、行走控制、任务管理等功能操作,如图8所示。
图8 云平台控制界面图
3.3 路径规划
路径规划包括示教路径规划和标准路径规划[10-12]。
3.3.1 循迹示教路径规划
针对一般非标准化的果园,结合移动平台自动导航技术手段,在果园环境下示教移动平台行驶轨迹,通过高精度定位终端来循迹示教路线,并构建移动平台自行走动态调整模型,实现果园环境下移动平台的自动循迹。
在示教模式下,操作人员引导无人车走过整个果园,无人车通过北斗RTK 实时获得高精度位置坐标,按照一定间距记录下稀疏路径点经度、纬度数据。
无人车根据记录的稀疏路径点经纬度数据得出示教行驶路径。在完成第一次的示教工作后,无人车将按照所记录的示教行驶路径行驶,如图9 所示,蓝线为无人车理论轨迹,红线为无人车实际轨迹,循迹精度误差小于25 cm。
图9 理论轨迹与无人车实际轨迹对比
3.3.2 标准路径规划
在果树种植密度规范和植株行距统一的标准化果园环境下,果园长度H 与行距L 的值固定,起点S 与点A1 的相对方位角为0°,点A1 与点A2 的相对方位角为90°,如图10 所示。
图10 标准路径规划示意图
已知起点S 的经度为IS,纬度为WS,起点S 与点A1 之间的距离为果园长度H,点A1 相对于起点S 的方位角为β,地球半径为R。如式(2)与式(3)所示,求得起点S 与点A1 间的弧度dSA1以及起点S与北极点间的弧度dS。根据式(4)求得起点S 与点A1 之间的地心夹角θ。最后,根据式(5),求得点A1 的经度JA1和纬度WA1。
同理,根据点A1 的经纬度及点A2 与点A1 的距离L、方位角90°可求得点A2 的经度JA2与纬度WA2。依此类推,只需给定起点S 和终点E 两个参考点的经纬度坐标及行距信息就能得到途径所有位置点A1~An 的经纬度信息,从而根据这些点的经纬度信息规划行驶路径,起点S 与终点E 之间的连线为规划行驶路径。
3.4 自动避障
采用双目相机结合超声波的方式进行自动避障。TX2 控制系统通过双目相机采集图像信息,运用机器视觉对图像进行滤波去噪、地面物体去除、视察噪点去除、开闭运算、边缘检测等处理,对处理后的图像进行障碍物的形状、个数、坐标识别,并将障碍物的信息通过串口传输到树莓派控制系统,障碍物检测效果如图11 所示。
图11 实地障碍物检测效果图
当碰到障碍物时,超声波会被障碍物反射[13]。根据发射与接收的时间差以及超声波的传播速度可以计算得到无人车与被测物体的距离,超声波避障通过该距离判断是否进行避障。
树莓派控制系统接收TX2 控制系统传输的双目相机避障信息以及STM32 控制系统传输的超声波避障信息,根据两者避障信息的比较结果进行最优的自动避障。
4 系统测试与分析
无人车实物如图12 所示。试验在广东省现代农业装备研究所内的空地进行,将样机放置于地面空旷处,进行了速度性能测试和行走转向半径测试。测试用到的工具:皮尺、秒表。
图12 无人车实物图
4.1 速度性能测试
外部环境相同,用秒表记录无人车在0.4、0.6、0.8、1.0 m/s 等不同速度下行驶20 m 路程的时长。如式(6)所示,计算实际时长与理论时长的相对误差。
5%的相对误差为可接受的速度性能,如表2 所示,无人车以1.0 m/s 速度行驶时测得相对误差最大,相对误差为3.20%,小于5%,测试结果表明无人车实际行走速度与设定速度一致性高,具有良好的速度性能,便于精确操控。
表2 速度性能试验结果
4.2 行走转向半径测试
测试行走转向半径时,云平台控制让无人车在1、2、3 m 等不同设定半径下,以0.4、0.6、0.8、1.0 m/s 等不同行驶速度转弯。以无人车中心线的中心点作为转弯半径的测量点,根据平地上履带行驶印记,用皮尺测量无人车的实际转弯半径,如图13 所示。根据式(7)计算不同设定半径下无人车以不同速度行驶时的转弯系数,如表3 所示。
表3 行走转向半径试验结果
图13 行走转向半径测试
式中:
k——转弯系数;
r——实测半径,m;
r0——设定半径,m。
试验表明实测半径与设定半径之间存在一定误差,误差范围是9.25%~17.00%。为使无人车按设定半径转向,可通过增加矫正中间量——矫正半径,结合转弯系数k,矫正无人车实际行驶半径与设定半径之间因系统偏移产生的误差。矫正半径=设定半径/转弯系数k,其中转弯系数k为试验的平均值1.12。
5 结论
本文研发的无人车,采用树莓派、STM32、TX2 相结合的系统结构,利用RTK 接收北斗卫星导航信号实现了高精度定位,能够控制无人车自适应行走,集遥控控制、路径规划、自动避障、云平台监控等功能于一体,具有良好的速度性能与行走转向性能。一方面,无人车可通过搭载药箱、水箱、机械手、采摘箱等农业机具,广泛应用于喷药、施肥、采摘、运输等无人作业任务,丰富无人农机的应用场景;另一方面,通过北斗导航与机器视觉的结合,大大提高了无人车的自动化和智能化水平,可为进一步实现无人农机的推广应用提供借鉴经验和参考价值。