Programmiersprachen & Programmierung von Robotersystemen



Ähnliche Dokumente
Programmiersprachen & Programmierung von Robotersystemen

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Was meinen die Leute eigentlich mit: Grexit?

Die Post hat eine Umfrage gemacht

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Die Invaliden-Versicherung ändert sich

Installation und Inbetriebnahme von SolidWorks

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Programmierung mit NQC: Kommunikation zwischen zwei RCX

Kara-Programmierung AUFGABENSTELLUNG LERNPARCOURS. Abb. 1: Programmfenster. Welt neu erstellen; öffnen; erneut öffnen; speichern; speichern unter

Fax einrichten auf Windows XP-PC

Die Bundes-Zentrale für politische Bildung stellt sich vor

Schnittstelle zum Kalkulationssystem VI2000 der Firma Softwareparadies

Informationen zum Ambulant Betreuten Wohnen in leichter Sprache

Anleitung über den Umgang mit Schildern

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Stapelverarbeitung Teil 1

Wenn man nach Beendigung der WINDOWS-SICHERUNG folgendes angezeigt bekommt

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost

Wir machen neue Politik für Baden-Württemberg

Application Layer Active Network

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht:

Das Leitbild vom Verein WIR

Was versteht man unter Softwaredokumentation?

Bildquelle:

ABB i-bus KNX. Software-Information. Melde- und Bedientableau. Typ: MT 701.2

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

bagfa ist die Abkürzung für unseren langen Namen: Bundes-Arbeits-Gemeinschaft der Freiwilligen-Agenturen.

Datensicherung. Beschreibung der Datensicherung

FRONT CRAFT.

teischl.com Software Design & Services e.u. office@teischl.com

Erklärung zu den Internet-Seiten von

Wann ist eine Software in Medizinprodukte- Aufbereitungsabteilungen ein Medizinprodukt?

Woche 1: Was ist NLP? Die Geschichte des NLP.

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

GFAhnen Datensicherung und Datenaustausch

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Viele Bilder auf der FA-Homepage

WINDOWS 10 Upgrade. Beispiel: Desktop-Ausschnitt von vorhandenem WIN 8.1 (rechte Ecke der Taskleiste)

Kommunikationsworkshop On- und Offline

Programmierung von Konturzügen aus Geraden und Kreisbögen

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Wie Sie mit Mastern arbeiten

Wichtige Forderungen für ein Bundes-Teilhabe-Gesetz

Das sagt die UN-Behinderten-Rechts-Konvention zu Barriere-Freiheit Wie barriere-frei ist Deutschland?

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail:

Leichte-Sprache-Bilder

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

How to install freesshd

Installationsanleitung Maschinenkonfiguration und PP s. Release: VISI 21 Autor: Anja Gerlach Datum: 18. Dezember 2012 Update: 18.

Installation OMNIKEY 3121 USB

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

NoClick. Eine kurze Anleitung. Kommhelp e.v Vereinsregister. Spendenkonto kommhelp e. V. Konto Horstweg 25

Bearbeiten elektronische Rechnungen (Invoices)

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

plus Flickerfeld bewegt sich nicht

Dokumentation für das Spiel Pong

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Gründe für fehlende Vorsorgemaßnahmen gegen Krankheit

Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.

Bedienungsanleitung. Stand: Copyright 2011 by GEVITAS GmbH

Die SPD und die Grünen machen im Niedersächsischen Landtag. Alle Menschen sollen in der Politik mitmachen können.

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

>> Aus der Praxis: Ulrich. Februar 2011 Cekamon Saws Newsletter

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Statuten in leichter Sprache

HTML5. Wie funktioniert HTML5? Tags: Attribute:

Dokumentation von Ük Modul 302

Dr. Jens Hofschulte. Pressetag im Forschungszentrum Ladenburg, SMErobot Lead-Through-Programming. Roboterprogrammierung durch Vorführen

Wie wird ein Jahreswechsel (vorläufig und endgültig) ausgeführt?

Lasersteuerung. Themengruppen FTDI - Interface ILDA Format Ausgabensteuerung Figurenerstellung Lasershowerstellung Lasershowarten Software / Community

Professionelle Seminare im Bereich MS-Office

Neuheiten PROfirst CAD Version 6

Updateanleitung für SFirm 3.1

ECO-Manager - Funktionsbeschreibung

Inhaltserzeichnis. Datenübernahme

Versetzungsgefahr als ultimative Chance. ein vortrag für versetzungsgefährdete

Was ist Journalismus? Basis-Stilform: Die Nachricht. Metall. Macht. Medien. Eine Plattform der IG Metall Jugend

Die Backup-Voreinstellungen finden Sie in M-System Server unter dem Reiter "Wartung".

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Windows 8 Lizenzierung in Szenarien

INHALT 1. INSTALLATION DES V-MODELL XT UNTER WINDOWS 7 2. INSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Installationsanleitung für das KKL bzw. AGV4000 Interface

Anleitung für die Teilnahme an den Platzvergaben "Studio II, Studio IV und Studio VI" im Studiengang Bachelor Architektur SS15

Steganos Secure Schritt für Schritt-Anleitung für den Gastzugang SCHRITT 1: AKTIVIERUNG IHRES GASTZUGANGS

Erstellen von x-y-diagrammen in OpenOffice.calc

Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Wireless LAN PCMCIA Adapter Installationsanleitung

KI im Weltall: Der Remote Agent

! " # $ " % & Nicki Wruck worldwidewruck

Konzentration auf das. Wesentliche.

Neuer Releasestand Finanzbuchhaltung DAM-EDV E Inhaltsverzeichnis. 1. Neuerungen Schnittstelle Telebanking mit IBAN und BIC...

Schulung Marketing Engine Thema : Einrichtung der App

Transkript:

Programmiersprachen & Programmierung von Robotersystemen präsentiert von Hannes Ahrens Proseminar: Proseminarleiter: Anwendungen und Methoden der modernen Robotik Prof. Dr. Jianwei ZHANG

Gliederung Die Programmierverfahren: was man unter Roboterprogrammierung versteht Online Offline Die Entwicklung der Roboterprogrammierung Verschiedene Programmiersprachen RCCL (Multi-RCCL) Was RCCL ist RCCL im Einsatz Unser Arm mit integrierter Baretthand Wie RCCL aufgebaut ist und funktioniert Ein Beispiel Diskussionsideen Quellen

Die Programmierverfahren - Was man unter Roboterprogrammierung versteht Online Teach-In (Play-Back)

Die Programmierverfahren - Was man unter Roboterprogrammierung versteht Online direkte Parametereingabe per Softwareschnittstelle

Die Programmierverfahren - Was man unter Roboterprogrammierung versteht Offline 3D-Simulator

Die Programmierverfahren - Was man unter Roboterprogrammierung versteht Offline Editor (Ändern von Quelldateien) Quellcode der Software

Die Entwicklung Ab wann von Roboterprogrammierung die Rede sein kann Schon die Ägypter und Griechen entwickelten hoch komplizierte Maschinen, die teilweise wie Roboter automatisch fungierten ( fixed automation ) http://www.zdf.de/zdfde/inhalt/0/0,1872,2051776,00.html Heron, ein Tüftler aus der Antike (lebte vor etwa 2000 Jahren) entwickelte unter anderem die erste heute bekannte Dampfturbine und die ersten per Trommelspeicher programmierbaren Roboter, sowie schwere Kriegskatapulte und wohl auch eine Maschinenarmbrust

Die Entwicklung Wo wir heute mit der Programmierung sind und was sie geschaffen hat Speziell angepasste Sprachen zur Implementierung komplizierter Befehlskonstrukte Häufig grafische Schnittstelle Beibringen im laufenden Betrieb durch Vorführen (Teach-In) Sensorgestützte Programmierung Virtual Reality

Die Entwicklung Wohin sich die Roboterprogrammierung fortentwickelt und möglicherweise schon bald entwickeln wird Befehle durch natürliche Sprache Zeigen (Deuten), Reden Intuition (Reflexe) eigene Entscheidungen ohne strikte Vorgabe Eigenständiges Lernen und Anwenden Kommunikation und Organisation (Zielorientiert) untereinander

Programmiersprachen Eine Vielzahl von Sprachen: Um nur einige zu nennen: AL, AML, AR-BASIC, ARLA, BAPS, COSIMIR, IRL (IRDATA-Richtlinie), JARS, KAREL, PALIB, RAPID, ROBEX, SRL, TPE Ein paar ausgewählte: NQC VAL / VAL2 / VAL3 KRL für Kleinroboter zb. LEGO-MINDSTORM (von Dave Baum) von Staeubli (Industrieroboterhersteller) von KUKA (Europas größter Roboterhersteller)

RCCL (Multi-RCCL) Was ist RCCL? RCCL = Robot Control C Library C-Library zur Erstellung Aufgaben orientierter (task-level) Software in Unix Simulator zum Vorabtest der Ausführung

RCCL (Multi-RCCL) Was ist RCCL? Originalversion entstanden 1983 durch Vincent Hayward (Purdue University) Seitdem starke Weiterentwicklung: zb Multi-Roboter & Multi-CPU Unterstützung Multi-RCCL (RCCL 3.0/4.0) (1988 Lloyd, Parker, McClain McGill University & General Electric ATL) Freie Sprache außer für kommerzielle Nutzung Offline Programmierung relativ einfache Handhabung ( mächtiges Werkzeug ) Keine (kaum) Verwendung in Industrie und Unternehmen, da technisch inzwischen veraltet

RCCL (Multi-RCCL) RCCL im Einsatz Forschungsinstitute Unis Steuerungssoftware für den Arm mit integrierter Barretthand Verweis: Vortrag über Echtzeitbetriebssysteme Unser Roboter mit den vielen CPUs (Multi-CPU) Trajektory tasks laufen in Echtzeit ggf. weiteres im Gespräch (Diskussion)

RCCL (Multi-RCCL) Architektur So funktioniert RCCL Hintergrund-Task (Bewegungsgenerator trajectory generator) Aufspaltung in trajectory tasks einer pro Roboter (Multi-Roboter) zb. mehrere Arme als einzelene Roboter Verteilung auf vorhandene CPUs (Multi-CPU) Für den Programmierer nicht weiter sichtbar (da in Library) Servo-Level-Algorithmen (gekapselt) eigene Implementierungen nicht gedacht Kann zu Kollisions- und Verrenkungsproblemen führen Steuerung durch spezielle Funktionen und Datenstrukturen Festlegung von Koordinaten oder Vektoren Planungs -Task Vom Programmierer mit RCCL geschriebenes, C-basiertes UNIX Programm Erzeugt ggf. die Benutzerschnittstelle (Grafische Oberfläche) Beinhaltet ggf. spezielle Problembezogene Befehle (wie: verschweiße A mit B ) Direkte Implementierung aller Kommandos üblich Test über in RCCL integrierten Simulatorbetrieb (Robotsim)! Interne Verwendung der speziellen RCCL-Funktionen und Datenstruktren Kommunikation mit den trajectory-tasks über Shared Memory

RCCL (Multi-RCCL) Ein Beispiel: #include <rccl.h> #include manex.560.h main() { TRSF_PTR p, t; POS_PTR pos; MANIP *mnp; JNTS rcclpark; char *robotname rcclsetoptions(rccl_error_exit); // RCCL-Library // spezielle Deklarationen für den // PUMA 560 - Roboter // Beginn der Hauptroutine // Transformationsmatrizen // Zielposition // aktuelle Roboterposition/-eigenschaften // Initialposition und -parameter // Roboterbezeichnung // Option damit das Programm nur bei // Laufzeitfehlern abgebrochen wird robotname = getdefaultrobot(); if(!getrobotposition(rcclpark.v, rcclpark, robotname)) // Falls für den Standardroboter keine { printf( position rcclpark not defined for robot\n ); // Initialposition ermittelt werden kann, exit(-1); } // gib Fehlermeldung aus und beende!

RCCL (Multi-RCCL) Ein Beispiel: } t = alloctransxyz( T, UNDEF, -300.0, 0.0, 75.0); p = alloctransrot( P, UNDEF, P_X, P_Y, P_Z, xunit, 180.0); pos = makeposition( pos, T6, EQ, p, t, NULL); Positionsgleichung // relative Zielkoordinaten // Rotationsmatrix auf Starteinst. // kinematische mnp = rcclcreate(robotname, 0); rcclstart(); // initialisiere Trajekory Generator // startet Trajektory-Task movej(mnp, &rcclpark); setmod(mnp, c ); move(mnp, pos); stop(mnp, 1000.0); movej(mnp, &rcclpark); stop(mnp, 1000.0); // Bewegung zur bekannten Initialposition // geradlinige kartesische Bewegung // Bewegung zur Zielposition // mache eine Sekunde Pause // Bewegung zurück zur Startposition // mache eine Sekunde Pause waitforcompleted(mnp); rcclrelease(yes); // sicherstellen, daß alle Bewegungen abgeschlossen sind // beende Trajektory Generator und schalte Roboter ab

Diskussion Diskussionsideen: Ein Job für die Zukunft? Bleibt da überhaupt noch Arbeit für andere übrig? Wo liegen die Grenzen der Roboterprogrammierung? Gibt es diese überhaupt? Alles eine Frage der KI? Roboter als fühlende Wesen? Sich selbst programmierende Roboter? Roboter als erfinderische Künstler? Wird es noch einen Unterschied zwischen Mensch und Maschine geben? Werden Menschen überhaupt noch gebraucht werden? Roboter als willenslose Arbeitskräfte? Denkende Maschinen? (Eine neue Rasse - SciFi) Achtung! Vortrag: Ausblick in die Zukunft

Quellen Internet: www.iof.mw.tu-dresden.de/vorlesung/ 000301020401/05_mrb03_Programmierung_Flemming.pdf www.ba-eisenach.de/fileadmin/ _temp_/dokumente/stura/scripte/sem4/rob07.pdf http://de.geocities.com/gehnio/robotik.pdf http://www.google.de (für allgemeine Recherche und Bilder) http://www.kuka.com/germany/de http://www.staeubli.de nicht weiter verwendet, aber für Lego-Mindstorm-Interessierte: http://www.fh-landshut.de/~gschied/robotic/index.html http://bricxcc.sourceforge.net/nqc/ außerdem interessant: http://www.orocos.org/ Open Robot Control System Buch: Introduction to Robotics (John J. Craig) Weitere Quellen: Multi-RCCL User s Guide (John Lloyd und Vincent Hayward 1992)