StarryPilot 是一个轻量并且功能强大的开源自驾仪, 专注于科研领域以及无人机尖端算法的开发. 项目的主要目的是提供一个开放以及便于扩展的无人机飞控平台,使得无人机可以被更加容易的应用到各个行业领域中。
特色
-
使用RT-Thread嵌入式操作系统, Fatfs文件系统,完整的系统功能支持(如跨进程通信,文件管理,参数系统等)
-
基于Pixhawk硬件平台开发,完美支持Pixhawk硬件
-
ADRC控制和PID(串级)控制
-
支持Mavlink协议(QGC地面站)
-
支持Gazebo硬件在环(HITL)仿真
-
Msh指令系统,提供丰富以及可扩展的系统指令
-
Log日志系统,方便抓取飞行日志信息,并提供相应的日志查看工具。
-
基于最小二乘法的最优椭球拟合校准算法(可校准零偏误差,缩放误差,非正交误差),可用于磁力计和加速度计的校准。
控制
模拟器
-
Matlab simulator (Software-in-the-loop)
-
Gazebo simulator (Hardware-in-the-loop)
工具
-
传感器校准算法(椭球拟合) (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.