< >
Home » crazyflie开发笔记 » crazyflie开发笔记-介绍

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/论坛上参与话题讨论。

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: none