您好, 访客   登录/注册

基于超声波阵列的无人船避障系统设计与实现

来源:用户上传      作者:

  摘 要:无人船在航行中容易受到外界不确定因素的影响造成撞毁、炸机现象,为了实现无人船更加快速的避障,提出了一种机载超声波阵列结合卡尔曼滤波算法的方法。首先通过超声波对障碍物信息进行判断,其次通过卡尔曼滤波算法进行误差修正,最后通过PID控制算法做出避障策略。
  关键词:无人船;避障;超声波阵列;卡尔曼滤波;PID控制
  中图分类号:TP273文献标识码:A
  无人船作业中路径规划大部分建立在地图已知情况下,但在实际中受动态环境影响,预期的路径与现场实况不符合[1],而如何动态获取复杂环境下的信息实现快速的避障和再次路径规划成为了无人船执行任务的难点。
  1 系统原理概述
  1.1 无人船简介
  无人船由上位机软件、超声波阵列、MCU控制器组成。上位机软件使无人船与上位机进行交互;超声波阵列提供障碍物距离信息;MCU控制器协调无人船各模块之间的工作。
  1.2 超声波阵列
  
  图1 超声波避障模块
  如图1所示,超声波阵列由八个45度角间隔排列的超声波组成,超声波模块的感应角度为15度,因此各模块之间不会形成干扰[2]。
  2 逻辑控制与算法实现
  2.1 避障逻辑分析
  通过超声波阵列检测出每个方向的障碍物距离(每个测量值进行一次滤波)。若检测到左侧和前方有障碍物,船头向右微转。若检测到右侧有障碍物,船头向左微转。
  2.2 卡尔曼滤波算法的实现
  卡尔曼滤波是一种以最小均方误差为准则从而处理动态数据的有效手段[3-4]。超聲波阵列在检测过程中易受到温度、声波的影响,因此需要建立包含温度、声波因子的卡尔曼滤波模型。算法流程如图2所示:
  
  图2 卡尔曼滤波流程图
  测试数据在滤波之前的方差为0.762476,滤波之后降低到0.048692。
  2.3 PID控制及实现
  为满足无人船避障的响应速度、动态性能指标,采用了PID控制算法[5]。PID控制流程如图3所示。
  
  图3 PID控制流程图
  计算出u(k),用stm32产生PWM来控制电机电流大小,进而对无人船进行方向调整和控制。
  3 结论
  超声波阵列结合卡尔曼滤波方法对无人船航行中不确定的因素可以灵活的检测和误差修正,从而提高了无人船的避障能力。
  参考文献:
  [1]孙东平.无人船控制系统设计与实现[D].中国海洋大学,2015.
  [2]赵旭峰.基于S3C2410的超声波测距仪的设计[J].硅谷,2010,22:48+43.
  [3]谢建,朱建军.不等式约束卡尔曼滤波的解算及其统计性质[J].测绘与空间地理信息,2009,02:28-31.
  [4]王琦,孙华,李伟华,等.卡尔曼滤波在变形监测数据处理中的应用[J].工程地球物理学报,2009.
  [5]樊国平.智能PID控制系统的设计与研究[D].浙江工业大学,2005.
  基金项目:国家大学生创新创业训练计划项目(面向水面浮游物打捞的自主巡航船设计,项目编号:201910606139);国家大学生创新创业训练计划项目(基于VR技术的虚拟驾校平台设计,项目编号:201910606029);国家大学生创新创业训练计划项目(煤矿井下数据系统的研究,项目编号:201910606137)
  作者简介:黄艳虎(1991-),男,硕士,助教,研究方向:导航定位与控制。
转载注明来源:https://www.xzbu.com/1/view-15114351.htm