turtlebot3-burger_150.png
turtlebot3-waffle-pi_150.png
turtlebot3-arm_150.png
walking-y2_150.png
turbot3-multi_150.png
turbot3-dl-ros1_150.png
turbot3-ai.png
turbot3-dl-ros2_150.png
turbot3-slam_150.png
turbot3-arm_150.png
turtlebot4-lite_150.png
turtlebot4-pro_150.png
turbot4-dl_150.png
turbot4-ai_150.png
aidriving-racebot_150.png
aidriving-autodrive_150.png
turtlebot-arm_150.png
openmanipulator-x_150.png
Home » crazyflie开发笔记 » crazyflie开发笔记-介绍

crazyflie开发笔记-介绍

纠错,疑问,交流: 请进入讨论区请点击进入页面,扫码加入微信群或Q群进行交流

获取最新文章: 扫一扫加入“创客智造”公众号

说明:

  • 介绍关于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