Aldebaran NAOqi
Version vom 20. Februar 2023, 09:17 Uhr von Chris T. Ludwig (Diskussion | Beiträge) (→Box Inspektor)
Inhaltsverzeichnis
Ueberblick
Erst mal eine lose Begriffssammlung
Zitate aus [[1]]
NAOqi als zentrale Programmierschnittstelle
Die Programmierung des NAOs ist auf verschiedene Arten möglich. Sollen die Programme direkt auf den Roboter geladen und von diesem ausgeführt werden, so kann man auf Choregraphe inkl. Python oder auf C++ setzen. Gibt man sich damit zufrieden, den Roboter per Fernzugriff zu steuern, so lässt sich zusätzlich noch auf Java, .NET, Matlab und Urbi zurückgreifen. Wichtig zu verstehen ist: Egal für welche Variante sich der Entwickler entscheidet, letztendlich arbeitet er stets gegen das Robotik-Framework NAOqi.
Dieses API wurde von Aldebaran Robotics geschaffen, um die Programmierung des NAOs auf ein vernünftiges Level zu heben. Sie stellt die zentrale Schnittstelle zur Nutzung und Erweiterung der Funktionalitäten des Roboters dar und ist modular aufgebaut. Dank NAOqi werden selbst komplexe Dinge wie Sprach- oder Objekterkennung zum Kinderspiel. Darüber hinaus lassen sich selbst implementierte Module mithilfe der zugrunde liegenden Broker-Architektur einfach hinzufügen. Sie können auch auf einem externen Rechner laufen und sind für den Entwickler dennoch genauso wie die lokal auf dem NAO laufenden Module nutzbar. Erreicht wird diese Transparenz durch Proxys, die für den Programmierer stets den Einsprungspunkt zur Modulnutzung darstellen. Klarerweise bietet NAOqi auch einen Eventmechanismus, durch den auf Ereignisse im klassischen Stile reagiert werden kann.
Kernmodule
- ALMemory
Key-Value Store Basis für den Eventmechanismus: subscribeToEvent() Callback-Methode raiseEvent()
- ALMotion
Einzelsteuerung der Koerperteile
- ALNavigation
Im Raum bewegen: Navigation
- ALRobotPosture
Audiomodule (10 Stueck)
- ALSpeechRecognition
- ALTextToSpeech
Video (24 Stueck)
- ALFaceDetection
- ALPhotoCapture
Abruf Standard-Positionen: Liegen, Sitzen, Stehen
Choreographe
Flussdiagramme Startknoten (Aktions-)Boxen Kontrollstrukturen Transitionen Verbindungen zwischen Boxen zur Token und Datenuebergabe Stimulus des Boxeingangs Tokenweitergabe Petrinetz
Dateinamenerweiterungen
- CBL Choreographe Box Library (.clxb?) komprimiert
- XAL Box Library (<V1.10) nicht komprimiert
Box Inspektor
- General
Name, Description, Image
- Inputs (Anzahl)
- Outputs (Anzahl)
- Parameters (Anzahl)
- Set Parameter(s)
- Plugin
Datentypen/Events
Type
Bang, String, Integer, Float
Nature
onStart, onStop, onStopped, punctual, onEvent