Skip to content

Latest commit

 

History

History
93 lines (69 loc) · 4.52 KB

JOB202004.md

File metadata and controls

93 lines (69 loc) · 4.52 KB

【JOB202004】 基于RT-Thread的Starry Pilot开源无人机系统

1、介绍

Starry Pilot项目开始于2016年,目的是打造一款轻量级,模块化的无人机系统。以无人机为基础,最终发展为机器人(如无人车,无人船等)的通用平台。 最新的Starry Pilot将是第一个基于MBD(Model Based Design)设计开源无人机系统。软件的框图如下图所示: starrypilot_arch.png

硬件平台:Pixhawk

项目将分为如下几个大的模块,分别为:

  • 嵌入式部分:包含starry fmu和starry io,主要提供系统的嵌入式软件部分,包括如上图框图所示的Kernal到Framework的部分,以及部分应用,如mav proxy, starry io和log.
  • MBD基于模型开发部分:这部分将在Matlab/Simulink下进行开发,通过code generation的方式,自动生成C/C++代码.
  • 建模与仿真:提供无人机的通用建模模型以及仿真测试环境,如SIL,HIL等.

1.1 Hardware

目前软件是在Pixhawk的硬件上进行开发的,后续会考虑支持更多的硬件。

1.2 Kernal

Kernal基于RT-Thread开发,RT-Thread除了内核功能外,还提供了许多优秀的组件,如DFS文件系统,msh shell系统等。

1.3 Driver

Driver层提供Pixhawk硬件上的各种原件的驱动支持,如传感器:IMU,磁力计,气压计,GPS等。其它设备驱动如:usb,PWM,sdio,gpio,uart,spi,i2c等的支持。

1.4 HAL

HAL是建立在Driver之上的硬件抽象层,目的是给上层提供统一的设备接口,而不受不同硬件的影响,这样方便后续在不同硬件上的移植,而上层代码无需修改。

1.5 Framework

Framework框架层提供系统的基础框架功能。

  • Sensor Hub:负责管理所有的sensor设备,提供统一的接口供其它应用以及导航调用,并定期发布传感器数据。
  • IPC(uMCN):提供一种主题订阅/发布的跨进程通信机制。
  • Mav Proxy:提供Mavlink相关协议的支持,跟上位机(QGC)进行交互。
  • Console:基于msh的控制台设备,提供一些指令功能。并且控制台信息可以被映射到不同的输出上,如serial,mavlink等。
  • FTP:基于Mavlink协议,提供FTP的文件上传和下载功能,用于跟飞控的文件系统进行文件交互。
  • HIL Interface:用于进行HIL硬件在环仿真,将模型发来的数据进行解析,并封装成传感器数据进行发布。
  • File Manager:负责文件相关的一些管理
  • Math:提供基础数学库支持
  • Param: 参数系统,基于xml/json,对参数进行动态管理。
  • Log: 实时日志系统。在保证系统的实时性的前提下,记录飞行的日志信息,供仿真调试时使用。
  • Calibration:磁力计和加速度计校准算法,支持非正交误差校准。

1.6 INS,Control,FMS模型

将基于模型的方法(MBD)开发导航(INS),控制以及飞行管理(FMS)的代码。这样的好处是可以大大简化手工编写代码的过程,提高代码复用性,让开发人员可以将更多 的精力放到算法本身上,而不用过多在意代码实现的细节。同时Matlab/Simulink提供了相当强大的仿真和Debug环境,可以更快速和高效的进行Debug。

路线图

项目大致分为以下几个阶段:

  • M0: 嵌入式代码开发/优化
    • 更好的支持RT-Thread原生系统的组件和功能
    • 优化代码结构,增加代码可读性和稳定性
    • 开发阶段:2020.01.01 - 2020.06.01
  • M1: 无人机建模以及仿真环境搭建
    • 多旋翼模型建立以及参数辨识
    • SIL,HIL仿真环境搭建
    • Visulization可视化平台
    • 开发阶段:2020.01.01 - 2020.04.01
  • M2: INS导航系统开发
    • 导航模型搭建,测试
    • 传感器模型搭建
    • 导航性能调优
    • 开发阶段:2020.01.01 - 2020.06.01
  • M3: Controller控制系统开发
    • 控制器模型搭建,测试
    • 控制器性能调优
    • 开发阶段:2020.01.01 - 2020.06.01
  • M4: FMS飞行管理系统开发
    • 飞行管理系统状态机开发
    • 逻辑测试
    • 开发阶段:2020.03.01 - 2020.06.01
  • M5: 上位机开发
    • 基于QGC进行深度客制化
    • 开发阶段:2020.03.01 - 2020.06.01

小组成员

  • Echo:嵌入式系统,导航,控制,飞行管理,仿真系统
  • weety:嵌入式系统
  • zhiyong:嵌入式系统,上位机

具体工作内容及时间安排