Giter Club home page Giter Club logo

tf-simpleplatform's Introduction

TF-SIMPLEPLATFORM - UAV autogyro takeoff platform

Device for launching unmanned drones (especialy autogyro type) from moving platforms (e.g. automobile roof).

TF-SIMPLEPLATFORM with TF-G2 takeoff

The TF-SIMPLEPLATFORM is designed for launching of the unmanned autogyro TF-G2. Thanks to the combination of the this starting platform and the automatic takeoff mode of the TF-G2 unmanned autogyro, it is possible to perform safe and almost unattended takeoff. Platform is controlled from GCS based on realtime data from the UAV trough data-link. The platform can be disconnected manually (by operator) due to service operations.

The goal of the platform and automatic takeoff solution is to maximize the simplicity of the takeoff process and protect drone operators from external influences, such as adverse weather conditions.

Parameters

Parameter Value Note
Platform type Rigid mount Aluminium profiles design
Actuator Clamps
Manual override Button on platform
Remote control interface USB/RS232
Operator takeoff confirmation Yes, remote button Wired controller
Control Software Firmware, Mavlink interface in GCS
Supported UAVs ThunderFly TF-G2
Supported flight stack PX4 (MavLink protcol)

Clamps mount mechanism

ezgif com-gif-maker

Usage

  1. Prepare all required equipment. Check if it is properly mounted and connected.
  2. ARM the autogyro, check all avionics.
  3. Push the trigger switch to releas rotor holder.
  4. Run by car few tens of meters
  5. Autogyro will takeoff automatically from roof.

Installation

The first step is to assemble the platform onto the movable platform. The standard method of assembly involves inserting it into plastic parts and securing it with a screw. It is important to tight the screw with the correct torque to prevent spontaneous loosening of the screw.

Wiring

After mounting the platform, it is necessary to correctly connect it. The outdoor part is connected with the inner box using a cable terminated on both ends with the same 12-pin connector. This cable provides both power and data communication for the platform.

Description of control elements

The platform is equipped with a variety of actuators, sensors, control elements and visualization components.

Actuators

  • Servo motor for rotor holder
  • Servo motor for clamp

Sensors

  • Sensor of drone presence (in future version)

Control elements

  • Button on platform itself - Restart button
  • Botton on platform itself - Open clamp
  • Button on wired controller - Permission for takeoff
  • External input for breake signal

Visualization elements

  • 2 LEDS on platform (Platform status)
  • 1 Loud buzzer on platform (Release status)
  • 2 LEDS on wired controller (Platform status)
  • 1 Buzzen on wired controller (Release status)

Platform control

The platform is typically controlled from a ground-station via USB or RS232. The platform is connected to the ground control station either through the USB port from internal box of the platform or directly through RS232. Once properly connected, it should be possible to communicate with the platform via a serial interface.

The ground stations from ThunderFly company are equipped with software that is capable of controlling the platform based on data obtained from the drone through the MAVLink network.

Technical images

TF-SIMPLEPLATFORM trigger switch TF-SIMPLEPLATFORM trigger switch connection TF-SIMPLEPLATFORM trigger switch connection

tf-simpleplatform's People

Contributors

kaklik avatar roman-dvorak avatar slimonslimon avatar taury55 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

tf-simpleplatform's Issues

Úprava SW pro podporu roztáčení rotoru

Nově se platforma bude starat i o roztáčení rotoru. Resp. jeho odjištění pomocí serv. To bude vyžadovat úpravy v SW. Postup startu by nyní měl být následovný:

  1. Operátor spustí misi z QGC.
  2. Autopilot resp. python skript po naarmování odblokuje platformu.
  3. Po připravení posádky řidič/operátor zmáčkne tlačítko ovládající platformu (a drží ho?)
  4. Platforma odblokuje rotor
    • Závaží roztočí rotor
  5. Řidič se rozjede
  6. Vírník se dostane do letových parametrů
  7. A při stále zmáčknutém tlačítku pošle signál do platformy, která otevře zámek.

Ve FW platformy tedy chybí především část, která by měla odblokovat rotor (otočit se servem) po stisknutí tlačítka. Musí tam být zajištěno, že při zmáčknutí tlačítka na neodblokované platformě to tuto operaci odmítne.

Řídící elektronika a software pro řízení odpojovací platformy

Řídící elektronika by měla být založena na arduinu, kterému se budou posílat příkazy po sériovce.

V krabičce u odpojovacího zařízení by mělo být:

  • Arduino (Labduino) (procesor ATmega328P)
  • převodník USB-UART
  • Měnič z 12-18V na 5V (možnost napájení z auta tak i z LI-pol akumulátoru
  • Servo HUB s pro napájení z měniče
  • Tlačítko na manuální otevření zámku (v čělíčku krabičky) - V čelíčku by mohl být MIC (3pin) konektor.
  • Vzdálené tlačítko pro potvrzení odpojení.
    • Vytvořit tištěný grip pro potvrzovací tlačítko
    • Indikační LED pro zobazení stavu platformy (více stavů než otevřeno zavřeno)
    • Pípák do tlačítka, pípák na platformu (oba jsou v hangáru)
  • LED indikace otevření zámku (v čelíčku krabičky)
  • Hliníkova karbička + odpovdající ALBASE (pokud se to vejde do malé, tak by asi byla vhodnější)

Arduino by mělo o sobě po celou dobu dávat vědět. I s tím, v jakém je stavu. Takže napřiklad 2x za sekundu po sériovce pošle že žije (číslo zprávy, že se nerestartoval) a aktuální stav zámku, stav povolovacího tlačítka.

Bylo by fajn mit z arduina vyvedený jeden signál, který bude říkat stav zámku. Bude na něj možné připojit nějakou sirénku, nebo svetelnou indikaci.

Arduino po sériovce zároveň bude přijímat příkazy. Takové příkazy budou:

  • Otevřít zámek?
  • Zavřít zámek?
  • Jaký je stav systému?

Zpráva z arduina do GCS:

$S;<cislo zpravy int>;<stav tlačítka pro otevření int1>;<stav tlačítka pro povolení startu int1>;<logická poloha zámku int1>;<poloha serva int>;<blokace_otevreni int1>;\n

Zprávy z GCS do arduina:

Otevřít zámek:

$O;<delka otevreni int8>;<vyžadovat potvrzení int1>;\n

delka otevreni [s] - nula znamená nestarat se o délku otevření, jinou hodnotu zatím nebudeme používat.
vyžadovat potvrzení - Odpojit pouze v případě stisknutého potvrzovacího tlačítka - zatím není nutné implementovat.

Zablokovat otevření

$BL;\n

Tímto se zablokuje otevření manuálním tlačítkem. Toto se využije pro nechtěné otevření například za jízdy auta. Manuální otevření se zablokuje po naarmování autopilota. Zamek tak půjde otevřít pouze příkazem po sériovce a se stisknutým ready tlačítkem.

Odlokovat otevření

$UL;\n

Odblokování tlačítka pro manuální otevření

Zavrit zamek:

$C;\n

Ziskat stav:

$GS;\n 

Odpovedi by mela byt zprava se stavem

Logika ovládání:

Tlačítko pro manuální odpojení - Po dobu stisknutého tlačítka nechat otevřený zámek
Signál pro otevření po sériovce - Zámek otevřít pouze v případě stisknutného tlačítka. Nechat otevřené
Signál pro zavření po sériovce - Zavřít zámek vždy

Zamezení možnosti zapříčení v platformě

Při posledním testu se stalo, že vírník se vzpříčil v platformě.

Je velmi pravděpodobné, že je to způsobeno nesymetrickým tvarem kleští. Tím, že je na každé polovině jeden zub. A není to navrženo dle původního návrhu, že na každé straně bude několik zubů tak, aby uvolnění proběhlo rovnoběžně s osou platformy.

K vyřešení je potřeba upravit kleštiny platformy.

Improved robustness of electrical connection to platform carrier car

Během používání platformy se ukazuje jako nepraktická potřeba propojovat platformu s pozemní stanicí v autě dvěma oddělenými kabely. Jeden kabel vede k lačítku pro řidiče a druhý vede do pozemní stanice. Zároveň jeden z kabelů vede do kufru auta, kde je pozemní stanice umístěna a druhý vede bočními dveřmi k řidiči. @roman-dvorak proto navrhuje platformu propojovat s autem pouze jedním více pinovým kabelem.
Tento jeden kabel by využíval stejné vodotěsné konektory, které používáme nyní, neboť se osvědčily. Vedl by do kufru auta, zde by byla rozbočovací krabička s několika konektory.

  • Napájení platformy ~12V (asi XLR konektor)
  • RS232 komunikace s platformou (DB9 konektor)
  • Konektor pro připojení na brzdová světla auta - zde zatím nemám jasno jaký konektor použít. Auto má na kouli DN13 konektor na který se musí připojit celkem mnoho vodičů, aby elektronika auta začala konektor používat. Je tak možné logické všechny tyto vodiče přivést do rozbočovací krabičky platformy, kde by byly i nějaké rezistory emulující žárovky vozíku.

Potíž s realizací této konstrukce je v tom, že 8mižilový silikonový kabel má průměr 11.2 mm, což je hodně na to, aby se dal přibouchnout do dveří auta (do kufru auta by to možná šlo). Zároveň se také nevejde do odpovídajícího konektoru velikosti 16 (8 pin). Takový kabel se vejde až do konektoru velikosti 20 (12 pin), který ale TME má až ve 12pinové verzi.
Řešením možná je pokusit se najít silikonový kabel, který by měl průměr žil menší než 1.5mm² což je více než aktuálně používaných 0.5mm². Zároveň by možná šlo najít LUTRONIC konektor ve velikosti 20 s 8mi piny.

Weatherproofing

Myslím že aby s platformou bylo možné jet měřit i do bouřky, tak je nutné, aby byla odolná proti dešti. V aktuální situaci to lze zřejmě nejsnáze zajistit ušitím voděodolné pláštěnky přes celou platformu.

FYI @kakl.

Vzdálené potvrzovací tlačítko

Pro potvzení odpojení vírníku z kabiny auta je potřeba vzdálené odpojovací tlačítko. To bude ovládat operátor UAV a zmáčkne ho a podrží, kdy očekává odpojení vírníku z platformy během startu.

Tlačítko tak musí být uchyceno na konci kabelu v prostoru spolujezdce v autě. Tlačítko by mělo být konstruované tak, aby jej bylo možné snadno držet v ruce v pohotovosti.
Je tak zřejmě potřeba nějaký ergonomický výtisk.
Tlačítko má i přesah i pro jinou aplikaci pro triggerování záznamů blesků. Celkem by se tak hodilo ho vyřešit pořádně.
Běžné průmyslové řešení mi ale pro tuto aplikaci nepřijde moc praktické, protože jde o typ tlačítek, která se těžko mačkají.

K aktuálně připraveným tlačítkům. Mám v tomto směru výhradu, že není dobře poznat, že tlačítko je skutečně domáčknuté a seplo.

Navrhoval bych tak použít spíše mikrospínač, který při zmáčknutí a přepnutí kontaktů slyšitelně cvakne.

Například něco z tohoto:

Nebo nějaké jiné.

Tlačítko by mělo mít odolnost IP67, aby jej bylo možné ovládat i mokrýma rukama / v mokré bundě, nebo aby mohlo vypadnout i s kabelem do louže vedle auta, bez rizika poškození.

Kromě tlačítka by na ovladači měla být dvojice LED (Např. červená a zelená). Indikující stav platformy. Při otevření platformy tak například zhasne červená LED a rozsvítí se zelená.

Úpravy před změnou na pneumatické ovládání

  • Nová verze potvrzovacího tlačítka,
  • Zvuková signalizace
  • Reorganizace kabeláže (Krabičku dát obráceně a kabely stáhnout po zadním sloupku váhy)
  • Přetisknout zámek na větší servo a zmenšit tolerance.
    • Upravit kleštinu tak, aby svou konstrukcí držela zavřená při tahu trubky směrem nahoru.
  • Zlepšit parser na zprávy a doladit komunikační logiku.
    • Zamezit opětovnému zavření při opakovaném poslání příkazu open.
  • Případně upravit závěs předního podvozku.

Over used 3D printing supports

Mnoho dílů platformy je navrženo tak, že k vytištění potřebuje použití 3D tištěných podpor. Takové řešení výrazně komplikuje výrobu platformy i její opravitelnost.

Úprava kleštin pro snížení jejich silového zatížení

Aktuální konstrukce kleštin má kladnou zpětnou vazbu zvětšující sílu při jejich násilném otevírání.
Důsledkem je, že mírné pootevření kleštin způsobuje další nárůst síly kterou kleštiny působí na servo. Což způsobuje ještě snadnější otevření.

Důsledkem je snadné otevření zámku při působení silou, kterou na začátku neudrží servo.

Situaci by mohlo zlepšit doplnění zubů na horní část kleštin tak, aby pootevření kleštin znemožnilo posunutí trubky směrem ven z kleštin. Tím bude zajištěno, že síla kleštin působící na servo nebude při mírném otevření kleštin narůstat.

Remove Arduino from platform hardware

Současné řešení platformy je postaveno okolo arduina. To komplikuje situaci zejména v tom že v platformě je sice bootloader, ale nejde efektivně využít pro aktualizaci firmwaru v platformě.

Lepším řešením by proto zřejmě bylo se firmware v platformě úplně zbavit a udělat z toho "klasické bezfirmwarové" zařízení.
V případě použití MLAB modulů by to znamenalo nejspíše použít moduly byl I2C RS232, I2CPWM a GPIO modul.

Tím by se vyrobilo z RS232 rozhraní I2C, které by se dále používalo na čtení signálů z tlačítek nebo ovládání aktuátorů.

Mechanická konstrukce platformy

U nové platformy předpokládáme použití silintbloků, jako nejjednoduššího řešení oproti pneumatickým válcům, nebo deformačních elementů z tensegrity platformy.

@taury55 navrhuje zhruba takovouto konstrukci:

246054378_843548919659979_6843047543972663917_n

Flatness of 888_3001 printing side

Díl 888_3001 není ze spodní strany ze které se tiskne úplně rovný ale je zde polygon v ose Z.

image

V důsledku toho vzniká tvar, který nelze korektně vyslicovat a při tisku tohoto dílu na něm vznikají různé artefakty.

Detekce správné polohy vírníku v platformě

Při minulém pokusu o start do bouřky se stalo, že někdo do platformy položil vírník mimo zámek. Tato situace při pokusu o vzlet vedla k nehodě.

Řešením je platformu opatřit detekcí správné polohy vírníku v platformě. Bez korektního průchodu této detekce musí platforma odmítnout odjištění a tím pádem možnost startu.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.