原文地址: http://blog.sina.com.cn/s/blog_402c071e0102v6ho.html
Crazyflie笔记一:概述开发范围、工具、特点介绍
(2015-01-04 12:48:31)
转载▼
标签: crazyflie 源码笔记 开发工具 特点 | 分类: 航模 |
由于项目变动,最近转战小四轴Crazyflie。后续发布的笔记内容会集中在Crazyflie方向。欢迎交流,30175224@qq.com。新浪长沙@WalkAnt,转载本博客文章,请注明出处,谢谢。
新的一年,新的开始,让我们一起踏步迎接2015。准备好了,那就上路吧。
关于Crazyflie开发
英文参考:http://www.bitcraze.se/development/
1、开发范围
如果你想开发Crazyflie,那你能做些什么呢?下面列举了Crazyflie源码开发所涉及的几个方面,具体包括:
1、传感器
Crazyflie飞行器包含不同的传感器,这些都需要信号处理和性能优化。
2、传感信号融合
多个传感器的信号输出后,需要融合在一起,才能对Crazyflie飞行器姿态进行预估。
3、控制理论
Crazyflie包含了一系列控制闭环,主要都是对roll/pitch/yaw进行控制,也可以通过Kinect外部控制飞行器动作。
4、遥控通信协议
通信协议很简单,但也有足够的扩展性。
5、USB
支持与PC机USB通信。
6、实时系统
采用FREERTOS硬实时系统。
7、图像处理
在Kinect控制飞行器飞行时,用到了图像算法来捕捉Crazyflie飞行器的位置。
8、Android
采用支持USB OTH/HOST的Android设备可以控制飞行器飞行。
Crazyflie飞行器项目用到的编程语言:
1、Crazyradio 和Crazyflie固件为C语言开发;
2、Crazyflie PC API和PC客户端为Python语言开发;
3、Android客户端为Java语言开发。
2、工具
开发环境的设置,一直都是一个麻烦的问题。为了方便,我们提供了一个虚拟机,它包含了所有必须的东西。你需要做的就是下载虚拟机,并导入我们提供的工具。这些工具包括编译器、生成器、EDA软件、固件库、调试工具等。如果一切就绪,你可以做如下事情:
1、查看、生成、调试Crazyflie固件;
2、查看、生成Crazyradio固件;
3、查看Crazyflie 和Crazyradio的EDA工程;
4、开发PC端应用程序;
5、控制Crazyflie飞行。
3、特点
Crazyflie飞行器的目的是用于开发和试验用的,所以我们提供了一系列的调试与开发工具,特点如下:
1、通过radio来bootload固件;
2、通过radio来读取和修改列表参数;
3、通过radio读取日志数据;
4、大量CPU空闲时间,大量flash、RAM空间可以利用;
5、JTAG接口
6、留有扩展接口
radio bootloader允许Crazyflie通过radio来加载固件,这样可以不用接USB或者JTAG就可以刷新固件。当然Crazyradio适配器上也有USB bootloader来更新固件。
Crazyflie扩展接口,不仅包含了JTAG,还包含了一系列总线、电源,用于扩展其他硬件。
4、社区
1、GitHub,所有开源文件可以在https://github.com/bitcraze查看。
2、 wiki ,你可以在http://wiki.bitcraze.se/查看Crazyflie的文档资料。
3、forum,你可以在http://forum.bitcraze.se/论坛上参与话题讨论。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)