NAO - Aufstehbewegung

Die Fähigkeit eines humanoiden Roboters nach einem Fall wieder aufzustehen ist fundamental für die Autonomie. In einem Szenatio wie RoboCup kann das Aufstehen eine Herausforderung sein. Zu einem muss der Roboter so schnell wie möglich wieder bereit zu spielen sein, zum Anderen gibt es viele Faktore, die ein sicheres und schnelles Aufstehen verhindern können. Dazu gehören innere Faktoren, wie abgenutzte Gelenke, Gelenkspiel, oder überhitzte Gelenke, und externe Faktoren, wie etwa Kollision mit anderen Spielern oder auch "Hängenbleiben" am Kunstrasen.

Wenn erkannt wird, dass der Roboter hingefallen ist, dann wird eine Aufstehbewegung ausgeführt. Die aktuelle Lösung basiert auf einem statischen KeyFrame-Ansatz. Dabei wird eine Reihe vorgefertigter Posen (Bewegungen) abgespielt, die dazu führen, dass der Roboter danach mit hoher Wahrscheinlichkeit steht. Diese statische Bewegungsabfolge passt sich nicht der Situation an. Abweichungen, die wärend des Aufstehens auftreten, können dazu führen, dass der Roboter wieder hinfällt. Dazu gehören Schubsen von anderen Robotern, oder am Rasen hängen bleiben.

Die Aufgabe besteht darin die aktuelle Lösung auf ihre Probleme zu analysieren und eine neue dynamische Variante mit sensorischer Rückkoplung zu entwickeln. So könnten zum Beispiel die Lagesensoren und die Gelenksensoren dazu genutzt werden, um zu überprüfen, ob die erwartete Posen erreicht wurden. Wenn nötig könen dann Korrekturen vorgenommen werden. Als Referenz sollen verwandte Lösungen anderer Teams dienen z.B. B-Human. Die entwickelte Lösung soll anschließend empirisch ausgewertet und mit der alten verglichen werden.

Zur Optimierung der Bewegung können auch Methoden des machinellen Lernens verwendet werden.

Weitere möglichen Aspekte:
Wird das Hinfallen frühzeitig erkannt können die Arme und der Kopf so bewegt werden dass das aktive Hinfallen sicherer wird und das Aufstehen schneller passieren kann.

Relevante Publikationen und Abschlussarbeiten:

Möglicher Ablauf der Abschlussarbeit

Wir stellen uns den Ablauf folgendermaßen vor:

  • Themabesprechung und kennenlernen
  • Expose schreiben
  • Besprechen des Exposes und eventuelle Anpassungen
  • Anmeldung der Arbeit
  • Experimente im Simulator und ggf. auf dem Roboter durchführen.
  • Auswerten der Experimente
  • Schreiben der Abschlussarbeit
  • Schreiben einer Kurzfassung der Ergebnisse für den NaoTH Teamreport.

Alle zwei Wochen soll selbständig ein kurzer Status an das Nao Team gesendet werden.

Informationen zum Nao Team Humboldt

Website: https://naoth.de
RoboCup Regeln: https://cdn.robocup.org/spl/wp/2021/01/SPL-Rules-2021.pdf
Slack: https://naoth.slack.com
Public Github: https://github.com/BerlinUnited
Internal Gitlab: https://scm.cms.hu-berlin.de/berlinunited

Quellcode anderer RoboCup SPL Teams

Public NaoTH Repo: https://github.com/BerlinUnited/NaoTH
Public Nao Devils Repo: https://github.com/NaoDevils/CodeRelease
Public B-human Repo: https://github.com/bhuman/BHumanCodeRelease
Bembelbots: https://github.com/Bembelbots rUNSWift: https://github.com/UNSWComputing/rUNSWift-2019-release
Hulks: https://github.com/HULKs/HULKsCodeRelease

Publikationslisten anderer Teams

Eventuell können Arbeiten anderer Teams hilfreich sein.

Naoth: https://www.naoteamhumboldt.de/en/publications/
Hulks: https://hulks.de/publications/
B-Human Abschlussarbeiten: https://b-human.de/theses-en.html
B-Human Publikationen: https://b-human.de/publications-en.html
Bembelbots: https://www.jrl.cs.uni-frankfurt.de/web/robocup/publications/
rUNSWift: https://github.com/UNSWComputing/rUNSWift-2019-release/raw/master/rUNSWift_Team_Report.pdf

Weitere Angaben

Gutachterin: V. Hafner
Lehrtuhl für adaptive Systeme: https://hu.berlin/adapt
Betreuung und Technische Unterstützung: Heinrich Mellmann, Stella Alice Schlotter
Arbeit im Labor notwendig: eventuell
Eigener PC notwendig: ja