crazyflie开发笔记-介绍
说明:
- 介绍关于Crazyflie开发、工具、特点、社区
介绍:
关于Crazyflie开发
英文参考:http://www.bitcraze.se/development/开发范围
如果你想开发Crazyflie,那你能做些什么呢?下面列举了Crazyflie源码开发所涉及的几个方面,具体包括:传感器
Crazyflie飞行器包含不同的传感器,这些都需要信号处理和性能优化。传感信号融合
多个传感器的信号输出后,需要融合在一起,才能对Crazyflie飞行器姿态进行预估。控制理论
Crazyflie包含了一系列控制闭环,主要都是对roll/pitch/yaw进行控制,也可以通过Kinect外部控制飞行器动作。遥控通信协议
通信协议很简单,但也有足够的扩展性。USB
支持与PC机USB通信。实时系统
采用FREERTOS硬实时系统。图像处理
在Kinect控制飞行器飞行时,用到了图像算法来捕捉Crazyflie飞行器的位置。Android
采用支持USB OTH/HOST的Android设备可以控制飞行器飞行。Crazyflie飞行器项目用到的编程语言:
Crazyradio 和Crazyflie固件为C语言开发;
Crazyflie PC API和PC客户端为Python语言开发;
Android客户端为Java语言开发。
工具
开发环境的设置,一直都是一个麻烦的问题。为了方便,我们提供了一个虚拟机,它包含了所有必须的东西。你需要做的就是下载虚拟机,并导入我们提供的工具。这些工具包括编译器、生成器、EDA软件、固件库、调试工具等。如果一切就绪,你可以做如下事情:- 查看、生成、调试Crazyflie固件;
- 查看、生成Crazyradio固件;
- 查看Crazyflie 和Crazyradio的EDA工程;
- 开发PC端应用程序;
- 控制Crazyflie飞行。
特点
Crazyflie飞行器的目的是用于开发和试验用的,所以我们提供了一系列的调试与开发工具,特点如下:- 通过radio来bootload固件;
- 通过radio来读取和修改列表参数;
- 通过radio读取日志数据;
- 大量CPU空闲时间,大量flash、RAM空间可以利用;
- JTAG接口
- 留有扩展接口
radio bootloader允许Crazyflie通过radio来加载固件,这样可以不用接USB或者JTAG就可以刷新固件。当然Crazyradio适配器上也有USB bootloader来更新固件。
Crazyflie扩展接口,不仅包含了JTAG,还包含了一系列总线、电源,用于扩展其他硬件。
社区
GitHub,所有开源文件可以在https://github.com/bitcraze查看。
wiki ,你可以在http://wiki.bitcraze.se/查看Crazyflie的文档资料。
forum,你可以在http://forum.bitcraze.se/论坛上参与话题讨论。
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号