ebook img

Programmierung mit LEGO Mindstorms NXT: Robotersysteme, Entwurfsmethodik, Algorithmen PDF

243 Pages·2010·3.358 MB·German
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Programmierung mit LEGO Mindstorms NXT: Robotersysteme, Entwurfsmethodik, Algorithmen

eXamen.press eXamen.pressisteineReihe,dieTheorieund PraxisausallenBereichenderInformatik fu¨r dieHochschulausbildungvermittelt. · Karsten Berns Daniel Schmidt Programmierung mit LEGO(cid:2) R MINDSTORMS(cid:2) NXT R Robotersysteme, Entwurfsmethodik, Algorithmen 123 Prof.Dr.KarstenBerns Dipl.Inf.DanielSchmidt TUKaiserslauternFBInformatik TUKaiserslauternFBInformatik AGRobotersysteme AGRobotersysteme Kaiserslautern Kaiserslautern Deutschland Deutschland [email protected] [email protected] LEGO, das LEGO Logo, LEGO MINDSTORMS, die Konfiguration der Noppen und die MinifigursindMarkenderLEGOGruppe.(cid:2)c TheLEGOGroup2010. Additionalmaterialtothisbookcanbedownloadedfromhttp://extra.springer.com ISSN1614-5216 ISBN978-3-642-05469-3 e-ISBN978-3-642-05470-9 DOI10.1007/978-3-642-05470-9 SpringerHeidelbergDordrechtLondonNewYork DieDeutscheNationalbibliothekverzeichnetdiesePublikationinderDeutschenNationalbibliografie; detailliertebibliografischeDatensindimInternetu¨berhttp://dnb.d-nb.deabrufbar. (cid:2)c TheLEGOGroup2010 Dieses Werk ist urheberrechtlich geschu¨tzt. Die dadurch begru¨ndeten Rechte, insbesondere die der U¨bersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung,derMikroverfilmungoderderVervielfa¨ltigungaufanderenWegenundderSpeicherungin Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfa¨ltigungdiesesWerkesodervonTeilendiesesWerkesistauchimEinzelfallnurindenGrenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland vom 9. September 1965 in der jeweils geltenden Fassung zula¨ssig. Sie ist grundsa¨tzlich vergu¨tungspflichtig. ZuwiderhandlungenunterliegendenStrafbestimmungendesUrheberrechtsgesetzes. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigtauchohnebesondereKennzeichnungnichtzuderAnnahme,dasssolcheNamenimSinneder Warenzeichen-undMarkenschutz-Gesetzgebungalsfreizubetrachtenwa¨renunddahervonjedermann benutztwerdendu¨rften. Einbandentwurf:KuenkelLopkaGmbH Gedrucktaufsa¨urefreiemPapier SpringeristTeilderFachverlagsgruppeSpringerScience+BusinessMedia(www.springer.com) Geleitwort Es war unheimlich interessant und spannend; und hat zudem sehr viel Spaß ” gemacht!“ Dieses Zitat eines teilnehmenden Schu¨lers des NaT-Working“-Projekts Infor- ” ” matik–Schu¨lerkurseundWettbewerbemitLEGOMINDSTORMSRobotern“ der TU Kaiserslautern bringt die Ziele unseres Fo¨rderprogramms auf den Punkt. Im Programm NaT-Working:NaturwissenschaftenundTechnik–Schu¨ler,Lehrerund ” Wissenschaftlervernetzensich“sollenjungeMenschendurchdieTeilnahmeanPro- jektenfu¨rNaturwissenschaftenundTechnikbegeistertwerden.Seit1999habenwir imRahmenvon NaT-Working“ u¨ber140gemeinsameProjekteanderSchnittstelle ” zwischen Schule und Forschung unterstu¨tzt und dafu¨r u¨ber 7 Millionen Euro zur Verfu¨gunggestellt. Wirfreuenuns,dassderGedanke von NaT-Working“ inKaiserslauternaufso ” fruchtbarenBodengefallenist.DasProjekt Informatik–Schu¨lerkurseundWettbe- ” werbemitLEGOMINDSTORMSRobotern“ zieltdaraufab,Schu¨lerfu¨rdieInfor- matikundihrevielfa¨ltigenAnwendungsmo¨glichkeitenzuinteressieren. Schu¨lerhabenoftnurungenaueVorstellungendavon,wasInformatikistundwas einInformatikstudiumbeinhaltet.Zumeistsehensiedahinterhauptsa¨chlichdiePro- grammierung von Software und sind u¨ber den großen deutschen (Arbeits)-Markt aufdemGebietinformationsverarbeitendertechnischerSysteme,wiez.B.Roboter- systeme,SystemeinHaushaltsgera¨ten,Spielkonsolen oderKraftfahrzeugen wenig informiert. InKaiserslauternerhaltenSchu¨lerdieMo¨glichkeit,selbststa¨ndigzuforschenund ProblemstellungeninnerhalbeinesTeamszulo¨sen.SieerlebenInformatikerundIn- genieurealsaktiveMitgliedereinesforschendenTeams,diesichmitdeminterdis- ziplina¨rausgerichtetenFach Informatik“ auseinandersetzen.SielernenPerso¨nlich- ” keiten kennen, die tagta¨glich ihre Kenntnisse aus den Fa¨chern Informatik, Physik, ElektrotechnikundMechanikeinsetzen,umalltagsrelevanteThemenzuerforschen und Lo¨sungen fu¨r reale technische Probleme zu finden. Die Schu¨ler bekommen Zugang zur aktuellen Forschung, indem sie selbst an Projekten mitwirken. Durch dieZusammenarbeitmitWissenschaftlernundStudierendenerhaltensiezudemUn- terstu¨tzungundOrientierungbeimU¨bergangvonderSchulezurUniversita¨t. v vi Geleitwort GenaudaswollenwirmitunseremProgramm NaT-Working“ erreichen:Schu¨- ” lern einen authentischen Einblick in die Welt der Forschung und ein realistisches Bild vom Leben an der Universita¨t zu vermitteln, so dass sie sich besser infor- miertfu¨reinentsprechendesStudiumentscheidenko¨nnen.Nurmitentsprechenden Kenntnissen ko¨nnen sich junge Menschen selbst ein Urteil bilden, welche Chan- cen und Risiken in neuen wissenschaftlichen und technischen Entwicklungen lie- gen.Natu¨rlichspieltdieSorgeumdenwissenschaftlichenNachwuchsindenNatur- und Ingenieurwissenschaften, die fu¨r die Zukunft unseres Landes und unserer Ge- sellschaft so wichtig sind, hier auch eine bedeutende Rolle. Nicht zuletzt ist eine erfolgreiche Wirtschaft abha¨ngig von der Bildung ihrer Bu¨rger. Deswegen ist die Entwicklung und Verwendung von qualitativ hochwertigen Unterrichtsmaterialien imnaturwissenschaftlich-technischenBereichsowichtig. NachdemdieProjektfo¨rderungfu¨rdas NaT-Working“-Programmjetztausla¨uft, ” liegt der Schwerpunkt unserer Arbeit in der langfristigen Verstetigung der beste- hendenProjekteundderVerbreitungderentstandenenErgebnisseausdengefo¨rder- tenInitiativen.DiegemeinsameKonzeptionundUmsetzungderProjektideendurch Naturwissenschaftler und Lehrer fu¨hren oft zur Entwicklung von neuen kreativen Ansa¨tzenfu¨rdennaturwissenschaftlich-technischenUnterricht.Diesemo¨chtenwir inmo¨glichstvieleKlassenzimmeru¨bertragenundeinerbreitenLehrerschaftzuga¨ng- lich machen. Die Erfahrungen der Naturwissenschaftler, Lehrer und Schu¨ler aus NaT-Working“-Projekten sollen eine breite und o¨ffentliche Plattform bekommen, ” umanderezumotivieren,zuinspirierenundzuunterstu¨tzen.Deswegenfreuenwir uns sehr u¨ber die Initiative der Projektbeteiligten in Kaiserslautern, ihre Erkennt- nisse durch diese Publikation der O¨ffentlichkeit zuga¨nglich zu machen. Wir hof- fen,dassSieaufdenfolgendenSeitenoriginelleAnregungenzumUnterrichtenund selbstAusprobierenfindenundaufneueIdeenstoßen. Wirwu¨nschenIhnenvielFreudebeiderLektu¨re! Stuttgart,Dezember2009 AtjeDrexler stv.LeiterindesBereichs WissenschaftundForschung“ ” derRobert-Bosch-Stiftung Vorwort Die Informatik nimmt bereits heute eine sehr wichtige Rolle im beruflichen und gesellschaftlichen Alltagsleben ein. Sowohl das moderne gesellschaftliche Zusam- menleben–mandenkebeispielsweiseandievielfa¨ltigenKommunikationsmo¨glich- keiten – als auch der wachsende Anteil an elektronischen Helfern wie Assistenz- systemeinPkwoderautomatisierteProduktionsabla¨ufesindohnedenEinsatzvon Informatikundenkbar.DurchdiezunehmendeAnzahlvonAnwendungen,indenen dieMethodenderInformatikeineentscheidendeRollespielen,sindheutewieauch indenna¨chstenJahrendieBerufsausichtenfu¨rInformatikerhervorragend.Demge- genu¨ber sind die Anfa¨ngerzahlen fu¨r ein Informatikstudium an Fachschulen und Universita¨ten ru¨ckla¨ufig oder verharren auf einem sehr niedrigen Niveau, so dass der Bedarf an Informatikern in der Industrie nicht abgedeckt werden kann. Die Gru¨ndehierfu¨rsindsehrvielfa¨ltig.Oftwirdangefu¨hrt,dassdasInformatikstudium im Vergleich zu anderen Studienga¨ngen als sehr schwer eingestuft wird und dass dasoftvermittelteKlischeeeinesInformatikersnichtsodernursehrwenigmitdem tatsa¨chlichenBerufsfeldzutunhat. Der Fachbereich Informatik an der TU Kaiserslautern hat in den letzten Jahren unterschiedliche Initiativen mit Schulen, Lehrern und Schu¨lerinnen und Schu¨lern gestartet, um das Image der Informatik zu verbessern und bessere Voraussetzun- gen fu¨r das Informatikstudium zu schaffen. Eine dieser Initiativen, die vom Lehr- stuhl Robotersysteme seit 2005 durchgefu¨hrt wird, versucht am Beispiel des An- wendungsgebiets der Robotik Informatikinhalte zu vermitteln und Schu¨lerinnen und Schu¨ler fu¨r ein Informatikstudium zu begeistern. Dazu wurden vor allem LEGO(cid:2)RMINDSTORMS(cid:2)RNXT1.0-Robotereingesetzt,dievonSchu¨lerinnenund Schu¨lern in unterschiedlichen Informatikkursen programmiert wurden. Durch den modularenAufbauistdasLEGOMINDSTORMS-Systembesondersgeeignet,sehr unterschiedliche Anwendungsbeispiele zu untersuchen. Auch fu¨r Einsteiger ohne jegliche Programmierkenntnisse bietet das LEGO-System mit der grafischen Pro- grammierumgebungNXT-GeinenschnellenZugangfu¨rdieImplementierungkom- plexerMethoden.Zusa¨tzlichko¨nnendieLEGO-ModelleauchmitHilfeunterschied- licherHochsprachenprogrammiertwerden.Damitko¨nnendiewichtigstenSchritte vii viii Vorwort bei der Entwicklung komplexer Softwaresysteme vom Entwurf u¨ber Implementie- rungskonzeptebishinzumTestendurchlaufenwerden. Die seit 2005 durchgefu¨hrten Schu¨lerkurse und Wettbewerbe, die initial durch das Programm Schnittstelle Schule“ vom Wissenschaftsministerium Rheinland- ” Pfalz unterstu¨tzt wurden, haben dazu gefu¨hrt, das Angebot schrittweise zu verbes- sern und zu erweitern, um mo¨glichst viele Aspekte der Informatik abdecken zu ko¨nnen. Durch die enge Zusammenarbeit mit Informatiklehrern in den Schulen wurde das Lehrangebot so aufbereitet, dass es auch im Informatikunterricht oder in Informatik-AGs in den Schulen eingesetzt werden kann. Die Schu¨lerinnen und Schu¨ler nahmen extrem motiviert an den Kursen teil. Vier von fu¨nf wu¨rden ger- neeinenweiterenKursbelegen.DurchdieWahldesAnwendungsgebietesderRo- botik konnte der Beitrag der Informatik von den Teilnehmern in der Praxis erlebt werden. Insbesondere bei ju¨ngeren Kursteilnehmern hat sich das Versta¨ndnis, was Informatik u¨berhaupt ist, nachhaltig verbessert. An dieser Stelle mo¨chten wir der Robert-Bosch-Stiftung danken, die im Rahmen ihres NaT-Working“-Programms ” den Aufbau und die Durchfu¨hrung der Kurse im besonderen Maße unterstu¨tzt hat undfu¨rdieErstellungdesGeleitwortes. AufgrundderpositivenResonanzentstanddieIdee,dieKursinhalteinFormei- nesLehrbuchsfu¨reinSelbststudiumundfu¨rdenEinsatzanSchulenaufzubereiten. DasBuchrichtetsichanSchu¨lerinnenundSchu¨lerabderMittelstufesowieanStu- dierendeindenerstenSemestern.Fu¨rEinsteigerindieProgrammierungempfiehlt sichzuna¨chstdiegrafischeProgrammierungmitLEGONXT-G,umsichmitKon- trollmechanismen und -strukturen vertraut zu machen. Die in den letzten Kapiteln eingefu¨hrteHochspracheJavaunddiePra¨sentationvonProgrammierbeispielenist fu¨r Schu¨lerinnen und Schu¨ler der Oberstufe geeignet, die bereits u¨ber Informatik- kenntnisse verfu¨gen. Neben den informationstechnischen Aspekten werden auch Messverfahren spezieller Sensoren, Methoden fu¨r die Robotersteuerung und inter- essanteAnwendungenbeschrieben. Vor allem die im Buch beschriebenen Aufgaben und Experimente erforderten sehr viel Arbeit, da diese zuna¨chst entworfen, der zugeho¨rige Roboter konstruiert, das Programm implemeniert und in unterschiedlichen Szenarien getestet werden mussten. An dieser Stelle mo¨chten wir daher den beiden Informatikstudenten Da- nielEngelmannundSteffenHemerdanken,diemaßgeblichfu¨rdieUmsetzungder praktischenAufgabenzusta¨ndigwarenundunterstu¨tzendbeiderErstellungderKa- pitelmitwirkten. Wir wu¨nschen allen Leserinnen und Lesern viel Spaß bei der Erfahrung der In- formatikmitRoboteranwendungenundderLektu¨rediesesBuchs. Kaiserslautern, KarstenBerns Februar2010 DanielSchmidt Inhaltsverzeichnis 1 Einleitung..................................................... 1 1.1 LEGOMINDSTORMSalsinformationsverarbeitendesSystem .... 2 1.2 LehrbeitragdesBuchs ...................................... 3 1.3 AufbaudesBuchs .......................................... 4 2 Robotik ....................................................... 5 2.1 Roboter................................................... 5 2.1.1 HistorischerUrsprungvonRobotern .................... 6 2.1.2 AnwendungenundKlassifikationvonRobotersystemen.... 7 2.1.3 Robotik–eininterdisziplina¨resForschungsgebiet ......... 10 2.1.4 ProgrammierungvonRobotern......................... 11 2.2 BeitragderInformatikfu¨rdieRobotik ......................... 12 3 GrundlagenderInformatik ..................................... 17 3.1 Programmentwicklung ...................................... 17 3.2 ModellierungundAbstraktion................................ 19 3.3 ElementederProgrammierung ............................... 21 3.3.1 Klassen ............................................ 21 3.3.2 Datenstrukturen ..................................... 22 3.3.3 MethodenundFunktionen............................. 25 3.3.4 Programme ......................................... 26 3.3.5 LogikundFunktionen ................................ 26 3.3.6 BedingteAnweisungenundVerzweigungen.............. 28 3.3.7 SchleifenundWiederholungen......................... 29 3.3.8 Beobachter ......................................... 31 3.4 ProgrammiersprachenundCompiler........................... 32 3.4.1 Compiler ........................................... 32 3.4.2 Interpreter .......................................... 34 3.5 AufbauundFunktionvonBetriebssystemen .................... 35 3.5.1 Prozesse............................................ 36 3.5.2 Betriebssysteme ..................................... 37 3.6 ComputerundElektronik.................................... 37 ix x Inhaltsverzeichnis 4 DasLEGOMINDSTORMS-System.............................. 41 4.1 Microcontroller ............................................ 42 4.1.1 Sensor/Aktuator-Schnittstelle .......................... 43 4.1.2 VorgefertigteProgramme.............................. 44 4.2 Aktuatorik ................................................ 45 4.2.1 Elektromotor........................................ 45 4.2.2 Getriebe............................................ 48 4.3 Sensorik .................................................. 49 4.3.1 Tastsensor .......................................... 50 4.3.2 Ultraschallsensor .................................... 51 4.3.3 Lichtsensor ......................................... 53 4.3.4 Farbsensor.......................................... 54 4.3.5 Gera¨uschsensor...................................... 55 4.3.6 Beschleunigungssensor ............................... 56 4.3.7 Kompass-Sensor..................................... 57 4.3.8 Kreiselsensor........................................ 58 4.3.9 RFID-Sensor........................................ 59 4.3.10 WeitereSensoren .................................... 60 4.3.11 Sensorauswertung.................................... 61 5 EntwicklungvonLEGO-NXT-Programmen....................... 63 5.1 GrafischeProgrammierungmitNXT-G ........................ 63 5.1.1 DieProgrammierumgebung ........................... 64 5.1.2 KompilierenundStarten .............................. 65 5.1.3 BearbeitendesProgramms ............................ 65 5.1.4 SequentielleundparalleleProgramme................... 66 5.1.5 DatenleitungenundVariablen.......................... 66 5.1.6 HilfefunktionundDokumentation ...................... 68 5.2 ElementederProgrammierunginNXT-G ...................... 68 5.2.1 AllgemeinePalette................................... 69 5.2.2 Aktion ............................................. 69 5.2.3 Sensor ............................................. 70 5.2.4 Ablauf ............................................. 72 5.2.5 Daten .............................................. 73 5.2.6 GroßerFunktionsumfang.............................. 74 5.2.7 EigeneBlo¨cke....................................... 75 5.3 Anwendungsbeispiel IntelligenterRoboter“.................... 76 ” 5.3.1 DerRoboterlerntfahren .............................. 77 5.3.2 Hindernissenausweichen ............................. 81 5.3.3 Linienfolgen ........................................ 86 5.4 ProgrammieraufgabenmitNXT-G ............................ 90 5.4.1 Linienfolgen,HindernisausweichenundderganzeRest .... 90 5.4.2 DerWachroboter .................................... 91

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.