Fråga:
Vilka är de tillgängliga lösningarna för att skapa komplexa användardefinierade UAV-beteenden i autopiloter?
FlashCactus
2020-04-21 18:28:39 UTC
view on stackexchange narkive permalink

De mest fritt tillgängliga autopilot-aktiverade flygkontrollhårdvarorna och firmware för hobby / konsumentkvalitet UAV verkar ha en ganska fast funktionsuppsättning. Det finns vanligtvis olika grader av stabilisering, positionsläge / loiter-läge, automatisk start och landning, återvända hem och ett waypoint-efter "uppdrag" -läge, men lite utöver det. Ibland finns specialiserade lägen som termisk stigning och terrängföljande. Men alla dessa är förprogrammerade och inte förlängningsbara, varmed jag menar att det inte finns något sätt (åtminstone jag kunde inte hitta något) för en användare att programmera sin egen anpassade flyglogik, t.ex. via skript. Jag kanske dock har missat detta.

Så, Finns det, i någon av de autopilotlösningar som för närvarande är tillgängliga för hobbyister, ett sätt för en användare att definiera sin egen flyglogik utan att skriva om autopilotprogramvaran genom att istället bygga ovanpå befintlig programvara?

För att vara tydlig letar jag efter ett sätt att skriva logik utanför huvudflygkontrollen / autopilotpaket, antingen via någon form av skriptmotor som är inbyggd i autopiloten eller som ett program som körs på en enhet parallellt med autopiloten som kan kommunicera till den och få nödvändig flyginformation / skicka kommandon.

Tau Labs stöder skriptning av picoC och fullflygning. Det är mycket stabilt och funktionsuppsättningen är robust, men det är lite övergivande vid denna tidpunkt så du skulle vara ensam för support.
Fem svar:
ipaq3115
2020-04-23 20:38:34 UTC
view on stackexchange narkive permalink

Jag tror att din bästa satsning skulle vara Ardupilot. Kommunikationsprotokollet det använder, kallat MavLink, är dokumenterat och lätt att använda. Anslut till UART med en Arduino så får du full kontroll över UAV.

Det finns till och med ett Arduino-bibliotek och en massa exempel, som detta foruminlägg, av människor gör exakt vad du vill göra. Jag gjorde det en gång för att jag behövde ta information om GPS och kompass för ett arbetsprojekt. Du kan undersöka de olika uppdragskontrollprogrammen som använder MavLink för att se omfattningen av kontrollen som protokollet har. Om jag minns rätt kan du till och med skicka kommandon med direktpinne över det gränssnittet för att manuellt styra båten. Denna lösning ger mycket flexibilitet, särskilt när du tänker på de stora samhällen som skriver Arduino-bibliotek. Det skulle vara enkelt att lägga till nästan vilken sensor som helst.

Det låter ganska lugnande! Jag har alltid trott att mavlink bara var ett grundstationsprotokoll och jag kunde inte se några "anpassade / utombordare / etc" -lägen på listan så jag antog att Ardupilot inte hade dessa funktioner tillgängliga. Jag ska definitivt se det, tack!
Hannes Hultergård
2020-04-21 20:32:33 UTC
view on stackexchange narkive permalink

PX4 ser ut att det är ganska flexibelt och kan vara det du letar efter. Det kanske inte är så användarvänligt som till exempel iNAV, men det borde ge dig mycket fler möjligheter även om det kostar att behöva skriva mer kod.

BillThePlatypus
2020-04-29 21:50:11 UTC
view on stackexchange narkive permalink

Du kan överväga att leta efter forskningsautopiloter. Forskare försöker nya saker på alla nivåer i autopiloten, och därför behöver de mer utbyggbarhet och prestanda än avancerade funktioner.

Ardupilot och PX4 är enligt vad jag förstår populära. Mitt universitet använder ROSflight, vilket är trevligt eftersom det gränsar till operativsystemet Robot, vilket gör det möjligt för sensor- och styrdata att komma runt relativt lätt. Beroende på vilken typ av UAV du använder skulle du köra ROSplane eller ROScopter ovanpå den för att tillhandahålla funktioner på högre nivå. Allt är mycket utdragbart, och du kan byta ut något av autopilotens lager oberoende. Också trevligt, den har en ganska bra simulator så att du kan prova snygga saker utan att krascha en riktig UAV. Observera att det saknar några av de högre nivåerna som tillhandahålls av andra autopiloter, och så måste du titta på vad du vill göra för att bestämma.

jpou
2020-04-23 18:45:52 UTC
view on stackexchange narkive permalink

Du kan programmera / skriva utarbetade flygmönster och sedan översätta det till uppdragsmeddelanden i MAVLink-format, antingen live eller i förinspelat uppdragsläge. Beroende på dina behov - ladda upp ditt uppdrag eller skicka det live via telemetrianslutning.

FlashCactus
2020-04-29 21:36:55 UTC
view on stackexchange narkive permalink

Efter att ha grävt djupare på Ardupilot-webbplatsen har jag upptäckt att det förutom MAVLink nu stöder Lua-skript ombord med full kontroll över flygplanet som kan laddas till flygledarens SD-kort.

Funktionen är experimentell från och med nu och har funnits i Copter / Rover sedan version 4.0 och Plane sedan v3.11. Mer information finns på projektets webbplats.



Denna fråga och svar översattes automatiskt från det engelska språket.Det ursprungliga innehållet finns tillgängligt på stackexchange, vilket vi tackar för cc by-sa 4.0-licensen som det distribueras under.
Loading...