Spørsmål:
Tilbakemeldingskontroll av to-koblings plan manipulator
louism
2015-11-01 03:20:01 UTC
view on stackexchange narkive permalink

TL; DR: hvordan kan jeg beregne forstyrrelsen ved hver skjøt på grunn av koblingskrefter i en to-lenks plan robotmanipulator som aktiveres av to uavhengige DC-motorer?


Jeg studerer kontrollteori og prøver å jobbe meg gjennom et enkelt eksempel ved å bruke en to-lenks planar robotmanipulator:

enter image description here

Min Målet er å simulere PID-kontroll av den plane to-koblingsmanipulatoren, der hver skjøt aktiveres av en uavhengig DC-motor. Inngangen er to kontinuerlige signaler $$ \ theta_1 (t), \ theta_2 (t) $$

som representerer ønsket vinkel for hver ledd på tidspunktet t .

Etter dette papiret: Modellering av en kontroller for en artikulert robotarm, kan jeg få et uttrykk for spenningen jeg trenger for å bruke på hver motor for å oppnå ønsket vinkel. Papiret beskriver også PID-kontrolleren som er nødvendig for å opprettholde ønsket vinkel gitt et feilsignal $$ e (t) = \ theta_ {ønsket} (t) - \ theta_ {actual} (t) $$

Siden hver motor styres uavhengig, blir koblingseffekter mellom skjøtene på grunn av forskjellige konfigurasjoner under bevegelse behandlet som forstyrrelsesinnganger. Spørsmålet mitt er: hvordan kan jeg modellere denne koblingseffekten for å "simulere" feilsignalet e (t) for systemet under ideelle forhold? Med ideelle forhold mener jeg at forstyrrelsen på grunn av kobling mellom leddene utgjør 100% av feilsignalet.

Min nåværende tanke er å bruke et uttrykk for dynamikken til den to-koblede planmanipulatoren, i henhold til følgende bok: En matematisk introduksjon til robotmanipulasjon

enter image description here

På denne tiden, vi t bestem spenningen for å oppnå de ønskede vinklene for hver uavhengige motor, og koble den deretter til DC-motormodellen vår for å oppnå de genererte dreiemomentene: $$ \ tau_1, \ tau_2 $$

Vi kobler deretter disse dreiemomentene til dynamikken for å få de faktiske vinklene, med tanke på koblingskreftene, og bruker deretter de faktiske vinklene sammenlignet med de ønskede vinklene for å generere feilsignalet som mates inn i PID-kontrollsløyfen.

Gir denne tilnærmingen mening? Hvis ikke, hvor har jeg gått galt, og hvordan kan jeg simulere feilsignalet på grunn av koblingskrefter?

Rediger: en kommentator påpeker at PID-kontroll kanskje ikke er optimal for dette problemet. . Hvis dette er tilfelle, hvilke alternative kontrollstrategier bør jeg bruke?

Fortsatt ingen takere? OK, generelt vil jeg si at tilnærmingen er forsvarlig når det gjelder å analysere dynamikken, men jeg er litt bekymret for PID-kontrollen. PID med faste tidskonstanter har et ganske smalt spekter av stabilitet etter min erfaring, og siden de optimale parametrene sannsynligvis vil avhenge av de absolutte vinklene ganske sterkt, vil en PID med konstante parametere sannsynligvis ikke fungere bra. Jeg vet ikke hva de riktige kontrollalgoritmene for denne typen problemer er.
@CuriousOne hvordan ville koblingseffekter vanligvis håndteres i så enkle problemer?
Det er tingen ... Jeg vet ikke. Det er absolutt tilfelle der man kan finne et sett med frakoblede variabler, men generelt kan man ikke. Jeg har ikke studert teorien om kontroll for sistnevnte tilfelle, og jeg vil ikke komme med uutdannede gjetninger.
Du er litt grense. Strengt tatt burde man nok tildele dette til ingeniørarbeid, antar jeg. Fysikkdelen ville være avledningen av bevegelsesligningene og følsomheten for eksterne belastninger. Jeg håper fremdeles at noen vil gi noen mer avanserte tilbakemeldinger.
To svar:
Suba Thomas
2015-11-03 21:31:40 UTC
view on stackexchange narkive permalink

Konverter den ikke-lineære modellen til state-space form, $ x '= f (x, u) $, og lineariser den for å få en lineær state-space eller overføringsfunksjon representasjon. Du kan bruke dette til å designe en PID-kontroller og simulere den som sammen med den originale ikke-lineære modellen for å se hvordan kontrolleren utfører.

Som nevnt vil ytelsen til den lineære kontrolleren mest sannsynlig forverres langt fra driften punkt. Du kan designe en sporingskontroller basert på tilbakemeldingslinearisering. Dette vil gi deg kontrollhandling basert på gjeldende konfigurasjon og ønsket bane. En ulempe er at det ikke vil være så robust hvis det er store variasjoner i parametrene (masser, lengder). Teorien for dette er i boka av Isidori ( lenke).

Alt dette vil være kjedelig algebraisk manipulasjon. Du kan finne flere utarbeidede eksempler på at disse beregningene ble utført ved hjelp av Mathematica. ( link, link, link)

Oppdatering: Her er mitt forsøk med noen vilkårlige numeriske verdier og sinusformede referanseinnganger. Jeg har også lagt til grunn at massene er konsentrert på slutten av lenkene. (Hvis du også vil inkludere tregheten og anta at massen er jevnt fordelt, er det bare å oppdatere Lagrangian på en passende måte.)

enter image description here

leCrazyEngineer
2016-07-17 05:49:55 UTC
view on stackexchange narkive permalink

Ikke-lineær kontrolltilnærming

Din tilnærming er riktig! Jeg vil bare peke på noen tips.

$ 1 ^ {st} $: Prøv å få det kanoniske skjemaet for de generelle koordinatene:

$ M (q) \ ddot { q} $ + $ C (q, \ dot {q}) \ dot {q} $ + $ g (q) $ = $ u $

Var $ M (q) $ treghetsmatrisen , $ C (q, \ dot {q}) $ er Coriolis-matrisen, $ g (q) $ er gravitasjonsvektoren og, $ u $, er din inngang for kontrolleren.

$ 2 ^ {nd} $: Målet er å gjøre den resulterende dynamikken i systemet til en dobbel integrator:

$ a_ {q} = \ ddot {q} $

Merk at den resulterende dynamisk er frakoblet!

$ 3 ^ {rd} $: Bruk settet med ligninger:

$ M (q) \ ddot {q} $ + $ C (q, \ dot {q}) \ dot {q} $ + $ g (q) $ = $ u $

$ u $ = $ M (q) a_ {q} $ + $ C (q, \ dot {q}) \ dot {q} $ + $ g (q) $

$ a_ {q} = \ ddot {q} $

Du trenger bare å velge variabel $ a_ {q} $ for kontrolleren. (Erstatt $ $ $ for å bekrefte den doble integratoren)

$ 4 ^ {rd} $: Definerer feilen som $ e = q - q_ {d} $, var $ q_ {d} $ er ønsket felles posisjon.

$ \ ddot {e} + K_ {1} \ dot {e} + K_ {0} e $ = 0

Det eksplisitte skjemaet:

$ a_ {q} = \ ddot {q} _ {d} - K_ {1} \ big (\ dot {q} - \ dot {q} _ {d} \ big) + K_ { 0} \ big ({q} - {q} _ {d} \ big) $

Hvis matriser $ K_ {0} $ og $ K_ {1} $ er symmetriske og positivt definerte, feildynamikken er asymptotisk stabil.

System + COntroller

For å se mer, foreslår jeg at du leser denne boka. (Figuren er derfra).



Denne spørsmålet ble automatisk oversatt fra engelsk.Det opprinnelige innholdet er tilgjengelig på stackexchange, som vi takker for cc by-sa 3.0-lisensen den distribueres under.
Loading...