StarryPilot - 轻量且强大的开源自驾仪


GPLv3
跨平台
C/C++

软件简介

StarryPilot

关于

一个轻量并且功能强大的开源自驾仪, 专注于科研领域以及无人机尖端算法的开发.
项目的主要目的是提供一个开放以及便于扩展的无人机飞控平台,使得无人机可以被更加容易的应用到各个行业领域中。

特色

  • 使用RT-Thread嵌入式操作系统, Fatfs文件系统,完整的系统功能支持(如跨进程通信,文件管理,参数系统等)

  • 基于 Pixhawk 硬件平台开发,完美支持Pixhawk硬件

  • ADRC控制和PID(串级)控制

  • 支持Mavlink协议(QGC地面站)

  • 支持Gazebo硬件在环(HITL)仿真

  • Msh指令系统,提供丰富以及可扩展的系统指令

  • Log日志系统,方便抓取飞行日志信息,并提供相应的日志查看工具。

  • 基于最小二乘法的最优椭球拟合校准算法(可校准 零偏误差缩放误差非正交误差 ),可用于磁力计和加速度计的校准。

控制

模拟器

工具

  • 传感器校准算法(椭球拟合) (magnetometer and accelerometer calibration)

  • Log查看工具

固件烧录

该固件是基于 Pixhawk 开源飞控硬件开发. 要将固件下载到Pixhawk, 请按照如下方法:

  • 首先编译starry_fmu固件并生成对应的bin文件.

  • 使用QGroundControl (QGC)地面站进行烧录. 选择如下选项来下载customer firmware.

  • 现在starry_fmu的固件应该已经烧录成功 (如果失败,请再次尝试,或者使用更高版本的QGC). 将无线数传Radio-telemetry连接到Pixhawk的 TELEM 2 口, 然后打开串口终端,这时应该可以看到msh的输出(默认57600的波特率)

  • 如果之前没格式化过SD卡, 请用mkfs指令将SD进行格式化. 更多的指令信息,可以输入help [cmd]来查询.

  • 然后你需要下载starry_io的固件. 首先编译starry_io得到bin文件,并将其命名为 starryio.bin. 复制starryio.bin文件到SD卡 根目录 , 然后打开msh命令终端并输入uploader指令, 显示如下.

  • 选择 file system 方式进行烧写. 注意,如果你是第一次下载starry_io固件, 在你输入uploader指令后, 你应该点击io的复位按钮 (在Pixhawk侧面) 来使得io进入bootloader系统.

  • 恭喜,你已经完成了固件烧写!

编译环境

编译环境使用Keil MDK5.