Studienarbeit_Falk_Schellhorn - TU Dresden Robotik Arbeitsgruppe
Transcription
Studienarbeit_Falk_Schellhorn - TU Dresden Robotik Arbeitsgruppe
Fakultät Elektrotechnik und Informationstechnik Institut für Automatisierungstechnik Diplomarbeit Studienarbeit Thema zum Thema Entwurf eines radgetriebenen mobilen Demonstrators für Navigationsaufgaben in Büroumgebungen bzw. in büronahen Außenbereichen Vorgelegt von geboren am in vorgelegt von Falk Schellhorn geboren am 21.09.1986 in Dresden zur Erlangung des akademischen Grades Diplomingenieur Betreuer: Dipl. Wirtsch.-Ing. Matthias Hennig (Dipl.-Ing.) Dipl.-Ing. Sylvia Horn Verantwortlicher Hochschullehrer: Prof. Dr. techn. K. Janschek Tag der Einreichung: 04. Dezember 2009 Betreuer Verantwortlicher Hochschullehrer Tag der Einreichung Fakultät Elektrotechnik und Informationstechnik Institut für Automatisierungstechnik Entwurf eines radgetriebenen mobilen Demonstrators für Navigationsaufgaben in Büroumgebungen bzw. in büronahen Außenbereichen Diplomarbeit Kurzfassung Unlängst werden autonome Maschinen zur alltäglichen Unterstützung in verschiedenen Bereichen eingesetzt. Thema Mit dem Ziel, Menschen und anderen Objekten, in deren Umgebung sich diese Maschinen bewegen, ausreichend Sicherheit zu bieten, muss ein vergleichsweise hoher Forschungsaufwand getrieben werden. Aufgrund der notwendigen Forschungsaufgaben werden wiederum spezielle von Anforderungen an das benötigte Equipment geVorgelegt stellt. In der vorliegenden Arbeit wurde eine Roboterplattform entwickelt, die speziell an geboren am in die Anforderungen von Navigationsaufgaben angepasst ist. Damit einhergehend erfolgte der Einbau verschiedener Sensoren in das System. Dem Benutzer wird dabei durch variable Aufnahmen zusätzlich die Möglichkeit geboten, weitere Sensorik in das System integrieren zu können. Ein Skid Steer Antrieb soll weiterhin für optimale zur Erlangung des akademischen Grades Fahreigenschaften sorgen. Diplomingenieur (Dipl.-Ing.) Betreuer Betreuer: Verantwortlicher Hochschullehrer Hochschullehrer: Tag der Einreichung Bearbeitungszeitraum: STUDIENARBEIT Dipl.-Wirtsch.-Ing. M. Hennig Dipl.-Ing. Sylvia Horn Prof. Dr. techn. K. Janschek 24.08.2009 - 04.12.2009 Bearbeiter: Falk Schellhorn Fakultät Elektrotechnik und Informationstechnik Institut für Automatisierungstechnik Design of a wheel-driven mobile robot for navigation tasks in offices and outdoor areas similar to offices Diplomarbeit Abstract Nowadays, autonomous robots are already used to support us in various areas. In order to provide Thema security for the people and objects in whose environment the robots are moving, a comparatively high research effort is necessary . Owing to the essential research tasks, certain demands are placed on the equipment as well. The current research project is dealing with the Vorgelegt von development of a robot platform which has been adapted to the specific demands of navigation tasks. Along am with that, various sensors geboren in have been built into the system. Through variable top parts, the user might be able to integrate further sensor technology into the system. In addition, a skid steer drive has been installed in order to ensure optimal driving properties. zur Erlangung des akademischen Grades Diplomingenieur (Dipl.-Ing.) Betreuer Tutors: Verantwortlicher Hochschullehrer Professor: Tag der Einreichung Period: Student Research Project Dipl.-Wirtsch.-Ing. M. Hennig Dipl.-Ing. Sylvia Horn Prof. Dr. techn. K. Janschek 24.08.2009 - 04.12.2009 Editor: Falk Schellhorn Inhaltsverzeichnis 1 Einleitung 1.1 Zielstellung der Arbeit . . . . . . . . . . . . . . . . . . . . . . 1.2 Herangehensweise und Aufbau . . . . . . . . . . . . . . . . . . 2 Anforderungsspezifikation 2.1 Allgemeine Beschreibung . . . . . . . 2.2 Spezifische Anforderungen . . . . . . 2.2.1 Funktionale Anforderungen . 2.2.2 Analyse der Hardwarestruktur 2.2.3 Analyse der Softwarestruktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 3 5 5 7 8 14 16 3 Antriebssysteme 3.1 Vergleich der Antriebssysteme bestehender Roboterplattformen 3.1.1 Pioneer 3 AT . . . . . . . . . . . . . . . . . . . . . . . 3.1.2 Volksbot RT4 . . . . . . . . . . . . . . . . . . . . . . . 3.1.3 Vergleich von Pioneer 3 AT und Volksbot RT4 . . . . . 3.2 Der Skid Steer Antrieb . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Aufbau und Eigenschaften von Skid Steer Antrieben . . 3.2.2 Der Differentialantrieb und dessen kinematisches Modell 3.2.3 Das kinematische Modell von Skid Steer Antrieben . . 3.2.4 Positionierung von Skid Steer getriebenen Plattformen mittels Odometrie . . . . . . . . . . . . . . . . . . . . . 3.2.4.1 Fehlerrechnung für die x-Koordinate des ICC 3.2.4.2 Fehlerrechnung für die y-Koordinate des ICC 3.3 Schlussfolgerungen . . . . . . . . . . . . . . . . . . . . . . . . 19 19 20 20 21 23 23 24 27 4 Roboterentwurf 4.1 Mechanikentwurf . . . . . . . . . . . . . . . . . . . . . . . 4.1.1 Motorauslegung . . . . . . . . . . . . . . . . . . . . 4.1.2 Dimensionierung und Auswahl der Räder . . . . . . 4.1.2.1 Berechnung des benötigten Radradius . . 4.1.2.2 Bestimmung der Haftreibungskoeffizienten 4.1.2.3 Auswahl geeigneter Räder . . . . . . . . . 40 40 40 43 43 49 52 . . . . . . . . . . . . 35 35 37 39 4.2 4.3 4.1.3 Getriebeauslegung . . . . . . . . . . . . . . . . . . . . 4.1.4 Auswahl einer Motor-Getriebe-Kombination . . . . . . 4.1.5 Auslegung der Zahnriemen . . . . . . . . . . . . . . . . 4.1.6 Auslegung der Zahnriemenspanneinheit . . . . . . . . . 4.1.7 Aufbau im Überblick . . . . . . . . . . . . . . . . . . . 4.1.8 Berechnung der maximal überfahrbaren Stufenhöhe . . Elektronikentwurf . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 Auswahl eines Mini-PCs . . . . . . . . . . . . . . . . . 4.2.2 Auswahl der Steuerelektronik . . . . . . . . . . . . . . 4.2.3 Elektronik im Überblick . . . . . . . . . . . . . . . . . 4.2.4 Energiemanagement . . . . . . . . . . . . . . . . . . . Spezielle Anforderungen an die Software . . . . . . . . . . . . 4.3.1 Software im Überblick . . . . . . . . . . . . . . . . . . 4.3.2 Kommunikationssoftware . . . . . . . . . . . . . . . . . 4.3.3 Beschreibung der Regelung . . . . . . . . . . . . . . . . 4.3.4 Softwareentwurf für die Gyroskop/Beschleunigungssensorplatine . . . . . . . . . . . . . . . . . . . . . . . . . 53 54 58 60 63 68 72 72 73 74 76 82 82 82 84 84 5 Tests und Validierung 86 6 Zusammenfassung und Ausblick 87 A Anhang A.1 Berechnung der Auflagekräfte des Robotersystems . . . . . . . A.2 Umformung der Gleichung 4.31 nach dem Radradius . . . . . I I III Literaturverzeichnis XIII Internetquellen XVI 1 Einleitung Immer schneller erobern autonome Maschinen unsere Umwelt. Aus der Industrie sind sie schon längst nicht mehr weg zu denken. Im täglichen Leben sieht man sie hingegen nur sehr selten. Als „autonom“ bezeichnet man Systeme, die ohne menschliches Zutun Entscheidungen treffen können. Vorreiter für den Einsatz von autonomen Plattformen im Alltag sind u. a. der Toom Baumarkt und die Deutsche Bahn. Mit dem Ziel, die Mitarbeiter des Baumarktes Toom zu entlasten, wurde eine Roboterplattform entwickelt, die den Kunden für Anfragen zur Verfügung steht. Seit dem Jahr 2007 unterstützt „Toomas“ (Abb. 1.1(a)) die Mitarbeiter einer Erfurter Toom Filiale bei der täglichen Arbeit. Die autonome Maschine kann mündliche und schriftliche Anfragen entgegen nehmen und führt den Kunden, wenn dieser es wünscht, bis zum gesuchten Artikel [Cli-09]. Nicht nur für diese Tätigkeiten sind Roboter durchaus gut geeignet. Eine andere Einsatzmöglichkeit kann bspw. die Reinigungsarbeit sein. Viele Bereiche, die einer Reinigung bedürfen, sind für den Menschen unzugänglich oder bergen Gefahren. Aus diesem Grund lässt bspw. die Deutsche Bahn das 28.000 m2 große Dach des Berliner Hauptbahnhofs durch Ihren halbautomatischen Roboter „Filius“ (Abb. 1.1(b)) säubern. Bei der Reinigung der Fenster hängt dieser an einem Seil, das ihn mit Wasser und Strom versorgt. Somit ist es ihm möglich, Scheiben mit einer Neigung von 90° zu säubern. Insgesamt schafft er 150 m2 in einer Stunde und ist damit etwa sechsmal schneller als ein Mensch [Sci-09]. Der größte Forschungsaufwand wird zurzeit allerdings in den Gebieten Automobil und Militärfahrzeuge betrieben. Grund dafür ist u. a. das Militär der Vereinigten Staaten von Amerika (USA). Bis zum Jahr 2015 soll das Ziel erreicht werden, ein Drittel der Militärfahrzeuge unbemannt operieren zu lassen, um die Soldaten in bestimmten Gebieten nicht unnötig zu gefährden. Auch im zivilen Bereich ist der Einsatz eigenständig agierender Fahrzeuge als durchaus sinnvoll zu betrachten. Gefährliche Situationen könnten mit geeigneter Sensorik besser detektiert und Ausweich- bzw. Bremsmanöver schneller eingeleitet werden. Infolgedessen könnte die Unfallquote mit hoher Wahrscheinlichkeit drastisch reduziert werden. Um die Forschungen in diesem Gebiet voranzubringen, hat eine Behörde des 1 1 Einleitung Verteidigungsministeriums der USA, die Defense Advanced Research Projects Agency (DARPA), einen Wettbewerb ins Leben gerufen: die DARPA Grand Challenge bzw. DARPA Urban Challenge. Im Jahr 2007 mussten vollkommen autonome Fahrzeuge einen zuvor unbekannten Stadtparcours abfahren. Dabei galt es, die Verkehrsregeln einzuhalten und gleichzeitig eine maximale Geschwindigkeit zu erreichen. Das Team, welches zuerst das Ziel erreichte, gewann zwei Millionen Dollar. Insgesamt nahmen 89 Teams an dem Wettbewerb teil, davon sechs mit deutscher Beteiligung. Team Lux von der Firma IBEO Automobile Sensor GmbH aus Hamburg war eins von ihnen (Abb. 1.1(c)). All diese Systeme haben eine Gemeinsamkeit: Sie müssen bestimmte Aufgaben autonom, also ohne menschliche Unterstützung bewältigen. Dabei ist es wichtig, dass sie sich in ihrer Umgebung allein mit Sensorik orientieren und auf Änderungen der Umwelt reagieren können. Dies bedarf jedoch viel Forschungsarbeit. Mit dem Ziel, diese schnellstmöglich voranzutreiben, benötigen die Forscher ein genau auf dieses Gebiet zugeschnittenes Equipment. Roboterplattformen, die mit einer Vielzahl verschiedener Sensorik ausgestattet sind, eignen sich dafür sehr gut. (a) Kundenbetreuung, (b) Fenster reinigen in Berlin Toom [Sue-09] [Sci-09] (c) autonomes Fahrzeug, IBEO [Spi-07] Abbildung 1.1: Roboter im Alltag 1.1 Zielstellung der Arbeit Bis zum heutigen Tag werden Forschungsarbeiten am Institut für Automatisierungstechnik (IFA) der Technischen Universität Dresden (TU Dresden) mit Hilfe eines Robotersystems namens „MP2“ (Abb. 1.2) durchgeführt. Dieses wurde im Jahr 2003 im Rahmen einer Diplomarbeit [Bru-03] entwickelt, jedoch im Laufe der Zeit nicht an die aktuellen Bedürfnisse des Institutes angepasst. Die Integration neuer Sensorik in das bestehende System stellt sich als 2 1 Einleitung sehr aufwendig und teilweise nicht zur vollen Zufriedenheit realisierbar dar. Alterserscheinungen des Antriebes erschweren außerdem die Fortbewegung und mindern die Positioniergenauigkeit des Systems, welche mittels Odometrie durchgeführt wird. Viel zu gering ist auch die Maximalgeschwindigkeit der Plattform, die bei weniger als 0,5 m/s liegt. Messfahrten und Vorführungen dauern folglich vergleichsweise lange. Ziel dieser Arbeit ist es, einen zeitgemäßen, robusten und an die Anforderungen des Instituts für Automatisierungstechnik (Kapitel 2) angepassten Demonstrator zu entwickeln. Abbildung 1.2: IFA Roboterplattform MP2, [Bru-03] 1.2 Herangehensweise und Aufbau Zu Beginn dieser Arbeit wird analysiert, welche Aufgaben die Roboterplattform im späteren Einsatz erfüllen soll. Die für diese Aufgaben gestellten sowie die davon abgeleiteten Anforderungen werden daraufhin aufgeführt. Die Planung der Hard- und Softwareverteilung wird dem folgen. Anschließend soll mit der Konzeption der Roboterplattform begonnen werden. Während dieser wird zunächst ein geeignetes Antriebssystem ausgewählt. Roboterplattformen, die mit einem solchen System ausgestattet sind, sollen ausgewählt und deren Antriebe verglichen werden. Dabei ist eine Analyse der grundlegenden Vor- bzw. Nachteile der verschiedenen Konzepte vorgesehen. Auch sollen u. a. Rückschlüsse auf die optimale Verteilung bzw. die Anzahl der Motoren und auf günstige Maße für Achsabstand, Spurweite und Raddurchmesser gezogen werden. Daraufhin folgt die mathematische Analyse des 3 1 Einleitung gewählten Antriebskonzepts. Diese wird durchgeführt, um das spätere Fahrverhalten der Roboterplattform voraussagen und weitere Erkenntnisse über günstige Maße für Achsabstand und Spurweite gewinnen zu können. Der Großteil dieser Arbeit soll sowohl aus der Auslegung der Mechanik, wie z. B. Motoren, Getriebe und Räder, als auch der Auswahl von Komponenten für die interne Elektronik und eines Computers bestehen. Ebenso ist ein grober Softwareentwurf sowie die Schnittstellendeklaration Bestandteil dieser Studienarbeit. 4 2 Anforderungsspezifikation Bevor mit dem Grobentwurf der Roboterplattform begonnen werden kann, muss analysiert werden, welche Aufgaben die Plattform erledigen soll, welche Anforderungen an sie gestellt und welche Hardwarekomponenten mit ihr verbunden werden sollen. Dazu wird in Kapitel 2.1 zunächst betrachtet, welche Sensoren und Aktoren an die Roboterplattform angeschlossen werden sollen und welche auf diese einwirkenden Umwelteinflüsse im weiteren Verlauf der Arbeit beachtet werden müssen. Des Weiteren wird grob erläutert, welche Beschaffenheit die Schnittstelle zum Benutzer haben soll und wo die verschiedenen Sensoren bzw. Aktoren angeschlossen werden sollen. In Kapitel 2.2 wird analysiert, welche Funktionen die Plattform bereit stellen soll, durch wen diese Funktionen aufgerufen werden können und von welchen Sensoren Daten benötigt werden. Die in [HHo-09] sowie in mündlicher Form durch die späteren Benutzer gestellten Anforderungen an diese Funktionen und die Plattform werden im folgenden Teil aufgelistet. Da aus diesen Anforderungen weitere Anforderungen abgeleitet werden können, die bei der Konzeption der Roboterplattform zu berücksichtigen sind, sollen auch diese betrachtet werden. Die einzelnen Aufgaben und Schnittstellen von Hard- und Software werden in den Kapiteln 2.2.2 und 2.2.3 näher erläutert. Zur bildlichen Darstellung der in den folgenden Kapiteln behandelten Sachverhalte werden Diagramme verwendet, die auf der Grundlage der sog. Systems Modeling Language (SysML) erstellt wurden. SysML ist eine Weiterentwicklung der Unified Modeling Language (UML), welche für die Softwaremodellierung angewendet wird. Da es mit Hilfe der UML nicht möglich ist, komplexe Hardware-Software-Systeme zu modellieren, wurde SysML entwickelt. Einen Überblick über die Diagrammtypen von SysML bieten [Wei-06] und [Oos-08]. 2.1 Allgemeine Beschreibung Die Hauptaufgabe der Roboterplattform soll die Navigation in Büros bzw. in büronahen Außenbereichen sein. Mit verschiedenen Sensoren und Algorithmen sollen im späteren Einsatz wissenschaftliche Untersuchungen durchgeführt werden. Durch die Anforderungen wurde festgelegt, dass folgende Sen- 5 2 Anforderungsspezifikation soren an die Roboterplattform angeschlossen werden sollen: • • • • • Vier Ultraschallsensoren (US-Sensoren) Gyroskop Beschleunigungssensor Inertial Measurement Unit (IMU) Inkrementalgeber Neben den genannten sollen noch weitere Sensoren, wie z. B. ein Laserscanner und eine Kamera, in die Plattform integriert werden können. Deren Auswertung ist allerdings sehr komplex, so dass sie direkt an einen Computer angeschlossen werden müssen. Dieser soll - ebenso wie eine Steuerelektronik - im Roboterchassis untergebracht werden. Um den Roboter zu steuern, übergibt der Benutzer entsprechende Daten an den Computer, welche von diesem verarbeitet und an die interne Elektronik weiter gegeben werden. Auch die Beachtung der Umwelteinflüsse, die auf die Roboterplattform einwirken, ist für die Konzeption wichtig. In der Anforderungsdefinition [HHo-09] wurde festgelegt, dass die Roboterplattform keinem Wind, Staub und Nieselregen ausgesetzt wird. Es wird außerdem davon ausgegangen, dass die Umgebungstemperaturen nie stark von der Zimmertemperatur (20 °C) abweichen und die Roboterplattform auch keinen überhöhten Luftfeuchtigkeiten ausgesetzt wird. Lediglich die Beschaffenheit des Bodens hat einen Einfluss auf das System. Unterschiedliche Haftreibungskoeffizienten beeinflussen die maximale Beschleunigung, die Höhe von überwindbaren Kanten und die Odometriegenauigkeit. Die Ebenheit des Bodens hat ebenso einen Einfluss auf die Genauigkeit der Positionsbestimmung mit Inkrementalgebern. Um eine Fortbewegung der Roboterplattform zu ermöglichen, werden Motoren benötigt. Auch die Stromversorgung von Komponenten, wie Elektronikboards, Computer und Motoren hat eine zentrale Bedeutung. Im Systemkontextdiagramm (Abb. 2.1) sind alle genannten Komponenten, Umwelteinflüsse und Verknüpfungen dargestellt. 6 2 Anforderungsspezifikation Gyroskop Beschleunigungssensor IMU Ultraschallsensoren Inkrem entalgeber Bodenbeschaffenheit Motoren Roboterplattform System uhr Benutzer Strom versorgung andere Sensoren Kam era Laserscanner Abbildung 2.1: Systemkontextdiagramm 2.2 Spezifische Anforderungen In diesem Kapitel soll analysiert werden, welche Funktionen die Roboterplattform bereit stellen soll und welche Anforderungen an verschiedene Eigenschaften gestellt werden, die mit diesen Funktionen verbunden sind. Auch die Anforderungen an das Gesamtsystem und die daraus resultierenden Anforderungen werden dargestellt. Am Ende des Kapitels wird die Hard- und Softwarestruktur dargestellt, die sich aus den vorangegangenen Kapiteln ergibt. Die Programmierung des eingebauten Computers soll nicht Bestandteil dieser Arbeit sein. Auch die Aufgaben, die an ihn gestellt werden, sind nicht absehbar. Aus diesen Gründen wird der Computer und die direkt an ihn angeschlossene Sensorik bei der Analyse der Anwendungsfälle nicht beachtet. Da der Computer allerdings die Schnittstelle zu verschiedenen Komponenten bereit stellen soll, werden Anforderungen an ihn gestellt. Auch in die Analyse der Hard- und Softwarestruktur muss er einbezogen werden. 7 2 Anforderungsspezifikation 2.2.1 Funktionale Anforderungen Bevor mit dem Grobentwurf der Roboterplattform begonnen werden kann, muss analysiert werden, welche Funktionen sie umfassen soll und welcher Akteur diese Funktionen aufrufen darf. In einem sog. Anwendungsfalldiagramm (Abb. 2.2) werden diese dargestellt. Roboterplattform Ausgabe der Daten einer IMU IMU Ausgabe der Daten eines Gyroskopes Ausgabe der Daten eines Beschleunigungssensors Gyroskop Beschleunigungssensor Ausgabe von Sensordaten (Vorverarbeitung m öglich) Ausgabe der Daten von an den Motoren verbauten Inkrem entalgebern Inkrem entalgeber Benutzer Vorgabe der translatorischen und rotatorischen Geschw indigkeit Vorgabe einer translatorischen Geschw indigkeit v Ausgabe der Daten von vier US-Sensoren Vorgabe einer rotatorischen Geschw indigkeit ω Ultraschallsensoren Motoren Regelung der vorgegebenen Geschw indigkeiten. System uhr Bestim m ung der aktuellen Geschw indigkeiten Abbildung 2.2: Anwendungsfälle Die Hauptaufgabe der Roboterplattform soll die Navigation in Büros bzw. büronahen Außenbereichen sein. Diese Studienarbeit beschränkt sich auf den mechanischen, elektrotechnischen und programmiertechnischen Teil, der es der Plattform ermöglicht, zu navigieren und Daten der fest verbauten Senso- 8 2 Anforderungsspezifikation ren über einen Computer an den Benutzer zu übermitteln. Außerdem soll die Möglichkeit bestehen, diese Daten teilweise zu verarbeiten, bevor sie an den Benutzer versendet werden. In bestimmten Fällen ist es nicht nötig, alle Daten zu übermitteln. Die Übertragung einzelner Sensordaten ist deshalb sinnvoll. Da die Roboterplattform nach den Vorgaben des Benutzers agieren soll, wird eine Regelung benötigt, die die translatorische und die rotatorische Geschwinidgkeit steuert. Im Anwendungsfalldiagramm (Abb. 2.2) sind alle benötigten Funktionalitäten dargestellt. Hierbei sei erwähnt, dass der im Systemkontextdiagramm (Abb. 2.1) aufgeführte Umwelteinfluss und die Spannungsversorgung in das Anwendungsfalldiagramm nicht aufgenommen werden, da sie keinen direkten Einfluss auf die Funktionen besitzen. An die Roboterplattform wurden verschiedene Anforderungen gestellt. Diese beziehen sich teilweise auf die zuvor genannten Funktionalitäten, aber auch auf allgemeine Eigenschaften der Plattform. Außerdem sollen durch diese Anforderungen bekannte Probleme von bereits existierenden Robotersystemen vermieden und eine ausgeprägte Benutzerfreundlichkeit gewährleisten werden. Alle gestellten Anforderungen sind nachfolgend aufgeführt: Allgemeine Anforderungen: 1 Die Robotermaße sollen 450 mm x 450 mm x 550 mm (Höhe x Breite x Tiefe) nicht überschreiten. 2 Die Plattform soll mit einer Zuladung von 10 kg bis 20 kg ein Gesamtgewicht von 30 kg nicht überschreiten. Anforderungen an Sensoren und deren Befestigung: 3 In die Roboterplattform sollen vier US-Sensoren, ein Gyroskop, Beschleunigungssensor und zwei Inkrementalgeber verbaut werden. 4 Für die IMU soll eine mechanische Aufnahme vorhanden sein, da diese Einheit nicht fest in das System verbaut werden soll, jedoch eine definierte Position und spezielle Anschlussmöglichkeiten benötigt. 5 Im vorderen Teil der Roboterplattform sollen drei und im hinteren Teil einer der vier US-Sensor fest angebracht werden. 6 Sensoren, die nicht fest in das System verbaut werden, sollen einfach austauschbar sein. Zu diesen Sensoren sollen u. a. ein Laserscanner und eine Kamera gehören. 7 Neue Sensorik soll mechanisch einfach in das System integrierbar sein. 9 2 Anforderungsspezifikation Anforderungen an die im System verbauten Elektronikkomponenten: 8 Alle im Roboter verbauten Elektronikkomponenten (die Sensorplatine ausgenommen) sollen an eine Steuereinheit angeschlossen werden. Diese soll zum einen die Daten der Inkrementalgeber und US-Sensoren aufnehmen, und zum anderen definierte Fahrten durch die Ausführung einer v/ω-Regelung zulassen. 9 Beschleunigungssensor, Gyroskop und IMU sollen auf einer eigenen Platine, die direkt an den Computer angeschlossen wird, untergebracht werden. 10 Durch einen verbauten Computer soll die Kommunikation zwischen dem Benutzer und den internen Elektronikkomponenten ermöglicht werden. 11 An den Computer sollen Sensoren (Laserscanner, Kamera, usw.) und die Sensorplatine angeschlossen werden. 12 Der Computer soll möglichst wenig elektrische Leistung verbrauchen und gleichzeitig einen schnellen Prozessor besitzen. Anforderungen an den Antrieb: 13 Der Antrieb der Roboterplattform soll auf der Basis eines 4- oder 6-Rad Skid Steer Antriebes gebaut werden. 14 Kanten von bis zu 50 mm Höhe sollen überwunden werden können. 15 Die Plattform soll eine Geschwindigkeit von 1 m/s erreichen können. 16 Die Plattform soll eine Beschleunigung von 2 m/s2 erreichen können.1 Anforderungen an die Spannungsversorgung: 17 Die Betriebszeit soll mindestens 2 h betragen. 18 Die Fahrzeit soll mindestens 1 h betragen. Sie ist Teil der Betriebszeit. 19 Die Elektronik des gesamten Systems soll durch einen 12 V Akku versorgt werden. 1 Durch [HHo-09] und die späteren Benutzer wurde keine Beschleunigung für die Roboterplattform festgelegt. Da diese für den Benutzerkomfort sehr wichtig ist, musste sie durch den Autor festgelegt werden. Um Bewegungsabläufe möglichst schnell abarbeiten zu können und dem Benutzer die Arbeit mit der Plattform angenehmer zu gestalten, wurde sie mit 2 m/s2 relativ hoch gewählt. 10 2 Anforderungsspezifikation Die zuvor mit definierten Größen festgelegten Vorgaben werden in Tabelle 2.1 aufgelistet. Tabelle 2.1: Anforderungen an die Roboterplattform Beschreibung Wert Maximalgewicht Maximalgeschwindigkeit Maximalbeschleunigung Maximale Stufenhöhe Versorgungsspannung Minimale Betriebszeit Minimale Fahrzeit mmax = 30 kg vmax = 1 m/s amax = 2 m/s2 hmax = 50 mm U = 12 V TBetrieb = 2 h TFahrt = 1 h Aus einer Vielzahl der genannten Anforderungen resultieren weiter Ansprüche an die Roboterplattform. Diese Abhängigkeiten sind sehr komplex und können dem Leser nur schwer in Textform verständlich gemacht werden. Aus diesem Grund wurde ein Anwendungsfalldiagramm (Abb. 2.3 bzw. 2.4) erstellt, welches diese Abhängigkeiten verdeutlicht. 11 2 Anforderungsspezifikation <<deriveReqt>> <<requirement>> Fähigkeit zu Überw indung von Kanten Id = "14" Text = "Kanten von bis zu 50 mm Höhe sollen überwunden werden können." <<deriveReqt>> <<deriveReqt>> <<requirement>> Erreichen einer Mindestbeschleunigung Id = "16" Text = "Die Plattform soll eine Beschleunigung von 2 m/s² erreichen können. " Id = "2.1" Text = "Der Reibkoeffizient zwischen Reifen und Boden sollte möglichst groß sein." Id = "15" Text = "Die Plattform soll eine Geschwindigkeit von 1 m/s erreichen können." <<deriveReqt>> <<deriveReqt>> <<deriveReqt>> <<requirement>> Reibkoeffizient zw ischen Reifen und Boden <<requirement>> Erreichen einer Mindestgeschw indigkeit <<requirement>> Mom ent der Motor-Getriebe-Einheite <<requirement>> Drehzahl der Getriebew elle Id = "2.2" Text = "Alle Motor-Getriebe-Einheiten müssen zusammen ein ausreichendes Moment erzeugen können." Id = "2.3" Text = "Die Getriebewelle muss sich mit einer bestimmten Drehzahl drehen können." <<deriveReqt>> <<trace>> <<trace>> <<trace>> <<trace>> <<trace>> <<trace>> <<requirement>> Radgröße Id = "2.4" Text = "Die Räder müssen so groß sein, dass die Möglichkeit besteht, 50mm hohe Stufen zu überwinden und bei einer bestimmten Winkelgeschwindigkeit der Getriebewelle eine vorgegebene Geschwindigkeit erreicht wird." <<deriveReqt>> <<requirement>> benötigte m echanische Leistung der Motoren bei Nennw erten Id = "2.5" Text = "Um eine Mindestbeschleunigung und Mindestgeschwindigkeit dauerhaft erreichen zu können, benötigen alle Motoren eine bestimmte Leistung" <<deriveReqt>> <<deriveReqt>> <<requirement>> Ausw ahl geeigneter Reifen und Felgen Id = "2.7" Text = "Es müssen Reifen und Felgen ausgewählt werden, die die Anforderungen an Haftreibungskoeffizient, Durchmesser und Stabilität erfüllen." <<requirement>> Getriebeübersetzung <<deriveReqt>> Id = "2.6" Text = "Um die variable Drehzahl der Motoren an die benötigte Drehzahl der Räder anzupassen, muss ein geeignetes Getriebe verbaut werden." <<deriveReqt>> <<trace>> <<requirement>> Nennm om ent der Motoren Id = "2.8" Text = "Um eine bestimmte mechanmische Leistung dauerhaft liefern zu können, müssen die Nenndrehzahl und das Nennmoment groß genug sein." <<requirement>> Nenndrehzahl der Motoren Id = "2.9" Text = "Um eine bestimmte mechanische Leistung dauerhaft liefern zu können, müssen die Nenndrehzahl und das Nennmoment groß genug sein." <<deriveReqt>> <<requirement>> Raddurchm esser sind beschränkt Id = "2.10" Text = "Durch die maximale Tiefe der Roboterplattform sind die Raddurchmesser beschränkt. Der maximale Raddurchmesser eines 4-Rad-Skid-Steer Antriebes beträgt 270mm (bei 10mm Freiraum zwischen den Rädern) Der maximale Raddurchmesser eines 6-Rad-Skid-Steer-Antriebes beträgt 175mm bei (bei 12,5mm Freiraum zwischen den Rädern)" <<trace>> <<deriveReqt>> <<requirement>> Gesam tgew icht und Zuladungsm öglickeit Id = "2" Text = "Die Plattform soll mit einer Zuladung von 10 kg bis 20 kg ein Gesamtgewicht von 30 kg nicht überschreiten." <<deriveReqt>> <<requirement>> Antriebssystem <<requirement>> Einhaltung der Maxim alm aße Id = "13" Text = "Der Antrieb der Roboterplattform soll auf der Basis eines 4- oder 6-Rad-Skid-Steer-Antriebes gebaut werden." Id = "1" Text = "Die Robotermaße sollen 450 mm x 450 mm x 550 mm (Höhe x Breite x Tiefe) nicht überschreiten." <<requirement>> Beschränkung der Kom ponenten Abm essungen Id = "2.11" Text = "Keine Komponenten bzw. Kombination aus zusammengehörigen Komponenten, darf die maximalen Abmaße von 450mmx450mmx550mm (hxbxt) überschreiten. Diese maximalen Maße sind v o n der Orientierung der Komponente im Roboterchassis abhängig." <<deriveReqt>> Abbildung 2.3: Anforderungsdiagramm Teil 1, blau: gestellte Anforderungen, rosa: abgeleitete Anforderungen 12 2 Anforderungsspezifikation <<requirement>> Einfache Im plem entierung neuer Sensorik Id = "7" Text = "Neue Sensorik soll mechanisch einfach in das System integrierbar sein." <<requirement>> Kom m unikation m it dem Benutze r Id = "10" Text = "Durch einen verbauten Computer soll die Kommunikation zwischen dem Benutzer und den internen Elektronikomponenten ermöglicht werden." <<deriveReqt>> <<requirement>> Anpassung der Sensoraufnahm e Id = "112" Text = "Um Sensoren schnell wechseln zu können und noch nicht verwendete Sensoren schnell implementieren zu können, muss eine geeignete Sensoraufnahme konstruiert werden." <<deriveReqt>> <<requirement>> Austauschbare Sensorik Id = "6" Text = "Sensoren, die nicht fest in das System verbaut werden, sollen einfach austauschbar sein. Zu diesen sensoren sollen unter anderem ein Laserscanner und eine Kamera gehören." <<requirement>> Fest verbaute Sensoren Id = "3" Text = "In die Roboterplattform sollen vier US-Sensoren, ein Gyroskop, Beschleunigungssensor und zwei Inkrementalgeber verbaut werden." <<requirement>> Spannungsversorgung Id = "19" Text = "Die Elektronik des gesamten Systems soll durch einen 12V Akku versorgt werden können." <<requirement>> E lektrische Leistungsaufnahm e und Rechenleistung des Com puters Id = "12" Text = "Der Computer soll möglichst wenig elektrische Leistung verbrauchen und gleichzeitig einen schnellen Prozessor besitzen." Id = "8" Text = "Alle im Roboter verbauten Elektronikkomponenten (die Sensorplatine ausgenommen) sollen an eine Steuereinheit angeschlossen werden. Diese soll zum einen die Daten aller in der Roboterplattform verbauten Sensoren aufnehmen und zum anderen definierte Fahrten durch die Ausführung einer v/omega Regelung zulassen." <<deriveReqt>> <<deriveReqt>> <<deriveReqt>> <<requirement>> Entw icklung eines geeigneten Kom m unikationsprotokolls <<deriveReqt>> <<requirement>> Regelung der Motoren Id = "113" Text = "Zur unkomplizierten Kommunikation zwischen Benutzer und Roboterplattform muss ein einfach zu verwendendes Protokoll entwickelt werden" Id = "114" Text = "Um bestimmte Vorgaben an translatorische und rotatorische Geschwindigkeit machen zu können, wird eine Regelung benötigt" <<deriveReqt>> <<requirement>> Benötigte Schnittstellen <<requirement>> Aufnahm e der Geschw indigkeiten Id = "115" Text = "Für die Kommunikation zwischen den Elektronikkomponenten, dem Benutzer und dem Computer, werden geeignete Schnittstellen benötigt. u. a. müssen für die geplanten Sensoren sieben USB-Buchsen vorgesehen werden." Id = "116" Text = "Zur Regelung der Geschwindigkeiten werden die aktuellen Geschwindigkeiten benötigt, welche mittels Inkrementalgeber aufgenommen werden sollen." <<deriveReqt>> <<requirement>> Verteilung der US-Sensoren Id = "5" Text = "Im vorderen Teil der Roboterplattform sollen drei und im hinteren Teil einer der vier US-Sensor fest angebracht werden." <<requirement>> Steuereinheit <<requirement>> Aufnahm e für die IMU Id = "4" Text = "Für die Inertial Measurement Unit (IMU) soll eine mechanische Aufnahme vorhanden sein, da diese Einheit nicht fest in das System verbaut werden soll aber eine definierte Position und spezielle Anschlussmöglichkeiten benötigt." <<deriveReqt>> <<deriveReqt>> <<requirement>> Am Com puter angeschlossene Sensoren Id = "11" Text = "An den Computer sollen Sensoren (Laserscanner, Kamera, usw.) und die Sensorplatine angeschlossen werden. " <<requirement>> Sensorplatine <<deriveReqt>> <<requirement>> Sensoraufnahm en <<deriveReqt>> Id = "117" Text = "Um alle fest verbauten Sensoren befestigen zu können, werden geeignete Aufnahmen benötigt." <<requirement>> Leistungsaufnahm e der verbauten Kom ponenten Id = "9" Text = "Beschleunigungssensor, Gyroskop und IMU sollen auf einer eigenen Platine, die direkt an den Computer angeschlossen wird, untergebracht werden." <<requirement>> Minim ale Betriebszeit Id = "17" Text = "Die Betriebszeit soll mindestens 2h <<deriveReqt>> betragen." Id = "118" Text = "Da die Leistungsreserven auf <<deriveReqt>>einer Roboterplattform begrenz sind, muss abhängig von der minimalen Betriebs- und Fahrzeit sehr auf die Leistungsaufnahme der einzelnen Komponenten geachtet werden." <<requirement>> Minim ale Fahrzeit <<deriveReqt>> Id = "18" Text = "Der Fahrzeit soll mindestens 1h betragen. Sie ist Teil der Betriebszeit." Abbildung 2.4: Anforderungsdiagramm Teil 2, blau: gestellte Anforderungen, rosa: abgeleitete Anforderungen 13 2 Anforderungsspezifikation 2.2.2 Analyse der Hardwarestruktur In den vorangegangenen Kapiteln wurden die Aufgaben und der grobe Aufbau der Roboterplattform analysiert. Im Folgenden wird beschrieben, welche Hardware verbaut werden muss, um die in Abbildung 2.1 dargestellten Sensoren, Aktoren und die restliche Hardware miteinander zu verbinden. Wie bereits in Kapitel 2.1 erläutert, soll ein Computer die gesamte Steuerung der Roboterplattform übernehmen. An diesen werden ein Laserscanner, eine Kamera, eine Sensorplatine und verschiedene andere Sensoren angeschlossen. Der Computer soll die rotatorische und translatorische Geschwindigkeit der Roboterplattform vorgeben sowie verschiedene Daten senden und abfragen können. Diese Befehle und Abfragen werden in Form von Nachrichten an die Sensorplatine bzw. die interne Elektronik der Plattform übermittelt und müssen dort verarbeitet werden. Der Einsatz einer Komponente, die diese Nachrichten verarbeitet und gleichzeitig Aufgaben wie die Regelung und Steuerung der restlichen Hardware übernimmt, wird im Bezug auf die interne Elektronik als vorteilhaft betrachtet. Diese Komponente wird im Folgenden als Steuereinheit bezeichnet. Da es sich bei der Ansteuerung von Motoren und der Auswertung von Inkrementalgebern um Aufgaben handelt, die spezielle Anforderungen an die jeweilige Hardware stellen, wird pro Motor ein Motortreiber sowie für jeden Inkrementalgeber eine Quadraturencoder-Auswertung benötigt. Diese sind speziell für die genannten Aufgaben ausgelegt. Auf einer eigens entwickelten Platine werden ein Beschleunigungssensor, ein Gyroskop und eine IMU untergebracht. Motortreiber und Quadraturencoder-Auswertung sollen zusammen mit den vier US-Sensoren über Bussysteme an die Steuereinheit angeschlossen werden. Das interne Blockdiagramm (Abb. 2.5) zeigt alle Hardwarekomponenten und deren Verbindungen untereinander. Die Funktionen der Schnittstellen können der nachfolgenden Aufzählung entnommen werden. 14 2 Anforderungsspezifikation <<block>> Quadraturencoder-Ausw erter 1 <<block>> Ink rem entalgeber <<block>> Se nsorboard 2 <<block>> Mikrocontroller Steuereinheit 3 5 6 4 7 <<block>> Motortreiber <<block>> Motore n <<block>> Com pute r 11 <<block>> IMU <<block>> Gyroskop 8 <<block>> andere Sens oren <<block>> Beschleunigungssensor 9 <<block>> Kamera 10 <<block>> Laserscanner <<block>> US-Sensore n Abbildung 2.5: Internes Blockdiagramm für die Hardware 1 Übermittlung der Quadratursignale von den Inkrementalgebern zur Quadraturencoder-Auswertung 2 Abfrage und Übermittlung der über einen gewissen Zeitraum aufaddierten Quadratursignalwerte 3 Ansteuerung der US-Sensoren und Übertragung der Entfernungswerte an die Mikrocontroller-Steuereinheit 4 Kommunikation zwischen Computer und Mikrocontroller-Steuereinheit, Übertragung von Sensordaten und Stellwerten für die v/ω Regelung 5 Senden einer Soll-Pulsweitenmodulation (PWM) an den Motortreiber und Übertragung der aktuellen Motorstromwerte an die MikrocontrollerSteuereinheit 6 Ansteuerung der Motoren mit einem PWM-Signal 7 Ansteuerung der Sensorplatine und Übertragung der Sensordaten an den Computer 15 2 Anforderungsspezifikation 8 Kommunikation zwischen dem Computer und anderen Sensoren 9 Kommunikation zwischen dem Computer und einer Kamera 10 Kommunikation zwischen dem Computer und einem Laserscanner 11 Kommunikation zwischen Computer und Benutzer 2.2.3 Analyse der Softwarestruktur 9 1 7 <<block>> IFA-Algorithm en 6 2 4 5 8 12 11 3 8 <<block>> Sys te mk ontrolle und Kom m unikations softw are <<block>> Datenverarbeitung 13 14 <<block>> Re gelung <<block>> Date nerfassung 16 17 <<block>> Motorteibe rsoftw are 18 15 19 <<block>> Inkre m entzählsoftw are 20 Abbildung 2.6: Internes Blockdiagramm für die Software Jede Hardwarekomponente, die durch einen Mikrocontroller gesteuert wird, benötigt eine entsprechende Software, um die gegebenen Funktionen aufrufen zu können. An dieser Stelle der Arbeit ist nicht klar, ob alle benötigten elektronischen Komponenten auf einer Platine verbaut und von nur einem Controller gesteuert werden, oder ob jede Komponente ihren eigenen Controller besitzt. Aus diesem Grund wird vorerst von getrennten Teilsystemen mit eigenen Mikrocontrollern ausgegangen. Jedes dieser Systeme benötigt somit eine eigene Software, um kommunizieren und die hardwareseitig angebotenen Funktionen aufrufen zu können. Zusätzlich wurde in den vorangegangenen Kapiteln festgelegt, dass auf der Steuereinheit eine v/ω Regelung ausgeführt 16 2 Anforderungsspezifikation werden und auf der Sensorplatine eine Vorverarbeitung der aufgenommenen Sensordaten möglich sein soll. Weiterhin sollen auf dem Computer Algorithmen des IFA ausgeführt werden. Diese Informationen sind im internen Blockdiagramm für die Software (Abb. 2.6) dargestellt. Die Schnittstellen zwischen den Softwareblöcken können diesem Diagramm entnommen werden. Ihre Funktionen sind in der nachfolgenden Aufzählung erläutert. 1 Ausgabe von Daten durch den Computer an den Benutzer 2 Erfassen von Daten durch den Computer, die vom Benutzer eingegeben werden 3 Schnittstelle zwischen dem Computer und einem Laserscanner 4 Schnittstelle zwischen dem Computer und einer Kamera 5 Schnittstelle zwischen dem Computer und anderen Sensoren 6 Schnittstelle zwischen interner Elektronik und Computer: Übertragung von Sollwerten an die v/ω Regelung 7 Schnittstelle zwischen interner Elektronik und Computer: Übertragung von aufgenommenen Inkrementalgeber- und Entfernungswerten an den Computer 8 Schnittstelle zwischen Computer und Sensorplatine: Abfrage von den auf der Sensorplatine aufgenommenen Sensordaten 9 Schnittstelle zwischen Computer und Sensorplatine: Übertragung von teilweise vorverarbeiteten Sensordaten an die IFA-Algorithmen 10 Übergabe der über einen bestimmten Zeitraum aufaddierten Quadratursignale der Inkrementalgeber 11 Übergabe des aktuell durch dem Motor fließenden Stroms 12 Übergabe der Sollwerte v und ω von der Kommunikationssoftware an die Regelung 13 Übermittlung der durch die Datenerfassung der Sensorplatine aufgenommenen translatorischen und rotatorischen Beschleunigungen 17 2 Anforderungsspezifikation 14 Erfassung der durch ein Gyroskop übermittelten Daten 15 Erfassung der durch einen Dreiachsbeschleunigungssensor übermittelten Daten 16 Erfassung der durch eine IMU übermittelten Daten 17 Übergabe einer Soll-PWM von der Regelung an die Motortreibersoftware 18 Erfassung der aktuellen Motorströme 19 Ausgabe eines PWM-Signals zur Steuerung der Motoren 20 Erfassung der durch die Inkrementalgeber erzeugten Quadratursignale Um einen besseren Überblick über die Verteilung der Softwareblöcke in den einzelnen Hardwarekomponenten geben zu können, wurde ein Verteilungsdiagramm erstellt (Abb. 2.7). <<block>> Quadraturencoder-Ausw erter <<artifact>> Inkrementzählsoftware 1 <<block>> Ink rem entalgeber <<block>> Se nsorboard <<block>> Motortreiber <<block>> Mikrocontroller Steuerinheit 2 <<artifact>> Regelung 3 <<artifact>> 5 <<artifact>> Systemkontrolle und Kommunikationssoftware Motortreibersoftware 6 4 7 <<block>> Motore n <<block>> Com pute r 11 <<artifact>> <<artifact>> Datenverarbeitung IFA-Algorithmen <<artifact>> Datenerfassung <<block>> IMU <<block>> Gyroskop 8 <<block>> andere Sens oren <<block>> Beschleunigungssensor 9 <<block>> Kamera 10 <<block>> Laserscanner <<block>> US-Sensore n Abbildung 2.7: Verteilungsdiagramm. Die Ziffern sind analog zu denen des Internen Blockdiagramms für die Hardware. 18 3 Antriebssysteme Roboterplattformen müssen oft an mehr als einem Ort verharren und eine Vielzahl von Positionen oder Pfaden abfahren, um unterschiedliche Aufgaben zu erfüllen. Eine gewisse Beweglichkeit ist folglich unerlässlich. Abhängig von dem Medium und dessen Konsistenz sowie den Anforderungen an eine Roboterplattform, gibt es zahlreiche Arten von Antriebssystemen. Antriebe, die zum Fliegen ausgelegt sind, unterscheiden sich meist vollkommen von denen, die zum Schwimmen oder Laufen gebaut wurden. Im Rahmen dieser Arbeit soll ein System entwickelt werden, das sich auf nahezu glattem Untergrund bewegen, aber dennoch bis zu fünf Zentimeter hohe Kanten überwinden soll. 3.1 Vergleich der Antriebssysteme bestehender Roboterplattformen Auf dem Weltmarkt beschäftigt sich eine Vielzahl von Firmen mit dem Bau von Robotersystemen. Diese sind meist speziell für Forschungsaufgaben ausgelegt. Unterschiedliche Anforderungen der Nutzer haben dazu geführt, dass sich zahlreiche verschiedenartige Roboterplattformen durchgesetzt haben. Im Anschluss sollen einige von diesen analysiert und verglichen werden, um deren positive Eigenschaften zu bündeln und in einem System zusammenzufassen. Durch die Anforderungen des IFA ([HHo-09]) wurde vorgegeben, dass ein 4bzw. 6-Rad Skid Steer Antrieb (siehe Kapitel 3.2) verwendet werden soll, um das zu entwickelnde System möglichst einfach halten und gleichzeitig bis zu 50 mm hohe Kanten überwinden zu können. Aus diesem Grund werden im Folgenden ausschließlich Roboter verglichen, die über einen Skid Steer Antrieb verfügen. Es gibt nur eine sehr geringe Anzahl an kommerziell verfügbaren Roboterplattformen, deren Antrieb auf der Basis eines Skid Steer Antriebes konstruiert wurde. Aus diesem Grund beschränkt sich der nachfolgende Vergleich auf den Marktführer Pioneer 3 AT ([Mob-09], [Mob2-09]) sowie den deutschen Volksbot RT4 ([IAI2-09], [IAI-09]). 19 3 Antriebssysteme 3.1.1 Pioneer 3 AT Der Pioneer 3 AT (Abb. 3.2(a)) ist ein Produkt der amerikanischen Firma „MobileRobots“. Es ist der weltweit am häufigsten verkaufte mobile Roboter, dessen Antrieb auf der Basis eines Skid Steer Antriebes konstruiert wurde. Er soll v. a. wissenschaftlichen Zwecken dienen. Es handelt sich hier um einen hoch flexiblen Roboter, der für jedes Terrain geeignet ist. Die beiden Antriebseinheiten (rechts und links) bestehen jeweils aus zwei Rädern, zwei Motoren, einem Inkrementalgeber sowie einer mechanischen Kopplung, durch die der Gleichlauf der Räder gewährleistet wird. Die Motoren werden paarweise durch einen Motortreiber angesteuert. (vgl. Tab. A.1, [Mob-09], [Mob2-09]) 3.1.2 Volksbot RT4 Der Volksbot RT4 (Abb. 3.2(b)) ist Teil eines Roboter-Baukastensystems, das vom Fraunhofer-Institut für Intelligente Analyse- und Informationssysteme (IAIS) entwickelt wurde. Ziel dieses Systems ist es, Roboterplattformen innerhalb von kürzester Zeit an Kundenbedürfnisse anzupassen. Der Volksbot RT4 wird von zwei Motoren angetrieben. Die Räder jeder Antriebseinheit sind mechanisch gekoppelt und der abgefahrene Weg wird mit Inkrementalgebern aufgenommen. Damit der Schwerpunkt des Roboters im Zentrum der Konstruktion liegt, wurde einer der Motoren im Vorder- und einer im Hinterteil montiert. Abbildung 3.1(b) zeigt die Verteilung der im Roboter verbauten Komponenten (vgl. Tab. A.1, [IAI2-09], [IAI-09]). (a) Volksbot RT4 von vorn (b) Volksbot RT4 von oben (c) Volksbot RT4 von der Seite Abbildung 3.1: Volksbot RT4 Modell[IAI2-09] 20 3 Antriebssysteme 3.1.3 Vergleich von Pioneer 3 AT und Volksbot RT4 (a) Pioneer 3 AT [DMU-09] (b) Volksbot RT4 [SCE-09] Abbildung 3.2: Kommerzielle Robotersysteme mit Skid Steer Antrieb Ein grundlegender Vergleich der beiden Roboterplattformen wurde in tabellarischer Form angefertigt (Tab. A.1). Der Aufbau der Antriebssysteme der zu vergleichenden Roboter ist nahezu identisch. Beide bestehen aus zwei separaten Antriebseinheiten, in denen jeweils zwei Räder und ein Inkrementalgeber verbaut sind. Die beiden Räder der jeweiligen Einheiten sind mechanisch durch einen Zahnriemen gekoppelt. Lediglich in der Anzahl der Motoren unterscheiden sich beide Systeme grundlegend. Vier Gleichstrommotoren von der Firma PittmanExpress mit insgesamt 140 W Antriebsleistung setzen den Pioneer 3 AT in Bewegung, wohingegen der Volksbot RT4 von zwei Motoren der Firma maxon motor ag angetrieben wird, die bei Nennwerten 226 W Leistung abgeben können. An einem Motortreiber sind im Pioneer 3 AT jeweils zwei Motoren angeschlossen. Der Volksbot RT4 bietet dagegen jedem Motor einen eigenen Treiber. Die sehr unterschiedliche Antriebsleistung resultiert hauptsächlich aus den Spannungen, die auf den Roboterplattformen verwendet und mit denen die Motoren betrieben werden. Im Rahmen der Recherchen zu dieser Studienarbeit konnte kein 12 V Motor gefunden werden, der mehr als 65 W Antriebsleistung bietet und zusammen mit einem Getriebe weniger als zwei Kilogramm wiegt. Im Bereich von 24 V war es hingegen sehr viel einfacher, Motoren zu finden, die bei niedrigem Gewicht eine hohe Leistung bieten. Mit sehr hoher Wahrscheinlichkeit haben sowohl der vergleichsweise niedrige Preis der PittmanExpress Motoren als auch die Dimensionen der gewählten 21 3 Antriebssysteme Motoren dazu geführt, dass die Entwickler des Pioneer 3 AT vier Antriebe verbaut haben. Durch diese symmetrische Anordnung der Motoren werden deren Gewichtskräfte gleichmäßig auf die Achsen verteilt. Im Vergleich zum Volksbot RT4 erfolgt somit eine bessere Verteilung der Kräfte. Dessen Konstrukteure haben sich dazu entschlossen, lediglich einen Motor im vorderen und einen im hinteren Teil des Roboters zu platzieren. Dadurch befindet sich - wie auch im Fall des Pioneer 3 AT - der Schwerpunkt der Roboterplattform in dessen Mitte. Da die Motoren allerdings nur an einer Seite befestigt werden und diese relativ lang und schwer sind, wirken besonders bei Fahrten durch unwegsames Gelände immer wieder große Momente auf die Motorhalterungen. Diese Momente müssen durch das Roboterchassis aufgenommen und kompensiert werden. Die Durchmesser der Räder der beiden Robotersysteme unterscheiden sich sehr stark voneinander. Während der Volksbot RT4 Reifen mit einem Durchmesser von 260mm besitzt, fährt der Pioneer 3 AT auf Reifen mit einem Durchmesser von 215mm. Da der Pioneer 3 AT genau so hoch ist wie sein deutscher Konkurrent, ist es aufgrund seiner kleineren Räder möglich, im oberen Teil des Roboterchassis Sensoren anzubringen, ohne zusätzliche Aufbauten am Roboterdach befestigen zu müssen. In Abbildung 3.2(a) sieht man z. B. Sonarsensoren, deren Schall aufgrund der geringen Reifenhöhe ungehindert aus dem Bereich des Roboters entweichen kann. Die Möglichkeit des Anbringens von Sensoren an den Volksbot RT4 ist durch Aluminiumprofile gegeben. Es ist allerdings zu beachten, dass sich zumeist eine Veränderung der Außenmaße ergibt, sobald weitere Sensoren angebracht werden. Im Hinblick auf das Verhältnis zwischen Spurweite und Achsabstand weisen = 1,41 beide Systeme annähernd die gleichen Werte auf. Diese betragen 402mm 285mm = 1,48 beim Volksbot RT4 (Abb. 3.1). beim Pioneer 3 AT [Mob2-09] und 415mm 280mm Daraus lässt sich schlussfolgern, dass die Fahreigenschaften mit hoher Wahrscheinlichkeit nahezu identisch sind. Dieses Verhältnis ist vor allem für die Genauigkeit der Odometrie interessant. In Kapitel 3.3 wird darauf genauer eingegangen. Im Gegensatz zum Pioneer 3 AT hat der Volksbot RT4 den Vorteil, dass nur zwei Motoren verbaut sind. Folglich gibt es weniger mechanische Teile und Fehlerquellen. Außerdem besteht die Möglichkeit, größere Motoren einzusetzen. Diese haben meist den Vorteil, dass ihre maximalen Drehzahlen geringer sind als die selbigen kleinerer Motoren. Somit kann ein Getriebe mit einer geringeren Untersetzung gewählt werden, welches in den meisten Fällen einen besseren Wirkungsgrad besitzt. Zusätzlich sind zwei kleine Motoren, die zusammen eine ähnliche Leistung liefern wie ein größerer Motor, in den meisten 22 3 Antriebssysteme Fällen zusammen länger als dieser große Motor. Demzufolge ist es sinnvoll, den Aufbau des Volksbot RT4 zu favorisieren, da ein besserer Wirkungsgrad des Antriebsstrangs zu erwarten ist und die vorgegebene Maximalbreite besser eingehalten werden kann. Um das Roboterchassis bei Fahrten von den durch die Gewichtskräfte der Motoren erzeugten Momente zu entlasten, wäre es durchaus denkbar, jeden der beiden Motoren mit zwei Befestigungen zu stabilisieren. Dadurch bestünde zusätzlich die Möglichkeit, die Gewichtskräfte der Motoren gleichmäßig auf das Chassis zu verteilen. 3.2 Der Skid Steer Antrieb Im Gegensatz zu anderen Antriebssystemen besitzen Fahrzeuge mit Skid Steer Antrieb die Fähigkeit, unebenes Gelände zu befahren und dennoch vergleichsweise wendig zu sein. Diese Eigenschaft macht sie vor allem für das Militär und als Baufahrzeuge (z. B. Panzer und Bagger) sehr interessant. 3.2.1 Aufbau und Eigenschaften von Skid Steer Antrieben linkes Radpaar rechtes Radpaar Encoder linkes Radpaar rechtes Radpaar Motoren linkes Radpaar rechtes Radpaar Encoder Encoder Motoren Motoren mechanische Kopplung der Radpaare (a) 4-Rad Skid Steer Antrieb mechanische Kopplung der Radtripel (b) 6-Rad Skid Steer Antrieb mechanische Kopplung des Kettenantriebes (c) Ketten Skid Steer Antrieb Abbildung 3.3: Eine Auswahl von Skid Steer Antrieben Skid Steer Antriebe bestehen grundsätzlich aus zwei separaten Antriebseinheiten, in welchen jeweils mindestens zwei mechanisch gekoppelte Räder und ein Motor vorhanden sind. Beide Einheiten können einzeln angesteuert werden. Auch kettengetriebene Fahrzeuge wie Panzer oder Raupenbagger zählen 23 3 Antriebssysteme zur Kategorie der Skid Steer Fahrzeuge. Gebräuchlich sind u. a. die in Abbildung 3.3 dargestellten Skid Steer Antriebe. Die Bilder sollen einen groben Überblick über die Arten von Skid Steer Antrieben geben. Beide Antriebseinheiten eines Skid Steer Antriebes werden von mindestens einem Motor angetrieben. Zur Positionierung wird standardmäßig ein odometriebasiertes System verwendet. Vorteile des Skid Steer Antriebes sind - wie auch bei dem Differentialantrieb der einfache mechanische Aufbau, die gute Manövrierbarkeit sowie die Fähigkeit, sich um die eigene Achse drehen zu können. Weiterhin besitzt ein System mit Skid Steer Antrieb die Eigenschaft einer sehr guten Geländegängigkeit. Neben den Vorteilen sind hier ebenso die Nachteile des Skid Steer Antriebes zu berücksichtigen. Bereits der Ausdruck „Skid Steer“, der ins Deutsche übersetzt soviel wie „rutschend steuern“ bedeutet, verdeutlicht Probleme des Systems. Um Kurven zu fahren, müssen die Räder zusätzlich zu ihrer normalen Drehbewegung eine seitliche Gleitbewegung ausüben. Dadurch wird die genaue Positionierung erschwert und ein hohes Moment erzeugt, welches vom Robotergehäuse aufgenommen und durch die Motoren aufgebracht werden muss. Um diese Gleitbewegung sowie das normale Fahrverhalten voraussagen zu können, muss das kinematische Modell des Skid Steer Antriebes bekannt sein. Aufgrund des engen Zusammenhangs von Skid Steer und Differentialantrieb soll im folgenden Kapitel eine nähere Betrachtung des kinematischen Modells des Differentialantriebes erfolgen. 3.2.2 Der Differentialantrieb und dessen kinematisches Modell Da der Aufbau von Skid Steer Antrieben dem von Differentialantrieben sehr ähnelt, soll im Folgenden das kinematische Modell des Differentialantriebes betrachtet werden. Diese Betrachtungen sind für die Beschreibung des kinematischen Modells von Skid Steer Antrieben essentiell. Der Differentialantrieb (Abb. 3.4) ist das Antriebssystem mit dem einfachsten mechanischen Aufbau. Er besteht aus zwei separaten Antriebseinheiten, welche aus einem Rad und mindestens einem Motor zusammen gesetzt sind. Oft ist ein Inkrementalgeber auf den beiden Motorwellen verbaut, um den Weg aufzunehmen, den der Roboter zurücklegt. Motor und Rad sind oft ohne Kupplung über ein Getriebe miteinander verbunden. Eine weitere Eigenschaft der meisten Differentialantriebe besteht darin, dass die Achsen, um die sich die Räder drehen, deckungsgleich sind. Aufgrund ihres Aufbaus sind Roboter mit dem genannten Antriebssystem sehr wendig und 24 3 Antriebssysteme gut positionierbar. Die hohe Wendigkeit resultiert im Wesentlichen aus der Eigenschaft, dass das Instantaneous center of curvature (ICC) eines Roboters mit Differentialantrieb auf jedem Punkt entlang der Achsen, um die sich die Räder drehen, liegen kann. linkes Rad rechtes Rad Encoder Motoren Stützräder Abbildung 3.4: Beispielhafter Differentialantrieb Hervorzuheben ist zudem die gute Positionsbestimmung des Systems, die mittels Odometrie durchführbar ist. Um diese allerdings nutzen zu können, muss das kinematische Modell und damit auch das ICC sowie die Gesamtgeschwindigkeit vges und die Winkelgeschwindigkeit ω des Differentialantriebes bekannt sein. Das ICC ist der Punkt, um den sich das System bewegt. Das kinematische Modell wird in Abbildung 3.5 dargestellt. vl y vges v r ω x L/2 ICC L/2 a Abbildung 3.5: Modell des Differentialantriebes – Vereinfachtes Modell eines Skid Steer Antriebes 25 3 Antriebssysteme Um die unbekannten Werte zu bestimmen, werden die Geschwindigkeiten vl und vr als bekannt vorausgesetzt. Diese können bei bekannten Radradien durch Inkrementalgeber aufgenommen und durch die Elektronik bestimmt werden. Über den Strahlensatz können folgende Zusammenhänge ermittelt werden: vl vr = (3.1) a − L/2 a + L/2 vl vges = a a + L/2 (3.2) Auch die Spurweite L des vorliegenden Systems muss bekannt sein. Die Gleichung 3.1 kann somit nach dem gesuchten Abstand a umgestellt werden: a= L/2 · (vl + vr ) vl − vr (3.3) Der Abstand a und die daraus resultierende Position des ICC = (a,0) (siehe Abb. 3.5) ist folglich bekannt. Aus der Gleichung 3.2 kann die Gesamtgeschwindigkeit vges des Systems ermittelt werden. vl (3.4) vges = L 1 + 2a Wird in die Gleichung 3.4 die ermittelte Strecke a aus Gleichung 3.3 eingesetzt, so ergibt sich die Gesamtgeschwindigkeit vges zu: vges = vr + vl 2 (3.5) Die letzte unbekannte Variable ist die Winkelgeschwindigkeit ω. Allgemein gilt: v = ω · lICC (3.6) lICC beschreibt den Abstand zwischen einem beliebigen Punkt, der die Geschwindigkeit v besitzt, und dem ICC. Wird die Gleichung 3.6 auf das Modell angewandt, ergibt sich - mit der Annahme, dass die Winkelgeschwindigkeiten beider Räder um das ICC identisch sind - folgender Zusammenhang: ω= vges a 26 (3.7) 3 Antriebssysteme Setzt man die in Gleichung 3.3 ermittelte Strecke a und die Gesamtgeschwindigkeit vges aus Gleichung 3.5 in die Formel 3.7 ein, so ergibt sich für ω: ω= vl − vr L (3.8) Alle unbekannten Werte des Systems sind nun bestimmbar. 3.2.3 Das kinematische Modell von Skid Steer Antrieben vgesvl vvl FRvl Fvl vgesvr vrvl FRvr vrv vvr ICCv vrvr Fvr c e vhl vgeshl COM ICCl vgeshr y vrhl F hl vrh FRhl f L/2 ω ICCr x b vhr vrhr F hr j L/2 FRhr ICC d ICCh a Abbildung 3.6: Modell eines Skid Steer Antriebes, COM = center of mass bzw. Schwerpunkt Oft werden die kinematischen Eigenschaften von Differentialantrieben übernommen und bei dem Einsatz von Skid Steer Antrieben angewendet. Viele 27 3 Antriebssysteme Versuche an dem Pioneer 3 AT wurden unter der Annahme durchgeführt, dass diese Roboterplattform anstatt eines Skid Steer Antriebes einen Differentialantrieb besitzt [Mir-07, S.2], [CLZ-08, S.1], [KKi-07, S.12]. Im folgenden Abschnitt soll bewiesen werden, dass diese Vereinfachung legitim ist. Zur Vorbetrachtung wurde dazu in Kapitel 3.2.2 das Modell eines Differentialantriebes (Abb. 3.5) betrachtet und alle unbekannten Werte, wie Geschwindigkeiten und die Position des ICC, bestimmt. Das kinematische Modell eines Skid Steer Antriebes (Abb. 3.6) ist sehr komplex. Es müssen Geschwindigkeiten, Kräfte und Abstände betrachtet werden. Durch die starre Kopplung der Räder am Robotergehäuse gleiten diese bei Kurvenfahrten seitlich über den Boden. Sie besitzen demnach zwei Geschwindigkeitskomponenten. Eine dieser Komponenten zeigt in Fahrtrichtung. Die andere stellt die Gleitgeschwindigkeit dar, die normal in Fahrtrichtung gerichtet ist. Betrachtet man ein System mit Skid Steer Antrieb bei der Kurvenfahrt, so fällt auf, dass sich dessen vorderer Teil in x-Richtung zum ICC hin und dessen hinterer Teil vom ICC weg bewegt. Liegt das ICC in Fahrtrichtung von der y-Achse des Roboters aus gesehen links (siehe Abb. 3.6), so gilt für die Gleitgeschwindigkeit1 des vorderen Systems vrv bzw. für die des hinteren Systems vrh : vrv ≤ 0 ≤ vrh (3.9) Liegt das ICC rechts vom Roboter, so gilt: vrv ≥ 0 ≥ vrh (3.10) Gesetzt den Fall, dass das ICC direkt auf der y-Achse (siehe Abb. 3.6) liegt, sind beide Fälle (Gleichung 3.9 und 3.10) möglich. Die Geschwindigkeiten vrv und vrh verlaufen allerdings in jedem Fall parallel zur x-Achse und deren Vorzeichen sind immer unterschiedlich. sgn (vrv ) 6= sgn (vrh ) (3.11) Da das Gehäuse des Roboters selbst nicht beweglich ist, sind die Gleitgeschwindigkeiten aller Punkte, die entlang einer Linie liegen, welche parallel zur x-Achse (siehe Abb. 3.6) verläuft, identisch. vrv = vrvl = vrvr 1 Alle Gleitgeschwindigkeiten sind in x-Richtung positiv definiert. 28 (3.12) 3 Antriebssysteme vrh = vrhl = vrhr (3.13) Aus dieser Eigenschaft und der Tatsache, dass der vordere Teil des Roboters in eine andere Richtung als der hintere Teil gleitet, lässt sich ableiten, dass es eine Linie gibt, die parallel zur x-Achse verläuft und auf der kein Punkt eine seitliche Gleitbewegung vollzieht. Entlang dieser Linie besitzt der Skid Steer Antrieb die Eigenschaften eines Differentialantriebes. Um diese Aussage zu belegen, werden im folgenden Teil die mathematischen Zusammenhänge hergeleitet. Bei der Betrachtung von Abbildung 3.6 kann erkannt werden, dass der vordere und der hintere Teil des Roboters jeweils wie ein Differentialantreib aufgebaut sind. Aufgrund der Tatsache, dass die Räder jeder Seite mechanisch gekoppelt sind, ergibt sich folgender Zusammenhang (siehe Abb. 3.7): vvl = vhl (3.14) vvr = vhr (3.15) vvr vvl ICCv vhl vhr y x L/2 ICCh L/2 a Abbildung 3.7: Bestimmung der x-Koordinate des ICC Wenn das vordere Teilsystem (Rad vorne links und vorne rechts) und das hintere Teilsystem (Rad hinten links und hinten rechts) als Differentialantrieb 29 3 Antriebssysteme (siehe Kapitel 3.2.2) betrachtet werden, so fällt bei den Berechnungen auf, dass die Punkte ICCv und ICCh laut den Gleichungen 3.14 und 3.15 auf einer Linie liegen, die parallel zur y-Achse verläuft (Abb. 3.7): ICCv = (−a; b + c) und ICCh = (−a; 0). Da die Gleichungen 3.14 und 3.15 gelten und das Gehäuse starr ist, haben alle Punkte, die auf einer durch das rechte bzw. linke Radpaar resultierenden Verbindungslinie liegen, die gleiche Geschwindigkeit. Mit diesen bekannten Geschwindigkeiten kann für jede Linie, die parallel zur x-Achse verläuft, ein eigenes ICC berechnet werden. Jede dieser Linien kann als eigenständiger Differentialantrieb betrachtet werden. Führt man die Berechnung zur Bestimmung des ICC mehrmals durch, so resultiert eine Reihe von Punkten. Verbindet man diese, so entsteht eine zur y-Achse parallel verlaufende Linie, auf der das ICC des Gesamtsystems liegen muss (Abb. 3.7). Diese liegt im Abstand von a zum Koordinatenursprung. Demnach gilt: ICCx = a (3.16) Die y-Koordinate des ICC kann auf dieselbe Art bestimmt werden. Es muss allerdings beachtet werden, dass diese Koordinate nicht aus den Geschwindigkeiten resultiert, die in Richtung der Verbindungslinien zwischen den Rädern des rechten bzw. linken Teilsystems verlaufen. Zur Berechnung werden die Gleitbewegungen betrachtet, die senkrecht zu den vorher betrachteten Geschwindigkeiten stehen. Wenn das linke Teilsystem (Rad vorne links und hinten links) und das rechte Teilsystem (Rad vorne rechts links und hinten rechts) als Differentialantrieb betrachtet werden (siehe Kapitel 3.2.2), so fällt bei den Berechnungen auf, dass die Punkte ICCl und ICCr laut den Gleichungen 3.12 und 3.13 auf einer Linie liegen, die parallel zur y-Achse verläuft (siehe Abb. 3.8). 30 3 Antriebssysteme vrvl vrvr e ICCr ICCl d y vrhl x vrhr Abbildung 3.8: Bestimmung der y-Koordinate des ICC Da die Gleichungen 3.12 und 3.13 gelten und die Räder der Roboterplattform fest mit dem Chassis verbunden sind, sind die Geschwindigkeiten entlang der Verbindungslinie zwischen den beiden vorderen bzw. hinteren Rädern auf jedem Punkt identisch. Jede Linie, die parallel zur y-Achse verläuft, kann als eigenständiger Differentialantrieb betrachtet werden. Wie auch bei der Bestimmung der ICC-x-Koordinate kann für jede zur y-Achse parallel verlaufende Linie ein ICC berechnet werden. Verbindet man diese, so resultiert eine zur x-Achse parallel verlaufende Linie, auf der das ICC des Gesamtsystems liegen muss. Diese liegt im Abstand von d zum Koordinatenursprung. Demnach gilt: |ICCy | = d (3.17) Da bereits zuvor eine Linie berechnet wurde, auf der das ICC liegen muss, wird dieses nun durch den Punkt definiert, an dem sich beide Linien schneiden. Folglich gilt für die Position des ICC: (b + c) ICC = a, c +1 b ! (3.18) Um die Koordinate d ermitteln zu können, müssen die Gleitgeschwindigkeiten bekannt sein. Diese resultieren aus den Auflagekräften, die der Roboter auf 31 3 Antriebssysteme den Boden ausübt. Eine genaue Berechnung dieser Kräfte ist im Anhang auf Seite I zu finden. Die Auflagekräfte lassen sich demnach wie folgt berechnen: Fvl = m·g 1 c · 1+ b 1+ (3.19) f j f m·g j Fvr = c · 1+ b 1+ Fhl = c b (3.20) f j ·m·g 1 c · 1+ b 1+ f j (3.21) f c b ·m·g Fhr = · j 1 + cb 1+ f j (3.22) In Verbindung mit den Reibkoeffizienten, die zwischen dem jeweiligen Rad und dem Untergrund vorhanden sind, erzeugen alle Auflagekräfte der rotatorischen Roboterbewegung entgegenwirkende Reibkräfte. FRvl = Fvl · µvl (3.23) FRvr = Fvr · µvr (3.24) FRhl = Fhl · µhl (3.25) FRhr = Fhr · µhr (3.26) Diese Reibkräfte sind den Gleitgeschwindigkeiten immer entgegen gesetzt. In Verbindung mit den Gleichungen 3.12 und 3.13 kann geschlussfolgert werden, dass die Kräfte, die an den Vorder- bzw. Hinterrädern angreifen, jeweils beide in die selbe Richtung zeigen. Da die Kräfte parallel zur x-Achse wirken und eine durch Auflageflächen der Vorder- bzw. Hinterräder verlaufende Linie ebenso parallel zur x-Achse verläuft, sind die Wirkungslinien der Kräfte identisch. Die beiden Kräfte, die am vorderen bzw. hinteren System angreifen, können somit zusammengefasst werden. 32 3 Antriebssysteme Die Reibkräfte, die an den Vorderrädern angreifen, wirken laut Gleichung 3.11 denen der Hinterräder entgegen. Das Verhältnis der Reibkräfte entspricht indirekt proportional dem der Gleitgeschwindigkeiten. Das heißt, dass die vordere Gleitgeschwindigkeit kleiner wird, sobald die vorderen Reibkräfte größer werden. Es gilt: FRhl + FRhr vrv = vrh FRvl + FRvr (3.27) Für die Abstände, die das center of mass (COM) und das ICC bemaßen, gilt folgende Gleichung: b+c=d+e (3.28) Für die Winkelgeschwindigkeit der Roboterplattform gilt: vrv ω= e (3.29) vrh (3.30) d Die Gleichungen für die Geschwindigkeiten vrv und vrh sowie für die Abstände d und e ergeben sich, wenn man die Formeln 3.19 bis 3.30 zusammenfasst. Zur Vereinfachung der Gleichungen wird folgende Substitution verwendet: ω= f j f j (3.31) (...) · (b + c) · ω (...) + 1 (3.32) (b + c) · ω (...) + 1 (3.33) (...) · (b + c) (...) + 1 (3.34) (b + c) (...) + 1 (3.35) c µhl + µhr · (...) := · b µvl + µvr · Somit resultieren die folgenden Gleichungen: vrv = vrh = e= d= Es sind einige grundlegende Vereinfachungen der Rechnung möglich. Diese werden im folgenden Teil erläutert. 33 3 Antriebssysteme 1. Wenn alle Reibkoeffizienten zwischen den Rädern und dem Boden identisch sind, µvl = µvr = µhl = µhr (3.36) kann anstatt der Substitution 3.31 folgende Vereinfachung getroffen werden: (...) := c b (3.37) Für diesen Fall gilt, dass die y-Koordinaten des ICC und des COM identisch sind. 2. Wenn die Reibkoeffizienten zwischen den Vorderrädern und dem Boden sowie gleichzeitig die Reibkoeffizienten zwischen den Hinterrädern und dem Boden identisch sind, µvl = µvr µhl = µhr (3.38) (3.39) ergibt sich anstatt der Substitution 3.31 der folgende Zusammenhang: (...) := c µhl · b µvl (3.40) 3. Liegt das COM auf der y-Achse (siehe Abb. 3.6), dann gilt: f =j (3.41) Die Substitution 3.31 kann somit ersetzt werden durch: (...) := c µhl + µhr · b µvl + µvr (3.42) Aufgrund der Tatsache, dass sich die Räder der Roboterplattform zumeist alle auf dem selben Untergrund befinden sowie aus dem gleichen Material bestehen, kann davon ausgegangen werden, dass alle Reibkoeffizienten nahezu identisch sind. Aus diesem Grund sollte für die Berechnung der y-Koordinate des ICC und für die Gleitgeschwindigkeiten stets die soeben beschriebene Vereinfachung 1 (Gleichung 3.36) angewendet werden. Die x-Koordinate des ICC folgt aus der Gleichung 3.3. 34 3 Antriebssysteme 3.2.4 Positionierung von Skid Steer getriebenen Plattformen mittels Odometrie Es gibt mehrere Möglichkeiten, die Position von Robotersystemen zu bestimmen. Eine der am weitesten verbreiteten Methoden ist die Aufnahme des zurückgelegten Weges mittels Odometrie sowie die darauf folgende Berechnung von Position und Geschwindigkeiten anhand dieser Daten. Um eine Voraussage über die Fehler treffen zu können, die bei der Positionsbestimmung auftreten, muss eine Fehlerrechnung durchgeführt werden. Da die Formeln für die Positionsbestimmung nicht bekannt sind, wird in den folgenden Rechnungen das ICC als Anhaltswert für die Fehlerrechnung verwendet. Von diesem Punkt wird die Positionsberechnung maßgeblich beeinflusst. Außerdem können nach der Fehlerrechnung Aussagen über die Konstruktionsparameter getroffen werden, die die möglichen Fehler verringern. Die Fehlerrechnung der ICC-Position kann in die Berechnung des Fehlers der x-Koordinate und der y-Koordinate des ICC unterteilt werden. 3.2.4.1 Fehlerrechnung für die x-Koordinate des ICC Der Fehler der ICC-x-Koordinate resultiert aus den nicht vorhersehbaren Verschiebungen der Reifenauflagepunkte der Roboterplattform auf den Boden. Durch die Abbildung 3.9 sollen diese Verschiebungen verdeutlicht werden. In der folgenden Rechnung wird davon ausgegangen, dass die Verschiebungen an allen Rädern einer Seite gleichermaßen auftreten. Ohne diese Vereinfachung wäre die Fehlerrechnung für die ICC-x-Koordinate im Rahmen dieser Arbeit nicht möglich. 35 3 Antriebssysteme vvl vvr ICCv vhl vhr y x r L/2 ICCh s L/2 a Abbildung 3.9: Modell zur Berechnung des Fehlers des Abstandes a Da zur Berechnung des Abstandes a (Gleichung 3.3) die Abstände zwischen den Auflagepunkten der Räder und der Robotermittelachse benötigt werden, müssen diese wegen den auftretenden Fehlern neu berechnet werden: r0 = r + L 2 (3.43) L (3.44) 2 Zur Berechnung von Fehlern werden relative Abweichungen von Werten benötigt, die einen Einfluss auf die zu berechnende Größe haben: r ∆r0 = 0 (3.45) r s0 = s + s (3.46) s0 Da die Entfernungen von der Robotermittelachse zu den Auflagepunkten der Räder wegen der Fehler nicht mehr identisch sind, muss die Gleichung 3.3 so aufgestellt werden, dass eine Abhängigkeit von beiden Abständen besteht: ∆s0 = a= s0 · vl + r0 · vr vl − vr 36 (3.47) 3 Antriebssysteme Die maximale relative systematische Abweichung von a berechnet sich wie folgt: ∆a = ∂a · ∆r0 + 0 ∂s ∂a 0 ∂r · ∆s0 (3.48) Führt man diese Rechnung durch, so ergibt sich folgende Gleichung: ∆a = vl · s s+ L 2 + vr · r r+ L 2 vl − vr (3.49) Aus dieser Gleichung geht hervor, dass der Fehler der ICC-x-Koordinate lediglich von den relativen Abweichungen der nicht vorhersehbaren Versetzungen der Auflagepunkte abhängt. Diese hängen von der Spurweite L ab. Wird diese vergrößert, dann werden die relativen Versetzungen kleiner. Außerdem gilt, dass die Versetzungen r und s geringer sind, wenn dünnere Reifen verbaut werden. Diese Schlussfolgerung kann getroffen werden, da die maximalen Versetzungen durch die Breite der Reifen beschränkt sind. 3.2.4.2 Fehlerrechnung für die y-Koordinate des ICC Die y-Koordinate des ICC lässt sich mit den Gleichungen 3.34 und 3.35 berechnen. Es kann davon ausgegangen werden, dass die Reibkoeffizienten zwischen den Rädern und dem Boden niemals identisch sind. Da sie maßgeblich Einfluss auf die Position der ICC-y-Koordinate nehmen, müssen die Fehler der Koeffizienten bei der Berechnung beachtet werden. Die Fehler der Abstände b und c können vernachlässigt werden, da sie aus den Abweichungen der Auflageflächen zwischen Rädern und Boden in y-Richtung resultieren. Diese Abweichungen sind aufgrund des geringen y-Anteils der Auflageflächen sehr gering. In der folgenden Rechnung wird für die Substitution aus den Gleichungen 3.34 und 3.35 die Vereinfachung 3.42 aus Kapitel 3.2.3 verwendet. Es wird also davon ausgegangen, dass sich das COM auf der y-Achse des Roboterchassis befindet. Die Formeln für d und e lassen sich demnach wie folgt berechnen: d= e= c b (b + c) · +1 (3.50) b c (b + c) · +1 (3.51) µhl +µhr µvl +µvr µvl +µvr µhl +µhr 37 3 Antriebssysteme Die maximale relative systematische Abweichung von d berechnet sich wie folgt: (3.52) · (∆µvl + ∆µvr + ∆µhl + ∆µhr ) (3.53) ∂d ∂d ∂d ∆d = ∂µ · ∆µvl + ∂µ · ∆µvr + ∂µ · ∆µhl + ∂µ∂dhr · ∆µhr vr vl hl ∆d ergibt sich damit laut [Xia-09] zu: 2· cb ·(c+b)·(µvl +µvr +µhl +µhr ) ∆d = (µvl +µvr )· c(µhl +µhr ) b(µvl +µvr ) 2 +1 Die maximale relative systematische Abweichung von e berechnet sich wie folgt: (3.54) · (∆µvl + ∆µvr + ∆µhl + ∆µhr ) (3.55) ∂e ∂e ∆e = ∂µ · ∆µvl + ∂µ∂evr · ∆µvr + ∂µ · ∆µhl + ∂µ∂dhr · ∆µhr vl hl ∆e ergibt sich damit laut [Xia-09] zu: 2· cb ·(c+b)·(µvl +µvr +µhl +µhr ) ∆e = (µhl +µhr )· b(µhl +µhr ) c(µvl +µvr ) 2 +1 Da es aus verschiedenen Gründen sinnvoll ist, den Roboter so zu gestalten, dass das COM in dessen Zentrum liegt, sollte folgender Zusammenhang gelten: b=c (3.56) Wendet man diesen auf die Gleichungen 3.53 und 3.54 an, so ergeben sich für ∆d und ∆e folgende Formeln: 4c·(µvl +µvr +µhl +µhr ) 2 c(µhl +µhr ) +1 (µvl +µvr )· b(µvl +µvr ) · (∆µvl + ∆µvr + ∆µhl + ∆µhr ) (3.57) 4c·(µvl +µvr +µhl +µhr ) 2 b(µhl +µhr ) +1 (µhl +µhr )· c(µvl +µvr ) · (∆µvl + ∆µvr + ∆µhl + ∆µhr ) (3.58) ∆d = ∆e = Aus den Gleichungen 3.57 und 3.58 kann geschlussfolgert werden, dass die Fehler ∆d und ∆e größer werden, wenn auch der Achsabstand größer wird. 38 3 Antriebssysteme 3.3 Schlussfolgerungen Aus den Kapiteln 3.2.4.1 und 3.2.4.2 geht hervor, dass die Fehler des ICC minimiert werden können, indem dünne Reifen verbaut, der Achsabstand möglichst klein und die Spurweite möglichst groß gewählt werden. Obwohl alle vorangegangenen Rechnungen für das Modell eines 4-Rad Skid Steer Antriebes gemacht wurden, können Rückschlüsse auf die Eigenschaften von 6-Rad Skid Steer Antrieben gezogen werden. Da bei 6-Rad Skid Steer Antrieben - wie auch bei allen anderen Antrieben dieser Art - die Räder hintereinander angeordnet sind, muss ein größerer Achsabstand als bei einem 4-Rad Skid Steer Antrieb gewählt werden. Dadurch ist der zu erwartende Fehler des ICC in y-Richtung größer als der eines 4-Rad Skid Steer Antriebes. Wenn der Achsabstand eines 4-Rad Skid Steer Antriebes sehr groß gewählt wird, trifft diese Aussage nicht mehr zu. Wendet man auch bei einem 6-Rad Skid Steer Antrieb die Vereinfachung zur Berechnung des Fehlers der ICC-y-Koordinate aus Kapitel 3.2.4.1 an, so gibt es aufgrund der nahezu identischen Radabstände keinen Unterschied zur Fehlerrechnung für den 4-Rad Skid Steer Antrieb. Es kann allerdings davon ausgegangen werden, dass die Fehler des ICC mit der Größe der Radauflagefläche steigen, da alle Berührungspunkte unterschiedliche Haftreibungskoeffizienten besitzen und fehlerbehaftet sind. Aufgrund der zu erwartenden geringeren ICC-Positionsfehler ist dem 6-Rad der 4-Rad Skid Steer Antrieb vorzuziehen. 39 4 Roboterentwurf Um dem Benutzer die Arbeit mit der Roboterplattform so einfach wie möglich zu machen, muss das Gesamtsystem, welches aus Mechanik, Elektronik und Software besteht, gut durchdacht werden. Außerdem sollen durch den detaillierten Entwurf mögliche Fehler frühzeitig erkannt und behoben werden. Die Auslegung von Mechanik, Elektronik und Software wird in den folgenden Kapiteln beschrieben. 4.1 Mechanikentwurf An das zu entwickelnde System wurden in Kapitel 2.2.1 verschiedene Anforderungen gestellt, die zum Teil durch die Mechanik eingehalten werden müssen. Eine ausgeprägte Benutzerfreundlichkeit sollte dabei ebenso angestrebt werden. Dazu gehört u. a., dass alle Schrauben ohne Probleme gelöst, Teile im Schadensfall schnell ausgetauscht und Sensoren einfach platziert werden können. All diese Themen werden in den folgenden Kapiteln behandelt. Die Motor-Getriebe-Kombination, die benötigten Zahnriemen und verschiedene andere Komponenten beeinflussen die Roboterabmessungen. Aus diesem Grund werden die genannten Komponenten ausgelegt, bevor mit der Konstruktion des Gesamtsystems begonnen wird. Allgemeine Überlegungen zu den Robotermaßen wurden bereits in Kapitel 3.3 sowie den vorhergehenden Kapiteln gemacht. Daraus ging hervor, dass dem 6-Rad ein 4-Rad Antrieb vorzuziehen ist. Daher wurde allen weiteren Berechnungen ein 4-Rad Skid Steer Antrieb zu Grunde gelegt. Die mobilen Roboterplattformen Volksbot RT4 und Pioneer 3 AT, welche jeweils einen Skid Steer Antrieb besitzen, wurden in Kapitel 3.1.3 verglichen. Da die Anordnung der mechanischen Teile im Volksbot RT4 im Vergleich zum Pioneer 3 AT mehrere Vorteile aufweist, soll diese Anordnung als Grundlage für die eigene Konstruktion dienen. 4.1.1 Motorauslegung Damit die Roboterplattform die in der Anforderung (Tabelle 2.1) definierte Geschwindigkeit vmax und Beschleunigung amax erreicht, wird ein Motor 40 4 Roboterentwurf benötigt, der die geforderte Leistung bereitstellen kann. Zur Auslegung der passenden Motoren müssen ein Moment und eine Drehzahl bekannt sein, die sich zum selben Zeitpunkt einstellen. Die in Motordatenblättern gegebenen Motornennwerte (siehe Tabelle A.2) bieten sich dafür an. Da diese Werte durch den Motor dauerhaft erreicht werden können, wird in den folgenden Rechnungen davon ausgegangen, dass die geforderte Beschleunigung amax bei Nennwerten erreicht werden soll. Eine dauerhafte Beschleunigung mit dem in Kapitel 2.1 angegebenen Wert wäre somit möglich. Da nicht bekannt ist, wie hoch die Reibungen im späteren Einsatz im Robotersystem sein werden und somit die Maximalgeschwindigkeit des Motors nicht bekannt ist, wird zur Vereinfachung der Rechnung ebenfalls davon ausgegangen, dass die geforderte Höchstgeschwindigkeit bei Nennwerten erreicht werden soll. Um auch bei der Beibehaltung der Roboterhöchstgeschwindigkeit Kurvenfahrten zu ermöglichen und den Benutzerkomfort weiter zu erhöhen, wird die Maximalgeschwindigkeit auf vmax = 2 m/s festgelegt. Diese Maßnahme ist außerdem nötig, da die Roboterplattform aufgrund des Skid Steer Antriebes bei Kurvenfahrten und der daraus resultierenden seitlichen Gleitbewegung sehr viel extra Leistung benötigt, die nicht direkt in die Bewegung einfließt. Zusätzlich kann an dieser Stelle der Arbeit noch keine Aussage über die Trägheitsmomente der verbauten Komponenten getroffen werden, die durch die Motoren in eine Drehbewegung versetzt werden müssen. Somit gelten bei den Nennwerten des Motors die Geschwindigkeit vNenn = 2 m/s und die Beschleunigung vNenn = 2 m/s2 . m M1 rRad FG1 F1 v, a M2 rRad FR1 F2 FG2 FR2 Abbildung 4.1: Modell des Roboters während der Beschleunigung bzw. Fahrt. 41 4 Roboterentwurf Die Berechnung der Leistung, die für die Einhaltung der Vorgaben benötigt wird, soll nachfolgend dargestellt werden: PBewegung = 2π · NRad,Nenn · Mges (4.1) NRad,Nenn gibt die geforderte Drehzahl der Räder an. Das Moment Mges muss von den Motoren aufgebracht werden, um die benötigten Reibkräfte FR1 und FR2 zu erzeugen. Diese werden benötigt, um den Roboter zu beschleunigen. Die genannten Werte gelten bei Motornennwerten. Mit der folgenden Formel lässt sich die geforderte Drehzahl der Räder berechnen: vNenn URad (4.2) URad = rRad · 2π (4.3) Mges = M1 + M2 = (FR1 + FR2 ) · rRad (4.4) NRad,Nenn = URad beschreibt den Umfang der Räder: FR1 und FR2 (siehe Abb. 4.1) sind die Kräfte, die benötigt werden, um den Roboter, der die Masse mmax besitzt, mit der vorgegebenen Beschleunigung aNenn in Bewegung zu setzen: (FR1 + FR2 ) = mmax · aNenn (4.5) Setzt man die Gleichungen (4.2), (4.3), (4.4) und (4.5) in die Gleichung (4.1) ein, so ergibt sich folgende Formel für die benötigte Leistung PBewegung : PBewegung = vNenn · aNenn · mmax (4.6) Sollen die in der Anforderungsdefinition gegebenen Werte erreicht werden, ist eine Leistung von 120W notwendig. Diese verteilt sich auf die beiden Antriebseinheiten: PGetriebeausgang = PBewegung 2 (4.7) Demnach muss jeder der beiden Motoren eine mechanische Leistung von 60W an der Getriebewelle liefern können. Um berechnen zu können, welche Leistung jeder Motor bereit stellen muss, wird der Wirkungsgrad des Getriebes benötigt. Da an dieser Stelle der Arbeit 42 4 Roboterentwurf der Motor, der verwendet werden soll, noch nicht bekannt ist, konnte noch kein Getriebe ausgelegt werden. Für die Suche nach einem geeigneten Motor ist die Schätzung des Getriebewirkungsgrades notwendig. Während der Recherche wurden im Bereich der zu erwartenden Getriebe mehrere Getriebewirkungsgrade zwischen 0,7 und 0,8 festgestellt. Die benötigte Leistung des Motors lässt sich wie folgt berechnen: PMotor = vNenn · aNenn · mmax 2 · ηGetriebe (4.8) Für ηGetriebe = 0,8 ergibt sich die benötigte Leistung zu PMotor = 75 W. Für ηGetriebe = 0,7 muss sie sogar PMotor = 85,7 W betragen. In Tabelle A.2 wurden Motoren aufgelistet, die bei Nennwerten vergleichbare Leistungen bieten und mit 12 V betrieben werden können. Während der Recherche fiel auf, dass lediglich die Motoren der Firma Dunkermotoren die benötigte Leistung erreichen. Deren vergleichsweise hohes Gewicht macht diesen Vorteil jedoch wieder zunichte. Eine Motor-GetriebeKombination von GR 63x55 [Dun-09] und PLG 52 [Dun3-09] würde ungefähr 2,4 kg wiegen. Wenn man dieses Gewicht mit dem der bestehenden Plattformen Pioneer 3 AT und Volksbot RT4 vergleicht, würden allein die MotorGetriebe-Kombinationen mehr als ein Drittel des Gesamtgewichtes ausmachen. Da dies vergleichsweise viel ist, kommen diese Motoren nicht in Frage. Die Leistungsdaten der anderen Motoren unterscheiden sich nicht grundlegend. Aus diesem Grund wird eine detaillierte Auswahl in Kapitel 4.1.4 durchgeführt. 4.1.2 Dimensionierung und Auswahl der Räder Die Auswahl der Räder ist ein wichtiger Schritt während der Konzeption eines Roboters. Durch die Radgröße werden die Roboterdimensionen maßgeblich beeinflusst. Auch bei der Auslegung des Getriebes spielen sie eine wichtige Rolle. Je größer sie sind, desto geringer muss die Untersetzung des später verwendeten Getriebes sein und umso höher ist im Normalfall dessen Wirkungsgrad. 4.1.2.1 Berechnung des benötigten Radradius Die Dimensionen der Räder des zu entwickelnden Roboters werden nicht durch die vorgegebenen Werte von Geschwindigkeit und Beschleunigung beeinflusst. Durch die vorgegebene Stufenhöhe (Kapitel 2.2.1), die der Roboter überwinden soll, wird der benötigte Radradius (rRad ) maßgeblich beeinflusst. Zu des- 43 4 Roboterentwurf sen Berechnung muss das Kräftegleichgewicht der am Roboter angreifenden Kräfte aufgestellt werden. (Abb. 4.2). 1 2 m M1 rRad FS1 FG1 F1 M2 FS2 rRad FR1 F2 FG2 FR2 FRK FK Abbildung 4.2: Am System anliegende Kräfte Bei der Überwindung einer Stufe müssen zwei Fälle behandelt werden. Dies kann zum einen aus der Fahrt und zum anderen aus dem Stillstand geschehen. Da bei einem Roboter, der aus der Fahrt eine Stufe überwindet, ein Teil seiner kinetischen in potentielle Energie übergeht, kann davon ausgegangen werden, dass weniger zusätzliche Energie erforderlich ist, um die Stufe zu überwinden, als aus dem Stillstand. Im Folgenden soll also ausschließlich der Fall betrachtet werden, bei dem der Roboter die Kante aus dem Stand überwindet, da bei diesem Vorgang mehr Energie benötigt wird, welche von den Antriebsmotoren erzeugt werden muss. Zur Vereinfachung des Gesamtsystems wurde dieses vorerst in zwei Teilsysteme unterteilt. Das gesamte Roboterchassis kann zu einer horizontalen Stange vereinfacht werden, die die beiden Radnaben drehbar miteinander verbindet. Zwischen den beiden Teilsystemen können demnach nur horizontale Kräfte (FS1 bzw FS2 ) übertragen werden. Aus Gründen der Übersicht wurde diese Vereinfachung in Abbildung 4.2 nicht dargestellt. Es gilt: FS1 = FS2 (4.9) Im Folgenden soll das gesamte System betrachtet werden. Die einzige Kraft und das einzige Moment, welche vom Roboter selbst ausgehen, sind seine Gewichtskraft und das Moment der Motoren. Befindet sich 44 4 Roboterentwurf der Roboterschwerpunkt mittig zwischen beiden Achsen, so verteilt sich die Gewichtskraft gleichmäßig auf die beiden Teilsysteme, so dass gilt: FG1 = FG2 = mmax · g 2 (4.10) Setzt man die benötigten Werte aus Tabelle 2.1 in die Formel 4.10 ein, so ergibt sich FG1 = FG2 = 147,15 N. Da die Räder jeder Seite eines Skid Steer Antriebes mechanisch miteinander gekoppelt sind und davon ausgegangen wird, dass sich beide Roboterseiten bei der Überwindung der Kante gleich verhalten, ergibt sich folgende Formel für das benötigte Moment beider Motoren: Mges = M1 + M2 (4.11) Im folgenden Teil wird System 1 betrachtet. Das Kräftegleichgewicht liefert folgende Formeln: → FR1 + FS1 = 0 (4.12) ↓ FG1 − F1 = 0 (4.13) Die Momentenbilanz um die Achse des Rades liefert folgende Formel: M1 − FR1 · rRad = 0 (4.14) Da das Moment M1 durch die Motorleistung begrenzt wird, ist auch die Kraft FR1 limitiert. Außerdem geht aus dieser Formel hervor, dass sich das Moment M1 und die Kraft FR1 direkt proportional verhalten. Es ist bekannt, dass die maximale Reibkraft FR1,max aus ihrer Normalkraft F1 sowie dem Haftreibungskoeffizienten zwischen Rad und Boden µRad,Boden zusammengesetzt wird. Die Kraft FR1 ist demnach begrenzt: FR1,max = µRad,Boden · F1 (4.15) Da an dieser Stelle der Arbeit noch keine genaue Aussage über den Haftreibungskoeffizienten möglich ist, wird für die folgenden Berechnungen der Wert µRad,Boden = 0,55 (Stoffpaarung Luftreifen - Asphalt) [Smo-09] angenommen. Wird in die Gleichung 4.15 die Formel 4.13 und der Haftreibungskoeffizient µRad,Boden = 0,55 eingesetzt, so folgt: FR1,max = 80,93 N. Es wurde auch noch keine Getriebeauslegung durchgeführt. Folglich kann auch 45 4 Roboterentwurf keine genaue Aussage über das Moment getroffen werden, welches am Rad anliegt. Lediglich das Vehältnis des Nennmomentes MNenn,Motor , welches zum Zeitpunkt der in der Anforderungsdefinition (Tab. 2.1) gestellten Werte vorliegt, und des Haltemomentes MHalt,Motor , das zum Zeitpunkt der Stufenüberwindung anliegen kann, ist bekannt. Es bewegt sich im Bereich von 0,056 bis 94,9 mNm 184 mNm = 0,056 bis 1440 = 0.128) [Pit-09], [Fau-09], [Max-09]. 0,128 ( 1680 mNm mNm Aufgrund der Proportionalität des Momentes M1 und der Kraft FR1 , die aus der Gleichung 4.14 resultiert, ist die Abschätzung der Kraft FR1 zum Zeitpunkt der Stufenüberwindung möglich. Dazu muss zuerst die Kraft FR1,Anforderung bestimmt werden, welche am Roboter zu dem Zeitpunkt angreift, zu dem sich auch die Werte aNenn und vNenn aus Tabelle 2.1 der Anforderungsdefinition einstellen. Fährt der Roboter auf ebenem Untergrund, so gilt für FR1,Anforderung und FR2,Anforderung : FR1,Anforderung = FR2,Anforderung = mmax · aNenn 2 (4.16) Setzt man die Werte aus Tabelle 2.1 in die Formel (4.16) ein, so ergibt sich FR1,Anforderung = FR2,Anforderung = 30 N. Das Verhältnis der Momente und Kräfte setzt sich wie folgt zusammen: FR1,Anforderung MNenn,Motor = MHalt,Motor FR1 (4.17) Werden die aus den Motordatenblättern resultierenden Verhältnisse von Nennund Haltemoment (0,056 bis 0,128) und Kraft FR1,Anforderung = 30 N in die Gleichung 4.17 eingesetzt, so folgt: 234 N ≤ FR1 ≤ 536 N. Vergleicht man diesen Wert mit der Kraft FR1,max = 80,93 N, die maximal auf den Boden übertragbar ist, kann festgestellt werden, dass die durch den Motor erzeugbare Kraft FR1 mindestens dreimal größer ist. Das heißt, dass unabhängig von der Wahl des Motors eine sehr viel größere Kraft erzeugt werden kann, als in die Bewegung des Roboters eingehen kann. Wenn FR1 > FR1,max gelten würde, wäre das Durchdrehen der Roboterreifen zu erwarten. In den folgenden Rechnungen wird von FR1 = FR1,max (4.18) ausgegangen. Setzt man (4.9) und (4.18) in (4.12) ein, dann folgt: FS2 = −FR1,max 46 (4.19) 4 Roboterentwurf rRad M2 F R1,max FG2 F2 FR2 FRK FK Abbildung 4.3: Anliegende Kräfte am vorderen Rad Daraus folgt, dass System 1 mit der Kraft FR1,max von System 2 angeschoben werden kann. Um rRad zu bestimmen, wird System 1 (Abb. 4.3) betrachtet. Mit dem Ziel, die Kante überwinden zu können, muss sich das Rad anheben. Die Kraft, die der Boden der Gewichtskraft entgegensetzt, muss folglich verschwinden: F2 = 0 (4.20) FR2 = µRad,Boden · F2 (4.21) Für die Reibkraft FR2 gilt: Aus den Gleichungen 4.20 und 4.21 folgt: FR2 = 0 (4.22) Somit können F2 und FR2 bei der Aufstellung des Kräftegleichgewichtes ignoriert werden. Es ergeben sich folgende Gleichungen: → FR1,max − FK · cos α + FRK · sin α = 0 (4.23) ↓ FG2 − FK · sin α − FRK · cos α = 0 (4.24) Die Momentenbilanz um die Achse des Rades liefert folgende Formel: M2 − FRK · rRad = 0 47 (4.25) 4 Roboterentwurf Da sich die Reibkraft FRK aus ihrer Normalkraft FK und dem Haftreibungskoeffizienten zwischen dem Rad und der Kante µRad,Kante zusammensetzt, gilt folgender Zusammenhang: FRK = µRad,Kante · FK (4.26) Wird die Gleichung 4.26 in die Formel 4.23 eingesetzt, so ergibt sich: → FR1,max + FK (− cos α + µRad,Kante · sin α) = 0 (4.27) Setzt man die Formel (4.24) in die Gleichung 4.26 ein, so folgt: → FG2 − FK (sin α + µRad,Kante · cos α) = 0. (4.28) Wird (4.28) nach FK umgestellt und in die Gleichung (4.27) eingesetzt, ergibt sich folgendes Ergebnis: ( − cos α + µRad,Kante · sin α FR1,max + FG2 · sin α + µRad,Kante · cos α ) =0 (4.29) Um α zu berechnen, muss der Strahlensatz, wie in Abbildung 4.4 dargestellt, angewendet werden. r r -h Rad max Rad h h max max Abbildung 4.4: Berechnung von α Der Winkel α lässt sich wie folgt berechnen: rRad − hmax α = arcsin rRad 48 ! (4.30) 4 Roboterentwurf Wird die Gleichung (4.30) in (4.29) eingesetzt, ergibt sich die folgende Formel: − cos arcsin rRad −hmax + µRad,Kante · rRad −hmax rRad rRad FR1,max + FG2 · rRad −hmax rRad −hmax + µ · cos arcsin Rad,Kante rRad =0 rRad (4.31) Um den Zusammenhang zwischen rrad und µRad,Kante darzustellen, muss die Gleichung (4.31) nach der gesuchten Größe rRad umgestellt werden. Diese Umformung befindet sich im Anhang (Kapitel A.2). Es ergibt sich: rRad = 1− q hmax FG2 −µRad,Kante ·FR1,max (4.32) 2 2 +FG2 (1+µ2Rad,Kante )(FR1,max ) Werden die Gleichungen 4.10, 4.13 und 4.15 in die Formel 4.32 eingefügt, so ergibt sich für den Radradius rRad folgende Gleichung: rRad = 1− q hmax 1−µRad,Kante ·µRad,Boden (4.33) (1+µ2Rad,Kante )(1+µ2Rad,Boden ) Es ist zu erkennen, dass der Radradius rrad nicht vom Gewicht des Roboters sondern lediglich von den Haftkoeffizienten zwischen Rad und Boden µRad,Boden bzw. Rad und Kante µRad,Kante , abhängt. Der Zustand, in dem das Vorderrad die Kante bereits überschritten hat und das Hinterrad nachgezogen werden soll, muss nicht betrachtet werden. Es kann davon ausgegangen werden, dass die Kraft FS1 , die vom System 1 (Abb. 4.2) ausgeht, durch den Höhenversatz der beiden Teilsysteme eine stärkere Wirkung auf das System 2 besitzt, als FS2 auf das System 1 in der vorhergehenden Berechnung. 4.1.2.2 Bestimmung der Haftreibungskoeffizienten Eine genaue Bestimmung der Haftreibungskoeffizienten µRad,Boden und µRad,Kante ist vergleichsweise schwierig, da die Werte von Faktoren, wie Stoffeigenschaften, Oberflächenbeschaffenheiten und der Temperatur abhängen. Um die in [Smo-09] gegebenen Werte zu validieren, wurden die Haftreibungskoeffizienten eines luftgefüllten Gummireifens mit wenig Profil auf dem Untergrund ermittelt, auf dem sich der Roboter nach seiner Fertigstellung bewegen wird. Das Experiment zeigte keine Unterschiede zwischen Haft- und Gleitreibungskoeffizienten. Da die Haftreibungskoeffizienten der Räder, mit denen die 49 4 Roboterentwurf Test durchgeführt wurden, mit hoher Wahrscheinlichkeit nicht mit denen der Reifen, die später am Roboter verbaut werden, identisch sind, können die Ergebnisse aus Tabelle 4.1 nur als grobe Orientierung für die Radradiusauslegung dienen. Es ist hervorzuheben, dass die experimentell ermittelten Werte im Außenbereich mit denen von [Smo-09] für die Stoffpaarung „Luftreifen auf Asphalt“ und „Luftreifen auf Teerdecke“ nahezu übereinstimmen. Tabelle 4.1: Haftreibungskoeffizienten zwischen luftgefüllten Gummireifen und verschiedenen Untergründen Untergrund Experimentell ermittelte Werte Werte anderer Quellen Steinplatten (IFA, Außenbereich vor Raum S88) 0, 55 ≤ µ ≤ 0, 6 Metallkante (IFA, zwischen Raum S88 und Außenbereich) Teppich (IFA, Raum S88) 0, 58 ≤ µ ≤ 0, 65 µ ≈ 0, 55 [Smo-09] („Luftreifen auf Asphalt“ bzw. „Luftreifen auf Teerdecke“) µ = 0, 74 [Kra-00][S,34, S.37] („Gummi auf Stahl“) nicht angegeben 0, 5 ≤ µ ≤ 0, 55 Bei den Experimenten fiel auf, dass der Haftreibungskoeffizient an der Metallkante sehr viel höher war, sobald sich Teile des Reifenprofils verkantet haben. Demnach würde ein tiefes Reifenprofil durch seine Form dazu beitragen, dass die Metallkante schneller überwunden werden kann. Ergebnisse für den Radradius rrad , die die Gleichung 4.33 liefern, könnten demnach um einen bestimmten Wert verringert werden. Um mit Hilfe des ermittelten Haftreibungskoeffizienten den benötigten Radradius zu ermitteln, wurden in Tabelle 4.1 die Wertebereiche von µRad,Boden und µRad,Kante eingetragen. Werden diese sowie die vorher berechneten bzw. gegebenen Werte in die Gleichung 4.33 eingesetzt, so ergibt sich ein Mindestradradius von rRad = 89 mm für die größten Haftreibungskoeffizienten. Für die niedrigsten Werte aus Tabelle 4.1 wird ein Radradius rRad = 103 mm benötigt. Es sollte allerdings beachtet werden, dass die Haftreibungskoeffizienten nicht mit den Originalreifen ermittelt wurden. Außerdem ist es möglich, dass die Haftreibung der später verwendeten Reifen mit der Zeit aufgrund von Verschmutzung (z. B. Staub) oder Versprödung durch Alterung der Gummimischung abnehmen kann. 50 4 Roboterentwurf Aufgrund dieser möglichen Abweichungen sollte der Radradius rrad größer gewählt werden, als es die Ergebnisse aus der Gleichung 4.33 vorgeben. Besitzt das Profil des Reifens keine hervorstehenden Ecken, sollte ein Radradius rRad zwischen 100 mm und 120 mm gewählt werden. In diesem Fall wäre eine höhere Sicherheit gegeben, so dass es dem Roboter möglich ist, eine 50 mm hohe Stufe zu überwinden. Sind jedoch hervorstehende Kanten im Reifenprofil zu erkennen, wird wahrscheinlich ein Radradius rRad zwischen 80 mm und 100 mm ausreichen. μ 150 0,8 0,7 0,6 Rad,Boden 0,4 0,5 0,3 140 130 Radradius rRad [mm] 120 110 100 90 80 70 60 50 0.1 0.2 0.3 0.4 μ 0.5 0.6 0.7 0.8 0.9 Rad,Kante Abbildung 4.5: Radradius rRad in Abhängigkeit vom µRad,Boden und µRad,Kante . Es sind sechs Parabeln nach Formel 4.33 mit jeweils konstantem Wert für µRad,Boden zu erkennen. Außerdem sind die in Tabelle 4.1 angegebenen Wertebereiche von µRad,Boden und µRad,Kante eingezeichnet. 51 4 Roboterentwurf Die Abbildung 4.5 zeigt Graphen der Funktion 4.33. Aus dieser Abbildung kann abgelesen werden, welcher Radradius für bestimmte Haftreibungskoeffizienten benötigt wird. Die Gleichung enthält eine Unbekannte sowie zwei variable Werte. Dies bedeutet, dass zur Darstellung der Funktion ein dreiachsiges Koordinatensystem benötigt wird. Da diese Darstellung unübersichtlich ist, wurden für den Haftreibungskoeffizienten µRad,Boden sechs Werte im Bereich von 0,3 bis 0,8 vorgegeben. Somit ist es möglich, die Funktion in einem zweiachsigen Koordinatensystem darzustellen. Aus den vorgegebenen Werten resultieren sechs Funktionen, die den unbekannten Radradius rRad (y-Achse) und den variablen Haftreibungskoeffizienten µRad,Kante (x-Achse) enthalten. Zur Veranschaulichung der Werte aus Tabelle 4.1 wurden die gegebenen Wertebereiche der Haftreibungskoeffizienten in die Abbildung 4.5 übertragen. Verschiebt man parallel zur x-Achse eine Linie bis zum unteren bzw. oberen Schnittpunkt der beiden Wertebereiche, so kann am Schnittpunkt dieser Linie mit der y-Achse der benötigte Radradius rRad abgelesen werden. 4.1.2.3 Auswahl geeigneter Räder Während der Recherche nach passenden Rädern konnten in den gewünschten Dimensionen keine speziellen Roboterräder gefunden werden. Allerdings werden für andere Anwendungszwecke Räder in den benötigten Größen hergestellt. Um das passende Rad für den Robotikeinsatz zu finden, wurde eine Auswahl in Tabelle A.3 aufgeführt. Die verwendete Reifen-Felgen-Kombination muss verschiedene Anforderungen erfüllen. Dazu zählt vor allem die Beibehaltung der Reifenform1 . Diese Eigenschaft wird benötigt, um dauerhaft vergleichbare Odometriedaten zu erhalten. Es wäre außerdem nur eine einmalige Kalibrierung der Odometrie nötig. Auch der Haftreibungskoeffizient der Reifen muss groß genug sein, um die 50 mm hohe Kante überwinden zu können. Da die Räder des Roboters als Antriebsräder fungieren sollen, muss eine Kopplung von Welle und Rad möglich sein. Diese Kopplung ist nur bei den vergleichsweise schweren Moped- und Benzinrasenmäherrädern möglich. Folglich werden die Reifen aller Reifen-Felgen-Kombinationen einzeln betrachtet. Für den Reifentyp, der die Anforderungen am besten erfüllt, können anschließend neue Felgen konstruiert werden, die eine Kopplung zwischen Welle und Rad ermöglichen. Automodellbaureifen besitzen keinen Luftschlauch und behalten ihre Form1 1 Mit Form sind speziell die Breite und Länge der Auflagefläche auf den Boden sowie der Reifendurchmesser gemeint. 52 4 Roboterentwurf nur durch die Steifheit ihrer Gummimischung. Da diese meist nicht sehr fest ist, verformen sie in Abhängigkeit von der Belastung durch die Gewichtskraft. Aus diesem Grund sind Automodellbaureifen für den Einsatz in Roboterplattformen mit Odometrie nicht geeignet. Mit dem Ziel, dauerhaft vergleichbare Odometriedaten zu erhalten, werden Reifen benötigt, deren Form sich abhängig von Zeit, Temperatur und Belastung möglichst nicht verändert. Die Dichte und damit das Volumen einer bestimmten Menge von Luft ist von Druck und Temperatur abhängig. Ändert sich also die Belastung oder die Temperatur von Rädern mit Luftschlauch, so ändert sich auch die Reifenform. Die Dichte von Gummi ändert sich in Abhängigkeit von diesen Einflüssen sehr viel weniger. Außerdem verlieren luftgefüllte Reifen über einen gewissen Zeitraum unterschiedlich viel Luft. Da dieser Verlust bei jedem Rad unterschiedlich schnell passiert, müsste der Luftdruck in den Schläuchen regelmäßig angepasst werden, um reproduzierbare Messfahrten zu ermöglichen. Da Vollgummireifen im Gegensatz zu den Luftschlauchreifen wartungsfrei sind und dauerhaft nahezu identische Fahreigenschaften gewährleisten, werden für den weiteren Entwurf Benzinrasenmäherreifen verwendet. Es handelt sich dabei um Reifen der Firma Sabo, die einen Radradius von ca. rrad = 100 mm besitzen. 4.1.3 Getriebeauslegung Aufgrund der verschiedenen Nenndrehzahlen der Motoren muss die Getriebeauslegung für jeden Motor extra durchgeführt werden. Die benötigte Untersetzung berechnet sich wie folgt: i= NNenn NRad,Nenn (4.34) NRad,Nenn bezeichnet die Drehzahl, mit der sich ein Rad bei der vorgegebenen Geschwindigkeit dreht. NNenn ist die Nenndrehzahl des Motors. In Kapitel 4.1.1 wurde die Geschwindigkeit und die Beschleunigung festgelegt, mit der sich der Roboter bei Motornennwerten bewegen soll. Die Formeln für NRad,Nenn (Gleichung: 4.2) und Radumfang URad (Gleichung: 4.3) wurden bereits in Kapitel 4.1.1 dargestellt. Werden diese in die Gleichung 4.34 eingesetzt, so folgt: i= NNenn vNenn 2π·rRad 53 (4.35) 4 Roboterentwurf Die Drehzahl des Rades bei Motornennwerten NRad,Nenn ergibt nach dem Einsetzen von vNenn und URad den Wert NRad,Nenn =2,89 s−1 . Die idealen Getriebeuntersetzungen für die drei noch in Frage kommenden Motoren aus Tabelle A.2 wurden in Tabelle 4.2 eingetragen. Es wurde jeweils das verfügbare Getriebe gewählt, dessen Untersetzung am wenigsten von dem idealen Wert abweicht. Tabelle 4.2: Ideale Untersetzungen der Motoren und verbaubare Getriebe, [Max2-09], [Max3-09], [Fau2-09], [Fau3-09], [Pit-09] Motor Ideale Getriebeuntersetzung (i:1) Verfügbare Getriebeuntersetzung: i:1 (Wirkungsgrad [%]; max. Drehmoment [Nm]) maxon motor, RE 40 150W Faulhaber, 3863 012 C PittmanExpress, LO-COG® 14000 36,7:1 32,9:1 26:1 (81; 7,5), 43:1 (72; 15), 43:1 (75; 30) 23:1 (80; 16), 43:1 (70; 1,4) 18,6:1 5,9:1 (90; n. a.), 19,7:1 (84; n. a.) Die Getriebe der Faulhaber Motoren sind nur auf eingangsseitige Drehzahlen von 4000 min−1 bzw. 3500 min−1 ausgelegt. Somit sollte der „3863 012 C“ von Faulhaber nicht bei seinen Nennwerten betrieben werden. Diese Einschränkung bedeutet, dass der Motor keine hohen Geschwindigkeiten erreichen und somit nicht seine gesamte Nennleistung abgeben kann. Da zudem das dauerhaft übertragbare Moment der Faulhaber-Getriebe sehr gering ist, wäre es nicht möglich, die gewünschte Beschleunigung zu erreichen. 4.1.4 Auswahl einer Motor-Getriebe-Kombination Wie bereits in Kapitel 4.1.1 erwähnt, sind die Motoren der Firma Dunkermotoren GmbH aufgrund ihres Gewichts von mindestens 2,4 kg pro Einheit nicht für den Einsatz in dem zu entwickelnden Robotersystem geeignet. Auch die Motoren der Firma Dr. Fritz Faulhaber GmbH sind - wie im Kapitel 4.1.3 beschrieben - für die benötigte Anwendung nicht geeignet, da die Getriebe, die verbaut werden können, nur für eingangsseitige Umdrehungsgeschwindigkeiten von 3500 min− 1 bzw. 4000 min− 1 ausgelegt sind [Fau2-09], [Fau3-09]. Des Weiteren wurde das Getriebe mit der Untersetzung von 43:1, welches am besten geeignet wäre, nur für ein Dauermoment von 1,4 Nm konstruiert. Dieser Wert liegt unter dem mindestens benötigten Moment, das sich 54 4 Roboterentwurf aus den Kapiteln 4.1.1 und 4.1.2.3 ergibt. Leistung und Gewicht der beiden Motoren der Firmen maxon motor ag und PittmanExpress sind inklusive Getriebe nahezu identisch. Werden allerdings die Kennlinien der beiden Motoren mit den jeweiligen idealen Getrieben berechnet, können große Unterschiede erkannt werden. Die Formel für die Motorkennlinie lautet wie folgt: NGetriebe = − Nmax,Motor i MHalt,Motor · i · ηGetriebe · MGetriebe (4.36) In der Abbildung 4.6 werden die Kennlinien des PittmanExpress Motors mit 19,7:1-Getriebe und die des maxon RE 40 mit GP 52 C, 43:1-Getriebe unter Einbeziehung des Getriebewirkungsgrades dargestellt. Es wurden die Getriebeuntersetzungen gewählt, die am besten mit den idealen Getriebeuntersetzungen (Tab. 4.2) übereinstimmen. Drehzahl der Getriebewelle NGetriebe [1/min] 200 180 Arbeitspunkte der Motoren bei Nennwerten 160 140 120 100 80 60 maxon motor RE40 150W Pittman-Express LO-COG® 14000 40 20 0 0 5 10 15 20 25 30 35 40 45 50 Moment MGetriebe [Nm] Abbildung 4.6: Motorkennlinen von maxon motor RE 40 150W (mit Getriebeuntersetzung 43:1) und Pittman-Express LO-COG® 14000 (mit Getriebeuntersetzung 19,7:1). Die Motorkennlinien wurden mit der Gleichung 4.36 berechnet. 55 4 Roboterentwurf Es ist zu erkennen, dass das Moment des maxon motor RE 40 bei geringen Drehzahlen sehr viel größer als das selbige des PittmannExpress Motors ist. Da die Beschleunigung des Roboters proportional zum Moment ist, wäre die maximale Beschleunigung einer Roboterplattform, in der maxon motor RE 40 Motoren verbaut sind höher, als von einer, in welcher PittmanExpress LOCOG® 14000 Motoren verbaut sind. Nahezu identisch ist das Moment allerdings bei den Arbeitspunkten der beiden Motoren. Der maxon Motor kann den Roboter dauerhaft bei einer Geschwindigkeit von 152 min−1 mit einem Moment von 3,06 Nm antreiben. Der PittmanExpress Motor kann mit einem Moment von 3,04 Nm bei einer Drehzahl von 164 min−1 - aufgrund des besseren Getriebewirkungsgrades - dauerhaft ein wenig bessere Werte liefern. In den Datenblättern der Motoren sind die MTTF bzw. die MTBF nicht angegeben. Somit ist es nicht möglich die beiden Motoren anhand der zu erwartenden Lebensdauer zu vergleichen. Den Wert der Produkte im direkten gegenseitigen Vergleich abzuschätzen ist aufgrund dieser fehlenden Angaben nicht möglich. Die Studentengruppe TU Dresden Robotik AG (TURAG) hat sehr gute Erfahrungen mit maxon motor Motoren gemacht. Außerdem konnte während der Bearbeitungszeit dieser Arbeit kein Kontakt zu Vertriebsmitarbeitern von PittmanExpress Motoren hergestellt werden. Erfolgt eine objektive Auswertung aller Vor- und Nachteile der Motoren, so ist der RE 40 von maxon aufgrund des größeren Momentes bei niedrigen Drehzahlen sowie aufgrund des stabileren Getriebes sehr viel besser für den Einsatz im Robotersystem geeignet. Zusätzlich spricht die schnelle Bearbeitung von Anfragen durch den Vertrieb von maxon motor für den RE 40. Der große Preisunterschied der Motoren (siehe Tabelle A.2) sollte bei den gegebenen Vorteilen des maxon motor RE 40 in Kauf genommen werden. Nachfolgend werden die Werte berechnet, die ein Roboter mit zwei maxon motor RE 40 Motoren und jeweils einem GP52 Getriebe (Wirkungsgrad von 75 %) theoretisch erreicht. Der Radius der Räder beträgt, wie in Kapitel 4.1.2.3 angegeben, rRad =100 mm. Die Geschwindigkeit bei Motornennwerten resultiert aus der Gleichung 4.35 und ergibt: vNenn = 1,55 m/s Das Nennmoment der Motor-Getriebe-Einheit berechnet sich wie folgt: MNenn,Getriebe = MNenn,Motor · i · ηGetriebe (4.37) Werden die bekannten Werte eingefügt, dann ergibt sich ein an der Getriebewelle abgreifbares Nennmoment von 3,06 Nm. 56 4 Roboterentwurf Wenn davon ausgegangen werden kann, dass die Räder des Roboters bei Motornennwerten nicht durchdrehen, resultiert die Beschleunigung der Plattform direkt aus den folgenden Funktionen: F = MNenn,Getriebe rRad (4.38) F = mmax · aNenn,Motor (4.39) Da zwei Motoren verbaut werden, ergibt sich die Beschleunigung des Roboters bei Motornennwerten letztendlich zu: aNenn,Motor = 2 · MNenn,Motor · i · ηGetriebe mmax · rRad (4.40) Setzt man die Werte aus Tabelle 2.1, Tabelle A.2 und den Radradius rRad in die Formel 4.40 ein, so folgt aNenn,Motor = 2,04 m/s2 . Da in Kapitel 4.1.2.1 Annahmen über das Haltemoment des Motors getroffen wurden, muss bewiesen werden, dass das Haltemoment des maxon RE 40 groß genug ist, um den Roboter eine 50 mm hohe Stufe hinauffahren zu lassen. Dazu muss folgende Gleichung gelten: MHalt,Getriebe ≥ Mges (4.41) Das Haltemoment MHalt,Getriebe , das von der Getriebewelle abgegriffen werden kann, berechnet sich wie folgt: MHalt,Getriebe = MHalt,Motor · i · ηGetriebe (4.42) Werden die Werte aus Tabelle A.2 und die des ausgewählten GP 52 C Getriebes aus Tabelle 4.2 eingesetzt, so ergibt sich ein Haltemoment von MHalt,Getriebe = 54,18 Nm. Mges resultiert aus der Gleichung 4.11. Setzt man die Formeln 4.10, 4.13, 4.14, 4.15, 4.23, 4.25 und 4.26 in 4.11 ein, so folgt: Mges µRad,Kante m·g · 1+ = rRad · µRad,Boden · 2 cos α − µRad,Kante sin α ! (4.43) Setzt man in die Gleichung 4.43 die Formel 4.30, den Raddurchmesser des verwendeten Rades, die maximale Stufenhöhe und die jeweils 57 4 Roboterentwurf größten Haftreibungskoeffizienten aus Tabelle 4.1, die das größte mögliche Moment erzeugen, ein, so folgt für das von den Motor-GetriebeEinheiten zu erbringende Gesamtmoment Mges = 19,43 Nm. Jede MotorGetriebe-Einheit muss somit ein Moment von Mges,Getriebe = 9,72 Nm erzeugen. Da MHalt,Getriebe = 54,18 Nm ≥ 9,72 Nm = Mges,Getriebe gilt, sind die MotorGetriebe-Einheiten ausreichend dimensioniert, um einen Roboter mit einem Gewicht von mmax = 30 kg über eine Kante der Höhe hmax = 50 mm zu befördern. Um aufzuzeigen, dass der Roboter seine Höchstgeschwindigkeit in einer angemessenen Zeit erreicht, wurde eine Berechnungstabelle von [Sch-07] zu Hilfe genommen. Werden alle benötigten Werte der Motoren, Getriebe und des Roboters eingesetzt, so folgt, dass die Roboterplattform eine Geschwindigkeit von 1,67 m/s innerhalb von ca. 0,5 s erreicht. Mit diesen Werten ist der Roboter ideal für alle Aufgaben geeignet, die er im IFA zu erfüllen hat. Die Endgeschwindigkeit der Plattform ist geringer als in Kapitel 4.1.1 gefordert. Dies ist der Fall, da das ausgewählte Getriebe nicht die für den Motor ideale Untersetzung bietet. Außerdem kann der gewählte Motor bei Nennwerten nicht die benötigte Leistung liefern. 4.1.5 Auslegung der Zahnriemen Um auch die Räder anzutreiben, die nicht direkt mit dem Motor verbunden sind, benötigt man Komponenten, welche die benötigte Kraft über eine gewisse Entfernung übertragen können. Zahnriemen sind dazu ideal geeignet. Zur Auslegung der Zahnriemen bietet die Firma Mädler GmbH auf Ihrer Homepage ein Berechnungstool [Mae-09] an. Dieses kann jedoch nur sinnvoll eingesetzt werden, wenn Werte, wie der Achsabstand, der dauerhaft zu übertragende Moment und der benötigte Riementyp, näherungsweise bekannt sind. Außerdem können Zahnriemenlängen eingestellt werden, die standardmäßig durch die Firma Mädler GmbH vertrieben werden. So ist eine dauerhafte Verfügbarkeit gewährleistet. Der Mindestachsabstand, den die Zahnriemen überbrücken müssen, berechnet sich wie folgt: aAchs = 2 · rRad + aRaeder (4.44) aRaeder beschreibt dabei die minimale Distanz der Radoberflächen voneinander. Dieser Abstand wird benötigt, damit die Räder nicht aneinander reiben. Er wurde für die folgenden Rechnungen vorübergehend auf aRaeder = 20 mm festgelegt. Da er sowohl von dem Durchmesser der Zahnscheiben als auch der 58 4 Roboterentwurf Länge des Zahnriemens abhängt, kann dieser Abstand erst am Ende des aktuellen Kapitels an die später bekannten Gegebenheiten angepasst werden. Mit der aktuellen Annahme für aRaeder , dem in Kapitel 4.1.2.3 festgelegten Radradius und der Formel 4.44 ergibt sich ein Achsabstand von aAchs = 220 mm. Unter der Annahme, dass das COM im Roboterzentrum liegt und der Roboter auf einem ebenen Untergrund beschleunigt, wird das größte dauerhaft zu übertragende Moment berechnet: mmax · g · µRad,Untergrund · rRad (4.45) MZahnriemen = 4 Mit Gleichung 4.45 kann berechnet werden, wie groß das Moment maximal sein kann, welches von jedem Rad in eine Bewegung umgesetzt wird. Die beiden Zahnriemen müssen jeweils nur das Moment übertragen, das von einem Rad in Bewegung umgesetzt wird. Mit den Annahmen, dass der Haftreibungskoeffizient maximal wird µRad,Untergrund = 1 und rRad = 100 mm gilt, folgt MZahnriemen = 7,36 Nm. Die Eigenschaften des Zahnriementyps AT10 passen - im Vergleich zu den anderen angebotenen - am besten zu den Anforderungen, weshalb dieser Typ ausgewählt wurde [Mae2-09]. Dieser ist für große Zugkräfte ausgelegt, wodurch kleine Zahnscheiben verbaut werden können, und erzeugt im Betrieb vergleichsweise wenig Abrieb [Mae2-09]. Setzt man die berechneten Werte in das Berechnungstool ein, müssen Riemenbreite und Zahnscheibengröße so angepasst werden, dass der Sicherheitsfaktor größer als 1 wird. Damit der Roboter nicht zu breit wird, wurde die Zahnriemenbreite auf 16 mm festgelegt. Die kleinste lieferbare Zahnscheibe, mit der das maximal benötigte Moment dauerhaft übertragen werden kann, besitzt einen Laufflächendurchmesser von 55,45 mm. Der Gesamtdurchmesser der Zahnscheibe beträgt dZahnscheibe = 60 mm. Laut [Mae3-09]1 beträgt der Faktor für die Sicherheit 2,83. Die Kombination aus Zahnriemen und -rad ist somit für die dauerhafte Übertragung des maximalen Momentes geeignet. Im Anschluss wurde der Achsabstand aAchs so eingestellt, dass ein Zahnriemen verwendet werden kann, der von der Firma Mädler GmbH produziert wird, 1 Info zu [Mae3-09]: Die y-Position der Zahnscheibe 1 wurde durch das Berechnungstool automatisch um 1 mm verändert. Durch diese geringe Abweichung wurden die Ergebnisse nicht beeinflusst. Die Position der Zahnscheibe 3 ist für die Konstruktion und die Berechnungen nicht relevant, da sie eine Spannrolle mit einem Durchmesser von 60 mm darstellt, die nicht zum Einsatz kommt. Sie muss allerdings verbaut werden, da das Programm sonst Fehlermeldungen ausgibt. 59 4 Roboterentwurf und mit dem die Montage des Roboters vergleichsweise einfach möglich ist. Es wurde ein Zahnriemen mit der Länge von 660 mm gewählt. Der notwendige Achsabstand ergab sich somit zu aAchs = 239 mm. Bei dem gegebenen Achsabstand hängt der Zahnriemen leicht durch. Diese Eigenschaft soll die Montage des Zahnriemens vereinfachen. 4.1.6 Auslegung der Zahnriemenspanneinheit Damit die Zahnriemen das benötigte Moment zu dem jeweils nicht direkt angetriebenen Rad übertragen können und zwischen den Zahnscheiben nicht durchhängen, müssen sie gespannt werden. Für diese Aufgabe gibt es bereits fertige Lösungen. Diese sind allerdings vergleichsweise schwer (bei Mädler 1,1 kg pro Einheit), weshalb sich eine Eigenkonstruktion anbietet (Abb. 4.7). 2 1 3 4 6 7 5 8 Abbildung 4.7: Zahnriemenspanneinheit. Die Zahlen sind in der nachfolgenden Aufzählung beschrieben. Abbildung 4.7 zeigt die für die Roboterplattform eigens konstruierte Spanneinheit. Vier nebeneinander liegende Kugellager werden mit Hilfe von Federn auf den Zahnriemen gezogen, der dadurch gespannt wird. Diese Kugellager sind über einen beweglichen Arm mit der Bodenplatte verbunden. Durch eine symmetrische Anordnung der Federn auf beiden Seiten der Kugellager soll ein gleichmäßiger Druck auf den Zahnriemen ausgeübt werden. Nachfolgend 60 4 Roboterentwurf werden alle Komponenten, die in Abbildung 4.7 nummeriert wurden, benannt und kurz beschrieben: 1. Armerweiterung – Befestigung von Federn und Kugellagern 2. Vier nebeneinander liegende Kugellager – Lauffläche für einen Zahnriemen 3. Verbindungsteil zwischen Armerweiterung und Arm 4. Gewindestifte – Einstellung der Federzugkraft, Federfixierung 5. Federn – üben im gestreckten Zustand eine Zugkraft auf den Arm und die Armerweiterung aus 6. Arm – verbindet Bodenplatte mit den Kugellagern, drehbar gelagert 7. Verbindungsteil zwischen Bodenplatte und gesamter Spanneinheit, mit zwei eingelassenen Kugellagern 8. Welle – dient der drehbaren Lagerung der Spanneinheit, ist durch einen Stift mit dem Arm verbunden Das Mädler Berechnungstool [Mae3-09] gab aus, dass die Zahnriemen mit einer Kraft von FZahnriemen = 406 N gespannt werden müssen, um ein Moment von MZahnriemen = 7,36 Nm übertragen zu können. Je größer dieses Moment ist, umso größer muss die Kraft sein, mit der die Zahnriemen gespannt werden. Im folgenden Abschnitt wird die Kraft FFeder berechnet, die nötig ist, um den Zahnriemen mit der Kraft von FZahnriemen = 406 N zu spannen (Abb. 4.8). FFeder β FZahnriemen β FZahnriemen Abbildung 4.8: Berechnung der Federkraft 61 4 Roboterentwurf Zur Vereinfachung der Rechnung wird davon ausgegangen, dass die Spanneinheit den Zahnriemen genau mittig berührt und somit folgender Zusammenhang gilt: β=β 0 (4.46) Wird das Kräftegleichgewicht gelöst, ergeben sich folgende Formeln: →: 0 = FZahnriemen · cos β − FZahnriemen · cos β ↓: 0 = FFeder − 2 · FZahnriemen · sin β 0 (4.47) (4.48) Setzt man - wie in [Mae3-09] angegeben - den Winkel β = 7,5 ° und die Mindestspannkraft FZahnriemen = 406 N ein, so ergibt sich als minimal erforderliche Federkraft FFeder = 106 N. Um die Zahnriemen symmetrisch zu spannen, wird auf beiden Seiten der Spanneinheit mindestens eine Feder angebracht, die einen Teil der benötigten Zugkraft erzeugt. Federn erzeugen abhängig von ihrer Streckung eine Zugkraft. Damit die Möglichkeit besteht, die Federkraft in Problemfällen zu erhöhen, werden Federn verbaut, die eine Kraft von bis zu 100 N erzeugen können. 62 4 Roboterentwurf 4.1.7 Aufbau im Überblick Um den genauen Aufbau einer Roboterplattform (Abb. 4.9) zu planen, müssen zuerst die Grundmaße, wie Gesamtlänge, -breite, Chassislänge, -breite und Gesamthöhe ermittelt werden. Es ist sinnvoll, dass Roboterräder und Chassis an der Vorder- und Hinterkante bündig miteinander abschließen. Abbildung 4.9: CAD Modell der Roboterplattform Um die Gesamtlänge der Roboterplattform zu berechnen, werden der Radradius rRad und der Achsabstand aAchs benötigt, die in den Kapiteln 4.1.2.3 und 4.1.5 bestimmt wurden. Die Gesamtroboterlänge resultiert aus der folgenden Formel: lges = aAchs + 2 · rRad (4.49) Somit gilt lges = 439 mm (siehe Abb. 4.10). Die minimale Roboterbreite ergibt sich aus der Länge bzw. Breite der Bauteile, die eingesetzt werden sollen. bges,min = 2 · bRad + 4 · bGerueststrebe + 2 · bAussenblech +2 · bZahnscheibe + lMotorGetriebeEinheit + lKupplung (4.50) Werden die im Konstantenverzeichnis angegebenen Werte in Gleichung 4.50 eingesetzt, so ergibt sich die minimale Gesamtbreite zu bges,min = 404 mm. Da in diesem Zustand alle verbauten Komponenten direkt aneinander liegen würden, wird eine Gesamtbreite von bges = 460 mm gewählt (siehe Abb. 4.10). 63 4 Roboterentwurf l ges = 439 b ges = 460 bGehaeuse = 352 hges = 200 aAchs = 239 hBodenfreiheit = 60 aRaeder = 39 Abbildung 4.10: Grundmaße der Roboterplattform Um die Breite des Robotergehäuses zu erhalten, müssen von der Gesamtbreite zweimal die Reifenbreite sowie der Abstand zwischen den Rädern und dem Roboterchassis abgezogen werden. Daraus ergibt sich folgende Formel: bGehaeuse = bges − 2 · (bRad + bRadRoboterAbstand ) (4.51) Mit dem gewählten Wert bges und den im Konstantenverzeichnis gegebenen Werten, ergibt sich bGehaeuse = 352 mm. Die Bodenfreiheit der Roboterplattform wurde so groß wie möglich gewählt. Sie resultiert aus folgender Gleichung: hBodenfreiheit dZahnscheibe = rRad − + hBodenplatte + hZahnriemen 2 ! (4.52) Sie beträgt hBodenfreiheit = 60 mm. Normalerweise verschwindet der Zahnriemen vollkommen zwischen den Zahnscheibenwänden. Die Zahnriemenhöhe müsste somit nicht in die Rechnung mit einbezogen werden. Um jedoch eine Montage des Zahnriemens im teilweise zusammengebauten Zustand der Roboterplattform zu ermöglichen, wurde dessen Höhe bei der Berechnung der Bodenfreiheit beachtet. Die Bodenfreiheit wurde, ausgenommen von dem soeben erwähnten Sicherheitsabstand, so groß wie möglich gewählt, damit die Bodenplatte der Roboterplattform beim Überqueren von Stufen und bei Fahrten in Außenbereichen möglichst nicht mit dem Boden in Kontakt kommt. Dadurch könnten sich die Fahreigenschaften negativ verändern. Da die Sensoren, die auf dem Roboterdach befestigt werden, freie Sicht benötigen, muss die obere Kante der Deckelplatte mindestens auf der Höhe des 64 4 Roboterentwurf höchsten Punktes der Reifenlauffläche sein. Da durch diese Höhe genug Platz für Elektronik und Mechanik entsteht, wurde sie als Gesamthöhe hges gewählt: hges = 2 · rRad (4.53) Die Höhe der Roboterplattform beträgt somit hges = 200 mm. Die Bauraumhöhe berechnet sich wie folgt: hBauraum = hges − hBodenfreiheit (4.54) Mit den zuvor ermittelten Werten ergibt sich die Bauraumhöhe zu hBauraum = 140 mm. Somit ergibt sich für alle zu verbauenden Komponenten ein Raum von bGehaeuse = 352 mm x lges = 439 mm x hBauraum = 140 mm. Um Mechanik und Elektronik zu trennen, wurden zwei Ebenen eingeführt. Diese werden mit Hilfe von drei Grundplatten voneinander getrennt. In der unteren Ebene werden alle Antriebskomponenten sowie der Akku untergebracht, der die Spannungsversorgung realisiert. In der oberen Ebene werden alle restlichen elektronischen Komponenten, wie Mini-PC und Sensorplatine befestigt. Zur schnellen Montage von bereits verwendeten Sensoren und zur einfachen Integration neuer Sensoren in das System wurden drei Sensorplatten in das Roboterdach integriert (Abb. 4.11(a)). (a) Oberseite der Roboterplattform mit drei wechselbaren Sensorplatten (b) Unterseite der Roboterplattform mit der abnehmbaren Bodenplatte Abbildung 4.11: Ober- und Unterseite der Roboterplattform 65 4 Roboterentwurf Diese Platten können sehr einfach ausgetauscht werden. Um neue Sensoren in das Robotersystem zu integrieren, müssen lediglich neue Platten angefertigt und an die Sensoren angepasst werden. Somit ist keine Modifikation des Roboterchassis nötig. Mögliche Variationen dieser Sensorplatten sind in der Abbildung 4.12 dargestellt. (a) Sensorplatte mit fest platziertem Laserscanner (b) Sensorplatte mit einer in der Höhe verstellbaren Kamera Abbildung 4.12: Variationen der Sensorplatten In die Bodenplatte wurde ein abnehmbares Blech montiert (Abb. 4.11(b)). Dieses bietet die Möglichkeit, in den mittleren Teil der unteren Ebene zu gelangen. Außerdem wird auf dieses Blech der Akku montiert. Während Deckel- und Bodenplatte so ausgelegt wurden, dass sie dem System eine gewisse Stabilität geben, ist die Mittelplatte lediglich zur mechanischen Trennung und zur Anbringung der Elektronik vorgesehen. Um schnell in das Roboterinnere gelangen zu können, wurden der Vorderund Hinterteil der Roboterplattform als abnehmbare Baugruppen konstruiert. Der untere Teil diese Anbauteile wurde leicht an die Form der Reifen angepasst, damit die Räder die ersten Komponenten des Roboters sind, die auf eine Kante oder ein Hindernis treffen. Da die Roboterplattform teilweise mittels Ultraschall navigieren soll, wurden drei US-Sensoren in das vordere und ein US-Sensor in das hintere Anbauteil integriert. Diese Sensoren besitzen einen sehr großen Abstrahlwinkel. Außerdem werden die durch gelieferten Abstandswerte sehr leicht durch fest verbaute Komponenten, die vor ihnen liegen, verfälscht. 66 4 Roboterentwurf Aus diesen beiden Gründen müssen die US-Sensoren so angebracht werden, dass keine Komponenten, die den Schall ungünstig reflektieren könnten, im Schallfeld liegen. Sie wurden deshalb noch vor den vorderen Kanten der Anbauteile angebracht und sind somit die ersten Komponenten des Roboters, die bei einem frontalen Zusammenstoß mit einer Wand oder einem Gegenstand beschädigt werden. Durch [Sch2-07] wurde bereits eine Aufnahme entwickelt, die den Defekt von Sensoren bei einer Kollision verhindern können. Diese wurde übernommen und an das Roboterchassis angepasst. Die US-Sensoren werden mit Gummistücken in Plastikaufnahmen geklemmt. Im normalen Einsatz sind sie durch den Gummi gut fixiert. Bei einer Kollision werden die US-Sensoren allerdings aus diesen Gummistücken heraus gedrückt und somit nicht beschädigt. Eine Neigung und Kippung der Sensoren ermöglichten die Blechteile, an denen die Sensoren befestigt werden. Diese Freiheitsgrade werden benötigt, um eine möglichst optimale Ausrichtung der Schallkegel zu ermöglichen und somit einen möglichst großen Bereich vor und hinter der Roboterplattform erfassen zu können. Der hintere Roboteranbau ist sowohl als Halterung für einen US-Sensor als auch als Frontblende für die Anschlüsse eines Mini-PCs konzipiert. Um Beschädigungen der Kabel, die mit dem Mini-PC verbunden sind, sowie das Herumhängen von Kabeln außerhalb des Roboterchassis zu vermeiden, wurde der hintere Anbau speziell geformt. Nach einem senkrechten Blech, welches als Frontblende für den Mini-PC dient, folgt ein waagerechtes, das einen gewissen Sicherheitsbereich für die Kabel schafft. Danach folgt - wie bei dem vorderen Anbau - der an die Räder angepasste Teil. Wie in Kapitel 4.1 beschrieben, wurde für die Konstruktion der Roboterplattform der Aufbau des Volksbot RT4 als Grundlage genutzt. Es werden zwei Motoren verbaut, von welchen sich einer im vorderen und einer im hinteren Teil des Roboters befindet (Abb. 4.13). Damit die Gewichtskräfte der Motor-Getriebe-Einheiten nicht wie beim Volksbot RT4 an nur einer seitlich liegenden Stelle in das Chassis abgeleitet werden und somit ein unsymmetrischer Spannungszustand entsteht, wurden beide Motor-Getriebe-Einheiten an zwei Stellen mit der Boden- und der Mittelplatte verbunden. 67 4 Roboterentwurf Abbildung 4.13: Verteilung der Mechanikkomponenten in der Roboterplattform 4.1.8 Berechnung der maximal überfahrbaren Stufenhöhe Es ist wichtig die maximal überwindbare Stufenhöhe einer Roboterplattform zu kennen. So können Kanten, die nicht überwindbar sind, gemieden und mögliche Defekte verhindern werden. Zur Ermittlung dieser Höhe, wird die Position des Punktes MR2 benötigt (Abb. 4.14 bzw. 4.15). Dieser hängt von der unbekannten, maximal überwindbaren Kantenhöhe ab. Solange die maximale Stufenhöhe nicht größer als der Radradius wird, ist der Schnittpunkt S2 von Rad und Bodenplatte der Punkt, den eine Kante bei der Überfahrt als erstes berührt. Eine Kante, die die maximal überwindbare Höhe besitzt, berührt demnach den Punkt S2 . Da dieser auf der selben Ebene wie der Punkt S1 liegt, ist seine y-Koordinate S2 .y = 0. Zur Bestimmung der x-Koordinate wird der Abstand zwischen MR1 und S2 benötigt. Da die Position von MR2 im Koordinatensystem 1 bekannt ist, kann der benötigte Abstand in diesem Koordinatensystem berechnet werden. Die Kreisgleichung für das zweite Rad sowie die Formel für die Gerade, die entlang der Bodenplatte verläuft, lautet wie folgt: 2 y12 + (x1 − aAchs )2 = rRad (4.55) y1 = MR1 P1 (4.56) 68 4 Roboterentwurf MR1 x1 hBo y2 S1 S2 x2 rRad - hmax,mgl denf reihe i t = 60 00 =1 r Rad y1 aAch = s 239 aRae der = 3 9 MR2 hmax,mgl Abbildung 4.14: Modell zur Berechnung der durch die Bodenfreiheit limitierten, maximal überwindbaren Stufenhöhe MR1 P1 y2 S1 ε‘ S2 G ε δ δ MR2 x2 Abbildung 4.15: Geometrisches Modell der Roboterplattform zur Berechnung der durch die Bodenfreiheit limitierten, maximal überwindbaren Stufenhöhe 69 4 Roboterentwurf Für die Strecke MR1 P1 gilt: MR1 P1 = rRad − hBodenfreiheit (4.57) Werden die Gleichungen 4.55, 4.56 und 4.57 ineinander eingesetzt, so ergibt sich folgende Formel: x21 − 2x1 aAchs − 2rRad hBodenfreiheit + h2Bodenfreiheit + a2Achs = 0 (4.58) Zur Vereinfachung der weiteren Rechnung werden die zuvor berechneten und im Konstantenverzeichnis aufgelisteten Werte in die Gleichung 4.58 eingesetzt. Es ergeben sich zwei Lösungen: xl1 = 330,65 mm und xl2 = 147,35 mm. Da xl1 größer als der Achsabstand aAchs ist, kann dieser nicht die gesuchte Lösung sein. Für die weiteren Rechnungen wird xl2 verwendet. Der Abstand zwischen MR1 und S2 lässt sich mit folgender Formel berechnen: MR1 S2 = q x2l2 + (rRad − hBodenfreiheit )2 (4.59) Es ist nun möglich die x-Koordinate von S2 im Koordinatensystem 1 zu bestimmen: S2 .x = q 2 2 MR1 S2 − rRad (4.60) Werden die bekannten Werte in die Gleichungen 4.59 und 4.60 eingesetzt, ergibt sich die Position des Punktes S2 bezogen auf das Koordinatensystem 1 zu S2 = (115,38 mm; 0 mm). Im folgenden Teil der Rechnung werden die gesuchten Winkel berechnet. Es gilt: δ = 0 − (4.61) = arcsin MR1 P1 MR1 S2 (4.62) 0 = arcsin MR1 S1 MR1 S2 (4.63) Die Gerade G (siehe Abb. 4.15) verläuft parallel zu S1 S2 . Da der Abstand MR1 MR2 = aAchs und der Winkel δ bekannt sind, kann die Position von MR2 wie folgt berechnet werden: MR2 .x = aAchs cos δ 70 (4.64) 4 Roboterentwurf MR2 .y = rRad − aAchs sin δ (4.65) Die maximal überwindbare Stufenhöhe hmax,mgl kann mit der folgenden Gleichung berechnet werden (siehe Abb. 4.14): hmax,mgl = rRad − MR2 .y (4.66) Werden die Gleichungen 4.59, 4.60, 4.61, 4.62, 4.63 und 4.65 in die Gleichung 4.66 eingesetzt, so ergibt sich für die maximal überfahrbare Stufenhöhe folgende Formel: rRad hmax,mgl = aAchs sin arcsin q x2l2 + (rRad − hBodenfreiheit )2 rRad − hBodenfreiheit (4.67) − arcsin q 2 2 xl2 + (rRad − hBodenfreiheit ) Mit der Gleichung 4.67 und den bekannten Werten ergibt sich die maximale Höhe einer überfahrbaren Stufen zu hmax,mgl = 103,75 mm. 71 4.2 Elektronikentwurf Der Entwurf der Elektronik ist ein wichtiger Schritt in der Konzeption einer Roboterplattform. Motoren und Sensoren müssen angesteuert bzw. ausgelesen werden können, komplexe Programme ausführbar und verschiedene Anschlussmöglichkeiten vorhanden sein. Außerdem soll viel Rechenleistung bei gleichzeitig geringer elektrischer Leistungsaufnahme zur Verfügung stehen. Da es von dem Mini-PC und der Steuerelektronik abhängt, welche Bussysteme für die Kommunikation verwendet und wo welche Sensoren angeschlossen werden können, müssen diese beiden Komponenten zunächst ausgewählt werden. Darauffolgend wird der Gesamtaufbau der Elektronik beschrieben und das Energiemanagement geplant. 4.2.1 Auswahl eines Mini-PCs Um verschiedene Algorithmen auszuführen, wird ein leistungsstarker Computer benötigt, auf dem das Echtzeitbetriebssystem Xenomai arbeiten soll. Die Anforderungen dieser Arbeit geben vor, dass es sich hierbei um einen in der Roboterplattform verbauten Computer handeln soll. An diesen Computer werden mehrere Anforderungen gestellt. Der verbaute Prozessor muss möglichst schnell sein, damit auch die Ergebnisse von anspruchsvollen Rechnungen innerhalb kürzester Zeit zur Verfügung stehen. Da die Energiereserven auf einem solchen Robotersystem sehr beschränkt sind, sollte das gesamte Mainboard trotz hoher Rechenleistung möglichst wenig elektrische Leistung verbrauchen. Zwischen diesen beiden Kriterien abzuwägen und die optimale Lösung zu finden, ist die wesentliche Aufgabe bei der Auswahl eines geeigneten Mini-PCs. In den Tabellen A.4 und A.5 wurden verschiedene Mainboards verglichen, auf denen teilweise Prozessoren verbaut sind. Um eine geeignete Auswahl zu treffen, müssen verschiedene Kriterien untersucht werden. Wichtige Kriterien für die Auswahl eines Mini-PCs sind neben der Prozessortaktung und der elektrischen Leistungsaufnahme der Preis, die Anzahl der seriellen Anschlüsse, die Anzahl der USB-Anschlüsse, die Anschlussmöglichkeit eines WLAN-Adapters und das Vorhandensein eines VGA bzw. DVI Ausgangs. Aufgrund der niedrigen Leistung, den im Vergleich dazu hohen Preisen und der geringen Anzahl von USB-Buchsen kommen die Mainboard-ProzessorKombinationen mit den Nummern 4 und 7 aus den Tabellen A.4 und A.5 für den Einsatz in dem Robotersystem nicht in Frage. Da in Kapitel 2.2.1 eine Mindestanzahl von sieben USB-Buchsen (6 für Sensoren, die interne Elektronik und die Sensorplatine, eine als Ersatzbuchse) festgelegt wurde, ist das 4 Roboterentwurf Board mit der Nummer 3 ebenso ungeeignet. Die Boards mit den Nummern 5 und 6 besitzen dieselbe CPU und benötigen nahezu dieselbe elektrische Leistung. Board 6 hat im Gegensatz zu Board 5 den Vorteil, dass es einen integrierten WLAN-Adapter und eine Grafikkarte besitzt, auf der Programme ausgeführt werden können. Da in Kapitel 2.2.1 ein WLAN-Modul gefordert wurde, müsste dieses bei dem Board mit der Nummer 5 nachgerüstet werden. Die beiden würden sich in diesem Fall preislich fast nicht mehr von einander unterscheiden. Da sich die Boards mit den Nummern 5 und 6 in Prozessorleistung, elektrischer Leistungsaufnahme und Preis nahezu nicht unterscheiden, das Board 6 allerdings eine sehr viel bessere Grafikkarte und dazugehörige Anschlüsse bietet, kann auf eine weitere Betrachtung von Board 5 verzichtet werden. Zur Auswahl stehen noch die Boards mit den Nummern 1, 2 und 6. Da die Leistungsreserven auf der Roboterplattform sehr beschränkt sind, fiel die Entscheidung trotz der besseren Ausstattung von Board 2 und 6 auf das Board mit der Nummer 1. Dabei handelt es sich um das „INTEL D945GSEJT iAtomPro.270“, welches einen maximalen Leistungsverbrauch von 15 W und einen mit 1,6 GHz getakteten Intel Atom Prozessor besitzt. 4.2.2 Auswahl der Steuerelektronik Die passende Steuerelektronik für das Robotersystem zu finden, ist sehr wichtig. Sie soll aus einem Hauptprozessor, einem Motortreiber für jeden Motor und einem Quadratursignal-Auswerter für jeden Inkrementalgeber bestehen. Aufgaben wie die Ansteuerung von Sensoren und Motoren sollen durch sie erledigt werden. Gleichzeitig soll die Kommunikation mit dem Benutzer möglich sein und eine v/ω-Regelung ausgeführt werden können. Das Hauptaugenmerk liegt auf der richtigen Auswahl der Motortreiber, die beim Anfahren der Roboterplattform sehr große Ströme schalten muss. Im Jahr 2008 wurde durch Martin Seemann, einem Mitglied der Studentengruppe TU Dresden Robotik AG (TURAG), im Zusammenhang mit einer Studienarbeit [See-08] der Vergleich zwischen bestehenden Steuersystemen gemacht. Bei diesem Vergleich konnte kein Produkt vollständig überzeugen. Aus diesem Grund wurde eine Steuerelektronik entworfen, die mit bis zu acht Erweitungsboards, wie Motortreiber, Quadraturencoder-Auswertung oder Servotreiber, bestückt werden kann. „Ziel der Arbeit war es, die Entwicklung von Roboterplattformen mit einem wiederverwendbaren Modulsystem im Bereich Elektronik und teilweise auch Software zu erleichtern“ [See-08, S.125]. Dieses System aus Steuereinheit und Erweiterungsboards erfüllt alle gestell- 73 4 Roboterentwurf ten Anforderungen an die Roboterplattform. Wegen vorhandener Schaltpläne ist es schnell realisierbar. Außerdem können verschiedene Programme von den Projekten der TURAG übernommen werden. Mit einer enormen Zeitersparnis ist zusätzlich zu rechnen, da der Autor weitreichende Erfahrungen mit dem genannten System besitzt. Aus diesen Gründen wurde das in [See-08] entwickelte Elektronik-Software-System gewählt. In Kapitel 2.2.1 wurde angeben, welche Anschlüsse die Steuerelektronik bieten soll. Durch die Kombination von Steuereinheit, Motortreiben und QuadraturAuswertung sind alle geforderten Anschlüsse vorhanden. Eine Darstellung der gewählten Kombination ist in Abbildung 4.16 zu sehen. Abbildung 4.16: Steuereinheit, Quadraturencoder-Auswertung und Motortreiber [See-08] Um die gewählten Komponenten mit dem Robotersystem zu verbinden wird eine Platine benötigt auf die die ausgewählten Boards aufgesteckt werden können. Diese wurde zusammen mit Martin Seemann entworfen. Die Schaltpläne für diese Platine sind im Anhang zu finden (Abb. A.2, A.3, A.4 und A.5). Auf der Platine sollen neben den Anschlüssen für die Elektronikboards zusätzlich alle Buchsen für Taster, Schalter und Motoren sowie die Komponenten für die Spannungsversorgung untergebracht werden. 4.2.3 Elektronik im Überblick Die Elektronik, die im Roboter verbaut wird, konnte genau so, wie in Kapitel 2.2.2 gefordert zusammengestellt werden. An den ausgewählten MiniPC wird ein Sensorboard und die Steuereinheit angeschlossen. Mit dieser 74 4 Roboterentwurf Steuereinheit werden die Motortreiber und Quadratursignal-Auswertung verbunden. Die Stromversorgung wird durch einen Akku gewährleistet. Da die Spannung von Akkus nie konstant ist, wird diese durch DC/DC-Wandler geglättet. Lediglich die Motoren werden mit einem PMW-Signal betrieben, dessen Maximum die Akkuspannung ist. Der genaue Aufbau, Schnittstellen zwischen den Komponenten und die Stromkreise an die die verschiedenen Komponenten angeschlossen werden, können der Abbildung 4.17 entnommen werden. 12V* PWM 12V Akkublock Motortreiber 12V* Motoren mit Inkrementalgebern QuadratursignalAuswertung DC/DC-Wandler 12V* 5V . . . DC/DC-Wandler (optional) 12V* Ultraschallsensoren 5V* DC/DC-Wandler Mikrocontroller Steuereinheit 12V* 12V Beschleunigungssensor Gyroskop und Beschleunigungssensorsensorplatine Mini PC Kamera Gyroskop Laserscanner . . . Inertial Measurement Unit (IMU) andere Sensoren 12V* (Akkuspannung) 12V 5V 5V* (optional) 5V USB 12V* PMW USB SPI I²C Abbildung 4.17: Blockschaltbild der Elektronik Auf das an den Mini-PC über USB angeschlossene Sensorboard wird in diesem Kapitel nicht eingegangen, da der Entwurf nicht Bestandteil dieser Arbeit ist. 75 4 Roboterentwurf 4.2.4 Energiemanagement Die Planung des Energieverbrauchs und der benötigten Energiespeicherkapazität ist essentiell für eine Roboterplattform, da die in Kapitel 2.2.1 angegeben Betriebszeiten erreicht werden sollen. Vor allem die Motoren und der Mini-PC verbrauchen große Mengen an Energie. Nachfolgend wird der durchschnittliche Energiebedarf aller Komponenten im normalen Betrieb geschätzt und bekannte Werte aus vorhandenen Quellen entnommen. Dabei wird vorerst nicht auf den Mehrverbrauch durch die benötigten DC/DC-Wandler bzw. Linearregler und Sensoren, wie z. B. die Kamera eingegangen. Eine Übersicht des Energieverbrauchs der einzelnen Komponenten ist in Tabelle 4.5 dargestellt. Laut [Min-09] verbraucht der in Kapitel 4.2.1 ausgewählte Mini-PC Leistungen von bis zu PMiniPC = 15 W. Die Leistungsaufnahme des zusätzlich benötigten WLAN-Adapters hängt von der Dauer der Sende- und Empfangszeiten ab. Im Folgenden wird davon ausgegangen, dass jede Sekunde eine Datenmenge von DWLAN,Vorgabe = 8 Mbit versendet wird und aufgrund von Störungen und der Entfernung zum Sendepartner lediglich ein Drittel der vollen Datenübertragungsrate von CWLAN,IEEE 802.11n = 300 Mbit/s genutzt werden kann. In der Zeit, in der der WLAN-Adapter keine Daten sendet, ist dieser dauerhaft im Empfangsmodus. Der Idle Mode wird nur aktiviert, wenn keine Daten empfangen und gesendet werden. [Tec2-09] gibt die in Tabelle 4.3 aufgelisteten Daten für die elektrische Leistungsaufnahme an. Tabelle 4.3: Leistungsaufnahme des Intel 4965AGN WLAN-Adapters, [Tec2-09] Zustand Verbrauch Senden PWLAN,senden = 2,3 W Empfangen PWLAN,empfangen = 1,9 W Idle Mode PWLAN,idlemode = 0,03 W Aus PWLAN,aus = 0,02 W Die zum Senden benötigte Zeit berechnet sich wie folgt: TWLAN,senden = DWLAN,Vorgabe CWLAN,IEEE 802.11n · 1/3 (4.68) Zum Versenden von einer Datenmenge von DWLAN,Vorgabe = 8 Mbit benötigt der Adapter demnach TWLAN,senden = 0,08 s. 76 4 Roboterentwurf Der durchschnittliche Leistungsverbrauch berechnet sich demnach wie folgt: PWLAN = TWLAN,senden ·PWLAN,senden +(1 s−TWLAN,empfangen )·PWLAN,empfangen 1s (4.69) Setzt man die Werte aus Tabelle 4.3 und die Ergebnisse aus der Gleichung 4.68 in die Gleichung 4.69 ein, so ergibt sich eine durchschnittliche Leistungsaufnahme des WLAN-Adapters von PWLAN = 1,93 W. Im Gegensatz zum WLAN-Adapter nehmen Steuerelektronik, Motortreiber, Quadraturencoder-Auswertung und Sensorboard ein konstante Leistung auf. Sie benötigen jeweils bis zu 100 mA bei einer Spannung von 5 V [See-08, S.50]. Die benötigte Leistung beträgt somit jeweils PElektronikboard = 0,5 W. Die durch die Quadraturencoder-Auswertung mit Strom versorgten Inkrementalgeber benötigen bei einer Spannung von 5 V jeweils einen Strom von bis zu 5 mA und somit dauerhaft eine elektrische Leistung von jeweils PInkrementalgeber = 0,025 W [Max4-09]. Die Ultraschallsensoren, die zur Detektion von Hindernissen verbaut wurden, benötigen bei einer Spannung von 5 V laut [Dev-03] jeweils einen durchschnittlichen Strom von 15 mA und somit eine durchschnittliche elektrische Leistung von PUS-Sensor = 0,075 W. Dem Laserscanner „URG-04LX“ muss laut [Hok-05] bei der gleichen Versorgungsspannung ein Strom von 500 mA zur Verfügung gestellt werden. Dieser verbraucht somit dauerhaft PLaserscanner = 2,5 W. Die Komponenten, die in diesem Robotersystem am meisten Energie benötigen, sind die beiden Motoren. Um den durchschnittlichen Leistungsverbrauch dieser Komponenten zu schätzen, wurde angenommen, dass die Roboterplattform jede Minute einmal mit einer Geschwindigkeit von 0 m/s auf 1 m/s und vier mal mit einer Geschwindigkeit von 0,5 m/s auf 1 m/s mit jeweils a = 2 m/s2 beschleunigt. Der Bremsvorgang geschieht unter denselben Bedingungen. Während der restlichen Zeit fährt die Plattform dauerhaft mit 1 m/s. Da eine Rückgewinnung von Energie im gewählten Antriebssystem nicht möglich ist, geht die gesamte kinetische Energie, die beim Bremsvorgang abgebaut wird, verloren. Die maximale Masse, die beschleunigt werden soll, beträgt mmax = 30 kg. Das Trägheitsmoment, welches beim Beschleunigungsvorgang überwunden werden muss, setzt sich aus den Trägheitsmomenten von mehreren Komponenten zusammen (Tab. 4.4). 77 4 Roboterentwurf Tabelle 4.4: Trägheitsmomente der angetriebenen Komponenten Komponente Anzahl pro Antriebseinheit Trägheitsmoment [kgm2 ] Berechnungsgrundlage, Quelle Reifen 2 JReifen = 5,3·10−3 Felge Motor Getriebe Kupplung Welle beim Motor zahnriemengetriebene Welle Spannbacke Zahnscheibe Zahnriemen 2 1 1 1 1 1 JFelge = 4,3·10−3 JMotor = 1,39·10−5 JGetriebe = 1,73·10−6 JKupplung = 2,22·10−5 JWelle,Motor = 5,36·10−7 JWelle,Zahnriemen = 4,77·10−7 ri = 80 mm; ra = 100 mm; m = 650 g Solid Works [Max-09] [Max3-09] Solid Works Solid Works Solid Works 1 2 1 JSpannbacken = 1,83·10−5 JZahnscheibe = 6,14·10−5 JZahnriemen = 4,02·10−6 Solid Works Solid Works dZahnriemen,wirk = 57,3 mm; m = 66 g Nicht gegebene Trägheitsmomente wurden mit folgender Formel berechnet: J= m 2 · ri + ra2 2 (4.70) Die Getriebewelle dreht sich i (= 43) mal langsamer, als die Motorwelle. Um weitere Berechnungen machen zu können, müssen alle Trägheitsmomente auf eine Welle bezogen werden. Aus diesem Grund müssen die Trägheitsmomente von Motor und Getriebe auf die Welle des Getriebes umgerechnet werden. Diese Umformung ist mit folgender Formel möglich: JGetreibewelle = JMotorwelle · i2 (4.71) Das Gesamtträgheitsmoment jeder Antriebseinheit beträgt demnach Jges = 0.0483 kgm2 . Folgend kann das Moment berechnet werden, welches benötigt wird, um den Roboter zu beschleunigen: Mges = MMasse + 2 · MTraegheitsmoment (4.72) MMasse = mmax · a · rRad (4.73) 78 4 Roboterentwurf MTraegheitsmoment = Jges · ω̇Getriebe (4.74) Die Winkelbeschleunigung der Getriebewelle ω̇Getriebe lässt sich wie folgt berechnen: ω̇Getriebe = a 2π · rRad (4.75) Entsprechend Gleichung 4.75 wird für eine Beschleunigung a = 2 m/s2 ein Gesamtmoment von Mges = 6.12 Nm benötigt. Die Roboterplattform muss innerhalb einer Minute einen Geschwindigkeitsunterschied von insgesamt 3 m/s (ein Mal 1 m/s und vier Mal 0,5 m/s) überwinden. Werden diese Geschwindigkeitsdifferenzen mit a = 2 m/s2 überwunden, so dauert der Beschleunigungsvorgang insgesamt tBeschleunigung = 1,5 s. Für die Bremsvorgänge wird nochmal die selbe Zeit angenommen tBremsen = tBeschleunigung . Das bedeutet, dass jede Minute für tBeschleunigung = 1,5 s das Moment Mges = 6.12 Nm benötigt wird. Dauerhaft muss zusätzlich ein Moment überwunden werden, welches durch die Reibungen zwischen den Komponenten im Roboter sowie zwischen den Rädern und dem Boden entsteht. Die Reibungen im Roboter können aufgrund der mit Kugellagern gelagerten Wellen und der daraus resultierenden geringen Reibung vernachlässigt werden. Die Reibung zwischen den Rädern und dem Boden hängt stark von der Bodenbeschaffenheit und laut [KKi-07] auch von der gefahrenen Strecke ab. Mit den in Kapitel 3.2.3 gegebenen Formeln für die Kräfte, die einer rotatorischen Bewegung entgegen wirken, ist es möglich dieses Moment abzuschätzen. Da noch weitere Faktoren wie z. B. die Bodenbeschaffenheit Einfluss auf diese Moment haben, kann es nur geschätzt werden. In den folgenden Rechnungen wird das Reibmoment mit MReibung = 2 Nm angenommen. Für die Teilkomponenten (Momente über einen gewissen Zeitraum) gilt: (M t)Beschleunigung = (Mges + MReibung ) · tBeschleunigung (4.76) (M t)Bremsen = (Mges − MReibung ) · tBremsen (4.77) (M t)Fahrt = MReibung · (1 min − tBeschleunigung − tBremsen ) (4.78) Die Versorgungsspannung, welche ein 12 V Akku liefert, wird zur Vereinfachung mit genau 12 V angenommen. Um vom benötigten Moment auf die durchschnittlich benötigte elektrische Leistung PMotor,elektrisch zu schließen, 79 4 Roboterentwurf wird die Motorkonstante Km = 16,4 mNm/A der im Kapitel 4.1.4 ausgewählten maxon motor Motoren genutzt (Tab. A.2). Für die durchschnittlich benötigte elektrische Leistung ergibt sich pro Motor folgende Gleichung: PMotor,elektrisch (M t)Beschleunigung + (M t)Bremsen + (M t)Fahrt / (1 min) U = · 2 ηGetriebe · Km · i (4.79) Setzt man die bekannten Werte in die Gleichung 4.79 ein, so ergibt sich eine durchschnittlich benötigte elektrische Leistung von PMotor,elektrisch = 25,7 W. Die berechneten durchschnittlichen Leistungsaufnahmen aller Komponenten sind in Tabelle 4.5 aufgelistet. Tabelle 4.5: Durchschnittliche Aufnahme elektrischer Leistung der im Roboter verbauten Komponenten Komponente Elektronikboards Inkrementalgeber Laserscanner Mini-PC Motoren US-Sensoren WLAN-Adapter Anzahl Spannung Durchschnittlicher Verbrauch 4 2 1 1 2 4 1 5V 5V 5V 12 V 12 V 5V 12 V PElektronikboard = 0,5 W PInkrementalgeber = 0,025 W PLaserscanner = 2,5 W PMiniPC = 15 W PMotor,elektrisch = 25,7 W PUS-Sensor = 0,075 W PWLAN = 1,93 W Die Komponenten, für die die durchschnittlichen Leistungen berechnet wurden, benötigen verschiedene Spannungen. Somit können sie nicht direkt an die Spannungsversorgung angeschlossen werden. Um die benötigten Spannungen zu erzeugen, wurden Spannungswandler (DC/DC-Wandler) verbaut. Da an dem 12 V Akku nie genau die angegebene Spannung von 12 V anliegt, wurde auch zur Versorgung von Mini-PC und WLAN-Adapter ein solcher DC/DCWandler eingesetzt. Lediglich die Motoren können über den Motortreiber direkt mit der Akkuspannung betrieben werden. Die DC/DC-Wandler haben unter anderem den Vorteil, dass die beiden Stromkreise, mit denen sie verbunden sind, voneinander getrennt werden. So gelangt ein Großteil der Störungen, die vor allem durch die Motoren erzeugt werden, nicht in die Stromkreise, die das Mainboard, die Elektronik und die Sensorik versorgen. 80 4 Roboterentwurf Alle Komponenten, die mit einer Spannung von 5 V betrieben werden, sollen durch einen DC/DC-Wandler der Firma TRACOPOWER („TEN 81211“) versorgt werden. Dieser besitzt einen Wirkungsgrad von ηTEN 8 = 82 % [Tra-08]. Der DC/DC-Wandler „TEN 40-1211“ von TRACOPOWER soll die Spannungsversorgung des Mini-PCs und der an ihm angeschlossenen Komponenten sicher stellen. Dieser besitzt einen Wirkungsgrad von ηTEN 40 = 86 % [Tra-07]. Falls die Leistung des „TEN 8-1211“ für die Versorgung der Sensorik nicht ausreicht, ist es möglich einen weiteren baugleichen oder einen leistungsstärkeren 25 W DC/DC-Wandler auf die Rückwandverdrahtung zu löten. Die durchschnittlich verbrauchte elektrische Leistung der gesamten Roboterplattform kann nun berechnet werden. Es wird davon ausgegangen, dass die Zeit, in der sich die Plattform bewegt, lediglich die halbe Betriebszeit ist. Somit ergibt sich die Gleichung: Pges,elektrisch = 2 · PMotor,elektrisch PMiniPC + PWLAN + 2 ηTEN 40 4 · PElektronikboard + PLaserscanner + ηTEN 8 2 · PInkrementalgeber + 4 · PUS-Sensor + ηTEN 8 (4.80) Die durchschnittliche verbrauchte Leistung beträgt demnach Pges,elektrisch = 51,3 W. Da diese auf die Spannungsversorgung - also den Akku - bezogen wurde, lässt sich der dauerhaft fließende Strom berechnen: Iges = Pges,elektrisch U (4.81) Durchschnittlich wird demnach ein Strom von Iges = 4,28 A fließen. Da mehrere Werte, die den Stromverbrauch beeinflussen, geschätzt wurden und Komponenten wie z. B. weitere Sensoren oder eine Festplatte nicht beachtet werden konnten, kann der berechnete Wert nur als Anhaltswert genutzt werden. Um die in Kapitel 2.2.1 angegebene Betriebszeit TBetrieb = 2 h zu erreichen, muss ein Akku ausgelegt werden. Die benötigte Ladungsmenge berechnet für den geforderten 12 V Akku wie folgt: QAkku = Iges · TBetrieb (4.82) Um die gewünschte Betriebszeit zu erreichen, wird demnach ein Akku benötigt, der mindestens die Ladungsmenge QAkku = 8,56 Ah speichern kann. 81 4 Roboterentwurf Damit gewisse Ladungsreserven zur Verfügung stehen und die Betriebszeit auch für den Fall, dass weitere Sensoren an die Plattform angeschlossen sind, erreicht werden, sollte ein Akku mit 10 Ah verbaut werden. 4.3 Spezielle Anforderungen an die Software Um dem Benutzer die Ansteuerung der Roboterplattform und Änderungen der Software einfach zu gestalten, ist es wichtig die gesamte Softwarestruktur vor dem Beginn der Programmierung zu planen. Mögliche Probleme sollen dabei frühzeitig erkannt und behoben werden. Da die Software für das Motortreiberboard und die QuadraturencoderAuswertung bereits durch Martin Seemann erstellt wurde, muss lediglich die Kommunikationssoftware zwischen Mini-PC und Steuereinheit, die v/ωRegelung und die Software für das Sensorboard geplant werden. 4.3.1 Software im Überblick In Kapitel 4.2.2 wurde ein Elektroniksystem gewählt, welches aus mehreren Komponenten zusammengesetzt wird. Aus diesem Grund muss für jedes Elektronikboard spezielle Software geschrieben werden. Für das Motortreiberboard und die Quadraturencoder-Auswertung wurde diese bereits durch [See-08] erstellt. Die genannten Boards besitzen somit Schnittstellen, nach denen man sich bei der Programmierung der Steuereinheit richten muss. Da in [See-08] das Echtzeitbetriebssystem eCos an die Steuereinheit und die Ansteuerung der Zusatzmodule angepasst wurde, ist eine Wiederverwendung möglich. Es bietet dem Programmierer die Möglichkeit des Multithreadings. Somit ist das gleichzeitige Abarbeiten mehrerer Programme durch den Mikrocontroller möglich. Diese Eigenschaft ist von Vorteil, da Kommunikationssoftware und v/ω-Regelung gleichzeitig ausgeführt werden müssen. Die Echtzeitfähigkeit des Betriebssystems ermöglicht zudem die Implementierung einer echtzeitfähigen Regelung. 4.3.2 Kommunikationssoftware Die Kommunikationssoftware, die sich auf der Steuereinheit befindet, verarbeitet alle Nachrichten, die vom Mini-PC versendet werden. Anfragen nach Sensordaten werden direkt beantwortet und übermittelte Regler-Sollwerte direkt an den Reglersoftware weiter geleitet. 82 4 Roboterentwurf Um dem Benutzer ständig aktuelle Sensorwerte bereitstellen zu können, müssen diese in bestimmten Zeitintervallen durch die Kommunikationssoftware von den jeweiligen Sensoren abgefragt werden. Die Werte der Inkrementalgeber werden bis zur Abfrage durch den Mini-PC in einem Zwischenspeicher aufaddiert. Gemessene Motorströme werden, ausgehend von dem Zeitpunkt der letzten Übertragung an den Mini-PC, gemittelt. Zusätzlich soll es möglich sein, die zuletzt gemessenen Werte von Inkrementalgebern, Motorströmen und US-Sensoren abzufragen. Um dem Benutzer die Möglichkeit zu bieten, den Aufnahmezeitpunkt der Sensordaten zu erhalten, werden die Zeitstempel der aktuellsten Werte gespeichert. Zusätzlich werden die Zeitstempel der ersten Wertübernahme von Inkrementalgeber- und Motorstromdaten nach der letzten Abfrage durch den Mini-PC gespeichert. So ist es möglich auf die Zeitdauer und die Anzahl der gemittelten bzw. aufaddierten Werte zu schließen. Eine Übersicht über alle zur Verfügung stehenden Daten kann der folgenden Auflistung entnommen werden: • • • • • • • • • • • • • • • • • • • Zeitstempel der letzten Abfrage des US-Sensors links vorn aktueller Entfernungswert des vorderen linken US-Sensors Zeitstempel der letzten Abfrage des US-Sensors vorn in der Mitte aktueller Entfernungswert des vorderen mittigen US-Sensors Zeitstempel der letzten Abfrage des US-Sensors vorn rechts aktueller Entfernungswert des vorderen rechten US-Sensors Zeitstempel der letzten Abfrage des US-Sensors hinten aktueller Entfernungswert des hinteren US-Sensors Zeitstempel der letzten Inkrementalgeberauslesung letzter Wert des linken Motor-Inkrementalgebers letzter Wert des rechten Motor-Inkrementalgebers Zeitstempel der ersten Inkrementalgeberauslesung nach der letzten Abfrage durch den Mini-PC aufaddierte Werte des linken Motor-Inkrementalgebers seit der letzten Abfrage durch den Mini-PC bis zum aktuellen Wert aufaddierte Werte des rechten Motor-Inkrementalgebers seit der letzten Abfrage durch den Mini-PC bis zum aktuellen Wert Zeitstempel der letzten Strommessung letzter Wert der Strommessung des linken Motors letzter Wert der Strommessung des rechten Motors Zeitstempel der ersten Motorstrommessung nach der letzten Abfrage durch den Mini-PC gemittelte Werte der Strommessungen des linken Motors seit der letzten Ab- 83 4 Roboterentwurf frage durch den Mini-PC bis zum aktuellen Wert • gemittelte Werte der Strommessungen des rechten Motors seit der letzten Abfrage durch den Mini-PC bis zum aktuellen Wert In Kapitel 2.1 wurde angegeben, dass es dem Benutzer möglich sein soll die Werte der verbauten Sensoren einzeln oder alle zusammen abzufragen. Dazu soll lediglich ein Übergabewert in der durch den Mini-PC gesendeten Nachricht geändert werden müssen. Die Sollwerte Geschwindigkeit v und Winkelgeschwindigkeit ω können ebenso durch eine Nachricht gesetzt werden. Zusätzlich besteht die Möglichkeit anstatt den Sollwerte v und ω die Geschwindigkeit, den Strome oder die SollPWM für jeden der beiden Motoren vorzugeben. 4.3.3 Beschreibung der Regelung Die Regelung soll die translatorische und die rotatorische Geschwindigkeit der Roboterplattform nach den Vorgaben des Benutzers einstellen und unter gewissen Einschränkungen bis zu einer erneuten Vorgabe konstant halten. Die Solldrehzahlen der beiden Motoren können mit den in Kapitel 3.2 erläuterten Formeln direkt aus den vorgegebenen Werten v und ω errechnet werden. Jeweils ein PID-Regler korrigieret - anhand der durch den Inkrementalgeber ermittelten Abweichung von der Solldrehzahl - den Sollstrom eines Motors. Dieser Strom wird durch einen I-Regler und anhand der durch die Strommessung ermittelten Werte eingestellt bzw. korrigiert. Die für die Regelung benötigten Inkrementalgeber- und Motorstromdaten werden aus dem Zwischenspeicher der Kommunikationssoftware geladen, in dem die aktuellsten Sensorwerte gespeichert sind. Wegen dem verwendeten Betriebssystem eCos kann eine echtzeitfähige Regelung implementiert werden. 4.3.4 Softwareentwurf für die Gyroskop/Beschleunigungssensorplatine Auf dem Sensorboard befinden sich drei verschiedene Sensoren. Ein Gyroskop, ein Dreiachsbeschleunigungssensor und optionial eine IMU. Die Daten dieser Sensoren können dem Benutzer auf Wunsch vorgefiltert übermittelt werden. Störfaktoren, wie Temperaturschwankungen, Linearitätsfehler und Beschleunigungen, die Einfluss auf das Gyroskop haben, können auf Wunsch kompensiert werden. Die Software ist unterteilt in Datenerfassung und Datenverarbeitung. Das 84 4 Roboterentwurf Modul Datenerfassung fragt in regelmäßigen Abständen die Daten der einzelnen Sensoren ab. Die Datenverarbeitung filtert auf Wunsch des Benutzers die genannten Störfaktoren aus den Sensordaten. Diese ist standardmäßig eingeschaltet, soll allerdings durch eine Nachricht des Benutzers deaktiviert werden können. Über USB wird das Sensorboard an den Mini-PC angeschlossen. Wie auch bei der Kommunikationssoftware können Daten mit den jeweiligen Zeitstempeln einzeln oder gesammelt abgefragt werden. Werden durch den Mini-PC Sensordaten nicht oft genug abgefragt, so steht bei der nächsten Abfrage zusätzlich der Mittelwert aller seit der letzten Abfrage ermittelten Werte zur Verfügung. Zur Übermittlung stehen dauerhaft folgende Daten bereit: • Zeitstempel der letzten Gyroskopmessung • aktueller Wert des Gyroskopes • Zeitstempel der ersten Gyroskopmessung nach der letzten Abfrage durch den Mini-PC • gemittelter Wert der Gyroskopmessungen seit der letzten Abfrage durch den Mini-PC bis zum letzten Wert • Zeitstempel der letzten Beschleunigungssensormessung • aktueller Wert des Beschleunigungssensors • Zeitstempel der ersten Beschleunigungssensormessung nach der letzten Abfrage durch den Mini-PC • gemittelter Wert der Beschleunigungssensormessungen seit der letzten Abfrage durch den Mini-PC bis zum letzten Wert • Zeitstempel der letzten IMU-Werte • aktuelle IMU-Messdaten • Zeitstempel der ersten Messung der IMU-Daten nach der letzten Abfrage durch den Mini-PC • gemittelte Werte der IMU-Daten seit der letzten Abfrage durch den Mini-PC bis zum letzten Wert 85 5 Tests und Validierung In Kapitel 2.2.1 erfolgte die Auflistung verschiedener Anforderungen an die Roboterplattform. Die Einhaltung dieser im Hinblick auf den Entwurf konnte gewährleistet werden. Einige Eigenschaften, die an die Anforderungen geknüpft sind und sich aus dem Entwurf ergeben, werden nachfolgend erläutert. Mit einer Geschwindigkeit von 1,55 m/s und einer Beschleunigung von 2,04 m/s2 bei Motornennwerten erfüllt die Roboterplattform die an diese Eigenschaften gestellten Anforderungen. Auch das durch das CAD Programm SolidWorks angegebene Gewicht liegt mit 14 kg unter dem Maximalwert. Es sei hier allerdings zu erwähnen, dass die Gewichte verschiedener, im Modell verbauter Fertigteile nicht stimmen, so dass unter Einbeziehung des Akkus mit einem zusätzlichen Gewicht von 3,5 kg bis 4 kg gerechnet werden sollte. Somit ist die Aufladung eines Zusatzgewichtes von bis zu 12 kg gewährleistet. Die Außenmaße der Plattform überschreiten - inklusive angebauter USSensoren - die geforderten Werte nur knapp: 460 mm x 466 mm (Breite x Tiefe). Mit 200 mm ist der Roboter nicht einmal halb so hoch, wie es durch die Anforderungen festgelegt wurde. Die vorgegebene maximale Kantenhöhe von 50 mm kann laut den Berechnungen in Kapitel 4.1.2.1 mit den gewählten Rädern überwunden werden. Auch das für die Überwindung benötigte Moment kann durch die MotorGetriebe-Kombinationen erzeugt werden. Die einfache Integration und die schnelle Austauschbarkeit der Sensoren wurde durch Sensorplatten gelöst. Diese sind auf dem Dach des Roboters befestigt und können - je nach Anforderung - an Sensoraufnahmen oder andere Aufbauten angepasst werden. Zum Abnehmen der Platten müssen lediglich vier Schrauben gelöst werden. 86 6 Zusammenfassung und Ausblick Im Rahmen dieser Arbeit wurde eine vielseitige Roboterplattform entwickelt, durch die aufgrund ihrer hohen Geschwindigkeit und Beschleunigung, sowie aufgrund verschiedener fest verbauter Sensoren und variabler Sensoraufnahmen wissenschaftliche Experimente ohne großen Arbeitsaufwand vergleichsweise schnell durchführbar sind. Bei dem Entwurf wurde zudem auf eine gewisse Geländegängigkeit und Positionierbarkeit geachtet. Durch die genannten Eigenschaften konnte ein Höchstmaß an Benutzerfreundlichkeit erreicht werden. Es wurde eine Anforderungsanalyse und -definition sowie ein CAD Modell der gesamten Roboterplattform erstellt. Das in der Planung für die Roboterplattform ausgewählte Antriebssystem stellt einen Kompromiss zwischen einem einfachen mechanischen Aufbau, Geländegängigkeit und Positionierbarkeit dar. Zur Bestimmung der kinematischen Eigenschaften dieses Antriebes wurden umfangreiche Rechnungen durchgeführt. Aus den Ergebnissen dieser Rechnungen konnte geschlussfolgert werden, dass dünne Reifen, ein geringer Achsabstand und eine breite Spurweite für die Genauigkeit der Positionsbestimmung von Vorteil sind. Um passende Komponenten für die Plattform wählen zu können, wurden weitere Berechnungen zur Auslegung der Räder, Motoren und Getriebe durchgeführt. Die Auswahl des Mini-PCs wurde anhand verschiedener Vergleiche durchgeführt. Die Steuereinheit (inklusive Motortreiber und Quadraturencoder-Auswertung) wurde aufgrund des Vergleiches bestehender Steuersysteme für Roboter in [See-08, S.7] und dem Neuentwurf dieser Komponenten der gleichnamigen Quelle entnommen. In Zusammenarbeit mit Martin Seemann wurden diese Boards an die Roboterplattform angepasst sowie eine Rückwandverdrahtung entworfen. Sensoren, die über SPI oder I2 C angesteuert werden, können an die gewählte Steuereinheit angeschlossen werden. Um Voraussagen über die Betriebszeit der Roboterplattform treffen zu können, wurde der Energieverbrauch jeder verbauten Komponente berechnet. Die an diese Zeit gestellten Anforderungen (Kapitel 2.2.1) können demnach - unter Berücksichtigung einer Reservekapazität - eingehalten werden, wenn ein Akku mit einer Kapazität von 10 Ah in das System eingebaut wird. 87 6 Zusammenfassung und Ausblick Die in dieser Arbeit ausgelegte Roboterplattform soll in naher Zukunft hergestellt werden. Dazu ist die Beschaffung aller Fertigteile, die in das CAD Modell verbaut wurden, notwendig. Weiterhin müssen Zeichnungen für die Teile angefertigt werden, die in Werkstätten hergestellt werden sollen. Die Rückwandverdrahtung muss geroutet werden, um die zugehörige Platine zusammen mit denen der Steuereinheit, des Motortreibers und der Quadratursignal-Auswertung herstellen zu lassen. Daraufhin müssen die benötigten Elektronikbauteile bestellt und auf die Platinen gelötet werden. Anschließend erfolgt die Programmierung der Software. Sobald die genannten Aufgaben abgearbeitet wurden, kann die Plattform zusammen gebaut sowie erste Tests durchgeführt werden. Unter anderem ist es möglich, die Höchstgeschwindigkeit und die Beschleunigung, welche die Roboterplattform unter realen Bedingungen erreicht, zu ermitteln. Auch die wahren Reibkoeffizienten können bestimmt werden. Es sollte außerdem ein Test durchgeführt werden, der belegt, dass die Roboterplattform die gewünschte Kantenhöhe überwinden kann. Auch ein Test zur Ermittlung der Genauigkeit der Odometrie ist denkbar. 88 A Anhang A.1 Berechnung der Auflagekräfte des Robotersystems Fv FG Fv COM c (a) COM Fh b Kraftverteilung auf die Vorder- und Hinterachsen Fh Fvl (b) j f COM Fvr Kraftverteilung auf die Auflagepunkte der Vorderräder Fhl (c) f j Fhr Kraftverteilung auf die Auflagepunkte der Hinterräder Abbildung A.1: Verteilung der Gewichtskraft des Roboters auf die Auflagepunkte der Räder Die Position des COM und die Masse des Roboters werden als bekannt voraus gesetzt. Sind diese Werte nicht bekannt, müssen sie eigenhändig oder unter Zuhilfenahme von CAD-Programmen berechnet werden. Durch Messung der Auflagekräfte auf den Boden ist es möglich, diese Rechnung zu überspringen. Zur Bestimmung der Kräfte wird zuerst das Kräftegleichgewicht, welches aus Abbildung A.1(a) ersichtlich ist, aufgestellt: ↓: FG − Fv − Fh = 0 (A.1) Die Momentenbilanz um das COM liefert: Fv · c − Fh · b = 0 (A.2) Die Gewichtskraft FG setzt sich wie folgt zusammen: FG = m · g (A.3) Das Umformen der Gleichungen A.1 und A.2 und das Einsetzen der in Gleichung A.3 errechneten Gewichtskraft, liefert: Fv = m·g 1 + cb I (A.4) A Anhang Fh = c b ·m·g 1 + cb (A.5) Um alle gesuchten Auflagekräfte zu bestimmen, werden die Kräftegleichgewichte und die Momentenbilanzen, der in Abbildung A.1(b) und A.1(c) dargestellten Modelle, aufgestellt. Kräftegleichgewicht – Abbildung A.1(b): ↓: Fv − Fvr − Fvl = 0 (A.6) Momentenbilanz – Abbildung A.1(b): Fvl · f − Fvr · j = 0 (A.7) Für die vorderen Auflagekräfte Fvr und Fvl ergibt sich mit den Gleichungen A.4, A.6 und A.7: Fvl = m·g 1 c · 1+ b 1+ Fvr = m·g j c · 1+ b 1+ (A.8) f j f (A.9) f j Kräftegleichgewicht – Abbildung A.1(c): ↓: Fh − Fhr − Fhl = 0 (A.10) Momentenbilanz – Abbildung A.1(c): Fhl · f − Fhr · j = 0 (A.11) Die Auflagekräfte der hinteren Räder lassen sich mit den Gleichungen A.5, A.10 und A.11 berechnen: Fhl = c b ·m·g 1 c · 1+ b 1+ f j (A.12) f c b ·m·g j Fhr = c · 1+ b 1+ II f j (A.13) A Anhang A.2 Umformung der Gleichung 4.31 nach dem Radradius Die Gleichung 4.31 soll nach dem Radradius rRad umgestellt werden: − cos arcsin rRadr −hmax +µRad,Kante · rRadr −hmax Rad FR1,max + FG2 · r −hmax Rad rRad −hmax Rad +µRad,Kante ·cos arcsin rRad =0 (A.14) rRad Allgemein gilt: cos arcsin x = √ 1 − x2 (A.15) Wir die Gleichung A.15 in die Formel A.14 eingesetzt, folgt: r 2 hmax hmax − 1− 1− rRad +µRad,Kante · 1− rRad r FR1,max + FG2 · 2 1− hrmax +µRad,Kante · 1− 1− hrmax Rad =0 (A.16) Rad Es wird die Substitution eingeführt: hmax (A.17) rRad Wendet man diese Substition A.17 auf Gleichung A.16 an, so ergibt sich: √ 1 − x2 (FG2 − µRad,Kante · FR1,max ) = x · (FR1,max + µRad,Kante · FG2 ) (A.18) x=1− Quadriert man diese Gleichung, so ergibt sich: (FG2 − µRad,Kante · FR1,max )2 2 x = 1 + µ2Rad,Kante 2 2 FR1,max + FG2 (A.19) Die Gleichung A.19 liefert folgende Ergebnisse: x∈ q µRad,Kante ·FR1,max −FG2 ( 1+µ2Rad,Kante )( 2 2 FR1,max +FG2 ) ,q FG2 −µRad,Kante ·FR1,max 2 2 +FG2 (1+µ2Rad,Kante )(FR1,max ) (A.20) Diese Ergebnisse werden zur Kontrolle in die Gleichung A.18 eingesetzt. Es ergibt sich folgende Lösung: (FG2 − µRad,Kante · FR1,max ) (A.21) x = r 2 2 1 + µ2Rad,Kante FR1,max + FG2 Führt man die Rücksubstitution A.17 durch, so ergibt sich für den Radradius rRad die folgende Formel: hmax rRad = (A.22) FG2 −µRad,Kante ·FR1,max 1− q 2 2 +FG2 (1+µ2Rad,Kante )(FR1,max ) III Tabelle A.1: Vergleich von Pioneer 3 AT und Volksbot RT4 [Mob-09], [Mob2-09], [IAI-08], [IAI-09], [IAI2-09], [OBo-04] Kriterium Maße (l x b x h), in mm Gewicht ohne Akku, inkg Max. Zuladung auf flachem Terrain, in kg Boardspannung, in V Batteriekapazität, in Ah Motortyp Anzahl der Encoder Radencoderinkremente Achsabstand, in mm Spurweite, in mm Raddurchmesser, in mm Radbreite, in mm Radform Bodenfreiheit, in mm Volksbot RT4 500 x 490 x 260 540 x 500 x 260 12 13 30 40 12 24 21 7,2 Pittman/Penn Motion maxon motor GM9236E204-R2 RE 40 150W 4 2 67 170 436 2280 1,2-7 1,2-2,2 (untersetzungsabhängig) (untersetzungsabhängig) 2 2 500 500 285 280 402 415 215 260 88 85 eben gewölbt (nicht für Teppich geeignet) 80 90 A Anhang IV Anzahl der Motoren Nennmoment, in mNm Haltemoment, in mNm Max. Geschwindigkeit, in m/s Pioneer 3 AT Tabelle A.2: Vergleich verschiedener 12V-Motormodelle [Max-09], [Fau-09], [Pit-09], [Dun-09], [Dun2-09] Motorbezeich- Nenndrehnung zahl, in min−1 Nennmoment, in mNm Haltemoment, in mNm Leistung, in W Gewicht ohne Getriebe, in g Preis, in Euro incl. Getriebe und Encoder zzgl. MwSt maxon motor Dunkermotoren Dunkermotoren Faulhaber PittmanExpress RE 40 150W 6370 94,9 1680 63,3 480 468,4 GR 63x55 3000 240 2020 75,4 1700 nicht angegeben GR 80x40 2700 345 2400 97,5 2800 nicht angegeben 3863 012 C LO-COG® 14000 5723 3229 110 184 1200 1440 65,9 62,2 400 998 503,8 ca.250 A Anhang V Hersteller Tabelle A.3: Auswahl verschiedener Räder mit einem Durchmesser von 160 mm bis 240 mm, [Rad-09], [Ant-09], [Ver-09], [Kae-09] Verwendung Reifenbreite, in mm Reifenform Profiltiefe Felgen Masse, in kg Preis für 4 Stk. in Euro Kinderwagen ca.50-60 1∗ flach Kunststoff, 2∗ ca. 1 ca. 100 Kinderfahrrad nicht angetrieben angetrieben ca.35-45 1∗ flach ca. 1,52,5 ca. 200 Sack- bzw. Schubkarren nicht angetrieben ca.60-70 1∗ mitteltief ca. 1 ca. 50 Automodellbau angetrieben ca.60-100 tief ca. 0,20,4 ca. 100 Moped angetrieben ca.70-90 Beibehaltung durch Stäbilität des Reifens 1∗ Kopplung von Hinterrad und Achse in eine Laufichtung möglich Platikfelgen, nicht sehr stabil, 2∗ Kopplung von Rad und Achse möglich ca. 3-4 ca. 250 Benzinrasenmäher angetrieben ca.40-80 ca. 2 ca. 280 Vollgummi, behält seine Form 1∗ wird durch luftgefüllten Schlauch beibehalten 2∗ keine Kopplung von Rad und Achse vorgesehen mitteltief tief Kopplung von Rad und Achse am Hinterrad vorhanden Kopplung von Rad und Achse möglich A Anhang VI Räder von 6 7 533 MHz 533 MHz Mini-ITX 1,6 GHz Intel Atom N270 nicht verbaut AsRock G41M-LE S775 mATX Jetway J8F9-800 AMD Geode Micro-ATX nicht verbaut Nano-ITX Intel Essential Board D945GCLF2 ZOTAC ION ITX A-E Mini-ITX VIA PICO PX 10000G Pico-ITX 500 MHz AMD Geode LX800 1,6 GHz Intel Atom 330 2x1,6 GHz Intel Atom N330 1 GHz VIA C7 Format Mini-ITX Mini-ITX 533 MHz 533 MHz Arbeitsspeicher Preis 5 Leistungsverbrauch∗1 4 94,00 EURO Systembus 3 15 W Prozessor VII 2 1xDDR2 max. 2 GB 800 MHz 2xDDR2 max. 8 GB 1066 MHz 2xDDR2 max. 8 GB 400 MHz 1xDDR max. 1 GB INTEL D945GSEJT iAtomPro.270 Intel DG41MJ BOX n.a. W 88,00 EURO n.a. 65,00 EURO 5W 129,00 EURO 1xDDR2 max. 2 GB 2xDDR2 max. 4 GB 38 W 82 EURO 35 W 134.95 EURO 1xDDR2 max. 1 GB 13 W 209.00 EURO Abmaße der Boards: Micro-ATX:244x244, Mini-ITX:170x170, Nano-ITX:120x120, Pico-ITX:100x72 ∗1 : unter Last, ohne Peripherie A Anhang 1 Beschreibung Nummer Tabelle A.4: Vergleich von Mainboards mit verschiedenen Formaten Teil 1, [Tec-09], [Ate-09], [Car-09], [Ddc-09], [New-09], [Car2-09], [Bes-09], [Min-09] DVI PS2 SATA/SATAII Parallel-ATA/IDE Ethernet mit 100 Mbit/s Ethernet mit 1000 Mbit/s WLAN serieller/paralleler Anschluss x x 1 2/0 1/0 x x - 2/1 1 2 8 (n.a.) x x 2 3/0 0/3 x x - 1/0 1 3 4 (4/0) x x 0 0/4 0/0 x x - 0/0 1 4 3 (2/1) x - 0 0/0 0/1 x x - 4/0 1 5 6 8 (n.a.) 10 (6/4) ? x x 0 1 2/0 3/0 1/0 0/0 x x x x x 0/0 1 1/0 1 7 4 (0/4) x x 1 1/0 0/1 x - - 1/0 0 Besonderheiten VGA 7 (3/4) PCI-Express USB2.0 (extern/intern) 1 kein zusätzliches Netzteil erforderlich (12V), Passivlüfter Prozessoren mit LGA775-Sockel können verbaut werden Prozessoren mit LGA775-Sockel können verbaut werden kein zusätzliches Netzteil erforderlich (12V), Passivlüfter Lüfter verbaut eSATA, HDMI, NVIDIA ION, ohne extra Netzteil erhältlich (19V), Passivlüfter Nur der VGA und der RJ45-Anschluss sind mit einer Buchse verbunden A Anhang VIII Nummer Tabelle A.5: Vergleich von Mainboards mit verschiedenen Formaten Teil 2, [Tec-09], [Ate-09], [Car-09], [Ddc-09], [New-09], [Car2-09], [Bes-09], [Min-09] A Anhang A5 B5 GPIO14/SS GPIO15/MISO GPIO16/MOSI GPIO17/S CK C5 C4 B4 A4 SS MIS O MOS I S CK GPIO18/R _S GPIO19/R _O GPIO20/R _P A10 B10 C10 CS 1 CS 2 CS 3 C20 100n 4 C2+ 5 C2- GND 11 10 12 9 IC3G$2 V+ 2 V- 6 T1OUT T1IN T2OUT T2IN R 1OUT R 1IN R 2OUT R 2IN C23 100n 16 GPIO12/R XD GPIO13/TXD ONOFF PCON C1+ C1- C21 100n VCC C9 C8 C7 C6 3 IC3G$1 MAX202CS E GND GPIO8/MOSD0 GPIO9/MOSD1 GPIO10/MOS D2 GPIO11/MOS D3 C19 100n 1 15 GPIO0/AD0 GPIO1/AD1 GPIO2/AD2 GPIO3/AD3 GPIO4/AD4/TCK GPIO5/AD5/TMS GPIO6/AD6/TDO GPIO7/AD7/TDI B1 A1 19 17 15 13 11 9 7 5 3 1 B6 A6 B7 A7 B8 A8 A9 B9 GND R E SE T S V5 C22 100n X4 14 7 13 8 1 2 3 4 5 JP1 VOUT SDA SCL C3 20 18 16 14 12 10 8 6 4 2 GND CANH CANL B3 A3 M2 3 2 1 C1 VIN S L1 1 2 3 B2 A2 GND C2 +5V S TE UE R UNG_AR M GND +5V S CL 8 7 6 5 4 3 2 1 S L7 5 4 3 2 1 S L4 5 4 3 2 1 S L3 GND S L2 5 4 3 2 1 S DA CS 3 CS 2 CS 1 MOS I MIS O S CK 1 2 3 1 2 3 JP7 JP6 1 2 3 JP5 1 2 3 JP4 +5V/3 US -S ensoren S teuereinheit Abbildung A.2: Schaltplan der Backplane – Steuereinheit IX 6 7 8 9 A7 B7 C7 A8 B8 C8 A9 B9 C9 M5 +12V +12V +12V +12V +12V +12V +12V +12V +12V C18 10µ/35V V- 10µ/35V B16 C16 VO GND VCC VCC + VI C17 +12V IC2 LD1086DT50 + +12V R 13 2R 2/Ferrite A Anhang Antriebsmotor X1-2 M1A M1A M1A M1A M1A M1A M2A M2A M2A M2A M2A M2A A10 B10 C10 A11 B11 C11 A5 B5 C5 A6 B6 C6 M1B M1B M1B M1B M1B M1B M2B M2B M2B M2B M2B M2B A14 B14 C14 A15 B15 C15 Antriebsmotor X2-2 X2-1 MOTORTR E IBE R _2X V- A3 B3 C3 A4 B4 C4 A12 B12 C12 A13 B13 C13 A16 GND GND GND GND GND GND GND GND GND GND GND GND GND X1-1 A1 B1 C1 A2 B2 C2 (+5V/2 = +5V/1) +5V/2 10 8 6 4 2 INC0A+/INC0A INC0AINC0B+/INC0B INC0B- B2 A2 B3 A3 INC1A+/INC1A INC1AINC1B+/INC1B INC1B- B4 A4 B5 A5 INC2A+/INC2A INC2AINC2B+/INC2B INC2B- B6 A6 B7 A7 INC3A+/INC3A INC3AINC3B+/INC3B INC3B- B8 A8 B9 A9 A1 GND 47u/16V 47u/16V 9 7 5 3 1 R eserve M4 B1 VCC + + C5 C6 S V1 10 8 6 4 2 10 8 6 4 2 INKR E ME NTALZAE HLE R 10 8 6 4 2 S V4 S V3 S V2 9 7 5 3 1 9 7 5 3 1 9 7 5 3 1 Motor-E ncoder Motor-E ncoder R eserve GND1 Motortreiber + Quadratursignal -Auswertung Abbildung A.3: Schaltplan der Backplane – Motortreiber+QuadratursignalAuswertung X A Anhang A1 B1 C1 A10 1 2 3 JP15 1 2 3 JP14 1 2 3 JP13 1 2 3 JP12 1 2 3 JP11 1 2 3 JP10 1 2 3 JP9 M1 S E RVO0 SE RVO0_FB SE RVO1 S E RVO1_FB S E RVO2 S E RVO2_FB S E RVO3 SE RVO3_FB SE RVO4 S E RVO4_FB S E RVO5 S E RVO5_FB S E RVO6 SE RVO6_FB S E RVO7 SE RVO7_FB B2 C2 B3 C3 B4 C4 B5 C5 B6 C6 B7 C7 B8 C8 B9 C9 SE RVO8 SE RVO9 S E RVO10 S E RVO11 S E RVO12 S E RVO13 S E RVO14 S E RVO15 A2 A3 A4 A5 A6 A7 A8 A9 GND GND GND GND VCC VCC B10 C10 1 2 3 JP8 +5V/3 S E RVOTR E IBE R GND3 opt. S ervoansteuerung Abbildung A.4: Schaltplan der Backplane – opt. Servoboard XI A Anhang X12-1 E xt. S tromversorgung X12-2 1 2 X13 X13 Neutrik-Buchse X3-1 Ladekontakte X3-2 X9-1 Akku X9-2 X11-1 V+ 1 2 F1 S L5 +12V Notaus X11-2 1 Hauptschalter X8 X10-1 2 X8 V- X10-2 V+ Versorgung für PC 8 GND F2 3 16 V+ 14 VOUT- R E MOTE _ON 2 S J1 R4 ? 2 1 7 S L6 MOCD217-M X7 1 VIN+ VOUT+ 7 J1-3 2 VIN- VOUT- 8 J1-2 3 9 R E MOTE _ON TR IM SE NSE + SE NS E - 6 5 J1-4 J1-1 zum PC 1 1 VOUT+ GND V- +5V VIN+ VIN+ VINVIN- 1 IC1A 2 X5 F4 V- PCON Versorgung für Digitalteil 22 23 2 3 R2 1k5 4 1 5 MOCD217-M 14 VOUT- 16 GND3 R E MOTE _ON IC4 TE N8-1112 1 VIN+ VOUT+ 5 2 VIN- VOUT- 6 7 3 TR IM R E MOTE _ON JP3 6 VOUT+ GND 3 GND IC1B VIN+ VIN+ VINVIN- +5V/3 3 2 1 3 R1 6k8 R7 1k5 22 23 2 3 F3 JP16 ONOFF opt. Versorgung für Zusatzelektronik X6 V- V+ 3 2 1 TR ACOPOWE R _TE N40 +12V TE N8-1112 1 S J2 2 TR ACOPOWE R _TE N25 alternativer Pinout für größeren R egler S tromversorgung Abbildung A.5: Schaltplan der Backplane – Spannungsversorgung XII Literaturverzeichnis [Ana-08] Analog Devices, Inc.: Datenblatt ADIS16354 - Inertial measurement unit (IMU) (2008) [Böh-06] Prof. Thomas Böhlke: Vorlesung Haftung und Gleitreibung. Universität Karlsruhe (TH) (2006) [Bru-03] Frank Brückner: Labordemonstrator für die Lokalisation und Umgebungserkennung von mobilen Plattformen in ebenen Umgebungen. Diplomabeit, Technische Universität Dresden (TH) (2003) [CLZ-08] Yingshu Chen, Libing Liu, Minglu Zhang and Hui Rong: Study on Coordinated Control and Hardware System of a Mobile Manipulator. School of Mechanical Engineering, Hebei University of Technology (2006) [Dev-03] Devantech LtD.: Technische Beschreibung der Devantech SRF08 UltraSonic Ranger (2003) [DJe-00] Gregory Dudek, Michael Jenkin: Computational Principles of Mobile Robotics. Cambridge University Press (2000) [Dun-09] Dunkermotoren GmbH: Motor Datenblatt GR 63x55. (2009) [Dun2-09] Dunkermotoren GmbH: Motor Datenblatt GR 80x40. (2009) [Dun3-09] Dunkermotoren GmbH: Getriebe Datenblatt. (2009) [Fau-09] Dr. Fritz Faulhaber GmbH & Co. KG : Motor Datenblatt 3863 ... C. (2009) [Fau2-09] Dr. Fritz Faulhaber GmbH & Co. KG : Planetengetriebe Serie 38/1, 38/2. (2009) [Fau3-09] Dr. Fritz Faulhaber GmbH & Co. KG : Planetengetriebe Serie 44/1. (2009) XIII Literaturverzeichnis [HGJ-08] Wolfram Hans, Simon Gräser, Florian Jarmer, Simon Schmitt, Jan Bornemeier, Patric Lambrecht, David Gossow: RoboCup 2008 homer@UniKoblenz (Germany). Active Vision Group University of Koblenz-Landau (2008) [HHo-09] Matthias Hennig, Sylvia Horn: Mobile Plattform 3.0 - Anforderungen. Technische Universität Dresden, Institut für Automatisierungstechnik (2009) [Hok-05] Hokuyo Automatic CO.,LTD.: Produktinformation, Laserscanner URG-04LX (2005) [IAI-08] Fraunhofer IAIS: VolksBot® RT Versionen (2008) [KKi-07] Chong Hui Kim, Byung Kook Kim: Minimum-Energy Translational Trajectory Generation for Differential-Driven Wheeled Mobile Robots. Springer Science + Business Media B.V. (2007) [Kae-09] Garten- und Kommunaltechnik Rolf Kändler, Mitarbeiter (2009) [KPa-07] Krzysztof Kozlowski, Darius Pazderski: Modeling and Control of a 4-Wheel Skid-Steering Mobile Robot. Int. J. Appl. Math. Comput. Sci. (2004) [Kra-00] Carsten Werner Krause: Mobiles, kletterfähiges Robotersystem für automatisierte Handhabungsaufgaben in der Fertigung. RWTH Aachen (2000) [Mae2-09] Mädler GmbH, Beschreibung der Zahnriemenantriebe (2009) [Mae3-09] Mädler GmbH, Berechnungsprotokoll für Zahnriemen und Zahnscheiben bei 7,36 Nm (2009) [Max-09] maxon motor ag: Motor Datenblatt RE 40 150W. (2009) [Max2-09] maxon motor ag: Motor Datenblatt Planetengetriebe GP 42 C. (2009) [Max3-09] maxon motor ag: Motor Datenblatt Planetengetriebe GP 52 C. (2009) [Max4-09] maxon motor ag: Datenblatt für Encoder MR, Type M, 128 - 512 CPT, 2 / 3 Channels, with Line Driver (2009) XIV Literaturverzeichnis [Mir-07] Mirats Tur, Josep M.: Onto Computing the Uncertainty for the Odometry Pose Estimate of a Mobile Robot. Institut de Robòtica i Informàtica Industrial (2007) [OBo-04] Lauro Ojeda, Johann Borenstein:Methods for the Reduction of Odometry Errors in Over-Constrained Mobile Robots. Department of Mechnical Engineering, University of Michigan (2004) [Oos-08] oose Innovative Informatik GmbH: OMG SysML 1.1 Notationsübersicht, mit Hilfe von Tim Weilkiens [Wei-06] (2008) [PEL-08] Pellenz,Johannes: RoboCup 2008 - RoboCupRescue Team resko@UniKoblenz (Germany). Active Vision Group University of Koblenz-Landau (2008) [Pit-09] PittmanExpress: Motor Datenblatt LO-COG® 14000. (2009) [Rad2-09] RADundROLLE.de HFG-Vertrieb Birke Schreiber: Service Mitarbeiter (2009) [Sch-07] Frank Schnitzer, Berechnunen und Diagramme für die Motorauslegung (2007) [Sch2-07] Frank Schnitzer, Konstruktion - Roboterplattform „Packman“ (2007) [See-08] Martin Seemann; Studienarbeit zum Thema Entwicklung eines flexibel wiederverwendbaren Hardware-Software-Systems zur Steuerung von Robotersystemen (2008) [Ste-08] Steinbauer, Gerald: Konstruktion Mobiler Roboter - Einführung Hardware. TU Graz, Institut für Softwaretechnologie (2008) [Wei-06] Weilkiens, Tim: Systems Engineering with SysML/UML, Modeling, Analysis, Design; dpunkt. verlag GmbH Heidelberg, Germany (2006) Übersetzung: Morgan Kaufmann Publishers Inc (2007) [Tra-07] TRACO ELECTRONIC AG: Datenblatt TEN 40-1211 (2007) [Tra-08] TRACO ELECTRONIC AG: Datenblatt TEN 8-1211 (2007) XV Internetquellen [Ant-09] Antrieb der Fahrradladen GmbH - Mitarbeiter: Kinderfahrradräder (Stand:26.09.2009) [Ate-09] ATELCO Computer AG, Händler für Intel Essential Board D945GCLF2 mit ATOM 330 URL: http://www.atelco.de/ (Stand: 23.10.2009) [Bes-09] Best of Media LLC; Energieverbrauch des Zotac’s Ion Board URL: http://www.tomshardware.com/reviews/zotac-ionatom,2300-11.html (Stand: 23.10.2009) [Car-09] CarTFT.com-Unternehmensgruppe, Händler für folgende MiniPCs: VIA PICO PX 10000G Pico-ITX ZOTAC ION ITX D-E URL: http://www.minipc.de/ (Stand: 23.10.2009) [Car2-09] CarTFT.com-Unternehmensgruppe; Energieverbrauch des Intel D945GCLF2 URL: http://www.car-pc.info/reviews/intel-d945gclf2-review (Stand: 23.10.2009) [Cli-09] Toom Baumarkt GmbH, Clipfish: Kundenbetreuung - Roboter Toomas URL: http://www.clipfish.de/video/1278125/toomwerbung-10-toomas/ (Stand: 14.09.2009) [Ddc-09] ddcom24 G.Wadewitz & A.Söntgen GbR; Energieverbrauch des VIA EPIA PICO PX10000G PICO-ITX URL: http://www.ddcom24.de/shop/artikel_artikel_3935_name_VIAEPIA-PICO-PX10000G-Pico-ITX.html (Stand: 23.10.2009) [DMU-09] De Montfort University, Robots URL:http://www.cse.dmu.ac.uk/msccir/images/robots/p3at.JPG (Stand: 17.11.2009) XVI Internetquellen [Fun-07] XIAO Gang, Function calculator Version 2.00, © 1997 URL: wims.unice.fr/wims/wims.cgi?module=tool/analysis/function.en (Stand: 06.10.2009) [IAI-09] Fraunhofer IAIS: Volksbot, Roboterbaukastensystem URL: http://www.volksbot.de/index-de.php (Stand: 18.09.2009) [IAI2-09] Fraunhofer IAIS: Volksbot RT4 URL: http://www.volksbot.de/rt4-de.php (Stand: 18.09.2009) [Mae-09] Mädler GmbH, Mädler-Tools URL: http://www.maedler.de/statisch/Tools.aspx (Stand: 25.10.2009) [Min-09] MiniTechNet - Igor Campana, Energieverbrauch des Intel D945GSEJT Mini-ITX Mainboard URL: http://www.minitechnet.de/intel-d945gsejt_5.html (Stand: 23.10.2009) [Mob-09] MobileRobots Inc: THE HIGH PERFORMANCE ALL-TERRAIN ROBOT. URL: http://www.activrobots.com/ROBOTS/p2at.html (Stand: 09.09.2009) [Mob2-09] MobileRobots Inc: SPECIFICATIONS BY MODEL. URL: http://www.activrobots.com/ROBOTS/specs.html (Stand: 09.09.2009) [New-09] Newegg Inc.; Energieverbrauch des JetWay J8F9-P-LF AMD Geode LX800 URL: http://www.newegg.com/Product/Product.aspx? Item=N82E16813153096 (Stand: 23.10.2009) [Rad-09] RADundROLLE.de HFG-Vertrieb Birke Schreiber: Lufträder mit 4"Kunststofffelge URL: http://www.radundrolle.de/seiten/luftraeder/luftrad/luftrad.htm (Stand: 27.09.2009) [SCE-09] School of Computer Science and Engineering at the University of New South Wales URL: http://cgi.cse.unsw.edu.au/c̃s4411/wiki/images/0/06/VolksBotRT-4w-small.jpg (Stand: 16.11.2009) XVII Internetquellen [Sci-09] Scinexx, Deutschen Bahn AG: Scheibenputzer - Roboter Filius URL: http://www.scinexx.de/dossier-detail-418-6.html/ (Stand: 14.09.2009) [Smo-09] smolik-velotech: Reibkoeffizient URL: http://www.smolik-velotech.de/glossar/ 28.09.2009) (Stand: [Spi-07] Spiegel Online: Darpa Grand Cahllange URL: http://www.spiegel.de/netzwelt/tech/0,1518,515351,00.html (Stand: 14.09.2009) [Sue-09] Süddeutsche Zeitung, Toom Baumarkt GmbH: Kundenbetreuung - Roboter Toomas URL: http://www.sueddeutsche.de/wirtschaft/290/348126/text/ (Stand: 14.09.2009) [Tec-09] Techcase Versandhandel, Händler für folgende Mini-PCs: INTEL D945GSEJT iAtomPro.270 BK Mini-ITX lüfterlos Intel DG41MJ BOX mini ITX Mainboard DVI + VGA AsRock G41M-LE S775 mATX Jetway J8F9-800 AMD Geode Nano-ITX URL: http://www.techcase.de/ (Stand: 23.10.2009) [Tec2-09] TechTarget, Inc.; Energieverbrauch des Intel 4965AGN WLANAdapters URL: http://forum.notebookreview.com/showthread.php?t=160288&page=3 (Stand: 01.11.2009) [Ver-09] Versandhaus Walz GmbH - Mitarbeiter: Kinderwagenräder (Stand: 26.09.2009) [Xia-09] XIAO Gang:Function calculator, Maxima version 5.9.1 URL: http://wims.unice.fr/wims/wims.cgi?module=tool/analysis/function.en (Stand: 02.11.2009) XVIII Abbildungsverzeichnis 1.1 1.2 Roboter im Alltag . . . . . . . . . . . . . . . . . . . . . . . . . IFA Roboterplattform MP2, [Bru-03] . . . . . . . . . . . . . . 2.1 2.2 2.3 2.4 2.5 2.6 2.7 Systemkontextdiagramm . . . . . . . . . . . . . Anwendungsfälle . . . . . . . . . . . . . . . . . Anforderungsdiagramm Teil 1 . . . . . . . . . . Anforderungsdiagramm Teil 2 . . . . . . . . . . Internes Blockdiagramm für die Hardware . . . Internes Blockdiagramm für die Software . . . . Verteilungsdiagramm. Die Ziffern sind analog zu ternen Blockdiagramms für die Hardware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . denen des In. . . . . . . . 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 Volksbot RT4 Modell[IAI2-09] . . . . . . . . . . . . . Kommerzielle Robotersysteme mit Skid Steer Antrieb Eine Auswahl von Skid Steer Antrieben . . . . . . . . Beispielhafter Differentialantrieb . . . . . . . . . . . . Modell des Differentialantiebes . . . . . . . . . . . . . Modell eines Skid Steer Antriebes . . . . . . . . . . . Bestimmung der x-Koordinate des ICC . . . . . . . . Bestimmung der y-Koordinate des ICC . . . . . . . . Modell zur Berechnung des Fehlers des Abstandes a . 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 Modell des Roboters während der Beschleunigung bzw. Fahrt. Am System anliegende Kräfte . . . . . . . . . . . . . . . . . . Anliegende Kräfte am vorderen Rad . . . . . . . . . . . . . . . Berechnung von α . . . . . . . . . . . . . . . . . . . . . . . . . Radradius rRad in Abhängigkeit der Reibkoeffizienten . . . . . Motorkennlinen von maxon motor und Pittman-Express Motoren Zahnriemenspanneinheit . . . . . . . . . . . . . . . . . . . . . Berechnung der Federkraft . . . . . . . . . . . . . . . . . . . . CAD Modell der Roboterplattform . . . . . . . . . . . . . . . Grundmaße der Roboterplattform . . . . . . . . . . . . . . . . Ober- und Unterseite der Roboterplattform . . . . . . . . . . . XIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3 7 8 12 13 15 16 18 20 21 23 25 25 27 29 31 36 41 44 47 48 51 55 60 61 63 64 65 Abbildungsverzeichnis 4.12 4.13 4.14 4.15 Variationen der Sensorplatten . . . . . . . . . . . . . . . . . . Verteilung der Mechanikkomponenten in der Roboterplattform Modell zur Berechnung der maximal überwindbaren Stufenhöhe Geometrisches Modell zur Berechnung der maximal überwindbaren Stufenhöhe . . . . . . . . . . . . . . . . . . . . . . . . . 4.16 Steuereinheit, Quadraturencoder-Auswertung und Motortreiber 4.17 Blockschaltbild der Elektronik . . . . . . . . . . . . . . . . . . 66 68 69 69 74 75 A.1 Verteilung der Gewichtskraft des Roboters . . . . . . . . . . . I A.2 Schaltplan der Backplane – Steuereinheit . . . . . . . . . . . . IX A.3 Schaltplan der Backplane – Motortreiber+QuadratursignalAuswertung . . . . . . . . . . . . . . . . . . . . . . . . . . . . X A.4 Schaltplan der Backplane – opt. Servoboard . . . . . . . . . . XI A.5 Schaltplan der Backplane – Spannungsversorgung . . . . . . . XII XX Tabellenverzeichnis 2.1 Anforderungen an die Roboterplattform . . . . . . . . . . . . 4.1 Haftreibungskoeffizienten zwischen luftgefüllten Gummireifen und verschiedenen Untergründen . . . . . . . . . . . . . . . . Ideale Untersetzungen der Motoren und verbaubare Getriebe . Leistungsaufnahme des Intel 4965AGN WLAN-Adapters . . . Trägheitsmomente der angetriebenen Komponenten . . . . . . Durchschnittliche Aufnahme elektrischer Leistung der im Roboter verbauten Komponenten . . . . . . . . . . . . . . . . . . 4.2 4.3 4.4 4.5 11 50 54 76 78 80 A.1 Vergleich von Pioneer 3 AT und Volksbot RT4 . . . . . . . . . IV A.2 Vergleich verschiedener 12V-Motormodelle . . . . . . . . . . . V A.3 Auswahl verschiedener Räder mit einem Durchmesser von 160 mm bis 240 mm . . . . . . . . . . . . . . . . . . . . . . . . VI A.4 Vergleich von Mainboards mit verschiedenen Formaten Teil 1 . VII A.5 Vergleich von Mainboards mit verschiedenen Formaten Teil 2 . VIII XXI Selbstständigkeitserklärung Hiermit erkläre ich, Falk Schellhorn, dass ich die von mir am heutigen Tag dem Prüfungsausschuss der Fakultät Elektrotechnik und Informationstechnik eingereichte Studienarbeit zum Thema Entwurf eines radgetriebenen mobilen Demonstrators für Navigationsaufgaben in Büroumgebungen bzw. in büronahen Außenbereichen vollkommen selbstständig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt, sowie Zitate kenntlich gemacht habe. Dresden, den 04. Dezember 2009 Unterschrift