学习Crazyflie 2.X平台(3)
Loco Positioning System
Loco Positioning System可以配置两种模式:
- Two Way Ranging(TWR)模式
- Time Difference of Arrival(TDoA)模式
TWR模式的设置过程更加直接简单,加上TDoA模式可以通过TWR轻松切换过去,因此建议即使你想使用TDoA模式,优先考虑通过先进入TWR模式再切换至TDoA。为了解释anchor placements,我们有2个参考系统(reference systems):
- 6 anchors(主要为TWR模式)
- 8 anchors(主要为TDoA模式)
更新最新版的loco positioning firmware
为了使用能Loco Positioning System,我们需要:
- 安装相应的expansion deck:Loco positioning deck
- 更新最新版本的Crazyflie client
- 在Crazyflie client上,更新最新版本的firmware
准备anchors
- 确保已经在Crazyflie client上,更新最新版本的firmware;
- 确保配置好LPS(Loco Positioning System) nodes
- LPS配置工具,参见https://github.com/bitcraze/lps-tools
- 下载最新LPS node firmware——lps-node-firmware.dfu
- 更新LPS nodes
- 打开LPS配置工具
- 通过USB连接到电脑,并保持DFU按钮要一直按着,这样就可以启动LPS node的DFU mode
- In DFU mode, the node will be displayed as “STM32 BOOTLOADER” in Zadig.
- 点击Browse按钮,并选择刚下载的firmware: lps-node-firmware.dfu, 然后更新node
- firmware更新结束,按reset按钮
如何使用LPS做飞行试验
当Crazyflie 2.X与LPS在一起用,我们可以利用LPS得到的定位信息来辅助飞行,控制四旋翼无人机。
- 启动四旋翼无人机:将无人机放在水平面上,并且无人机的前向指针(注意下图中的前向指针)指向x-axis的正方向
- Assisted flight:使用Position Hold mode in the Crazyflie Client for assisted flight.有关于手动控制(使用gamepad)的assisted flight, 具体如何使用详情参见https://www.bitcraze.io/documentation/tutorials/getting-started-with-flying-using-lps/#assisted-flight,不在这里详细说明,因为不是我们科研人员的兴趣所在
- 自动飞行:
- 在你的电脑上跑python script(前提是你电脑装了python),然后通过Crazyradio发送set points到无人机。set points上包含了where the Crazyflie should go以及 how fast to go there的信息。