Taser
13.12.2005, 21:20
hallo zusammen,
ich bin neu hier im forum aber nach ein bißchen durchforsten muss ich sagen, dass hier echt einige sehr kompetente leute aktiv sind. deswegen möchte ich mich gerne beteiligen und meine projekte mit euch diskutieren.
ein sehr fernes ziel von mir ist ein zweibeiniger laufroboter der dynamische bewegungen ausführen kann (d.h. nicht nur den statischen schwerpunkt über der fußfläche hält, sondern auch ausfallschritte machen kann). mir ist durchaus bewusst, dass sich daran weltweit schon etliche institute die zähne ausgebissen haben. jedoch gibt es auch schon einige hobbybastler die durchaus ansehliche projekte "auf die beine" gestellt haben (www.austrobots.com zum beispiel). zudem kann man auch aus gescheiterten projekten einiges lernen.
während ich momentan am mechanischen aufbau des roboters plane, bin ich durch Bluesmash vorstellung seines laufroboters (https://www.roboternetz.de/phpBB2/viewtopic.php?p=139831) auf die idee eines ersten teilprojekts gekommen. für die regelung eines roboters mit solch einer komplizierten dynamik benötigt man genaue informationen über den momentanen zustand aller gelenke. zudem sollen die servos auf keinen fall ins schwingen geraten. deshalb der vorschlag zunächst einen eigenen servotreiber zu bauen, der etwas mehr kann als nur eine position zu halten.
was mir vorschwebt ist ein servotreiber mit folgenden eigenschaften:
- I2C ansteuerbar
- Auslesen der momentaner Position und Geschwindigkeit des Servos
- Einfaches Anpassen der Regelparameter
- Verschiedene Regelmodi (Positionsregelung / Geschwindigkeitsregelung / Kraftregelung)
und das ist der plan:
zunächst muss der servo teilweise gehackt werden: den poti elektronisch vom integrierten servotreiber abklemmen und durch festverdrahtete wiederstände ersetzen, die dem treiber vorgaukeln, der poti sei ständig in mittelstellung. der analogausgang des potis wird aus dem servo rausgeführt.
regelungstechnisch gesehen öffnet man dadurch den regelkreis. nun ist es sinnvoll das übertragungsverhalten der messstrecke und der steuerstrecke zu ermitteln, aber das erklär lieber später, sollte aber kein problem sein.
so, nun kommt der knifflige part für mich, da ich mich mit controlern wie atmel und pic bisher nur wenig ausgekenne. aber ein mega8 müsste doch in der lage sein das pwm signal für den servo zu erzeugen und auch das analogsignal des potis einzulesen. zudem lässt sich dieser auch als I2C slave verwenden. da es die dinger ja recht günstig gibt, wäre es verkraftbar jedem servo einen eigenen zu spendieren. dadurch wäre es möglich einen intelligenten controler für jeden servo zu programmieren, der zb mit hilfe eines kalmanfilters das messrauschen des potis kompensiert und die geschwindigkeit schätzt. per I2C könnte dann auch zu jeder zeit die genaue position und geschwindigkeit des servos ausgelesen werden. zur regelung kann dann auch ein zustandsregler verwendet werden der für alle drei größen (pos., geschw. und kraft) entworfen werden kann.
was meint ihr?
gruß,
taser
ich bin neu hier im forum aber nach ein bißchen durchforsten muss ich sagen, dass hier echt einige sehr kompetente leute aktiv sind. deswegen möchte ich mich gerne beteiligen und meine projekte mit euch diskutieren.
ein sehr fernes ziel von mir ist ein zweibeiniger laufroboter der dynamische bewegungen ausführen kann (d.h. nicht nur den statischen schwerpunkt über der fußfläche hält, sondern auch ausfallschritte machen kann). mir ist durchaus bewusst, dass sich daran weltweit schon etliche institute die zähne ausgebissen haben. jedoch gibt es auch schon einige hobbybastler die durchaus ansehliche projekte "auf die beine" gestellt haben (www.austrobots.com zum beispiel). zudem kann man auch aus gescheiterten projekten einiges lernen.
während ich momentan am mechanischen aufbau des roboters plane, bin ich durch Bluesmash vorstellung seines laufroboters (https://www.roboternetz.de/phpBB2/viewtopic.php?p=139831) auf die idee eines ersten teilprojekts gekommen. für die regelung eines roboters mit solch einer komplizierten dynamik benötigt man genaue informationen über den momentanen zustand aller gelenke. zudem sollen die servos auf keinen fall ins schwingen geraten. deshalb der vorschlag zunächst einen eigenen servotreiber zu bauen, der etwas mehr kann als nur eine position zu halten.
was mir vorschwebt ist ein servotreiber mit folgenden eigenschaften:
- I2C ansteuerbar
- Auslesen der momentaner Position und Geschwindigkeit des Servos
- Einfaches Anpassen der Regelparameter
- Verschiedene Regelmodi (Positionsregelung / Geschwindigkeitsregelung / Kraftregelung)
und das ist der plan:
zunächst muss der servo teilweise gehackt werden: den poti elektronisch vom integrierten servotreiber abklemmen und durch festverdrahtete wiederstände ersetzen, die dem treiber vorgaukeln, der poti sei ständig in mittelstellung. der analogausgang des potis wird aus dem servo rausgeführt.
regelungstechnisch gesehen öffnet man dadurch den regelkreis. nun ist es sinnvoll das übertragungsverhalten der messstrecke und der steuerstrecke zu ermitteln, aber das erklär lieber später, sollte aber kein problem sein.
so, nun kommt der knifflige part für mich, da ich mich mit controlern wie atmel und pic bisher nur wenig ausgekenne. aber ein mega8 müsste doch in der lage sein das pwm signal für den servo zu erzeugen und auch das analogsignal des potis einzulesen. zudem lässt sich dieser auch als I2C slave verwenden. da es die dinger ja recht günstig gibt, wäre es verkraftbar jedem servo einen eigenen zu spendieren. dadurch wäre es möglich einen intelligenten controler für jeden servo zu programmieren, der zb mit hilfe eines kalmanfilters das messrauschen des potis kompensiert und die geschwindigkeit schätzt. per I2C könnte dann auch zu jeder zeit die genaue position und geschwindigkeit des servos ausgelesen werden. zur regelung kann dann auch ein zustandsregler verwendet werden der für alle drei größen (pos., geschw. und kraft) entworfen werden kann.
was meint ihr?
gruß,
taser