Crazyflie 2.1
警告
PX4 不生产这种(或任何)自动驾驶仪。请联系 生产商 硬件支持或合规问题。
警告
Crazyflie 2.1 只能在以下环境中飞行 手动/稳定模式.
Crazyflie 系列微型四驱车由 Bitcraze AB 生产。Crazyflie 2.1 的概览如下 在这里找到.
快速总结
信息
主要硬件文件如下 这里
- 主片上系统:STM32F405RG
- 中央处理器168 MHz ARM Cortex M4,带单精度 FPU
- 内存:192 kb Sram
- nRF51822 无线电和电源管理 MCU
- BMI088 3 轴加速度计/陀螺仪
- BMP388 高精度压力传感器
- uUSB 连接器
- 板载锂聚合物充电器,提供 100mA、500mA 和 980mA 模式
- 全速 USB 设备接口
- 部分 USB OTG 功能(存在 USB OTG,但无 5V 输出)
- 8KB EEPROM
购买地点
该车可在此处购买: Crazyflie 2.1 (store.bitcraze.io)
实用的外围硬件包括
- Crazyradio PA 2.4 GHz USB 加密狗:之间的无线通信 QGroundControl 和 Crazyflie 2.0
- 突围甲板:分线扩展板,用于连接新的外设。
- 流动甲板 v2:光学流量传感器和距离传感器,用于高度和位置控制。
- Z 型游侠甲板 v2:用于高度控制的距离传感器(与流动甲板的传感器相同)。
- 多游侠甲板 多方位物体检测
- 蜂鸣器甲板 系统事件(如电池电量不足或充电完成)的音频反馈。
- 突围甲板:扩展板:无需焊接即可轻松测试新硬件。
- SD 卡甲板:将高速机载记录传输至微型 SD 卡
- 罗技操纵杆
组装 Crazyflie 2.1
闪光 PX4
信息
这些说明仅在 Ubuntu 上进行过测试。
设置好 PX4 开发环境后,请按照以下步骤在 Crazyflie 2.1 上安装 PX4 自动驾驶仪:
下载 PX4 引导加载程序的源代码:
吁Git 复制 https://github.com/PX4/Bootloader.git --子模块
导航至源代码的顶层目录,然后使用
吁生产 crazyflie21_bl
按照以下步骤将 Crazyflie 2.1 进入 DFU 模式:
- 确保最初未接通电源。
- 确保电池已断开。
- 按住重置按钮(见下图......)。
- 插入电脑的 USB 端口。
- 一秒钟后,蓝色 LED 灯开始闪烁,5 秒钟后闪烁速度加快。
- 释放按钮。
安装 dfu-util:
吁苏都 apt-get 更新 苏都 apt-get 安装 dfu-util
使用 dfu-util 完成后拔下 Crazyflie 2.1 的电源插头:
吁苏都 dfu-util -d 0483:df11 -a 0 -s 0x08000000 -D ./build/crazyflie21_bl/crazyflie21_bl.bin
打开 Crazyflie 2.1 电源时,黄色 LED 灯应闪烁。
下载 PX4 自动驾驶仪的源代码:
吁Git 复制 https://github.com/PX4/PX4-Autopilot.git
导航至源代码的顶层目录,然后使用
吁CD PX4-Autopilot/ 生产 bitcraze_crazyflie21_default 上传
当提示插入设备时,插入 Crazyflie 2.1。黄色 LED 灯应开始闪烁,表示启动加载器模式。然后红色 LED 灯会亮起,表明闪烁过程已经开始。
等待完成。
完成!使用 QGroundControl.
刷新原始 Bitcraze 固件
下载最新版本 Crazyflie 2.1 启动程序
按照以下步骤将 Crazyflie 2.1 进入 DFU 模式:
- 确保最初未接通电源。
- 确保电池已断开。
- 按住重置按钮。
- 插入电脑的 USB 端口。
- 一秒钟后,蓝色 LED 灯开始闪烁,5 秒钟后闪烁速度加快。
- 释放按钮。
使用 dfu-util 完成后拔下 Crazyflie 2.1 的电源插头:
吁苏都 dfu-util -d 0483:df11 -a 0 -s 0x08000000 -D cf2loader-1.0.bin
打开 Crazyflie 2.1 电源时,黄色 LED 灯应闪烁。
使用以下命令安装最新的 Bitcraze Crazyflie 2.1 固件 此 教程。
无线设置说明
板载 nRF 模块可通过蓝牙或专有的 2.4GHz Nordic ESB 协议与电路板连接。
- A Crazyradio PA 建议
- Crazyflie 2.1 可通过蓝牙支持 Crazyflie 手机应用程序,以便立即飞行。
通过 MAVLink:
使用 Crazyradio PA 和兼容的 GCS。
下载 crazyflie-lib-python 源代码:
吁Git 复制 https://github.com/bitcraze/crazyflie-lib-python.git
信息
我们将使用 cfbridge.py 在 Crazyflie 2.1(已刷新 PX4)和 QGroundControl 之间建立无线 MAVlink 通信链路。 Cfbridge 使 QGroundControl 能够与 crazyradio PA 通信。该 基于 C 语言的 cfbridge 目前正在经历数据丢失问题,因此我们选择使用 cfbridge.py.
确保设置了使用 USB Radio 的 udev 权限。为此,请按照以下步骤操作 这里 和 重新启动 您的电脑
通过 USB 连接 Crazyradio PA。
建立一个 虚拟环境 与软件包的依赖关系:
吁核心 安装 毒素 --用户
导航至 crazyflie-lib-python 文件夹并键入
吁生产 v venv
激活虚拟环境:
吁消息来源 venv/bin/activate
安装所需的依赖项:
吁核心 安装 cflib 核心 安装 -r requirements.txt
将 Crazyflie 2.1 与 crazyradio 连接、 启动 cfbridge 请按照以下步骤操作:
关闭并打开 Crazyflie 2.1,等待开机。
通过 USB 连接 Crazyflie 无线电设备。
导航至 crazyflie-lib-python 文件夹。
激活环境:
吁消息来源 venv/bin/activate
导航至示例文件夹:
吁CD 例子
启动 cfbridge:
吁蟒蛇 cfbridge.py
信息
Cfbridge 默认情况下,会尝试在信道 80 和 crazyflie 地址 0xE7E7E7E7 上启动无线电链路通信。如果使用 多只疯狂的苍蝇和/或疯狂的收音机 如果想在同一个房间里使用不同的通道和/或地址,首先要通过 USB 电缆将 crazyflie 与 QGroundControl 连接起来,然后更改 QGroundControl 中的系统链接参数(通道、地址)。然后,启动 cfbridge,将相同的通道和地址分别作为第一个和第二个参数,例如
python cfbridge.py 90 0x02020202
打开 QGroundControl。
使用后 cfbridge如果激活了 virtualenv,可以通过按
CTRL+z
.大多数情况下,启动 cfbridge 再次从同一终端连接 crazyflie 并不成功,可通过关闭终端并重新启动 cfbridge 新航站楼。
TIP
如果您在 crazyflie-lib-python 或如果发射 cfbridge 在新终端中找不到 crazyflie,可以尝试导航到 crazyflie-lib-python 文件夹,然后运行下面的脚本重建 cflib。
生产 v venv
信息
只有将控制器(例如 Playstation 3 控制器)连接到电脑后,QGC 中的操纵杆菜单才会出现。
硬件设置
Crazyflie 2.1 只能在以下环境中飞行 稳定模式.
为了记录飞行详情,您可以将 SD 卡甲板安装在 crazyflie 的顶部,如下图所示:
将 FrSky Taranis 遥控发射器用作操纵杆
如果您已经拥有 Taranis 遥控发射器,并希望将其用作控制器,则可将其配置为 USB 操纵杆:
在 Taranis 中创建一个新模型。
在 型号设置 菜单页面,关闭内部和外部 TX 模块。
在 输出 在菜单页面(在某些 Taranis 发送机中也称为 "SERVOS "页面),反转油门(CH1)和副翼(CH3)。
使用 Taranis 开关上膛/撤膛并切换到不同的飞行模式:
在 Taranis UI 中 混音器 在 Taranis UI 的菜单页面中,您可以将开关分配到通道 9-16 范围内的任意通道,这些通道映射到 QGroundControl 操纵杆设置中的按钮 0-7。例如,Taranis "SD "开关可设置为 Taranis UI 中的通道 9:
用 USB 电缆将 Taranis 与电脑连接,然后打开 QGroundControl。
在 QGroundControl 操纵杆设置中,您可以看到按钮在打开时变成黄色。例如,Taranis 中的通道 9 映射到 QGroundControl 操纵杆设置中的按钮 0。您可以为该按钮分配任何模式,例如 海拔高度 模式。现在,当您降低开关"SD"时,飞行模式将变为 海拔高度.
ROS
通过 MAVROS 连接 Crazyflie 2.1:
启动 cfbridge 使用上述说明。
更改 QGroundControl 监听的 UDP 端口:
- 在 QGroundControl 中,导航至 应用程序设置> 常规 并取消选中 自动连接到以下设备.
- 加入 通信链接 链接类型 UDP检查 启动时自动连接 选项,更改 监听端口 到 14557,添加目标主机:127.0.0.1,然后按 好的.
确保您有 马弗罗斯 已安装。
用命令启动 MAVROS:
吁玫瑰发射 马夫罗斯 px4.launch fcu_url:="udp://:[email protected]:14551" gcs_url:="udp://@127.0.0.1:14557"
如果无法连接,请重新启动 QGroundControl。