Har någon testat denna typ av reglering på en Multicopter?
Har någon testat denna typ av reglering på en Multicopter?
Godagens!
Jag satt idag och hade alldeles för lite att göra så jag tog och modellerade en Quadcopter i Simulink (en axel).
Det jag sedan gjorde var att testa lite olika typer av regulatorer och kollade på hur systemet svarade.
Det som används i CopterControll med kaskad-PI-PI regulator fungerade riktigt bra efter lite tuning, men jag tog och testade något lite mer avancerat.
Jag testade Tillståndsåterkoppling och vilken skillnad!
Tillståndsåterkopplingen med en Kalman-observatör har en otroligt stabil respons. Jag ska testa detta lite mer innan jag säger för mycket, men har någon testat att använda tillståndsåterkoppling någon gång för detta?
För preliminära resultat visar att det ser ut att bli riktigt bra!
Jag satt idag och hade alldeles för lite att göra så jag tog och modellerade en Quadcopter i Simulink (en axel).
Det jag sedan gjorde var att testa lite olika typer av regulatorer och kollade på hur systemet svarade.
Det som används i CopterControll med kaskad-PI-PI regulator fungerade riktigt bra efter lite tuning, men jag tog och testade något lite mer avancerat.
Jag testade Tillståndsåterkoppling och vilken skillnad!
Tillståndsåterkopplingen med en Kalman-observatör har en otroligt stabil respons. Jag ska testa detta lite mer innan jag säger för mycket, men har någon testat att använda tillståndsåterkoppling någon gång för detta?
För preliminära resultat visar att det ser ut att bli riktigt bra!
Re: Har någon testat denna typ av reglering på en Multicopte
Ja, har också testat lite med tillståndsåterkoppling, men det finns ju rätt många olika sätt att göra det (baserat på vilka tillstånd man återkopplar på, vilka man observerar och hur) osv. Sitter liksom du med en modell i Simulink (full med 6 frihetsgrader)... du känner inte för att dela med dig lite mer av vad du testade för tillstånd och observabler?
Re: Har någon testat denna typ av reglering på en Multicopte
Har du lagt in något brus i signalerna? Det ä lätt att få extremt bra prestanda i med tillståndsåterkoppling i en modell, men när verklighetens mätbrus kommer in blir det en helt annan sak.
Re: Har någon testat denna typ av reglering på en Multicopte
thebolt: I mina första test körde jag väldigt enkelt, min Kalman observatör tar in normerad gravitationsvektor samt vinkelhastighet, detta görs om till vinklar så min state blir:
och detta körde jag min första tillståndsåterkoppling på. Vinkel-reglering tar in hela state-vektorn i återkopplingen medan vinkelhastighetsreglering bara tar in vinkelhastigheten samt bias.
Nu hade jag tänkt generalisera detta och implementera min nya observatör jag arbetar på för att se hur det reagerar när den får en hel DCM in. Hur gör du med dina states och återkopplingen?
danei: Japp, det har jag. Har ställt in observatören rätt så bra, så majoriteten av allt brus försvinner.
Kod: Markera allt
_ | vinkel |
X = | vinkelhastighet |
| bias |Nu hade jag tänkt generalisera detta och implementera min nya observatör jag arbetar på för att se hur det reagerar när den får en hel DCM in. Hur gör du med dina states och återkopplingen?
danei: Japp, det har jag. Har ställt in observatören rätt så bra, så majoriteten av allt brus försvinner.
Re: Har någon testat denna typ av reglering på en Multicopte
Ah, oaky, då är jag med.. det var lite mer "standardmässig" metod än vad jag trodde
Att köra ett observatorfilter på gravitationsvektor + vinkelhastighet för att estimera nuvarande state är ju rätt "rakt fram" oavsett vilken reglering man gör. Jag har i dagsläget främst ett komplementärt filter för state estimation, men kan byta runt mellan ett par olika. Exakt tillståndsvektor i estimeringen beror lite på vilken algoritm jag switchar in.
Återkopplingen, vilken form av tillståndsåterkoppling kör du? Det finns ju ett par olika metoder, jag testade tidigare en direkt Lyapunov-redesign samt diverse linjära metoder på en linjäriserad modell, funkade sådär.. tittar just nu på lite mer avancerade metoder. För regleringen är ju den intressanta tillståndsvektorn [vinkel vinkelhastighet] (6-dimensionell), som dock också beroende på metod utökas med mer eller mindre "virtuella" tillstånd.
Återkopplingen, vilken form av tillståndsåterkoppling kör du? Det finns ju ett par olika metoder, jag testade tidigare en direkt Lyapunov-redesign samt diverse linjära metoder på en linjäriserad modell, funkade sådär.. tittar just nu på lite mer avancerade metoder. För regleringen är ju den intressanta tillståndsvektorn [vinkel vinkelhastighet] (6-dimensionell), som dock också beroende på metod utökas med mer eller mindre "virtuella" tillstånd.
Re: Har någon testat denna typ av reglering på en Multicopte
Hehe, jo. Den första ska vara enkel, annars blir det ofta fel. 
Den nya jag arbetar på kommer det bli mer jobb på då den har en 3x3 matris (DCM) samt en 6x1 vektor (vinkelhastighet + bias). Sedan hur detta ska kopplas har jag inte riktigt funderat klart på än, men det lutar mot att använda olika produkter av vektorerna I DCMen för att ta ut Attitude och sedan använda detta med vinkelhastighetsvektorn för att skapa återkopplingen.
Men som sagt så är det filtret inte riktigt klart än. Slåss lite med hur jag ska ha mina states då jag har kaskad-Kalmanfilter som behöver lite info från varandra.
Jag kör just nu vanlig tillståndsåterkoppling där jag multiplicerar min state med en vektor Lu för att få min styrsignal, sedan har jag en integral som också verkar utan på det för att få bort steady-state errors.
Simpelt och bra.
Den nya jag arbetar på kommer det bli mer jobb på då den har en 3x3 matris (DCM) samt en 6x1 vektor (vinkelhastighet + bias). Sedan hur detta ska kopplas har jag inte riktigt funderat klart på än, men det lutar mot att använda olika produkter av vektorerna I DCMen för att ta ut Attitude och sedan använda detta med vinkelhastighetsvektorn för att skapa återkopplingen.
Men som sagt så är det filtret inte riktigt klart än. Slåss lite med hur jag ska ha mina states då jag har kaskad-Kalmanfilter som behöver lite info från varandra.
Jag kör just nu vanlig tillståndsåterkoppling där jag multiplicerar min state med en vektor Lu för att få min styrsignal, sedan har jag en integral som också verkar utan på det för att få bort steady-state errors.
Simpelt och bra.
Re: Har någon testat denna typ av reglering på en Multicopte
Lite OT, men jag måste bara passa på att fråga om du vet om det finns något liknande Simulink som är gratis? Vore kul att komma igång och labba lite med sånt här, men att köpa en programvara som jag ännu inte ens har en aning om hur man använder, eller om jag ens kommer använda den mer än någon enstaka gång, är ju inte så kul.
Re: Har någon testat denna typ av reglering på en Multicopte
Octave ska ha alla funktioner som Matlab vad jag vet, vet dock inte om det har Simulink.
Men annars är det exakt samma sak. Matlab kod fungerar i Octave.
Annars finns *HOSTThePrateBayHOST* också
Men annars är det exakt samma sak. Matlab kod fungerar i Octave.
Annars finns *HOSTThePrateBayHOST* också
