基于STM32的无人船控制系统设计与实现

针对现有水面无人船自主导航问题,设计了一种基于STM32单片机的无人船运动控制系统:

  1. 该系统以STM32F103芯片作为主控板核心芯片,采用了双 MCU(微控制单元)架 构,集成了无人船的直流电机、电源显示、信息采集等模块的工作,通 过CAN 总线形式实现数据采集板与运动控制板之间的通信;
  2. 通过卡尔曼滤波算法实现全球定位系统 (GPS) 和捷联惯导系统(SINS)对无人船定位信息的数据处理,使无人船的定位更加准确;
  3. 通过自抗扰控制算法实现无人船对航向角的闭环控制,以达到路径跟踪的目的;
  4. 采用4G网络通信方式,同时设计了基于Java开发的上位机软件(手机软件)实现无人船的远程操控功能;

硬件设计

  • 系统使用了两个 STM32F103控 制 芯片,左边的主要用来读取数据,并且会对 GPS及IMU 的数据进行相关处理;右边的主要用来控制无人船 运 动,可 通 过 CAN 总线控制电机驱动;4G模块可以上网,实现无人船的远程操控功能;其 他 硬 件 如指示灯等可以显示无人船的各种状态。

GPS/IMU组合导航模块

  • GPS模块的型号为GYGPSV1-7M,IMU 模块型号为 MiniIMU AHRS。GPS和IMU 模块都是通过串口连接到数据采集 板 上。将 数 据 获 取 后,STM32 便会进一步解算数据,使无人船的定位信息更加准确,之后再将该信息通过CAN 总线发送给运动控制板,以便进行下一步操作

电机驱动模块

4G通信模块

供电部分

软件设计

GPS/IMU的数据融合

采用松组合方式来实现 GPS与IMU 的 数 据 融合。将GPS和IMU 分别测出的位置或速度信息通过卡尔曼滤波器实现数据融合,并且融合后的信息还会反馈回IMU,以达到消除捷联惯导系统累积误差的目的

无人船路径跟踪

  • 主要通过控制船只的航向来实现无人船路径跟踪目的,故设计合理的航向控制器至关重要
  • 自抗扰 控 制 器是一种不依赖被控对象精确模型的、能够替代 PID控制技术的新型实用数 字 控 制 技 术。该控制器可以很好地控制无人船航向,通过规划好的路径与实际船舶位置的对比可以得到无人船的期望航向,将期望航向作为输入,实际测量航向作为输出,经过控制器的作用使无人船实现路径跟踪的目的。

上位机监控软件设计

无人船上位机软件是基于 Android系 统 采 用Java语 言
开发的,这款 App适用于 Android5.0以上的手机,稳定性好,包括6部分信息。

感触:会不会像昨天的无人机培训一样,控制系统啥的都找好了,不如先看例子吧

    作者:无欲则刚原文地址:https://segmentfault.com/a/1190000022344785

    %s 个评论

    要回复文章请先登录注册