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