如果拿arduino或其他板子自己写算法实现一套四旋翼飞行器的飞控板需要掌握那些技术?
正在做四轴。判断姿态FreeIMU这个库很实用。原作者论文里写道精确度比kalman filter还要好。要掌握如何命令ESC,即无刷马达控制器。有使用PWM的有用I2C的。此外得了解航模无线电接受器的协议。一般是PPM。用其他数字无线电设备的话可能要用到UART。控制飞行姿态大家都在用PID控制循环。PID的输出是输入跟期望值的差别、差别的导数、差别的积分这三者的线性组合,一般情况下能保证不错的控制效果。但具体系数要自己实验获取。还要计划好如何组织这一堆代码。PID和操控ESC的循环一定要频繁运行才能确保稳定。其他功能大都通过中断实现。自己的操控技术可以先用AeroSIM等飞行模拟器软件练习。
假设开发板及各种传感器和配套硬件齐全,语言上只需要掌握C就可以。姿态检测比较麻烦,要综合加速度传感器和陀螺仪的数据,新手可以参考卡尔曼滤波算法。先从淘宝弄一套便宜的飞行设备(二百左右)试试水,一开始就把arduino送上天万一摔了成本可不低。哥也想做四轴很久了,可惜厂里太忙……就不细说。
自己写算法就有点牛了.. 基本都是在开源的飞控框架上改改参数就飞起来了
都能自己写算法了,不如拉几个做电调的直接玩航模级的好了 ~
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(3)
正在做四轴。判断姿态FreeIMU这个库很实用。原作者论文里写道精确度比kalman filter还要好。
要掌握如何命令ESC,即无刷马达控制器。有使用PWM的有用I2C的。
此外得了解航模无线电接受器的协议。一般是PPM。用其他数字无线电设备的话可能要用到UART。
控制飞行姿态大家都在用PID控制循环。PID的输出是输入跟期望值的差别、差别的导数、差别的积分这三者的线性组合,一般情况下能保证不错的控制效果。但具体系数要自己实验获取。
还要计划好如何组织这一堆代码。PID和操控ESC的循环一定要频繁运行才能确保稳定。其他功能大都通过中断实现。
自己的操控技术可以先用AeroSIM等飞行模拟器软件练习。
假设开发板及各种传感器和配套硬件齐全,语言上只需要掌握C就可以。
姿态检测比较麻烦,要综合加速度传感器和陀螺仪的数据,新手可以参考卡尔曼滤波算法。先从淘宝弄一套便宜的飞行设备(二百左右)试试水,一开始就把arduino送上天万一摔了成本可不低。
哥也想做四轴很久了,可惜厂里太忙……就不细说。
自己写算法就有点牛了.. 基本都是在开源的飞控框架上改改参数就飞起来了
都能自己写算法了,不如拉几个做电调的直接玩航模级的好了 ~