基于Kalman 滤波算法的精细化农业机器人巡航策略研究

2021-05-16 10:33陈兴旺范津榕
科学技术创新 2021年13期
关键词:串口导航系统噪声

王 昊 陈兴旺 龙 恒 张 琛 范津榕 蒋 伟

(扬州大学,江苏 扬州225400)

近年来,现代农业正处于一场前所未有的现代化革命中,三农产业的发展正逐步进入精细化的发展阶段。全球科学界对机器人自动轨迹巡航和机器视觉的研究正在逐步深化[1]。GPS 全球卫星导航技术,具有覆盖面积广、误差累计小、抗气候影响能力强和定位精度高以等优点,不同于市场成本较高、维护要求高的各种高精度组合导航设备,单GPS 导航设备在使用卡尔曼滤波算法后在降低使用成本的同时也保持原有的高精度不变。但是GPS 导航系统也有诸多较大的缺陷:直接提供姿态信息难度较大,数据更新不及时,频带宽度较窄,信号抗干扰性能差,且载体高速运动时,GPS 信号容易丢失,导致导航系统失效[2]。本项目采用单GPS 配合多传感器进行探究,其目的是设计一种造价较低、维护难度不高、实用性能较强的自走式农业机械设备组合导航系统,实现解决机器人在复杂环境下易受电磁信号干扰、误差累积、导航精度随时间发散以及GPS 信号大滞后等实际问题,实现精细化农业生产中机器人精密巡航策略研究与实现。

1 Kalman 算法设计

1.1 Kalman 滤波算法原理简介。Kalman 滤波器用即时反馈的方法进行估算教学过程发展状态:滤波器先估算运动管理过程中某一时刻的状态,然后通过利用(含噪声的)测量控制变量可以获得即时反馈。因此,Kalman 滤波器包括两个分支:即时间状态更新方程以及测量状态更新方程。时间状态更新方程向前推算状态值并估计方差协方差的值,然后构造出下一个时间状态先验估计值。测量状态更新方程负责即时反馈,将先验估计与新的测量变量进行结合,然后构造后验估计。

zk= Hxk+vk

将过程激励噪声和观测噪声分别定义为随机信号Wk和Vk。假设它们是彼此相互独立,并服从正态分布的一对白色噪声:

在实际应用中,由于每次迭代计算,过程激励噪声矩阵Q 和观测噪声矩阵R 会产生响应值变化,为方便推导,我们将这两个变量定义为常数。

当控函uk-1或过程激励噪声Wk-1的值变成零时,1.1 中的n×n 阶矩阵A 将上一时刻k-1 的状态线性映射到当前时刻k的状态。使用n×1 阶矩阵B 来表示控制输入增益。使用m×n阶矩阵H 代表状态变量xk对测量变量zk的增益[3]。这里假设H为常数。

1.4 Kalman 滤波器算法,见图1。

2 基于Kalman 滤波算法的单GPS 导航系统设计方案

图1 离散卡尔曼滤波器循环更新图[4]

2.1 设计机器人Mecanum 四轮电机同步工作与全向移动的协调机制。基于工控机DSP 端的Python 编程上位机控制界面,通过Rasberry 与下位机运动控制卡实现相互通信。下位机将模拟信号或者数字脉冲信号发送给伺服电机驱动器,对电机的速度或者角度进行相应驱动。驱动器将速度状态及时反馈给上位机实现闭环控制。(图2)

图2 DSP 驱动电机方案图

2.2 基于嵌入式导航信号接收模块的卫星地面导航信号输入反馈系统设计。GPS 模块设计主要可以用来接收来自全球定位系统的定位信号,当GPS 模块接受完坐标信息后,将其传给ARM处理器进行相关信息分析处理。在本项目中,ARM9 芯片与GR-87 GPS 模块相连,GPS 模块的坐标信息通过串口传送到ARM 处理器,然后控制电机全方位运动[5]。该系统采纳NMEA0l83 协议实现对GPS 传输信号的三维分析。单个GPS 导航系统硬件框图如图3。

图3 控制系统硬件设计框图

2.3 机器人单GPS 高精度、低成本导航系统搭载平台硬件设计。系统进行硬件设计平台的核心电路可以采用S3C2440A处理器作为一个中央处理器,集成各种数据接口控制车载导航系统。利用HOLUX 的GR-87 模块负责收集导航信号,SD 卡用于电子地图的储存,GPS 模块与处理器之间的通讯则是利用RS232 接口。(图4)

具体工作过程如下: 首先,卫星发射位置信息,GR-87 模块进行接收,由RS232 接口发送给处理器,在接受到坐标信息后,根据指令,提取出原信息中自己所需的坐标信息,然后传送给投影坐标转换库Proj。

图4 农业机器人实物图

2.4 机器人导航系统GPS 定位程序设计与信号滞后误差消除。GPS 定位程序部分基于嵌入式Linux 操作系统,使用Python语言借助Qt 软件进行开发。将SK 定位模块中传输的信号分为输入信号和输出信号。输入信号包括GPS 导航信息和控制命令;输出信号则包括农机位置的经度信息、纬度信息、行驶速率、行驶方向。利用RS232 串口与微控模块进行数据通信,利用串口COM1 接受目标农机位姿信息,利用串口COM2 传递控制指令、数据通信和接受控制命令。

由于GPS 信号传输过程中信号传输滞后的存在,不可避免的会导致产生机器人巡航偏离,因而可利用卡尔曼滤波算法构建非线性模型来弥补误差。设置完成SK 定位模块数据传输串口后,即可接受定位数据。

3 结论

综上所述,本项目提出了一种新的基于单GPS 与多传感器融合的机器人自主导航系统,该系统由GPS 接受外部信号,信号传送到ARM 处理器进行信号解析,再将解析信号传送到DSP 控制系统,对机器人的运动速率与方向进行实时调节。同时,该系统利用了Kalman 滤波算法,对由于GPS 刷新率较低导致的滞后误差进行修正,从而有效提高机器人实地作业时的工作效率和运动精度。伴随着时代不断进步,探究以自走式导航机器人代替人力,利用路径规划,用以解决农作物耕种、施肥、灌溉等诸多环节,同时提高生产效率,具有非常积极的应用价值及现实意义。

猜你喜欢
串口导航系统噪声
北斗卫星导航系统专名的确定与保护
基于物联网技术的船舶智能导航系统
基于声类比的仿生圆柱壳流噪声特性研究
基于EM9000工控板高性能双串口通信模型设计与实现
汽车制造企业噪声综合治理实践
MCS—51单片机中的多串口通讯技术的应用
要减少暴露在噪声中吗?
一种基于小波包变换的双模噪声中信号检测
基于VC串口通信的实现