onenet物联网平台ota升级,来自中移物联网社区的OnePilot飞控
大家好,我是芯板坊小编。最近小编看《无线电》杂志第九月刊时候,发现了一个叫OnePilot的飞控项目;然后顺藤摸瓜地摸到了中移物联网社区;发现竟然有人用麒麟座mini板子DIY了一个飞控。
小编搜了一下,原作者是在Paparazzi UAV项目的基础上开发的。而Paparazzi UAV项目使用的是GPL协议(GNU GENERAL PUBLIC LICENSE,一种只要沾上一点就要免费共享的协议)。于是小编就无耻地把文章给“盗”过来了,免费开源给大家(没给作者稿费)。原作者现在心情很平静,愿意等小编先跑出39米再动手。
小编想在晚饭里加两只鸡腿,这样才有力气跑得快一些。老板表示,鸡腿跟小编文章的阅读数挂钩,每100个阅读,加一个鸡腿。
项目背景
这个故事源自送板狂魔——云汉电子社区[1]。作者在云汉试用频道申请了一块开发板,叫麒麟座OneNet Mini,它来自中移物联网社区[2]。成功拿到OneNet Mini板子后,他基于OneNet Mini的硬件做了个飞控开发项目,命名为One-Pilot飞控,上面跑的是改写过的Paparazzi UAV[3]飞控程序。Paparazzi UAV飞控是个开源项目,简称PPZ,包含了飞控硬件和软件。PPZ程序支持的飞控硬件很多,除了官方公布的几个飞控硬件版本以外,还支持NAZE32飞控、CC3D飞控、OpenPilot飞控和PX4飞控等。虽然PPZ支持的硬件很多,但是PPZ的代码从来没有对OneNet Mini做过适配。然而,需求还是有的,电子社区的小伙伴们都急等着看OneNet Mini变成飞控。
正巧,那个作者也是Paparazzi Hyper X飞控[4]的作者,对PPZ的开源项目比较熟悉。硬件上,OneNet Mini板子的主控芯片是STM32F103CBT6,也刚好符合PPZ的最小硬件需求。因此,他做了这个设计,基于OneNet Mini开发了OnePilot飞控的硬件,然后对PPZ飞控固件的代码做了修改,使其可以运行在OnePilot上。
OnePilot飞控简介
硬件介绍
OnePilot硬件的基本特性如下:
- STMicro STM32F103CBT6 微处理器
- MPU6050陀螺仪、加速度计
- HMC5883L 磁力计
- MS5611气压传感器
- Ublox GPS
- 一路电池电压采集
- 两路UART
- 一路I2C
- 一路PPM信号输入
- 四路PWM信号输出
- 板载4颗LED用于飞控状态显示
- 板子IO接口的规划见下表。比如PA2和PA3是串口2,用来接GPS模块
需要注意的是,硬件上确实已经接入了HMC5883L磁力计和MS5611;然而实际使用时发现如果要实现完整的飞控算法,正好少了1kb空间,导致代码无法烧入;所以我在实际使用的程序里去掉了磁力和气压部分的代码。目前的算法是这样的,海拔参数只从GPS获取,不对气压计数据做融合;另外机头方向通过GPS航向获得,然后输入航姿系统。
虽然STM32F103CB的FLASH略小,不能使用完整的多传感器姿态融合算法,但至少还是能把基本的该有的功能都实现,比如航姿、自稳、导航。如果大家想进一步深入地学习飞控开发,建议使用性能稍微好一点的板子,比如STM32F4Discovery板子。
实物展示
作者在地面站上把飞控程序代码编译测试了一下。程序调通时候截了一张图,如图 1所示。这次先被测试编译的是个控制四旋翼的程序。编译过程无报错、无警告。
图 1 使用PPZ地面站编译飞控代码
传感器使用了GY-86模块,如图 2所示。这个小模块包含了3轴陀螺仪、3轴磁场计、3轴加速度计和气压计。
图 2 GY-86模块
板子烧上飞控固件并上电以后,可以看到板子正面从左往右第3个绿灯LED4是亮着的,如图 3所示。这个是AHRS算法的指示灯,板子上电后闪烁,姿态解算成功后保持常亮。
图 3 板载LED
如果把传感器板向左滚转,电脑上的地面站的PFD显示飞机的姿态,地面(褐色)在左边,天空(蓝色)在右边。PFD叫做主飞行显示器,显示飞机的倾斜程度,如图 4所示。
图 4 左滚时的姿态输出
上图中大片黑色的是飞机位置在地图上的显示,正常情况下应该是类似高德导航那样的。之所以显示黑色,只是因为谷歌地图被GFW墙了,图像暂时没下载到。这个其实对实际的航线飞行没有影响的,因为对飞控来说,只要有坐标数据就行了。我们把飞行路线上的控制点称为航点,如图 5所示:
图 5 航点图
如果把传感器板向右滚转,电脑上的PFD显示如图 6所示。
图 6 右滚时的姿态输出
如果把传感器板向前滚并低头,电脑上的PFD显示如图 7所示,已经看不到天空了(蓝色),视野里面全是大地(褐色)。
图 7 低头时的姿态输出
如果把传感器板向后拉并扬起头,电脑上的PFD显示如图 8所示
图 8 抬头时的姿态输出
飞控开发小结
这个OnePilot飞控的开发过程非常顺利。因为作者并不是从头做一个飞控,而是在PPPZ的开源基础上修改完成的。姿态和导航算法都是原版PPZ的代码。硬件上,主控板OneNet Mini完全归功于中移物联网。作者只负责做硬件和软件的接口规划,然后把各个模块连接起来。OnePilot项目对原版PPZ项目的贡献有如下几点:
1 添加了中移物联网麒麟座OneNet Mini开发板的支持,并做了一个机体配置例子。
2 在MPU6050和HMC5883L的驱动接口的开源代码的基础上添加了超廉价的GY-86模块的程序接口。
3 添加了超廉价的天地飞7通道遥控接收器的程序接口。
综上所述,对OnePilot飞控贡献最大的是中移团队和PPZ团队。
芯板坊小编的话
这个OnePilot飞控的作者(徐珂靖)只是个默默无闻的海边玩耍的宝宝,拾到几个贝壳,然后串起来做了个项链;然后芯板坊小编也只是个默默无闻给大家推送有趣新闻的宝宝。所以,如果这篇文章对大家有帮助,请不要谢芯板坊。如果大家要感谢,请谢谢伟大的GPL开源协议,以及PPZ团队和中移团队吧。
- 11-29拉布拉多什么颜色好看点?拉布拉多常见的3种颜色
- 02-08小户型显大是用白色还是原木色 下次有机会再装房我一定选深木色
- 09-25花开朵朵芳草幽幽:芳草蓠蓠,母爱深深
- 02-25给芭比娃娃做鱼尾裙简单教程 自己动手给芭比娃娃做一条半身裙
- 04-26黄磊在哪部剧上说话都磕磕巴巴的:被狗眼看人心预告感动哭
- 03-16王安宇视频混剪帅气:宝藏男孩王安宇颜值太可爱了
- 04-02不能变形的g1擎天柱 G1擎天柱外传擎天柱捆绑销售
- 04-09好用的爽肤水精华,爽肤水护肤水精华水自用空瓶分享
- 03-23最让人失望的运动员:技术再好的运动员都上不了擂台
- 12-04诺基亚7070是一款什么样的手机?诺基亚,7领衔归来四款骁龙626
- 04-15设计师必备免费素材网站合集来啦:专业设计师都在用的辅助网站
- 02-21定制家具和木工哪个好做?定制家具找木工还是找品牌厂家
- 01-07秦腔八位名家大联唱辕门斩子:欣赏王谋儿辕门斩子选段
- 10-24安安小娇妻几号去世:十三岁的小妹安安之死
- 01-06绯闻女孩blair chuck的电影:绯闻女孩QueenB,莉顿梅斯特大片
- 02-10大学生实习避坑指南:实习避坑不完全指南
热门
推荐
- 1最好听伤感安静的歌曲有哪些327
- 2描写意志与恐惧的散文268
- 3女人偏头痛有哪些缓解方法453
- 4射手座女生迷人的地方486
- 5经典人生的座右铭大全|经典人生的座右铭326
- 6如何培养乐观心态:让自卑从生活中走开192
- 7关于拼搏的演讲稿范文287
- 8人大开幕式讲话476