Základní úvod do zprovoznění a prvního otestování komponenty FLOW-DECK
Instalace firmware
Pro využívání komponenty FLOW-DECK se musí provést aktualizace firmwaru crazyflie. Tato aktualizace obsahuje aplikaci podpory FLOW-DECK a knihovnu pro využití Kalmanova filtru.
- Vypněte Crazyflie.
- Z adresy https://github.com/bitcraze/crazyflie-release/releases stáhněte poslední firmware.
- Spusťte klienta.
- Spusťte Crazyflie v zaváděcím režimu, tj. stisknutím tlačítka napájení po dobu 3 sekund. Obě modré LED diody budou blikat.
- Vraťte se zpět do klienta Crazyflie a klikněte na nabídku Connect -> Bootloader.
- Klikněte na tlačítko "Spustit bootloader cold boot". Po několika sekundách by se měl zobrazit stav "Připojeno k zavaděči".
- Klikněte na tlačítko "Procházet" a vyberte stažený soubor (zip) s firmwarem.
- Klikněte na tlačítko "Program". Indikace průběhu instalace firmware bude zobrazovat dva kroky nahrávání do crazyflie .
- Klikněte na tlačítko "Restart in firmware mode". Crazyflie se restartuje a je aktualizován.
- Zavřete okno zavaděče.
Vzorový kód
import logging
import time
import cflib.crtp
from cflib.crazyflie.syncCrazyflie import SyncCrazyflie
# Only output errors from the logging framework
logging.basicConfig(level=logging.ERROR)
# Initialize the low-level drivers (don't list the debug drivers)
cflib.crtp.init_drivers(enable_debug_driver=False)
print("Scanning interfaces for Crazyflies...")
available = cflib.crtp.scan_interfaces()
print("Crazyflies found:")
for i in available:
print(i[0])
if len(available) > 0:
link_uri = available[0][0]
print(link_uri)
if __name__ == '__main__':
with SyncCrazyflie(link_uri) as scf:
cf = scf.cf
cf.param.set_value('kalman.resetEstimation', '1')
time.sleep(0.1)
cf.param.set_value('kalman.resetEstimation', '0')
time.sleep(2)
while True:
cf.commander.send_hover_setpoint(0, 0, 10, 0.4)
time.sleep(0.1)
Dron se bude vznášet na jednom místě.
Parametry send_hover_setpoint
sent_hover_setpoint(self, vx, vy, yaw, vz)
- vx - směr letu v ose X
- vy - směr letu v ose Y
- yaw - otáčení kolem osy
- vz - směr letu v ose Z, tj výška
Manévrování crazyflie
Existují čtyři hlavní směry pro ovládání kvadrokoptéry; Roll, Pitch, Yaw a Thrust.
- Roll - je to otáčení kolem vodorovné osy, která prochází quadcopter zezadu do přední strany. Pohybuje se doleva nebo doprava.
- Pitch - je to otáčení kolem vodorovné osy procházející kvadoptérou zleva doprava. To naklání Crazyflie a pohybuje se dopředu nebo dozadu.
- Yaw - je rotace kolem svislé osy. Tímto se otáčí quadcopter vlevo nebo vpravo. Yaw se používá při změně směru létání tím, že ukazuje přední část Crazyflie v různých směrech.
- Thrust - nastavuje výšku nebo výšku Crazyflie.