1 / 23

Rolland III & SimRobot ein Überblick

Rolland III & SimRobot ein Überblick. Rolland III Rollstuhl / Sensorik / Aktuatorik Kinematische Eigenschaften Navigationsverfahren Beispiele multimodaler Steuerung . SimRobot Allgemeiner Roboter Simulator Spezialisierung für Rolland III: GTRolland

madge
Download Presentation

Rolland III & SimRobot ein Überblick

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Rolland III& SimRobot ein Überblick • Rolland III • Rollstuhl / Sensorik / Aktuatorik • Kinematische Eigenschaften • Navigationsverfahren • Beispiele multimodaler Steuerung • SimRobot • Allgemeiner Roboter Simulator • Spezialisierung für Rolland III: • GTRolland • Ansteuerung von Rolland III • Simulation von Rolland III • Aufnahme / Abspielen von Log-Dateien • Processes / Modules / Solutions / Representations Christian Mandel - 1 - 09.12.2005

  2. Rolland III ein Überblick Rollstuhl Rolland III (Meyra Champ 1.594) Rolland II (Meyra Genius 1.522) Christian Mandel - 2 - 09.12.2005

  3. Rolland III ein Überblick Kinematik [1] Rolland II (Ackermann Lenkung) Rolland III (Differenzial Antrieb) [1] Dudek, G., Jenkin, M. (2000). Computational Principles of Mobile Robotics. Cambridge University Press. Christian Mandel - 3 - 09.12.2005

  4. Rolland III ein Überblick Sensorik • LaserScanner Siemens LS4 [2] • Öffnungswinkel: 190° • laterale Auflösung: max. 0.36° (entspricht 527 Messstrahlen) • radiale Auflösung: 5mm bis zu einer Entfernung von max. 50m • Wellenlänge: 905 nm • min. Remissionsgrad: 20% • Scanrate: 25 Scans/s • Interface: RS 232, RS 422 [2] Technische Dokumentation des Siemens LS4 online über: http://www2.automation.siemens.com/cd/safety/html_00/produkte/optisch_laser.htm Christian Mandel - 4 - 09.12.2005

  5. Rolland III ein Überblick • Odometriesensor (Inkrementalgeber) Lenord + Bauer GEL 248 • Magnetsensoren messen Rotationsgeschwindigkeit der an den Antriebsachsen angebrachten Zahnräder • Rechteckförmiges Ausgangssignal 0 – 25 kHz • Interface: RS232 via AD-Wandler aus modifizierter Mausplatine Sensorik Christian Mandel - 5 - 09.12.2005

  6. Experimenteller Status Rolland III ein Überblick Navigationsverfahren • Klassische Ansätze [3]: • Roadmap • Potenzialfeld • Zellunterteilung • Auf Rolland III implementierte Ansätze: • Abwandlung des Dynamic Window Approach [4] • Virtual Force Field Method [5] [3] Latombe, J.C. (1991). Robot Motion Planning. The Cluwer International Series in Engineering and Computer Science, Robotics: Vision, Manipulation and Sensors. Cluwer Academic Publishers. [4] Fox, D., Burgard, W., Thrun, S. (1995). The Dynamic Window Approach To Collision Avoidance. Technical Report University of Bonn. [5] Borenstein, J., Koren, Y. (1989). Real-time Obstacle Avoidance for Fast Mobile Robots. IEEE Transactions on Systems, Man, and Cybernetics. Christian Mandel - 6 - 09.12.2005

  7. Rolland III ein Überblick Beispiele Multimodaler Steuerung Natürlichsprachliche Kommandos: „Take the 2nd. turn to the right.“ [6] Auf Skizzen basierende Kommandos [7] [6] Kyriacou, T., Burgmann, G., Lauria, S. (2004). Vision-Based Urban Navigation Procedures for Verbally Instructed Robots. To appear in the Journal „Robotics and Autonomous Systems“ [7] Chronis, G., Skubic, M. (2004). Robot Navigation UsingQualitative Landmark States from Sketched Route Maps. Proc. of the IEEE Intl. Conf. On Robotics and Automation. Christian Mandel - 7 - 09.12.2005

  8. SimRobot(GTRolland) ein Überblick • SimRobot verfügbar im WWW [8] • GTRolland als Spezialisierung von SimRobot • Verfügbar als SubVersion Projekt [9][10] • Kompilierbar mit Microsoft Visual Studio C++ 7.1 / 8.0 • Abgeleitet vom Rahmenwerk des Robocup GermanTeam [11] GTRolland als Spezialisierung von SimRobot [8] SimRobot online über: http://www.tzi.de/simrobot [9] SubVersion-Client für Windows Plattform online über: http://tortoisesvn.tigris.org/ [10] GTRolland-Projekt für Windows Plattform via SVN über: https://nyx.informatik.uni-bremen.de/svn/GTRolland/trunk // Projekt auschecken https://nyx.informatik.uni-bremen.de/svn/GTRolland/tags // Tags einchecken https://nyx.informatik.uni-bremen.de/svn/GTRolland/branches // Branches einchecken [11] Hilfreiche Dokumentation online über: http://www.robocup.de/germanteam/GT2003.pdfAbschnitte: „Architecture“, „Source Code“, „Processes, Senders, and Receivers“, „Streams“, „Debugging Mechanisms“, „SimGT2003 Usage“ Christian Mandel - 8 - 09.12.2005

  9. SimRobot(GTRolland) ein Überblick Aktive Komponenten: Processes #include "Tools/Process.h" class Example1 : public Process { public: virtual int main() { printf("Hello World!\n"); return 0; } }; MAKE_PROCESS(Example1); Christian Mandel - 9 - 09.12.2005

  10. SimRobot(GTRolland) ein Überblick Aufgabenorientierte Komponenten: Modules / Solutions #include "Tools/Module/Module.h" class TestModulemInterfaces { } class TestModule : public Module, public TestModuleInterfaces { } #include "TestModule.h" class TestModuleSolutionA : public TestModule, { virtual void execute(){} } #include "Tools/Module/ModuleHandler.h" #include "TestModuleA.h" class TestModuleSelector : public ModuleSelector, public TestModuleInterfaces { } #include "Tools/Process.h" #include "Modules/TestModule/ TestModuleSelector.h" class Example2 : public Process { public: TestModuleSelector* testModule; Example2() { // testModule konstruieren } ~Example2() { // testModule zerstören } virtual int main() { testModule->execute(); return 0; } }; MAKE_PROCESS(Example2); TestModule.h TestModuleA.h Example.h TestModuleSelector.h Christian Mandel - 10 - 09.12.2005

  11. SimRobot(GTRolland) ein Überblick Datenverwaltende Komponenten: Representations class NumberRepresentation { public: int number; NumberRepresentation() {number = 0;} }; Out& operator<<(Out& stream, const NumberRepresentation& repr) { return stream << repr.number; } In& operator>>(In& stream, NumberRepresentation& repr) { return stream >> repr.number; } Christian Mandel - 11 - 09.12.2005

  12. SimRobot(GTRolland) ein Überblick Austausch von Representations zwischen Processes: SENDER #include "Tools/Process.h" class Example3 : public Process { private: SENDER(NumberRepresentation); public: Example3() : INIT_SENDER(NumberRepresentation,false) {} virtual int main() { ++theNumberRepresentationSender.number; theNumberRepresentationSender.send(); return 0; } }; MAKE_PROCESS(Example3); Christian Mandel - 12 - 09.12.2005

  13. SimRobot(GTRolland) ein Überblick Austausch von Representations zwischen Processes: RECEIVER #include "Tools/Process.h" class Example4 : public Process { private: RECEIVER(NumberRepresentation); public: Example4() : INIT_RECEIVER(NumberRepresentation,true) {} virtual int main() { printf("Number %d\n", theNumberRepresentationReceiver.number); return 0; } }; MAKE_PROCESS(Example4); Christian Mandel - 13 - 09.12.2005

  14. SimRobot(GTRolland) ein Überblick • Control • Abarbeitung der zeitkritischen Module wie z.B.: • OdometryCalculator • LaserScanProcessor • DriveController • SafetyLayer • … • Planner • Abarbeitung der weniger zeitkritischen Module wie z.B.: • GlobalLocalizer • VoronoiCalculator • DoorRecognizer • RouteGraphProcessor • … • Communication • Debug Processes Christian Mandel - 14 - 09.12.2005

  15. SimRobot(GTRolland) ein Überblick • Behaviours [Rollstuhlsteuerung über Grundverhalten wie z.B: Wandverfolgung] • Solutions: • ElementaryBehaviours (work in progress) • NDBehaviours (work in progress) • Connector [Netzwerkschnittstellen zu anderen Rechnern] • Solutions: • DialogConnector (special application) • RemoteControlConnector (special application) • SharCConnector (special application) • DoorRecognizer [Features erkennen aus Sensordaten: Türen] • Solutions: • DefaultDoorRecognizer (to be used) • SymmetryDoorRecognizer (work in progress) Modules Christian Mandel - 15 - 09.12.2005

  16. SimRobot(GTRolland) ein Überblick • DriveController [Schnittstelle: Fahrkommandos-Rollstuhl] • Solutions: • JoystickDriveController (to be used) • InverseJoystickDriveController (to be used) • RemoteJoystickDriveController (special application) • MotionDriveController (to be used) • GlobalLocalizer [Lokalisierung innerhalb einer gegebenen globalen Karte] • Solutions: • DistanceGlobalLocalizer (to be used) • VoronoiGlobalLocalizer (work in progress) • MarkovGlobalLocalizer (deprecated) Modules Christian Mandel - 16 - 09.12.2005

  17. SimRobot(GTRolland) ein Überblick • GlobalMapper [Aufbau einer globalen Karte aus Sensordaten] • Solutions: • HistogramGlobalMapper (work in progress) • ImageProcessor [Aufbereitung von low-level Kamera-Daten] • Solutions: • DefaultImageProcessor (work in progress) • LaserScanProcessor [Aufbereitung von low-level LaserScanner-Daten] • Solutions: • DefaultLaserScanProcessor (to be used) • LaserScanFrontProcessor (to be used) • LaserScanBackProcessor (to be used) Modules Christian Mandel - 17 - 09.12.2005

  18. SimRobot(GTRolland) ein Überblick • LocalMapper [Aufbau einer lokalen Karte aus Scanpunkten] • Solutions: • DefaultLocalMapper (deprecated) • PolygonLocalMapper (to be used) • LocalPathPlanner [Lokale Navigation incl. Hindernisvermeidung] • Solutions: • AStarLocalPathPlanner (work in progress) • DWALocalPathPlanner (work in progress) • VirtualForceFieldLocalPathPlanner (work in progress) Modules Christian Mandel - 18 - 09.12.2005

  19. SimRobot(GTRolland) ein Überblick Modules • OdometryCalculator [Aufbereitung von low-level Odometrie-Daten] • Solutions: • OdometersOnlyOdometryCalculator (to be used) • PathController [Bahnregler zur Verwendung mit DWALocalPathPlanner] • Solutions: • DefaultPathController (to be used) • RouteGraphProcessor [Verwaltung von RoutenGraphen] • Solutions: • DefaultRouteGraphProcessor (work in progress) Christian Mandel - 19 - 09.12.2005

  20. SimRobot(GTRolland) ein Überblick • SafetyLayer [Sicherheitsmodul das auf lokalen Karten arbeitet] • Solutions: • SAMSafetyLayer (to be used) • VoronoiCalculator [Berechnung von Distanzkarten und Voronoidiagrammen] • Solutions: • DoubleSweepVoronoiCalculator (to be used) • IPPVoronoiCalculator (work in progress) Modules Christian Mandel - 20 - 09.12.2005

  21. SimRobot(GTRolland) ein Überblick • Perception • ScanPoints*(ScanPointsCollection) • Perception • ScanSegments* (ScanSegmentsCollection) Representations * inklusive OdometriePose Christian Mandel - 21 - 09.12.2005

  22. SimRobot(GTRolland) ein Überblick • Cognition • EvidenceGrid • Cognition • DistanceGrid Representations Christian Mandel - 22 - 09.12.2005

  23. SimRobot(GTRolland) ein Überblick Representations • RouteGraph Christian Mandel - 23 - 09.12.2005

More Related