开源概念最早应用于开源软件。开放源代码促进会(Open Source Initiative)将源码公开,软件可以被公众使用、修改和发行,不受许可证的限制。每一个开源项目都拥有自己的论坛,由团队和个人进行管理,论坛定期发布开源代码,感兴趣的程序员都可以下载、修改,然后上传自己的成果,管理者从众多的修改中选择合适的代码改进程序并再次发布新版本。如此循环,形成“共同开发、共同分享”的良性循环。
    开源软件的发展逐渐与硬件相结合,产生了开源硬件。开源硬件的原则声明和定义是开源硬件协会(Open Source HardWare Association,OSHWA)的委员会及其工作组以及其他更多的人员共同完成的。硬件与软件不同之处是实物货源应该始终致力于创造实物商品。因此,生产在开源硬件(OSHW)许可下的产品的人和公司,有义务明确该产品没有在原设计者核准前被生产,销售和授权,并且没有使用任何原设计者拥有的商标。硬件设计的源代码的特定格式可以被其他人获取,以方便对其进行修改。在实现技术自由的同时,开源硬件提供知识共享并鼓励硬件设计开放交流贸易。开源硬件定义是在软件开源定义基础上定义的。了解了开源硬件的概念,开源飞控的概念也就比较容易理解了。
    所谓开源飞控就是建立在开源思想基础上的飞行自主控制器项目(Open Source AutoPilot),同时包含开源软件和开源硬件,而软件则包含飞控硬件中的固件和地面站软件。
    第一代开源飞控系统使用Arduino或其他类似开源电子平台为基础,扩展连接各种MEMS传感器,能够让无人机能平稳地飞起来。主要特点是模块化和可扩展能力。主要产品有Arduino飞控、APM飞控等。
    第二代开源飞控系统大多拥有自己的开源硬件、开发环境和社区,采用全集成的硬件架构。主要特点是高度集成、高可靠,其功能已经接近商业自动驾驶仪。主要产品有PX4和Pixhawk。
    第三代开源飞控系统将会在软件、人工智能以及云应用方面进行革新。加入集群飞行、图像识别、自主避障、自动跟踪飞行等高级飞行功能,向机器视觉、集群化、开发过程平台化的方向发展。
    目前,开源飞控正处在第二代的完善中。因此,本课程以PX4和Pixhawk为典型开源飞控进行详细介绍。