balancierender roboter (EV3, RobotC)
Moderator: Moderatoren
balancierender roboter (EV3, RobotC)
Hi,
das Balancieren eines Roboters gehört eher zu den anspruchsvolleren regelungstechnischen Aufgaben. Das original Lego Beispiel (education set) verwendet einen eher einfachen Ansatz. Eine lineare Kombination der Parameter Roboter Geschwindigkeit/Position und Gyrometer Winkelgeschwindigkeit/Winkel wird direkt zu Regulation verwendet (also ein reiner P-Regler). Diese Lösung ist nicht sonderlich 'elegant' und auch eher empfindlich (Kalibrierung, physikalische Umgebungsbedingungen, ...)
Laurens 'robotsquare.com' hat diese Idee um einen PID Regler erweitert. Das erhöht die Leistung deutlich. Laurens verwendet die selbe lineare Kombination. Daraus ergeben sich diverse Einschränkungen.
Unter https://github.com/OmegaTom/LineBalancer könnt Ihr einen robotC code herunterladen, der einen erweiterten Ansatz verfolgt. Grob erklärt werden hier 4 parallele PID controller (inkl. setpoint weighting, anti-windup und 'derivative filtering') verwendet um die genannten Parameter 'getrennt' zu regeln. Eine genauerer Erklärung findet Ihr unter github ... (allerdings in Englisch)
Zudem habe ich zu Testzwecken einen 'lineFollower', 'IR remote control', ... implementiert. Eine Roboterarm-Steuerung ist auch dabei, um veränderte physikalische Bedingungen testen zu können...
siehe auch https://youtu.be/GFn5yuKCs_I
viel Spaß beim Testen und verbessern (da gibt es recht viel 'Spielraum' bei den PID Parametern)
das Balancieren eines Roboters gehört eher zu den anspruchsvolleren regelungstechnischen Aufgaben. Das original Lego Beispiel (education set) verwendet einen eher einfachen Ansatz. Eine lineare Kombination der Parameter Roboter Geschwindigkeit/Position und Gyrometer Winkelgeschwindigkeit/Winkel wird direkt zu Regulation verwendet (also ein reiner P-Regler). Diese Lösung ist nicht sonderlich 'elegant' und auch eher empfindlich (Kalibrierung, physikalische Umgebungsbedingungen, ...)
Laurens 'robotsquare.com' hat diese Idee um einen PID Regler erweitert. Das erhöht die Leistung deutlich. Laurens verwendet die selbe lineare Kombination. Daraus ergeben sich diverse Einschränkungen.
Unter https://github.com/OmegaTom/LineBalancer könnt Ihr einen robotC code herunterladen, der einen erweiterten Ansatz verfolgt. Grob erklärt werden hier 4 parallele PID controller (inkl. setpoint weighting, anti-windup und 'derivative filtering') verwendet um die genannten Parameter 'getrennt' zu regeln. Eine genauerer Erklärung findet Ihr unter github ... (allerdings in Englisch)
Zudem habe ich zu Testzwecken einen 'lineFollower', 'IR remote control', ... implementiert. Eine Roboterarm-Steuerung ist auch dabei, um veränderte physikalische Bedingungen testen zu können...
siehe auch https://youtu.be/GFn5yuKCs_I
viel Spaß beim Testen und verbessern (da gibt es recht viel 'Spielraum' bei den PID Parametern)
Re: balancierender roboter (EV3, RobotC)
signifikanter Lastenwechsel : https://youtu.be/Qtc4vbvJ-oA
- HaWe
- Administrator
- Beiträge: 5234
- Registriert: 11. Jan 2006 21:01
- Wohnort: ein kleiner Planet in der Nähe von Beteigeuze
Re: balancierender roboter (EV3, RobotC)
hallo,
herzlich willkommen hier im Forum!
Ein tolles Projekt, und auch wirklich sehr anschauliche und auch sehr eindrucksvolle Videos dazu - danke fürs Einstellen hier !
Ich wünsche dir viel Erfolg mit deinen Projekten und hoffe, dass wir doch sicher bald auch noch mehr von dir sehen, hören und lesen!

herzlich willkommen hier im Forum!
Ein tolles Projekt, und auch wirklich sehr anschauliche und auch sehr eindrucksvolle Videos dazu - danke fürs Einstellen hier !
Ich wünsche dir viel Erfolg mit deinen Projekten und hoffe, dass wir doch sicher bald auch noch mehr von dir sehen, hören und lesen!

Gruß,
HaWe
±·≠≈²³αβγδε∂ζλμνπξφωΔΦ≡ΠΣΨΩ∫√∀∃∈∉∧∨¬⊂⊄∩∪∅∞®
NXT NXC SCHACHROBOTER: https://www.youtube.com/watch?v=Cv-yzuebC7E
HaWe
±·≠≈²³αβγδε∂ζλμνπξφωΔΦ≡ΠΣΨΩ∫√∀∃∈∉∧∨¬⊂⊄∩∪∅∞®
NXT NXC SCHACHROBOTER: https://www.youtube.com/watch?v=Cv-yzuebC7E
Re: balancierender roboter (EV3, RobotC)
Danke für die nette Begrüßung !!! ... ich werd' mich bemühen 

Re: balancierender roboter (EV3, RobotC)
ein neues Projekt ...
https://www.youtube.com/watch?v=KPKlMlJ5BVk
https://github.com/OmegaTom/BallBalancer
da ist noch viel Spielraum für Optimierungen ... falls wer Zeit hat
https://www.youtube.com/watch?v=KPKlMlJ5BVk
https://github.com/OmegaTom/BallBalancer
da ist noch viel Spielraum für Optimierungen ... falls wer Zeit hat

Zurück zu „textbasierte Programmiersoftware“
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 12 Gäste