Inverterad pendel, fungerar!

Berätta om dina pågående projekt.
övrigt
Inlägg: 208
Blev medlem: 19 april 2008, 14:18:11
Ort: Lund
Kontakt:

Inverterad pendel, fungerar!

Inlägg av övrigt »

Tjena

Då hade man sommarlov och tid över för nästa projekt, en inverterad pendel.

Bygget blir inte precis den ”klassiska” inverterade pendeln utan min kommer att bli i formen av en ”hög” robot som står på två drivande hjul och håller balansen. Som sensor kommer en avståndssensor att användas. Denna ska sticka ut från roboten och titta ner för att pss ge en uppskattning av hur roboten lutar.

Drivningen kommer att ske med pwm till en egenkonstruerad h-brygga. Till en början kommer endast ena hjulet att driva och det andra bromsa (kortsluter kontakterna). Detta dels för att jag tror att roboten kommer bli aningen lättare att få stabil samt att jag slipper problemet med att den helt plötsligt sticker iväg…

Hade lite problem med avståndssensorn som inte vill vara riktigt stabil. Jag använder 8 bitars upplösning till en ATmega88. Sätter jag upp ett föremål på fixt avstånd från sensorn så varierar den digitala signalen med ca +2/-0 bitar, vilket innebär ett brus på ca 2mm runt den valda arbetspunkten. Detta trots ett lågpassfilter på sensorns utgång samt rätt ordentlig avkoppling till sensorns matning. Får hoppas att den går att använda ändå.

Sensorn är en
sensor

och motorerna är
motor

Roboten kommer att gå på 8st R6 batterier som sitter längs upp. En spänningsregulator ger 5V till processorn och sensorn. Själva kroppen till roboten är införskaffad och blir en 30*47cm stor skiva av plywood. Motorerna med hjul kommer att sitta fast på undersidan av denna.

I nuläget har jag kommit så pass långt att jag har mjukvaran förberedd och h-bryggan är fungerande för 12V till motorn med 5V som insignal.

Slutligen en väldigt enkel skiss på ur jag tänker mig att roboten kommer att se ut samt h-bryggan.


Bild

Lite testande

Bild

Återkommer när mer finns att visa.

mvh
Senast redigerad av övrigt 4 juni 2008, 17:15:32, redigerad totalt 2 gånger.
Användarvisningsbild
Foona
EF Sponsor
Inlägg: 570
Blev medlem: 21 oktober 2007, 12:02:13
Ort: Stockholm
Kontakt:

Inlägg av Foona »

Ser galet ut! :)
Ska bli kul att se fortsättningen på denna.

Nyfiken..
Har du vägt delar och dyligt och tänkt på hur du skall montera allt,
för att få den lagom balanserad från början.
Kan tänka mig att roboten skulle behöva jobba mindre då.
Användarvisningsbild
MicaelKarlsson
Inlägg: 4669
Blev medlem: 18 juni 2004, 09:16:07
Ort: Aneby
Kontakt:

Inlägg av MicaelKarlsson »

Ser trevligt ut!

Hur har du tänkt lösa regleringen?

PID eller mer avancerat?

Riktigt snyggt upplägg på projekttråden! :tumupp:

Lycka till och glöm inte att uppdatera!
övrigt
Inlägg: 208
Blev medlem: 19 april 2008, 14:18:11
Ort: Lund
Kontakt:

Inlägg av övrigt »

Era positiva kommentarer är väldigt uppskattade!

Så långt framåt som jag tänkt så är tanken att försöka montera avståndssensorn på så exakt avstånd från underlaget som referensen i filmen på youtube (där ingen diod lyser) som möjligt. För att få till detta snabbt tänkte jag försöka göra denna justerbar i höjdled. Tänkte även göra avståndet ut från roboten justerbart för att kunna prova mig fram med vad som blir lättast att reglera. Regleringen är tänkt att i första hand vara PD, kanske en I-del läggs till senare om upplösningen eller annat kräver det. Mycket med detta projekt är av typen ”får se vad som krävs”. :) Det kvarstår tex det ganska viktiga frågetecknet ifall motorerna är tillräckliga starka och snabba. Styrkan *borde* vara tillräcklig tycker jag efter att ha hållt emot med handen när jag kört den. Snabbheten är svårare att uppskatta men borde gå att ändra genom att byta hjul, får se som sagt. :)

Annars så är mjukvaran förberedd pss att jag enkelt kan mäta referensen när jag håller den färdigbyggda roboten i balans och sätter det värdet i mjukvaran.

Jag vet förresten inte så mycket mer om andra regleralgoritmer, PD känns i nån mening mest naturlig. Men det finns kanske någon mer lämplig? Kommer nog senare även att lägga till en funktion som håller reda på ungefär hur långt roboten rört sig så att den inte kontinuerligt rör sig /snurrar åt ett håll.

Just nu kommer jag inte längre med projektet pga att jag inte har någon såg att såga till själva kroppen med :lol: , men jag lovar att uppdatera när mer händer.

mvh
Användarvisningsbild
MicaelKarlsson
Inlägg: 4669
Blev medlem: 18 juni 2004, 09:16:07
Ort: Aneby
Kontakt:

Inlägg av MicaelKarlsson »

Om du vill ta ett (troligen tre-fyra) steg upp i hur komplicerad reglering du använder så kan du ta en titt här eller en googling på LQ control. Finns naturligtvis fler både enklare och mer komplicerade reglertekniker.
Användarvisningsbild
Andy
Inlägg: 5893
Blev medlem: 26 september 2004, 18:24:52
Ort: Södern

Inlägg av Andy »

Du är väl lite masochist om du placerar batterierna längst upp! :D
Användarvisningsbild
$tiff
Inlägg: 4941
Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:

Inlägg av $tiff »

@ Andy
Nej, det blir oftast lättare med mer vikt uppe i pendeln.

@ övrigt

Klart du kommer behöva en I-del i regulatorn om du väljer PID-regulatorn. Däremot är jag mer tveksam till om du behöver D-delen.

Andra regulatorer som är vettiga att använda (om du nu inte kommer lyckas med en PID) är tillståndsåterkoppling, kanske med linjär-kvadratiska krav, och kanske tillochmed med en observerare (Kalman-filter); linjär-kvadratisk gaussisk styrning. Om du har bra mätvärden är vanlig tillståndsåterkoppling en vädigt bra metod.

Om du sedan vill lyckas med att svinga upp pinnen helt automagiskt, behöver du komplettera med lite andra teorier, bl.a. Lyapunov-syntetiserad styrlag som några bekanta till mig använder här.
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Inlägg av squiz3r »

"..som några bekanta till mig använder här ."
Hehe, Rikrigt coolt! Men det ser rätt koplicerat ut.
Användarvisningsbild
Andy
Inlägg: 5893
Blev medlem: 26 september 2004, 18:24:52
Ort: Södern

Inlägg av Andy »

Om vikten ligger under hjulaxelcentrum så håller den själv balansen, det kan inte vara nackdel med låg tyngdpunkt.
Användarvisningsbild
007sweden
Inlägg: 3500
Blev medlem: 3 mars 2005, 20:18:12
Skype: oo7sweden

Inlägg av 007sweden »

Andy: den där ska ju inte hålla balansen automatiskt av sig själv, utan genom att fara fram och tillbaka och således hålla balansen.

Ju högre vikt däruppe ju högre masströghet ju lättare blir det att hålla balansen. Ville han göra det lätt för sig skulle han ju bara haft 4 hjul, eller en väldigt låg sak...
Användarvisningsbild
Andy
Inlägg: 5893
Blev medlem: 26 september 2004, 18:24:52
Ort: Södern

Inlägg av Andy »

Jo, jag antar att det är det som är utmaningen att inte göra det enkelt för sig när man kan göra det svårt! :)
Användarvisningsbild
007sweden
Inlägg: 3500
Blev medlem: 3 mars 2005, 20:18:12
Skype: oo7sweden

Inlägg av 007sweden »

Är ju en liten charm i sig med självbalanserande robotar.. :)
danei
EF Sponsor
Inlägg: 27399
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg av danei »

Tänk dig extremfallet med vikten i axeln. Det funkar inte alls.
Det här är snyggt.
övrigt
Inlägg: 208
Blev medlem: 19 april 2008, 14:18:11
Ort: Lund
Kontakt:

Inlägg av övrigt »

Hallå igen

Tack för alla länkar, jag kommer att undersöka andra reglertekniker. Däremot kommer jag först försöka få PID att fungera. Men får jag inte det att fungera så kommer jag ju definitivt gå vidare med andra tekniker.

Tanken med att placera batterierna längst upp var att den skulle falla långsammare ja, men biten med uppsving sparar jag till en senare version ;).


De första riktiga testerna borde ske nu i dagarna – återkommer.
Senast redigerad av övrigt 4 juni 2008, 17:08:51, redigerad totalt 1 gång.
övrigt
Inlägg: 208
Blev medlem: 19 april 2008, 14:18:11
Ort: Lund
Kontakt:

Inlägg av övrigt »

Sådär, nu har det börjat hända lite. Elektroniken är fastsatt på kroppen, så nu ser denna mindre ut som en matningsplats för fåglar och mer som en robot. Efter att ha fått nästan rätt på all koppling direkt kunde de första testerna börja. Mjukvaran var ju redan förberedd, med ”bara” lite konstanter att ändra samt övre gränser för att undvika overflow mm mm, så ganska snart fick jag ihop nått hyfsat fungerande.

Låter följande film tala för sig själv. Mycket återstår, jag vet :) .

http://www.youtube.com/watch?v=cnTpLO1vV6c

Bild

Bild
Skriv svar