Aufbau und Bedienung - Labor für künstliche Intelligenz
Transcription
Aufbau und Bedienung - Labor für künstliche Intelligenz
Aufbau und Bedienung Ingo Boersch (Harald Loose) University of Applied Sciences FH Brandenburg I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 1 Übungsgruppen • heute (KI-Labor): – Übung 1: 10:30 Uhr – Übung 2: 12:15 Uhr • Aktiv teilnehmen (passiv genügt nicht für spätere praktische Aufgabe) • Zusätzliche Termine sind fast immer möglich I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 2 Welche Komponenten benötigt ein autonomes mobiles System ? I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 3 P 2/3 als technisches System Grundgerät: • Primitives Fahrzeug mit zwei angetriebenen Rädern und einem passiven Stützrad Aktoren: • 2 DC-Motore mit untersetzendem Getriebe • Elektromechanischer Greifer Sensorik: • Encoder auf der Abtriebswelle der Motore • 8 Ultraschallsender/empfänger • Angetriebene Kamera mit integrierter Bild(vor)verarbeitung • Kompass (P2) • Laserscanner Steuerung (on board): • PSOS und μP-Karten zur Umsetzung von Kommandos in Aktionen der Aktoren und zur Vorverarbeitung der Sensordaten Externe Intelligenz (on client): • ARIA + Module I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 4 Kommunikation • • • • Momentan ist WLAN die einzige Funkverbdingung onBoard-EeePc ist über USB und weiter RS232 mit Sensorik/Aktorik verb. Grün: Normalbetrieb (gute WLAN-Wetterlage) Blau: Notverbindung statt WLAN: PC über USB-Kabel (PC wird somit statt Eee-PC direkt an die Sensorik-Aktorik-Schnittstelle verbunden), ebenso Video-Signal über Kabel I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 5 Komponenten des AMR • Autonomer Mobile Roboter: – Fahrzeug mit Firmware ARCOS (PSOS) – Greifer, Sonar, Encoder – PTZ mit Kamera (PTZ = Pan-Tilt-Zoom-Unit) – Laserscanner Sick LMS 200 – Kompass (nur P2-CE) – Eee-PC 1000H mit ARIA-System und WLAN – AV-Giga-Link-Minisender – 2xP3 mit Autodock-Vorrichtung • Ladestation (verschieden P2, P3) • PC mit – ARIA (MobileEyes, MobileSim, ARIA-Entwicklungssystem und Klassenbibliotheken) – AV-Giga-Link-Empfänger – Weitere Software: Doku, Visual Studio, OpenCV, … I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 7 Client-Server Environment • MOBILEROBOTS platforms operate as the server: their microcontrollers handle the low-level details of mobile robotics, including maintaining the platform’s drive speed and heading, acquiring sensor readings, such as from the sonar, and managing attached accessories like the Gripper • onboard-PC operates as the client: software running on a computer connected with the robot’s microcontroller via the HOST serial link and which provides the high-level, intelligent robot controls, including obstacle avoidance, path planning, features recognition, localization, navigation, and so on I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 8 ARIA - Advanced Robotics Interface for Applications ARIA is a programming library (SDK) for C++ programmers who want to access their MobileRobots or ActivMedia platform and accessories at either a high or low level. Features: • handle the lowest-level details of client-server interactions, including networking and serial communications, • command and server-information packet processing, cycle timing, and multithreading, • well as support of a variety of accessories and controls, such as a scanning laser-range finder, motion gyros, sonar, and many others • Open source I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 9 Mainloop in ARIA: ArRobot Task Cycle • Synchron oder asynchron zu Ihrem RoboterProgramm I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 10 Zusatzmodule zu ARIA In addition to providing a complete robot and accessory API to developers, ARIA also serves as a foundation for other libraries: • advanced navigation routines: ARNL, SONARNL • communicate with the MobileEyes graphical display/control program, or for general communication over the network, you can use ArNetworking. Other libraries are available as well for specialized purposes, including • speech synthesis and recognition, • audio stream recording, playback and network transmission, video image capture, color tracking, etc. I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 11 ARNL ARNL := Advanced Robot Navigation and Localization Software “a comprehensive suite of client tools and applications by which you create, edit and use maps and floor plans for advanced robotics applications, including sonar- and laser-based localization and navigation.” I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 12 ARNL ARNL := Advanced Robot Navigation and Localization Software 4 Module: • BaseArnl: Infrastukture, Pfadplanung, Pfadfolgen • Lokalisierung mit Sonar (SonArnl), Laserscanner (ARNL) und GPS (mOGS) Hilfsprogramme: • Zeichnen von Karten: Mapper3Basic • besser Mapper3 zusätzlich Kartenerstellung (=Mapping) aus aufgezeichneten Laserdaten und Odometriepositionen I. Boersch, FH Brandenburg, 14.10.2014 ca. 1000 Euro pro Roboter closed source SICK und Hokuyo AMS - Aufbau und Bedienung 13 MobileEyes • einfaches Mission Control System (MCS) mit graphischer Oberfläche • Missionserteilung und Monitoring I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 14 Nicht bei uns: MobilePlanner - ein Mission Control System (MCS) für Lynx-Roboter • Lynx: Logistik-Roboter von Adept für den kommerziellen Einsatz • MobilePlanner = MobileEyes + Mapper + MissionsEditor zum Eintragen von Routen (Goallisten), Macros (Ziele, bedingte Tasks) in die Karte 60 kg I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 15 Abb. aus Adept Technology, Inc. Adept Motivity User's Guide, online, 2013 MobileSim • Simulator I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 18 Zusammenfassung Software • • • • • ARIA with ARNetworking, MobileSim, Mapper3-Basic, ARNL: SonARNL, ARNL, mOGS, Mapper3 einfaches MCS: MobileEyes • Programmgruppe MobileRobots • Die Installationen auf den Labor-PCs werden auf den Originalzustand zurückgesetzt mit „Frische Roboter“ I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 19 KI-Labor Roboter Typ IP-Adresse im WLAN AnschaffungsJahr Alfa P2-CE 172.16.18.19 1999 Romeo P2-CE 172.16.18.16 1999 Marvin P3-DX 172.16.18.17 2003 Sunny P3-DX 172.16.18.21 2003 Andrew P3-DX 172.16.18.22 2008 Stanley P3-DX 172.16.18.20 2008 I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 20 Neu P3 „von der Stange“? Wo sparen? I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 21 Basiskomponenten P2-CE • Beim P3-DX leicht verändert: Konsole auf der Seite I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 22 Deck und Konsole am P3 Alle Roboter haben Schalter für das Einschalten von Kamera und Laserscanner -> Strom sparen I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 23 Maße • • • • • • • • • Length Width Height (body) Body clearance Weight Payload Body Console & main deck Assembly I. Boersch, FH Brandenburg, 14.10.2014 44cm 33cm 22cm 5.1cm 9kg 20kg 1.6mm CNC fabricated aluminum 2.4mm CNC fabricated aluminum Allen hex screws (metric) AMS - Aufbau und Bedienung 24 Technische Daten P2 / P3 Mobility Drive wheels Rear balancing caster Wheel diameter Wheel width Steering Differential Gear ratio Swing radius Turn radius Translate speed max Rotational speed max Traversable step max Traversable gap max Traversable slope max Traversable terrains I. Boersch, FH Brandenburg, 14.10.2014 P2CE P3DX, 2003 2 solid rubber 2 pneumatic 4-ply all-weather tread 16.5 cm 19.5 cm 3.7 cm 4.7 cm P3DX, 2008 2 foam-filled 19.7:1 38.3 : 1 26 cm 26.7cm 0 cm 1.6 m/sec 1.4 m/sec 300 degrees/sec 2 cm 8.9 cm 30% 25% wheelchair accessible AMS - Aufbau und Bedienung 25 Technische Daten P2 / P3 Power • Battery 3x12V lead-acid • Charge 84 Wh / 252 watt-hr; hot-swappable • Run time 8–10 hrs Recharge time 8 hrs / 6 hrs • Run Time with PC - / 3-4 hrs • Tiefentladung zerstört Blei-Akkus • Bei spätestes 11.5 V abschalten, Roboter zum Ende immer ans Ladegerät 16 15 14 13 R16 R17 R19 R20 R21 12 11 10 9 8 Ausfahrt an der SV 00:00 I. Boersch, FH Brandenburg, 14.10.2014 00:12 00:31 01:10 01:12 01:58 02:18 02:51 03:06 03:14 04:05 04:24 AMS - Aufbau und Bedienung 26 Inbetriebnahme Inbetriebnahme des Fahrzeugs 1. 2. 3. Trennen von der Ladestation Einschalten (power rechts an der Seite) Laser und/oder Kamera an- oder abschalten I. Boersch, FH Brandenburg, 14.10.2014 P3 P2 AMS - Aufbau und Bedienung 27 Technische Daten P2 / P3 Odometrische Sensoren • high-resolution optical quadrature shaft encoder (Motorachse) • P2: 39400 ticks per wheel revolution* • P3: 76600 ticks per wheel revolution A) Wie groß ist die Encoder-Auflösung beim P3 (Ticks pro Motordrehung)? B) Wie viele Ticks pro mm beim P2? *(In der Doku oft auch 9,850 = ¼ TPWR) TPWR / Gear ratio = 76600 / 38.3 = 2000 ticks / axis revolution 39400 / Umfang = 39400 / (195*pi)=76 ticks/mm I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 28 Lsg • TPWR / Gear ratio = 76600 / 38.3 = 2000 ticks / axis revolution • 39400 / Umfang = 39400 / (165*Pi)=76 ticks/mm • PQE = Phase-Quadratur-Encoder I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 29 Fragen zu den Technischen Daten P2 • ? max. Vorschubgeschwindigkeit in km/h I 1.6 m/s * 3600 s / 1h * 1 km / 1000m = 5.76 km/h I 100 cm / (16.5 cm * 3.14) = 1.93 • ? Umdrehungen des Rads je m • ? Umdrehungen des Rads pro s bei vmax I 1.6 m * 1.93 / s * m = 3.1 • ? Umdrehungen des Motors pro m I 1.93 * 19.7 = 38 • ? Ticks der Encoder pro mm I 39400 / (165 mm * 3.14) = 76 / mm !! I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 30 Sonars Front Ultrasonic: 8, 1 each side, 6 forward @ 20° intervals Firing rate: 25 Hz (40 ms / sonar) Ranges: 10 cm - 5 m Genauigkeit: 1-2% => < 2 ... 5 cm Ultraschall: 20 kHz - 1 GHz Laufzeit: 0,6 ms - 30 ms d = vS t mit vS ~ 340 m/s Messprinzip: Time of Flight (TOF) I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 31 Crosstalk beim Sonar – hier kein Problem Crosstalk: Sensor empfängt ein Signal von einem anderen Sender a. direkter Crosstalk – ist kein Problem, benachbarte Sensoren sind aus b. indirekter Crosstalk – ist kein Problem, benachbarte Sensoren sind aus c. indirekter Crosstalk – theoretisch mgl., bisher beim P2/3 nicht beobachtet I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 32 Problem: Totalreflexion des Sonars a) Ecke unsichtbar b) Wand unsichtbar c) Wand weit entfernt Reale Messreihe zu b): Winkel Sonar0 Sonar1 zur Wand 0 395 2781 16 400 2339 17 796 2332 19 852 2328 21 4910 2331 23 4910 2335 25 4910 2353 27 4910 812 30 4910 397 Nur bei bestimmten Abständen Abb. a) und b) von Björn Lücke, Jonas Brüstel [AIS WS0708] Messreihe von Ralf Blümchen I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 33 Problem: Sonarecho vom eigenen Gehäuse • Lösung P2 I. Boersch, FH Brandenburg, 14.10.2014 Lösung P3 AMS - Aufbau und Bedienung 34 Aufbau eines Sonars I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 36 Laserscanner Sick LMS 200 Berührungslos arbeitendes Lasermesssystem, das seine Umgebung zweidimensional abtastet. Technische Daten: max. Reichweite / bei Remission 10%: 80 m /10 m Scanbereich: max. 180° Winkelauflösung: 0,25° / 0,5° / 1° Ansprechzeit: 53 ms bis 13 ms Auflösung/Systematischer Fehler: 10 mm, typ. +-15 mm Datenschnittstelle: RS-232/RS-422; Schaltausgänge: 3 x PNP, typ. DC 24 V Betriebsumgebungstemperatur: 0 bis +50 °C Laserschutzklasse: 1 (augensicher), Schutzklasse: IP 65 Abmessungen (B x H x T): 155 x 210 x 156 mm3, Gewicht: 4,5 kg. Leistungsaufnahme: 20 W. Aktivierbar und Deaktivierbar ! I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 37 SICK AG Waldkirch. TECHNISCHE BESCHREIBUNG LMS200/211/221/291, 2006 I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 38 Greifer (P 2 Gripper) Öffnung 21.5 cm / 20.5 cm Off floor 2.4 cm Abstand 11 cm Hub 9 cm / 7 cm Hubkraft 2 kg Greifkraft 200 g - 2 kg (Taster + Verzögerungszeit) Finger 3.5 cm x 9.5 cm Polster 2 mm 2 Lichtschranken zwischen den Fingern I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 39 PTZ Robotic Camera I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 40 Pan-Tilt-Zoom Robotic Camera Sony EVI-D31 (PAL) Image Sensor Effective Pixels Horizontal Resolution Vertical Resolution Lens Angle of View (H) Angle of View (V) Minimum illumination Pan Angle Tilt Angle Weight Control I. Boersch, FH Brandenburg, 14.10.2014 1/3" IT CCD 752(H) x 585(V) 450 TV lines 400 TV lines 12X Zoom, f=5.4 - 64.8 mm; F=1.8 - 2.7 48.8 degrees (wide angle) 37.6 degrees (wide angle) 7 lux / F1.8 +-100 degrees; max 80 degrees / second +-25 degrees; max 50 degrees / second 1,200 g RS232; VISCA™CONTROL PROTOCOL Aktivierbar und Deaktivierbar ! AMS - Aufbau und Bedienung 41 Pan-Tilt-Zoom Robotic Camera Sony EVI-D100P (PAL) CCD Sensor Effective Pixels Horizontal Resolution Lens Angle of View (H) Shortest Distance Minimum illumination Pan Angle Tilt Angle I. Boersch, FH Brandenburg, 14.10.2014 1/4" Super HAD CCD 752(H) x 582(V) 460 TV lines 10x opt. Zoom, f=3.1-31 mm; F=1.8 - 2.9 6.6-65° (wide angle) 100 mm (wide angle) - 600mm 3.5 lux / F1.8 +-100 degrees; max 300 degrees / second +-25 degrees; max 125 degrees / second Aktivierbar und Deaktivierbar ! AMS - Aufbau und Bedienung 42 Pan-Tilt-Zoom Robotic Camera Framegrabber DFG/USB2-lt Eingänge : 1x Composite Video, 1x S-Video Ausgang: USB2.0, unkomprimierter Bilddatenstrom ohne Audio Video-Formate: PAL /CCIR, NTSC/RS-170 Max. Auflösung (PAL/CCIR): 768x576 (wir verwenden im BV-Server 320x240) Übertragungsrate: 50 Halbbilder, 25fps Pixel: 24 bit (8 bit je Farbe) Treiber: VfW, WDM, DirectX • • • Unsere Kameras sind mit dem S-Video-Eingang des Framegrabbers verbunden -> eventuell im VfW-Treiber umschalten S-Video-Kabel etwas locker ! Anzeige des Videobilds mit Demoapplikation BV-Server.exe (=Bildverarbeitungsserver) oder vidcap32 oder ... I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 43 Kamerabilder [1] [2] [3] [1] Marcus Ehrlich, Patrick Pohlmann: Projektdokumentation DogBot, 2013 [2] Conrad Goldschmidt, Maximilian Orlowski: Catbot – Dokumentation, 2013 [3] Rico Humpack,Tanja Leschke: Dokumentation Abschlussprojekt Finden und Greifen, 2013 I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 44 virtuelles Dockobjekt I. Boersch, FH Brandenburg, 14.10.2014 Kontaktfläche mit IR-Sensoren DreiecksForm MobileEyes -> „Dock“ oder zu geringe Spannung bei „Autodock“ 1. Fahrt zum virt. Dockobjekt in der Karte 2. Ausrichten in Richtung des Dockobjektes 3. Einschalten pulsierender IR-LEDs (1.2 kHz) auf der Unterseite des Roboters 4. Fahrt auf die Ladefläche mittels Dreieck 5. IR-Pulse schalten die Docking-Station ein 6. Roboter senkt Ladekrallen und prüft Kontakt 7. Bei Problemen: ab 4. oder 1. wiederholen 8. Laden bis Zeit vorbei oder Schlussspannung Abb. von Steve Wolter, FH Brandenburg, September 2014 Docking-Station: nur Stanley und Andrew AMS - Aufbau und Bedienung 45 virtuelles Dockobjekt I. Boersch, FH Brandenburg, 14.10.2014 Kontaktfläche mit IR-Sensoren DreiecksForm MobileEyes -> „Dock“ oder zu geringe Spannung bei „Autodock“ 1. Fahrt zum virt. Dockobjekt in der Karte 2. Ausrichten in Richtung des Dockobjektes 3. Einschalten pulsierender IR-LEDs (1.2 kHz) auf der Unterseite des Roboters 4. Fahrt auf die Ladefläche mittels Dreieck 5. IR-Pulse schalten die Docking-Station ein 6. Roboter senkt Ladekrallen und prüft Kontakt 7. Bei Problemen: ab 4. oder 1. wiederholen 8. Laden bis Zeit vorbei oder Schlussspannung Abb. von Steve Wolter, FH Brandenburg, September 2014 Docking-Station: nur Stanley und Andrew AMS - Aufbau und Bedienung 46 IR-LED IR-LED Motor zum Absenken Kontaktkrallen IR-Empfänger I. Boersch, FH Brandenburg, 14.10.2014 Foto: Steve Wolter, FH Brandenburg, September 2014, AMS - Aufbau und Bedienung 47 Pioneer Electronic Compass Vector 2XG (nur P2) The PSOS-derived heading relative to magnetic North gets reported as a 0358 degree offset clockwise, ±2°. Technische Daten Accuracy Resolution Size Weigth mechanically gimbaled Dynamic tilt range I. Boersch, FH Brandenburg, 14.10.2014 2° 1° 3,8 cm x 3,3 cm x 2,6 cm 10 g 15° AMS - Aufbau und Bedienung 48 Kompasskarte KI-Labor • obere Kante sind die Schränke im KI-Labor • Beobachtung: Magnetfeld zeitlich stabil, aber Ablenkung durch Roboter (Abb.) und Ort (+-10°) Abb. von Seidel, Mühlberg, in LV AIS FH Brandenburg, 2003 I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 49 Mainboard des P2 Electronics (basic onboard microcontroller) Processor Siemens 8C166 (20 MHz) Position inputs 4 Sonar inputs 2x8 (multiplexed) 1x8 used Digital I/O 16 logic ports A/D 5 @ 0-5 VDC Digital timer output 8 @ 1μsec resolution Digital timer inputs 8 @ 1μsec resolution; Comm port 2 RS-232 serial FLASH PROM 32 KB; P2OS-encoded software RAM 256 KB; user programmable Power switches 1 main; 2 auxiliary I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 50 Mainboard des P3 • 44.2368 MHz Renesas SH2 32-bit RISC microprocessor with 32K RAM and 128K FLASH • 4 RS-232 serial ports (5 connectors) configurable from 9.6 to 115.2 kilobaud • 4 Sonar arrays of up to 8 sonar each • 2 8-bit bumpers/digital input connectors • Gripper/User I/O port with 8-bits digital I/O, analog input, and 5/12 VDC power • Heading correction gyro port • Tilt/roll sensor port • 2-axis, 2-button joystick port • User Control Panel • Microcontroller HOST serial connector • Main power and bi-color LED battery level indicators I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 51 Konsole Controls, Ports and Indicators RESET pushbutton: Warm reboot MOTORS pushbutton: Motors/boot/self-tests, green LED indicator RADIO Radio modem or Ethernet Speaker Piezo Serial comm port: 9-pin RS-232 with RCV and XMT LED indicators LCD display Systems status and messages (nur P2) an der Seite Main Power Robot power On/Off, red LED indicator Console Charge System power/battery recharge I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 52 Pioneer 2 Operating System (P2OS, ARCOS) Client-Server control architecture Robot’s servers work to manage all the low-level details of the mobile robot’s systems. These include operating the motors, firing the sonar, collecting and reporting sonar and wheel encoder data and so on. RS232 User Interface how to communicate with and control your robot via the Advanced Robot Control and Operations Software (ARCOS) client-server interface I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 53 ARCOS client command packet protocol - vom Client zum Roboter (Server) For details see Pioneer 3 Operations Manual Chapter 6, Table 7 I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 54 ARCOS communication packet protocol - vom Roboter (Server) zum Client • • SIP = Server Information Paket wird kontinuierlich vom Roboter zum Client gesendet: Inhalt Motors status; Wheel-encoder and optional gyro integrated coordinates, Orientation in angular units, Wheel velocities in millimeters per second, Battery charge in tenths of volts, Motor stall and bumper indicators, IO digital input states, Setpoint of the server’s angular position servo in degrees, sonar array status, Electronic compass accessory heading in 2degree units, Number of new sonar readings included in SIP, Sonar readings, Gripper state byte u.v.a For details see Pioneer 3 Operations Manual - Chapter 6, Table 6 I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 55 ActivMedia robots trapezoidal velocity profile • Befehl: Fahre 95 cm • Trapez-Kurve = Sollwerte • Regelung: 50ms Zyklus, PID-Regler, Eingabe = Sollwerte, Ausgabe = PWM der Motoren I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 56 Parameterfiles Woher kennt das Clientprogramm die Anzahl der Sonarsensoren? Client nimmt Verbindung zum Roboter auf Roboter meldet sich mit Class (bei uns Pioneer) und Subclass P3 melden sich als Subclass p3dx-sh oder p2d8+ P2 meldet sich als Subclass p2ce Client lädt zur Subclass xxx die passende Parameterdatei params/xxx.p • also p2ce.p oder p3dx-sh.p oder p2d8+.p I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 57 Parameterfile in ARIA – z.B. p3dx.p Section General settings Class Pioneer Subclass p3dx RobotRadius 250 RobotDiagonal 120 RobotWidth 425 RobotLength 511 RobotLengthFront 210 RobotLengthRear 301 Holonomic true MaxRVelocity 500 MaxVelocity 2200 MaxLatVelocity 0 HasMoveCommand false RequestIOPackets false RequestEncoderPackets false SwitchToBaudRate 38400 I. Boersch, FH Brandenburg, 14.10.2014 ;SectionFlags for General settings: ; general type of robot ; specific type of robot ; radius in mm ; half-height to diagonal of octagon ; width in mm ; length in mm of the whole robot ; length in mm to the front of the robot (if this is 0 ; length in mm to the rear of the robot (if this is 0 ; turns in own radius ; absolute maximum degrees / sec ; absolute maximum mm / sec ; absolute lateral maximum mm / sec ; has built in move command ; automatically request IO packets ; automatically request encoder packets ; switch to this baud if non-0 and supported on robot AMS - Aufbau und Bedienung 59 Parameterfile in ARIA – z.B. p3dx.p Section Conversion factors ;SectionFlags for Conversion factors: AngleConvFactor 0.001534 ; radians per angular unit (2PI/4096) DistConvFactor 1 ; multiplier to mm from robot units VelConvFactor 1 ; multiplier to mm/sec from robot units RangeConvFactor 1 ; multiplier to mm from sonar units DiffConvFactor 0.0056 ; ratio of angular velocity to wheel Vel2Divisor 20 ; divisor for VEL2 commands GyroScaler 1.626 ; Scaling factor for gyro readings Section Accessories the robot has ;SectionFlags for Accessories the robot has: TableSensingIR false ; if robot has upwards facing table sensing IR NewTableSensingIR false ; if table sensing IR are sent in IO packet FrontBumpers false ; if robot has a front bump ring NumFrontBumpers 5 ; number of front bumpers on the robot RearBumpers false ; if the robot has a rear bump ring NumRearBumpers 5 ; number of rear bumpers on the robot I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 60 Parameterfile in ARIA – z.B. p3dx.p Section Sonar parameters SonarNum 8 ; number of sonar on the robot ; SonarUnit <sonarNumber> <x position, mm> <y position, mm> <heading of disc, degrees> SonarUnit 0 69 136 90 SonarUnit 1 114 119 50 SonarUnit 2 148 78 30 SonarUnit 3 166 27 10 SonarUnit 4 166 -27 -10 SonarUnit 5 148 -78 -30 SonarUnit 6 114 -119 -50 SonarUnit 7 69 -136 -90 Section IR parameters IRNum 0 ; number of IRs on the robot ; IRUnit <IR Number> <IR Type> <Persistance, cycles> <x position, mm> <y position, mm> I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 61 Parameterfile in ARIA – z.B. p3dx.p Section Movement control parameters ; if these are 0 the parameters from robot flash will be used, otherwise these values will be used ;SectionFlags for Movement control parameters: SettableVelMaxes true ; if TransVelMax and RotVelMax can be set TransVelMax 0 ; maximum desired translational velocity for the robot RotVelMax 0 ; maximum desired rotational velocity for the robot SettableAccsDecs true ; if the accel and decel parameters can be set TransAccel 0 ; translational acceleration TransDecel 0 ; translational deceleration RotAccel 0 ; rotational acceleration RotDecel 0 ; rotational deceleration HasLatVel false ; if the robot has lateral velocity LatVelMax 0 ; maximum desired lateral velocity for the robot LatAccel 0 ; lateral acceleration LatDecel 0 ; lateral deceleration I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 62 Parameterfile in ARIA – z.B. p3dx.p Section GPS parameters GPSPX 0 GPSPY 0 GPSType standard GPSPort COM2 GPSBaud 9600 Section Compass parameters CompassType robot CompassPort I. Boersch, FH Brandenburg, 14.10.2014 ; x location of gps receiver antenna on robot, mm ; y location of gps receiver antenna on robot, mm ; type of gps receiver (trimble, novatel, standard) ; port the gps is on ; gps baud rate (9600, 19200, 38400, etc.) ; type of compass: robot (typical configuration), or ; serialTCM (computer serial port) ; serial port name, if CompassType is serialTCM AMS - Aufbau und Bedienung 63 Parameterfile in ARIA – z.B. p3dx.p Section Laser parameters LaserType lms2xx LaserPortType serial LaserPort COM4 LaserAutoConnect true LaserFlipped false LaserPowerControlled false LaserMaxRange 0 LaserCumulativeBufferSize 0 LaserX 21 LaserY 0 LaserTh 0 LaserZ 0 LaserStartingBaudChoice 38400 have a larger StartingBaud) LaserAutoBaudChoice have a larger units) I. Boersch, FH Brandenburg, 14.10.2014 ; type of laser ; type of port the laser is on ; port the laser is on ; if the laser connector should autoconnect this laser or not ; if the laser is upside-down or not ; if the power to the laser is controlled by serial ; Max range to use for the laser, 0 to use default ; Cumulative buffer size to use for the laser, 0 to use default ; x location of laser, mm ; y location of laser, mm ; rotation of laser, deg ; height of the laser off the ground, mm (0 means unknown) ; StartingBaud for the sensor (leave blank for default, use this to ; AutoBaud for the sensor (leave blank for default, use this to AMS - Aufbau und Bedienung 64 PioneerRobotModels.world.inc Der Simulator kann verschiedene Robotermodelle, Laserscanner, Sonarsensoren usw. simulieren Die Definition der SIMULIERTEN Roboter und Sensoren befindet sich im File MobileSim\PioneerRobotModels.world.inc Beispiel: Definition eines P3DX für den Simulator im File PioneerRobotModels.world.inc I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 65 Definition eines P3DX für den Simulator in PioneerRobotModels.world.inc # Model for a p3dx differential-drive robot base with sonar. define p3dx pioneer ( pioneer_robot_subtype "p3dx„ # Speed profile: max_speed [1.0 0 1.74] accel [0.3 0 1.74] decel [0.3 0 1.74] # Body shape: origin [-0.04465 0.0 0.0] size [0.511 0.4] polygons 1 polygon[0].points 8 polygon[0].point[0] [-0.12 0.2555] polygon[0].point[1] [0.12 0.2555] polygon[0].point[2] [0.2 0.12] polygon[0].point[3] [0.2 -0.12] polygon[0].point[4] [0.12 -0.2555] polygon[0].point[5] [-0.12 -0.2555] polygon[0].point[6] [-0.2 -0.12] polygon[0].point[7] [-0.2 0.12] polygon[0].filled 1 …… ) I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 66 Definition eines P3DX für den Simulator in PioneerRobotModels.world.inc define p3dx pioneer ( ….. # client protocol conversion factors pioneer_distconv 0.485 pioneer_diffconv 0.0056 pioneer_velconv 1.0 # Sonar: pioneerSonar ( scount 8 spose[0] [0.069 0.136 90] spose[1] [0.114 0.119 50] spose[2] [0.148 0.078 30] spose[3] [0.166 0.027 10] spose[4] [0.166 -0.027 -10] spose[5] [0.148 -0.078 -30] spose[6] [0.114 -0.119 -50] spose[7] [0.069 -0.136 -90] ) sicklms200( pose [0 0 0] ) ) define p3dx-noerr p3dx ( odom_error [0 0 0] ) I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 67 Definition eines Sonars für den Simulator in PioneerRobotModels.world.inc # Sonar array define pioneerSonar ranger ( sview [0.1 5.0 30] # min (m), max (m), field of view (deg) ssize [0.01 0.04] laser_return 0 blobfinder_return 0 fiducial_return 0 noise 0.0005 # sonar is pretty stable, actually # If we use projection_type "closest" then you can get slightly # more complex sonar behavior, which can be tuned with these parameters: #projection_type "closest" #projection_res 6 # Test a sensor's field of view at a resolution of 6 degrees #enable_throwaway 1 #throwaway_thresh 0.4 # Test range delta to consider throwing reading away #throwaway_prob 0.8 # Probability of throwing a sensor reading away I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 68 Definition eines Lasersscanners für den Simulator in PioneerRobotModels.world.inc # SICK LMS-200 laser rangefinder configured for 32m range define sicklms200 laser ( range_min 0.0 range_max 32.767 samples 181 fov 180.0 color "LightBlue„ size [0.155 0.15] #height 0.195 # Uncomment to enable laser_beam_height 0.08 # approx, it actually can vary a few cm in real life laser_return 1 ranger_return 1 blobfinder_return 0 fiducial_return 0 noise 0.0075 # Adds uniform random number in [-0.0075, 0.0075] meters reading_angle_error 0.0007 # Adds uniform random number in [0.0007,0.0007] radians laser_return_rules 3 …. ) I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 69 Definition eines Lasersscanners für den Simulator in PioneerRobotModels.world.inc # SICK LMS-200 laser rangefinder configured for 32m range define sicklms200 laser ( ….. # Turn reflector values >1 to 1 if more than 30m away laser_return_rule[0].model_gt 1 laser_return_rule[0].condition "outside_range" laser_return_rule[0].range 30 laser_return_rule[0].detect 1 # Turn reflector values >1 to 1 if more than 90deg away laser_return_rule[1].model_gt 1 laser_return_rule[1].condition "outside_angle" laser_return_rule[1].angle 90 laser_return_rule[1].detect 1 # Turn reflector value 2 into 33 (the actual value the SICK returns to ARIA) laser_return_rule[2].model_eq 2 laser_return_rule[2].detect 33 ) I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 70 Arbeit mit ARIA-Demo 1. Starte MobileSim oder Roboter (in MobileSim kann Karte und Robotertyp gewählt werden) 2. Starte ARIA-Demo I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 71 Arbeit mit ARIA-Demo Verbinde ARIA-Demo mit MobileSim auf dem gleichen Computer: demo.exe Verbinde ARIA-Demo mit MobileSim auf einem anderen Computer: demo.exe –remotehost 192.168.1.32 Starte ARIA-Demo auf Eee-PC, Verbindung zum Roboter an COM3: demo.exe –rp com3 I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 72 ARIA-Demo Modi I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 73 ARIA-Demo – Teleop mode I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 74 ARIA-Demo – Sonar or Laser mode I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 75 Arbeit mit MobileEyes 1. Starte MobileSim oder Roboter (in MobileSim kann Karte und Robotertyp gewählt werden) 2. Starte ARNL/arnlServer example server program (ein ArNetworking-Serverprogramm) I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 76 Arbeit mit MobileEyes Starte MobileEyes Verbinde mit IP des arnlServers (localhost bei lokalem arnlServer auf Simulator) I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 77 Übung • • • • • • • • • • • Inbetriebnahme Remoteanmeldung Demo –Client starten Teleop-Mode Sonar-Mode Laser-Mode Positions-Modus Camera-Mode Gripper-Mode Funk-Test Korrektes Abstellen • Kurz-Protokoll ins Moodle I. Boersch, FH Brandenburg, 14.10.2014 AMS - Aufbau und Bedienung 79