本教程详细介绍了如何制作EEDrone开源四旋翼无人机的第一代版本,包括飞控主板和IMU的设计与组装以及相关固件的配置。
声明:该设计资料来源于网友eeworld-lb8820265的开源分享,仅供学习参考,不可用于商业用途。
你是否也像我一样有这样的疑问:论文中提到的各种四旋翼控制算法和姿态解算算法为何在实际的开源四旋翼平台中很少见到?大多数情况下,控制算法都使用PID方法,而姿态解算则依赖于Mahony滤波器或扩展卡尔曼滤波(EKF)。
目前四旋翼控制系统仍存在许多问题:抗干扰能力和鲁棒性有待进一步提高;在重心和质量变化的情况下表现不佳;起飞时不够稳定,在室内自主悬停控制效果也不理想,惯性和室内的导航精度较低等。因此,研究领域还有很大的发展空间,任重道远。
当仿真通过后,往往难以找到合适的四旋翼平台进行验证。目前适合用于研究的四旋翼平台包括:
- Pixhawk:功能强大且可扩展性好。但也有以下问题:
- 编译复杂,并非使用IDE开发环境,在线调试困难。
- 使用Nuttx操作系统,实时性能有待提高;传感器数据读取到控制输出的时间较长。
- 大量代码由MATLAB生成,不利于阅读和二次开发;未充分利用F4的DSP核,效率较低且结构复杂。
- 数据传输速率低(仅1Hz),不支持实时分析。
- IMU缺乏减震措施,需整个飞控系统增加减震装置。
- 修改程序到成功烧录的过程繁琐,并且不具备无线更新功能。
- 大疆M100和Guidance:虽然开发视觉算法方面表现不错,但控制与姿态解算已封装好,不适合深入研究这些领域的内容。
此外,在网络购物平台上可以找到一些四旋翼飞行控制器及相关元器件。然而它们大多性能较低、没有操作系统支持以及缺乏高效的控制及姿态计算方法;接口数量有限,并不适合作为科研工具使用。Ascending Technologies公司的产品虽然被广泛应用于各种赛事和学术项目中,但其高昂的价格让人望而却步。
由此可以看出拥有一个适合研究的四旋翼平台的重要性日益凸显出来。鉴于个人精力与技术能力所限,特此发帖希望能吸引志同道合的朋友共同学习探讨;唯有开源才能推动技术创新进步。
初步设想中的理想化四旋翼应具备以下特点:
- 先进控制和姿态解算算法
- 程序模块化设计便于各种算法实现
- 提供MATLAB仿真及理论支持
- 高速数据传输,实时查看与分析波形图
- 采用高性能MCU与IMU传感器
- 优化代码充分利用DSP核心单元性能
- 支持无线更新功能
- 使用IDE环境编写、编译和调试程序
- 简单高效的操作系统减少控制延迟时间
- IMU置于减震盒内,接口形式可更换不同方案
- 提供多种常用硬件接口包括以太网端口
根据个人优势和技术特点初步确定四旋翼软硬件如下:
MCU+GPS+IMU盒子方案一:
元器件型号:STM32F746ZGT6、3DR GPS + LSM303AGR、L3GD20H、LSM6DSM及LPS22HB。全部采用ST最新高性能元件,与Pixhawk一样使用双陀螺仪加速度计冗余设计;MCU则选用性能强大的F746可运行复杂算法。
IMU盒子方案二:元器件型号包括ADXL354、ADXRS642 × 3及MS5803。采用ADI高性能惯性传感器和气压计,满足更高性能需求。
飞控软件相关:
操作系统:FreeRTOS
文件系统:FatFs
通信协议:Mavlink
开发环境:Keil+QT
协同工作平台: Github
开源许可方式: BSD 3-clause
四旋翼飞行控制器主板、IMU及元器件第一代实物图。
经过一番讨论决定,首版硬件将由三部分组成;核心板采用Nucleo F767, 主板固定于机架上而IMU做成减震盒子。主板接口配置包括:PWM遥控接口、PPM遥控接口、8个电机控制端口、1个PWM用户接口、3DR GPS 接口及SD卡插槽等;电源管理模块与Flash存储器,三色LED指示灯以及F450机架连接器。
IMU硬件及其接线包括:LSM6DSM、LPS22HB、LSM303AGR和ICM20608传感器外加两瓦加热电阻及3.3V电源供应,并配备14pin排针接口。这里采用了大量冗余组件,例如LSM6DSM