Tentamen i Robotteknik MPR160, 16 december 2000



Relevanta dokument
Tentamen i Robotteknik MPR160, 28 april 2000

Tentamen i Robotteknik MPR211, 12 mars 1999

Tentamen i Robotteknik MPR160 och MPR210, 20 oktober 1997

Tentamen i Robotteknik MPR160 och MPR210, 14 januari 1998

Sekvensstyrning Grafcet och IEC

TENTAMEN I PROGRAMMERING. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng

Systemkonstruktion Z2

Grundläggande programmering med C# 7,5 högskolepoäng. Provmoment: Ladokkod: Tentamen ges för: TEN1 NGC011 ADAEK17, ASYST17 samt öppen för alla

"Crash Course in Programming"

Robotfotboll med Arduino

Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell

CE_O3. Nios II. Inför lab nios2time

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

Följddiagram för händelsestyrda rörelser

Tentamen i TMPT 04 Produktionsteknik för Im3

16 Programmering TI -86 F1 F2 F3 F4 F5 M1 M2 M3 M4 M5

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

Lego Robot [ ] [ ] [ ]

2D1339 Programkonstruktion för F1, ht 2004

Programmerbara styrsystem

Smart Rogic Manual. Robostick Manual

Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl

Kontrollskrivning Mikrodatorteknik CDT S2-704

Laborationer i SME094 Informationsteknologi I för

Enchipsdatorer med tillämpningar LABORATION 7, ROBOT

F5: Högnivåprogrammering

F5: Högnivåprogrammering

Tentamen SSY 065, onsdag 22/8, 08:30-12:30, VV. Examinator: Martin Fabian, (772) 3716 Tider för lärarens närvaro: 09:30, 11:30

Objektorienterad programmering. Fält som funktionsresultat. Mer om fält: att uppdatera ett parameterfält. Kontrast: Parametrar av primitiv typ

PARALLELL OCH SEKVENTIELL DATABEHANDLING. Innehåll

Digital- och datorteknik

Övningsuppgifter i Mikrodatorteknik 4p/5p

Övningsuppgifter STYRNING - i Mikrodatorteknik för U2 2010

Tentamen, EDA501 Programmering M L TM W K V

2D1339 Programkonstruktion för F1, ht 2003

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

Lösningar till tentamen i EIT070 Datorteknik

1. Förpackningsmaskin / Packaging machine

Föreläsning 3-4 Innehåll

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

Tentamen Programmeringsteknik II Skrivtid: Hjälpmedel: Java-bok (vilken som helst) Skriv läsligt! Använd inte rödpenna!

Programmering eller Datalogiskt tänkande

IE1204/IE1205 Digital Design

F8: Undantagshantering

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Försättsblad till skriftlig tentamen vid Linköpings Universitet

Kapitel 16: Programmering

Tentamen i IE1204/5 Digital Design onsdagen den 5/

KOMPLETTERANDE HEMTENTAMEN TDDB53

2 b) Bodega bodegan = new Bodega(); double moms = 0.235; String namn = "Vargtass"; System.out.println(namn + " " + moms + bodegan.ändra(moms, namn); S

Lösningar till tentamen i EIT070 Datorteknik

LABORATIONER I STYRTEKNIK. Grundläggande PLC- programmering

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

Styrteknik : Programmering med IEC Styrteknik

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Funktioner forts. F3: Funktioner (kap. 5) Parametrar. findgear.m forts

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

EV3 Roboten. Sida 1 av 13

Grundläggande programmering med C# 7,5 högskolepoäng

Tentamen i Objektorienterad programmering

Paletteringsrobot öppnar nya marknader

Grundläggande programmering med C# 7,5 högskolepoäng. Provmoment: Ladokkod: Tentamen ges för:

VHDL och laborationer i digitalteknik

Föreläsning 4 Programmeringsteknik DD1310. Felhantering. Syntax. try och except är reserverade ord som används för hantering av exekverings fel.

Laboration Datorteknik TSIU02 2. I/O-programmering

LABORATION. Datorteknik Y

OzoCodes FÄRG KODER VINST/ UTGÅNG FART RÄKNARE RIKTNING TIMER COOLA RÖRELSER REFERENSSCHEMA VINST/UTGÅNG (SPELA IGEN) CRUISE SNABB TURBO NITRO BOOST

Hjälpmedel: Typgodkänd räknare, Physics Handbook, Mathematics Handbook.

Tentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-17, TDA540. Dag: , Tid:

Avancerade svetsfunktioner 3 dagar

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Ansvarig lärare: Olof Andersson, Telefon (besöker skrivsalen)

Roboten. Sida 1 av 11

JF-Link. Trådlös elmanövrering av hydraulik. Instruktionsbok. Bruksanvisning i original

General Purpose registers ALU I T H S V N Z C SREG. Antag att vi behöver skriva in talet 25 till register R18

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34

SNABBGUIDE I G-KODER. Andra upplagan för operatörer. Daniel Karlsson

TENTAMEN I. OBJEKTORIENTERAD PROGRAMMERING för Z1. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng

Tisdag 50 Onsdag 50 Fredag 90

Exempeluppgift i Logikstyrning. 1 Inledning. 2 Insignaler och utsignaler

Högskolan i Halmstad Digital- och Mikrodatorteknik 7.5p. Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien

Datorsystemteknik Föreläsning 7DAVA14

TDDC77 Objektorienterad Programmering

Om NXTprogrammering. Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT?

DAT043 Objektorienterad Programmering

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning

Ordinarie tentamen i Mekanik 2 (FFM521)

Tentamen SSY 065, lördag 14/4, 08:30-12:30, M. Examinator: Martin Fabian, (772) 3716 Tider för lärarens närvaro: 09:30, 11:30

LABORATION. Datorteknik Y

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

Sirius II Installation och Bruksanvisning

Digital- och datorteknik

Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Tentamen DE14, IMIT14 och SYST14 samt öppen för alla

Administrivia. hh.se/db Verónica Gaspes (Kursansvarig) 2 Mattias Enervall (Övningsassistent) Examination. 1 Skriftlig tentamen (betyg)

Utvecklar sin förmåga att bygga, skapa och konstruera med hjälp av olika tekniker, material och redskap - Naturvetenskap och teknik, Förskola

Konstruera, styra, reglera och programmera en röd tråd F-9

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.

2 b) Följande finns definierat: public class Spel String titel = "Spel"; Dice[] tärningar = new Dice[10]; tärningar[0] = new Dice("Röd"); tärningar[1]

Transkript:

Tenta i Robotteknik Z3 2000-12-16 1/6 Tentamen i Robotteknik MPR160, 16 december 2000 Lärare: Rolf Berlin ank 1286; 0707-99 24 89 Anders Boström ank 1526 Tillåtna hjälpmedel: Typgodkända kalkylatorer och alla formelsamlingar. Betygslista anslås måndag 15/1 på Robotlaboratoriets anslagstavla. Granskning sker hos Gunvor Johansson onsdagen 17/1 kl 13-16 på inst. för prod teknik. Betygsgränser: 30-39p=betyg 3, 40-49p=betyg 4, 50-60p=betyg 5 1a Beskriv hur robotarmen nedan kan nå samma position med verktyget på fyra olika sätt, rita gärna. 1b Vad betyder förkortningen tcp och varför används denna funktion vid robotprogrammering. 1c Förklara hur följande styrprinciper för robotrörelse fungerar, rita gärna: 6p -synkroniserad PTP styrning -osynkroniserad PTP styrning -CP- styrning 2a Robotsäkerhet är ett centralt problem i alla robotceller, förklara hur ett hålldon används och fungerar i samband med att någon vistas i farligt område. 2b Vid projektering av en robotinstallation genomför man som produktionstekniker normalt 4-5 faser, nämn fyra faser och beskriv översiktligt vad de innehåller. 2c Förklara vad som menas med direkt drivning av robot länkarmar, nämn även en fördel och en nackdel med metoden. 1

Tenta i Robotteknik Z3 2000-12-16 2/6 2d Beskriv detaljerat hur en "harmonic drive" är: 4p uppbyggd, vad som är ingående och utgående axel (vid normal nedväxling) hur den fungerar. 3a Nämn 6 krav på ett avancerat off-line system för robot programmering 3p 3b Förklara hur ett normalt industriellt vision system används för att identifiera ett objekt bland en mängd tidigare definierade. Beskriv minst två egenskaper som var och en eller tillsammans kan användas för identifiering. 3c Förklara följande robotbegrepp : 3p - märklast - lägesrepeterbarhet - arbetsvolym 3d Förklara hur AGV-navigering med "induktiv slinga" fungerar och hur man programmerar AGV n att välja rätt väg för ett visst uppdrag i en layout med många korsningar och alternativa vägar ================================================================ Rotationsmatriser Rot(x, θ) = Rot(y, θ) = Rot(z, θ) = 1 0 0 0 cosθ sinθ 0 sinθ cosθ cosθ 0 sinθ 0 1 0 sinθ 0 cosθ cosθ sinθ 0 sinθ cosθ 0 0 0 1 2

Tenta i Robotteknik Z3 2000-12-16 3/6 4.a Rätta nedanstående RAPID-program som innehåller 6 fel (svara genom att stryka felaktiga rader och skriva de korrekta i den högra kolumnen i svarsformuläret på nästa sida - avdrag görs för felaktigt svar). 5p En ABB Irb1400 (S4) laddar en fräs med rätblock (6x8cm, höjd=8cm) och en svarv med cylindrar (radie = 5cm, höjd = 8cm). Roboten hämtar föremålen från ett transportband, vars riktning är parallell med baskoordinatsystemets X-axel. Vid änden av transportbandet finns en ljusbom (som är parallell med baskoordinatsystemets Y-axel). Ljusbommen är placerad 1cm över transportbandet samt är kopplad till ingången LJUSBOM, vilken ettställs då ljusbommen bryts (=0 annars). Robotens gripdon utgörs av en sugpropp, som innehåller en sensor. Sensorn är kopplad till ingången SENSOR samt sitter centrerad i sugproppen. Förutsatt att sensorn är riktad rakt mot transportbandet ettställs SENSOR omedelbart då en höjdförändring detekteras (=0 då ingenting finns mellan sensorn och transportbandet). För att sökning (SearchL) ska fungera finns systemdefinierade positioner (START, TRÄFF och STOPP) där höjden över transportbandet är anpassad för både detektering och uppsugning samt läget i förhållande till ljusbommen endast är ett offset i z-led. Dessutom finns utgången INVERTERARE som vid ettställning inverterar (logiskt) SENSOR. Sugproppen aktiveras vid ettställning av utgången PROPP (=0 innebär inaktivering). Plockning (uppsugning) av ett föremål måste ske i ytcentrum på ovansidan. Transportbandet styrs m h a utgången MOTOR (=1 innebär att transportbandet startas, =0 stoppar transportbandet). Föremålen ligger slumpvis (dock efter varandra och med visst mellanrum) på transportbandet och detta innebär att roboten först måste detektera position och typ av föremål, för att sedan hämta detta och ladda in i rätt maskin. Laddningen utförs genom att anropa 2st fördefinierade rutiner (SVARV och FRÄS). Verktygsdata TCP används för alla positioner. Bortse ifrån eventuella fördröjningar samt antag att rätblocken är orienterade så att antingen kortsidan (6cm) eller långsidan (8cm) är parallella med ljusbommen. STOPP Rätblock Riktning för robotens Y-axel samt ljusbom Cylinder Ljusbom Riktning för robotens X-axel samt transportband Ljusbom START Transportband 3

Tenta i Robotteknik Z3 2000-12-16 4/6 Svarsformulär uppgift 4a MODULE cylindrar_och_rätblock PROC main() Reset PROPP; Reset INVERTERARE; Set MOTOR; IF LJUSBOM = 1 THEN Reset MOTOR; sökning_längs_ljusbom; ELSE Set MOTOR; sökning_längs_ljusbom; ; PROC sökning_längs_ljusbom() MoveL START,v100,fine,TCP; SearchL \Stop,SENSOR,TRÄFF,STOPP,v100,TCP; kontroll; ERROR TRYNEXT; PROC kontroll() MoveL Offs(TRÄFF,-90,0,0),v100,fine,TCP; IF SENSOR=0 THEN cylinder; ELSE rätblock; PROC cylinder() MoveL Offs(TRÄFF,-50,0,0),v100,z10,TCP; Set PROPP; MoveL Offs(TRÄFF,-50,0,100),v100,z10,TCP; SVARV; PROC rätblock() MoveL Offs(TRÄFF,-10,70,0),v100,fine,TCP; IF SENSOR=1 THEN MoveL Offs(TRÄFF,-30,40,0),v100,fine,TCP; Set PROPP; MoveL Offs(TRÄFF,-30,40,100),v100,fine,TCP; Set INVERTERARE; IF SENSOR=0 THEN MoveL Offs(TRÄFF,-30,40,0),v100,fine,TCP; Set PROPP; MoveL Offs(TRÄFF,-30,40,100),v100,fine,TCP; FRÄS; ENDMODULE 4

Tenta i Robotteknik Z3 2000-12-16 5/6 4.b Skriv ett AML/E-program som får en IBM7545-robot att först gå till positionen (100,100,-100,0) och därefter gå så linjärt som möjligt (dvs med minsta möjliga avvikelse från den matematiskt perfekta linjära banan) till positionen (150,300,0,0). 5p Befintliga kommandon och syntax: Kommando Beskrivning PMOVE(POS); Roboten går till den globalt definierade positionen POS. ZMOVE(POSZ); Roboten rör sig endast i z-led och går till det globalt definierade z-värdet ZPOS. PMOVE(PT(100,100,-100,0)); Roboten går till positionen (100,100,-100,0)). ZMOVE(-100); Roboten rör sig endast i z-led och går till z-värdet (-100). HOPP:; Markerar en hoppadress (label). Hopp får bara ske inom samma subrutin. BRANCH(HOPP); Ovillkorligt hopp till hoppadressen HOPP. DELAY(TID); Uppehåller exekveringen av programmet under TID sekunder. NAMN: NEW.; Definierar en global position eller z-värde med namnet NAMN. NAMN: STATIC COUNTER; Definierar en global räknare med namnet NAMN. SETC(NAMN,VAL); Sätter en räknare med namnet NAMN till värdet VAL. INCR(NAMN); Räknaren NAMN ökas med 1. TESTC(NAMN,VAL,HOPP); Kontrollerar om en räknare (NAMN) har värdet VAL, vilket medför hopp till HOPP. Har räknaren inte värdet VAL exekveras nästa instruktion. NAMN: SUBR(VAR,VAR1..); Definierar en subrutin med namnet NAMN och variablerna med namnen VAR,VAR1.. blir lokala.. NAMN(VAR,VAR1..); Anropar subrutinen med namnet NAMN med variablerna VAR,VAR1... END; Markerar slutet på subrutin. Programexempel: --Först deklareras alla positioner och z-värden LAMNA: NEW PT(15,540,0,90); ONODIGZ: NEW -130; RAKNARE: STATIC COUNTER; -- Sedan definieras huvudsubrutinen SLUT:; PROGEX:SUBR; -- Sist kommer huvudprogrammet DELAY(2); BRANCH(SLUT); SUB(LAMNA,100); SETC(RAKNARE,1); -- Därefter kommer subrutiner INCR(RAKNARE); SUB:SUBR(VAR,VARZ); PMOVE(VAR); ZMOVE(VARZ); PMOVE(PT(15,VARZ,ONODIGZ,90)); END; TESTC(RAKNARE,0,SLUT); END; 5

Tenta i Robotteknik Z3 2000-12-16 6/6 6