Programmering av styrning av tvättarm på tvättrobot

Storlek: px
Starta visningen från sidan:

Download "Programmering av styrning av tvättarm på tvättrobot"

Transkript

1 Programmering av styrning av tvättarm på tvättrobot Examensarbete inom Datateknik av Per Degerfält Niklas Strömberg 29 januari 2008 Handledare: Prof. Lars Asplund, Mälardalens Högskola Jan Sandberg, Ramsta Robotics Mälardalens Högskola Institutionen för datateknik och elektronik IDE

2 DENNA SIDA HAR MED AVSIKT LÄMNATS TOM.

3 Sammanfattning Ramsta Robotics är ett företag baserat i Uppsala. Man har utvecklat en robot - Clever Cleaner, som används för att göra grovrengöring av djurstallar. Roboten styrs i dagsläget av ett enkelt styr- och reglersystem för industrin, en s.k. PLC. Den styr via ett drivkort 6 motorer, dock endast en motor i taget. Ett nytt motorstyrkort är nyligen framtaget till roboten vilket gör det möjligt att styra samtliga motorer samtidigt. Målet med arbetet var att ta fram en första version av ett nytt styrsystem som kommunicerar med de nyframtagna motorstyrkortet. Styrsystemet ska ge användaren möjligheten att välja mellan att styra respektive led manuellt, till att utnyttja invers kinematik där användaren styr var munstycket ska vara beläget och styrprogrammet omvandlar den önskade positionen till vinklar för respektive led. Funktionalitet för inspelning och uppspelning av en armrörelse ska också nnas i styrprogrammet. En ytgenererare ska också vara implementerad, med vilken operatören enkelt genom att endast ange 3 eller 4 hörnpunkter, kan få styrprogrammet att beräkna ett rörelsemönster för tvättning av den uppmarkerade ytan. Målen som var satta för detta examensarbete är uppnådda och en första version av styrprogrammet med de önskade funktionerna är framtagen. Dock behövs ytterligare arbete för att förbättra funktionaliteten då tester av styrprogrammet endast skett mot lösa motorer och ej på den faktiska roboten, där belastning på motorer, slitage och andra yttre omständigheter påverkar robotens beteende.

4 Abstract Ramsta Robotics is a company based in Uppsala. They have developed a robot - Clever Cleaner that is used to clean insides of livestock building's. The robot is currently controlled by a simple control system, a so called PLC. 6 motors is controlled with a simple controller card, but only one motor can be controlled at a time. A new motor controller card has recently been developed for the robot. The new card makes it possible to control several motors at the same time. The goal of this thesis was to develop a rst version of a control system that communicates with the new motor controller card. The control system should give the user the possibility to choose whether to control each arm separately or by using inverse kinematics, where the user is controlling the position of the nozzle and the control system calculates the desired position and then converts that to angles for each joint. Functionality for recording and replay a pre-recorded arm movement should also be implementd in the control system. A surface generator should also be implemented. The surface generator makes it possible for the user to select a surface using only 3 or 4 corner points. The control system would then use those points to create a path for the robot that will cover the selecteds surface when cleaning. The goals for this thesis are fullled and a rst version of the control system with the desired functionallity has been developed. The system needs more work to make sure it works as intended to on a robot. Mainly because tests has only been made on motors that are not yet mounted on a robot. When mounted on the robot there are things like strain and wear on the motors that will aect their functionality.

5 Förord Detta examensarbete valdes för att få en intressant och givande fortsättning på den projektkurs inom robotik som vi båda läst. Innehållet i arbetet verkade också som en passande avslutning på studierna där en blandning av de kunskaper man samlat på sig under åren skulle komma till användning. Examensarbetet ligger till största delen inom området datateknik/robotik men innehåller även en hel del matematik, då framförallt räkning med matriser och vektorer. Examensarbetet ska förhoppningsvis resultera i att det styrsystem som är utvecklat ska vara såpass bra att det efter tester på roboten och komplettering och uppdatering av vissa delar, skulle användas av Ramsta Robotics i deras Clever Cleaner. Målgruppen för denna rapport är personer med viss kunskap inom ämnet datateknik samt personal på Ramsta Robotics. I vissa kapitel har därför beskrivningar av diverse delar uteblivit då läsaren bör vara nog kunnig för att förstå vad som menas. Vi vill passa på att tacka Jörgen Lidholm, doktorand på Mälardalens högskola för den hjälp och de råd han gett oss under examensarbetets gång. Vi vill också tacka våra handledare Lars Asplund, Proessor på Mälardalens högskola, för hans hjälp. Jan Sandberg på Ramsta Robotics för möjligheten till att skriva detta examensarbete och för den tid han ställt upp med trots att vi vet hur upptagen han är. Tack också till Håkan W och Jonas N för intressanta diskussioner inom området! Västerås, Januari 2008

6 Innehåll 1 Inledning Bakgrund Syfte Mål Arbetsmetod Teori Bentligt system Cleaver cleaner Kinematik Direkt kinematik Invers kinematik Automatisk uppbyggnad av yta för tvättning Motorkonverterare Design Programmets design och uppbyggnad Operativsystem Programeringsspråk Dator Motorstyrkort Övrig utrustning Motorer Joystick Lagring Protokoll Simulator Inspelning av rörelse Uppspelning av rörelse Felövervakning

7 4 Resultat Resultat Framtida arbete Slutsatser

8 Kapitel 1 Inledning 1.1 Bakgrund Ramsta Robotics är ett företag baserat i Uppsala. Företaget grundades 1999 och har utvecklat en tvättrobot vars huvudsyfte är att sköta grovrengöring i djurstallar. I framförallt svinhus är arbetsmiljön i samband med tvättning direkt hälsovådlig, bland annat på grund av alla de kväveföreningar som löses ut när vattnet blöter upp de delar av anläggningen som skall tvättas. Detta gör att robotens arbete väsentligt förbättrar arbetsmiljön då ingen behöver vistas i svinhuset i samband med rengöringen. Aärsidén för Ramsta Robotics har varit att utveckla en enkel och prisvärd robot och idag säljs detta system i ett ertal länder i Europa, men robotar har även sålts till bland annat Kanada och Japan. Hittills har över 150 robotar sålts, de esta för att användas i svinproduktion men även fågelproduktion och annan industri har visat sig vara en marknad. Detta examensarbete är ett resultat av ett samarbete mellan Robotdalen, Mälardalens Högskola och Ramsta Robotics och syftar till att ge ett ökat tekniskt innehåll i företagets olika lösningar. 1.2 Syfte Ordet robot kan härledas från det tjeckiska ordet robota som betyder tungt, monotont eller påtvingat arbete. Det nns också ett polskt ord, robotnik, som betyder arbetare. Det var för att ersätta människor i tunga och farliga arbeten som de första in- 5

9 dustrirobotarna utvecklades. Den första kommersiella roboten började användas 1961 på Ford Motor Company, där den kontrollerade en pressgjutningsmaskin. Under den första åren var det dock främst den amerikanska bilindustrin som använde robotar i sin produktion. Robotar utvecklas även idag med syftet, om man bortser från de ekonomiska fördelarna, att förbättra arbetsmiljön för människan. Detta är också anledningen till att Ramsta Robotics utvecklade Clever Cleaner. Att kunna låta en robot göra ett arbete som kan göra en människa sjuk eller skadad är givetvis bra. En robot kommer dessutom göra samma jobb och har heller inget emot att jobba vilken tid som helst under dygnet. Syftet med detta examensarbete är att hjälpa Ramsta Robotics utveckla deras produkt så arbetet med att sköta roboten ytterligare förenklas och eektiviseras. 1.3 Mål Målet med examensarbetet var att skapa en första version av ett styrsystem till Ramsta Robotics, Clever Cleaner. Styrsystemet ska styra armen med invers kinematik. Styrsystemet ska också innehålla en funktion där ett rörelsemönster för en yta kan beräknas endast genom att mata in ytans hörnpunkter till programmet. Alla rörelser som görs ska även kunna spelas in för att senare spelas upp i form av ett tvättprogram. 1.4 Arbetsmetod Projektet började med att vi gjorde en undersökning om hur roboten fungerade i dagsläget, då framförallt hur roboten kontrolleras och hur en tvättning går till. Detta med hjälp av Jan Sandberg på Ramsta Robotics. När vi hade den informationen påbörjades informationssökning på internet och i litteratur, om hur invers kinematik fungerar, om det skulle nnas någon metod att använda och hur man i sånt fall skulle applicera den rent praktiskt på roboten. Hänsyn till metodens komplexitet var också viktigt. Information om hur en EIA-485 bus fungerar undersöktes också då ingen tidigare erfarenhet fanns av den bus-typen. För att testa de olika metoderna för invers kinematik skrevs en simulator där 6

10 en förenklad version av roboten ritades ut med hjälp av OpenGL. Med denna var det sedan enkelt att se och analysera hur bra de olika metoderna fungerade. Eftersom vi inte hade tillgång till motorstyrkorten förrän mot slutet av projektet, ck kommunikationen testas genom att koppla ihop två datorer där den ena ck agera motorstyrkort. När motorstyrkorten var färdiga testades styrprogrammet mot motorerna så kommunikation och programmets övriga funktionalitet fungerade. Vi hoppas även kunna testa med en komplett robot inom kort. Styrprogrammet är huvudsakligen skrivet i Ada men har också vissa funktioner skrivna i C. GNAT användes som kompilator för Ada-koden i projektet, gcc för C-koden. 7

11 Kapitel 2 Teori 2.1 Bentligt system Cleaver cleaner Clever Cleaner är en helautomatisk tvättrobot med huvudsyftet att sköta grovrengöring av svinstallar. [7] Roboten kontrolleras idag av ett styrsystem där man programmerar in ett städschema för roboten med hjälp av en joystick. På joysticken nns en väljare för vilken av lederna som ska kontrolleras, roboten kan med det bentliga styrsystemet endast köra en motor i taget, men med de nya motorstyrkorten samt styrprogrammet kan alla motorer köras simultant. Roboten tvättar sedan automatiskt enligt det inspelade städschemat. Figur 2.1: Clever Cleaner 8

12 Några tekniska specikationer (Nuvarande design) Total bredd: 730 mm, med PVC-hjul 630 mm. Total längd: 2100 mm. Total höjd i hopfällt läge: 1610 mm. Armens maximala-räckvidd: 4250 mm. Eektiv arbetsräckvidd: upp till 6m. Vikt: Totalt 270 kg. Kraftförsörjning: 2 st blyackumulatorer. Elmotorer: 24 volt DC. Hitachi PLC. Punkterna ovan är specikationer på hur roboten ser ut i dagsläget, utan den hårdvara och det styrprogram som framtagits under examensarbetet. 2.2 Kinematik Figur 2.2: Robotens axlar Robotarmen ska styras med invers kinematik. Med invers kinematik menas att man bestämmer hur lederna skall vrida sig för att få slutpunkten att hamna på en given plats. Ramsta robotics tvättrobot består av 5 leder: L1 kan rotera 360 efter y-axeln L2 roterar 45 efter z-axeln 9

13 L3 är en utskjutande axel på 1.7m L4 roterar 360 efter z-axeln L5 roterar 360 efter x-axeln och har en konstant 45 vinkel mot L4 I denna modell har leden L5 förbisetts då det är den som ger den sista vinkeln för spolningen och det är något användaren själv måste se och reglera. Ramsta robotics vill kunna styra roboten med hjälp av en joystick. Tanken är att det är slutpunkten på armen som är den punkt som användaren ska kunna styra med en joystick och alla leder i armen vrider sig på ett sådant sätt att slutpunkten kommer dit. Ramsta Robotics vill även kunna markera ut en yta som roboten ska tvätta. Då beräknas ett ertal målpunkter som armens slutpunkt ska röra sig mellan. Ett viktigt kriterium är att kinematiken vrider lederna så att slutpunkten rör sig i en rak linje till målet, detta är viktigt då roboten går mot en punkt efter en vägg. För att testa kinematiken och komma fram till vilken algoritm som skulle passa bäst i detta system, testades dessa i simulatorn Direkt kinematik För att kunna hitta slutpunkten på armen så används direkt kinematik. Det går ut på att man föryttar en given punkt i ett koordinatsystem som beräknas med rotationsmatriser och translationsmatriser. Värdena i matriserna bestäms av ledernas vinklar och längder. I dessa beräkningar är origo för koordinatsystemet i början av L1. Punkten som ska bestämmas kallas för P: Man sätter upp en matris för varje leds rotation och en för varje leds längd. Sedan multiplicerar man P med dessa matriser så att P transleras ut till armens slutpunkt. Som punktlistan beskriver behövs Y-Rotationsmatrisen, Z-rotationsmatrisen samt translationsmatrisen för att nna P: Nedan beskrivs de olika matriserna x T ranslationsmatris = y z cos 0 sin Y Rotationsmatris = sin 0 cos

14 Z Rotationsmatris = cos sin 0 0 sin cos För att bestämma positionen för P måste den multipliceras med följade matriser: 1. Rotationsmatrisen för L1 rotation: Q1 2. Translationsmatrisen för L1 längd: Q2 3. Rotationsmatrisen för L2 rotation: Q3 4. Translationsmatrisen för L2 längd: Q4 5. Translationsmatrisen för L3 längd: Q5 6. Rotationsmatrisen för L4 rotation: Q6 7. Translationsmatrisen för L4 längd: Q7 Om man multiplicerar ihop alla matriser så får man en slutgiltig matris som beskriver P position cos 2 sin sin 2 cos M = Q1 Q2 Q3 Q4 Q5 Q6 Q7 = cos 1 0 sin sin 1 0 cos l cos 4 sin sin 4 cos l l l = M I denna modell så börjar P alltid i origo O : (0; 0; 0) vilket medför att det är bara kolumn 4 i matrisen M som påverkar P : s föryttning. P : s position kan därför beskrivas enligt följade: 11

15 P x = ( cos 3 cos 2 sin 3 cos 3 sin 2 c2) l2 cos 3 sin 2 l3 cos 3 sin 2 l2; P y = ( sin 2 sin 3 + cos 2 cos 3) l2 + cos 2 l3 + cos 2 l2 + l1; P z = (sin 1 cos 2 sin 3 + sin 1 sin 2 c2) l4 + sin 1 sin 2 l3 + sin 1 sin 2 l2; 12

16 2.2.2 Invers kinematik Med invers kinematik är en målpunkt G:(x,y,z) känd och problemet ligger i att räkna ut vinklarna för lederna och i detta fall även längden på L3 för att P ska nå G. För Ramsta Robotics Clever Cleaner där slutpunkten P ska styras med en joystick, kan man se det som att joysticken yttar punkten G i rummet och med hjälp av invers kinematik räkna ut hur varje led ska förytta sig för att P ska nå sitt mål. Ett krav i rörelsemönstret för armen är att P måste röra sig efter en rak linje. Detta är viktigt då munstycket annars kan gå in i en vägg eller golvet. Det nns två vanliga lösningar för invers kinematik. Den ena är en analytisk lösning. Problem med dessa är att en lösning ofta kan vara omöjliga att få fram. Samt att den kan ge oändligt många lösningar eller ingen lösning. En annan metod är att använda en numerisk lösning där Jacobis metoden kan användas. Dessa kan vara beräkningstunga men man hittar ofta en bra lösning. CCD Vad som sökes är en metod som är snabb men ger ändå bra löningar, en sådan metod är algoritmen Cyclic-Coordinate Descent (CCD) [1]. Den metoden är bra för att den är enkel att implementera samt för att den inte är beräkningstung. CCD ska även vara en modell som passar bra i realtidssystem. CCD algoritmen börjar med sista leden och jobbar sig bakåt, för varje led roteras leden så att vektorn som går från basen av leden till P ligger parallellt med vektorn mellan basen av leden och G. Se bild 2.3. Att beräkna CCD algoritmen Figur 2.3: Cyclic-Coordinate Descent oine så att de okända vinklarna framkommer och sedan applicera vinklarna på motorerna skulle kunna resultera i att armens slutpunkt P inte rör sig efter en rak linje mot målpunkten G utan P skulle med stor sannolikhet röra sig i en kurvig bana. Detta fenomen kommer att bli mer synligt då avståndet mellan P 13

17 och G ökar. Att istället ha en metod som ger små förändringar i lederna och en liten rörelse i P för varje beräkning, och dessutom se till att rörelsen ligger i en vektor mot G. Skulle ge ett resultat som skulle kunna uppfylla kriteriumet att få P att röra sig i en rak linje. En variant av CCD metoden testades. Datorn beräknade då oine hur P:s avstånd till G förändrades när man roterade eller translerade en led i taget så att P gjorde en föryttning. I ett försök i simulatorn beräknades vinkeln för leden så att rotationen skulle ge en föryttning på 1 enhet (1 enhet = 1mm). = arccos(1 dist 2 2 L 2 ) Innan rotationen applicerades på leden beräknades, med hjälp av direkt kinematik, om rotationen skulle resultera i att avståndet mellan P och G minskade. Om avståndet inte minskade så inverterades och ett nytt test gjordes. Om avståndet minskade så applicerades rotationen på leden. Sedan gjordes samma beräkning för nästa led. När led L3 som är en utskjutande led skulle beräknas, så gjordes två tester där leden sköts in/ut en enhet och sedan gjordes samma beräkningar igen. Efter en del tester i simulator framgick det att rörelserna tenderade att bli väldigt hackiga. För att rörelsen skulle bli mjukare lades ett rörelseschema, se bild 2.4, in som beskrev de rörelser som skulle testas med direkt kinematik. I schemat fanns det olika rörelserna som lederna skulle göra, och två leder kunde dessutom röra sig samtidigt. Schemat gjordes med en 2-dimensions array som initierades med rörelserna i början. För varje föryttning gjordes alla rörelser i schemat och med direkt kinematik beräknades den nya slutpunkten P. Sedan beräknades avståndet mellan P och G och resultatet sparades i en lista. Sedan sorterades listan och det bästa resultatet applicerades på lederna. Denna lösning med invers kinematik fungerade ganska tillfredställande i simulatorn, men överlag är det en naiv och inte direkt eektiv lösning då direkt kinematiksberäkningen skulle behöva göras 32 ggr för varje föryttning och denna föryttning ska beräknas minst 10ggr/sekund. Tester för att kontrollera om datorn skulle klara av att göra dessa beräkningar så ofta som nödvändigt utfördes. I testet loopades ett kodstycke som utförde direkt kinematiksberäkningen 100 gånger. För varje gång ändrades vinkeln för lederna så testet skulle vara mer veklighetstroget. Koden kördes sedan i datorn och testet gav att det tog 0,0022 sek att göra 100 beräkningar. Det betyder 14

18 Figur 2.4: Rörelseschema att det skulle ta 0,704 ms att göra 32 beräkningar, och att datorn skulle utan problem klara av tidskravet på 10ggr/sekund. Ett annat problem med denna lösning är att slutpunkten P inte rör sig i en perfekt linje mot målet G varför illustreras med bild 2.5 Figur 2.5: Problem vid användning av CCD Här syns två lösningar för att komma närmare G där P antingen är vid p1 eller p2 som bild 2.5 visar. I detta fall så är det p1 som skulle vara den rätta lösningen för att P ska förytta sig i en rak linje. Men avståndet d2 blir kortare än avståndet d1 och av den anledningen så kommer den rörelsern att appliceras på lederna. Detta ger resultatet att P inte rör sig i en perfekt linje mot G. 15

19 En lösning på Invers kinematiken med vektorgeometri söktes istället. Efter samtal med Lars Asplund om problemet så testades det att med hjälp av derivatan på ledernas rörelser, söka efter vilka rotationer och translationer som skulle appliceras på lederna för att styra P mot G i en rak linje. Genom att derivera formlerna för direkt kinematik ges vilken riktning som en viss led påverkar slutpunkten P. Att derivera formeln P x = ( cos 1 cos 2 sin 3 cos 1 sin 2 c2) l2 cos 1 sin 2 l3 cos 1 sin 2 l2 med avseende på 1 skulle ge vilken påverkan led 1 rotation ger P i x-led. Så att derivera hela formeln för direkt kinematik med avseende på alla vinklar och sedan representera dessa som vektorer, kan man beräkna hur mycket varje led skall rotera för att P ska röra sig korrekt. Exempel på IK lösning Här är ett exempel med två leder med längden 200 l.e. som endast kan rotera runt Z-axeln samt en målpunkt G illustreras lösningen. 1 = 54 = = 66 = 294 Figur 2.6: Exempel med två leder 16

20 Först måste matrisen för direkt kinematik beräknas cos 2 sin sin M = 2 cos cos 2 sin sin 2 cos Även här så börjar P i origo [0,0,0] så när P multipliceras med M så är det endast kolumn 4 som påverkar P :s position. P kan alltså beskrivas enligt: P x = 200 sin 2 cos sin 1 cos sin 1 P y = 200 sin 1 sin cos 1 cos cos 1 P z = 0 Sedan beräknas derivatan för P för att få fram hur ledernas påverkar P : s position. Derivatan för P med avseende på 1 dp x = 200 sin 1 sin cos 1 cos cos 1 1 dp y = 200 cos 1 sin sin 1 cos sin 1 1 dp z 1 = 0 Derivatan för P med avseende på 2 blir: dp x 2 = 200 cos 1 cos sin 1 sin sin 1 dp y 2 = 200 cos 1 sin sin 1 cos cos 1 dp z 2 = 0 Ledernas nuvarande vinklar läggs till i derivatan, och derivatans lösningar representeras som vektorer. Hädanefter så presenteras bara x och y då z inte har 17

21 någon påverkan. V 1 x = 200 sin 306 sin cos 306 cos cos 306 = 17:6 V 1 y = 200 cos 306 sin sin 306 cos sin 306 = 335:0 V 2 x = 200 cos 306 cos sin 306 sin sin 306 = 261:8 V 2 y = 200 cos 306 sin sin 306 cos cos 306 = 290:8 Beräknar! r som är riktningsvektorn mot G.! r normaliseras och multipliceras med med den längd som ska vara den minsta föryttning som P kan göra. I detta fall 20.!!! G P r =!! G P 20 P x = 200 cos 306 sin sin 306 cos sin 306 = 335:0 P y = 200 sin 306 sin cos 306 cos cos 306 = 17:6!! (368:0; 131:0) r =! (368:0; 131:0)! (335:0; 17:6)! (335:0; 17:6) 20 = (5:6; 19:2)! Vektorerna V! 1 V 2! r Ritas in i bild 2.7.! V 1= ( 17:6; 335:0)! V 2= (261:8; 290:8)! r = (5:6; 19:2)! Vektorerna V! 1 V 2 visar riktningen som P har i förhållande till ledernas rotation. Att söka hur mycket varje led ska rotera för att P ska röra sig i! r riktning, kan göras med hjälp av ett ekvationssystem. " # " # " # 17:6 261:8 335:0 290:8 1 2 = 5:6 19:2 18

22 Figur 2.7: Exempel med två leder lösningen till ekvationssystemet med determinanter enlig Cramers regel 1 = det 1 det D = 2 = det 2 det D = 5:6 290:8 19:2 261:8 17:6 290:8 335:0 261:8 = 0: :6 19:2 335:0 5:6 17:6 290:8 335:0 261:8 = 0:0238 Längden på V1 V2 är samma som längden på radien för den axeln, detta ger att svaret på ekvationen är i radianer. För att konvertera radianer till grader multipliceras talen med Detta ger att led 1 ska vrida sig 2:069 och att led 2 ska vrida sig 1:367 för att P ska röra sig en längdenhet mot G i riktningen av! r. 2.3 Automatisk uppbyggnad av yta för tvättning För att förenkla inspelningsprocessen så var ett mål med arbetet att Clever Cleaner ska kunna spola av en yta automatiskt efter det att ytans hörnpunkter har angivits. Ytorna kan representeras av 3 eller 4 punkter som bildar ytan som ska tvättas. Punkterna markeras genom att användaren styr armens slutpunkt P till någon punkt i rummet där den sedan markeras som en hörnpunkt. Yta med tre punkter Om tre punkter representerar ytan så skapas en riktningsvektor Br! mellan p 0 och p 1, som beskriver längs vilken riktning som munstycket ska spola av. En! riktningsvektor Hr mellan p 1 och p 2 som markerar ena kanten och en riktningsvektor V! r mellan p 0 och p 2 som markerar andra kanten. Sedan beräknas ett ertal målpunkter G efter kanterna. Dessa målpunkter sätts upp på så sätt att slutpunkten P på armen kommer att svepa över ytan i ett fördenierat sicksack mönster vilket gör att hela ytan kommer att bli avspolad. Beräkningar för 19

23 Figur 2.8: Yta med 3 punkter Figur 2.9: Tre punkters yta med kantpunkter att hitta alla punkter G, görs med vektogeometri genom att först hitta en riktingsvektor för! r som är vinkelrät mot basvektorn! Br denna beräknas fram med hjälp av två vektorprodukter. Först vektorprodukten mellan basvektorn! Br och kantvektorn! V r. Den vektorn som bildas av vektorprodukten är vinkelrät mot både! Br och! V r dvs. den pekar ut från ytan. Vektorprodukten mellan den nya vektorn och! Br som sedan normaliseras ger den sökta riktingsvektorn.!!! Br V r! Br r =!!! Br V r Br Riktningsvektorn! r används för att hitta avståndet mellan punkterna G på respektive kantvektor. Avståndet beräknas med skalärprodukten mellan! r och den kant där avstånden söks.! dh =! r Hr d dv =!! r V r d 20

24 Yta med fyra punkter En yta kan också representeras med 4 punkter. Med det följer två direkta problem. Den fjärde punkten ligger inte i samma plan som de andra tre. Punkterna måste sättas ut i rätt ordning. Vektorerna som bildas mellan punkterna 0-1, 1-2, 2-3 och 3-0 får inte korsas. Figur 2.10: Två problem med en yta skapad med fyra punkter Det första problemet löses genom att bilda ett plan med de 3 första punkterna och sedan projicera ner den fjärde punkten på planet. För att lösa det andra problemet så används en metod för att beräkna avståndet mellan linjer i rummet. Först skapas en linje L 1 mellan hörnpunkten P 0 och P 1, och en linje L 2 mellan P 2 och P 3. Mellan två linjer i ett rum nns alltid minst en vektor! d som är vinkelrät mot linjerna, se bild 2.11 Den vektorns längd ger det kortaste avståndet mellan linjernal 1 och L 1. För att nna! d så Figur 2.11: Vektorn! d ger avståndet mellan linjerna används egenskapen att skalärprodukten mellan två ortogonala vektorer är noll. 21

25 Ett ekvationssystem sätts upp som söker rätt på den punkt på vardera linje där skalärprodukten är noll. Om avståndet mellan linjerna är nära noll så korsas linjerna. Men två linjer som ligger i samma plan kommer alltid att korsas om de inte ligger helt parallellt i förhållande till varandra. En kontroll måste utföras om korsningen ligger innanför ytan som ska spolas. Detta görs enkelt genom att jämnföra avståndet d 1 mellan punkterna som bildar linjen och avståndet d 2 mellan start punkten och korsnings punkten, se bild Om avståndet till korsningen är mindre än avståndet mellan punkterna så korsas linjerna i ytan och denna punkt uppsättning är inte tillåten. Figur 2.12: Undersöker om korsningen ligger innanför ytans gränser Samma undersökning sker sedan mellan linjerna som bildas av hörnpunkterna P 1 -P 2 och P 3 -P 0. Om det visar sig att två linjer korsas innanför ytan så byter datorn plats på två punkter så att problemet löser sig. Detta gör uppsättning av hörnpunkter mycket lättare för användaren av Clever Cleaner. Uppsättningen för alla målpunkter G efter kanterna på en yta med fyra hörnpunkter görs nästan på samma sätt som en yta med tre hörnpunkter, med den skillnaden att när ena kanten tar slut under uppbyggnaden så byts kanten ut mot en ny kantvektor. Exempel ytan som bestås av punkterna P 0, P 1, P 2 och P 3 så bildas fört bas vektorn P! 0 P 1, sen två kanter! P 1 P 2 skulle ta slut ersätt den kanten med vektorn!! P 1 P 2 och! P 2 P 3. P 0 P 3. Om kanten 22

26 Figur 2.13: G för en yta med fyra hörnpunkter 2.4 Motorkonverterare Värdet som Inversa kinematiken (IK) ger, är den vinkel eller längd som varje led ska förytta sig för att armens slutpunkt P ska röra sig i riktningen mot målpunkten G. Signalen som ska skickas till motorerna är en PWM signal med ett värde mellan +40 till -40. Så det går inte att direkt skicka vinkeln för leden till motorerna utan den måste först konverteras till en hastighet mellan 40. Eftersom alla leder får en vinkel som ska läggas på ledens nuvarande vinkel från IK och det förväntas att alla armar ska ha tagit sig till den nya vinkeln under samma tid, så kan man dra en direkt parallell att värdet som IK ger ut är samma sak som hastigheterna sinsemellan lederna. Dvs. om led 0 får värdet +0.3 och led 1 får värdet 0.6 betyder det att dessa leder ska vrida sig det värdet under samma tid. Man kan säga att led 1 ska röra sig dubbelt så fort som led 0. För att göra en konverterare från grader till PWM signal så behövs en algoritm som konverterar upp den största vinkelförändringen till 40, vilket är PWM-max, och låter de andra vinklarna följa med på ett sådant sätt att förhållandena mellan vinklarna inte förändras. Först söks den vinkel som ska göra största förändringen. V max och så skapas en faktor f av den. f används sedan för att hitta alla motorers PWM värde. f = 1 V max P W M i = f IK i 40 I detta fall så kommer armen att röra sig i max hastighet efter som P W M max kommer att vara 40 hela tiden. Konstanten 40 byts sedan ut mot en variabel mellan 0-40 som styrs av utslaget från joysticken, vilket gör att man får en varierande hastighet för P. 23

27 Kapitel 3 Design 3.1 Programmets design och uppbyggnad Figur 3.1: Schema över hur styrprogrammet är uppbyggt. Mycket tid har lagts vid designen av styrprogrammet för att få den så bra som möjligt innan själva programmeringen påbörjades. Många problem löstes redan vid framtagandet av designen och har underlättat det fortsatta arbetet. Designen och valen av paketen har skett för att göra uppbyggnaden så logisk 24

28 som möjligt och att paketen endast ska vara synliga för andra paket i de fall där det är nödvändigt. Förutom paketen som nns med i designen nns också två denitionsler, Ramsta denes och Motor denes där globala variabler som behöver vara synliga från många paket har placerats. De olika paketens funktionalitet beskrivs mer ingående senare i rapporten. 3.2 Operativsystem Operativsystemet som körs på styrdatorn är i grunden en Linuxkärna med Realtids patchar 1 som ändrar hur operativsystemet beter sig.[3] Patcharna kon- gurerar systemet så att så gott som hela kärnan kan bli avbruten. Systemets klocka patchas också till att bli betydligt mer högupplöst.[4] Genom att använda en Linuxkärna som grund får man tillgång till drivrutiner för grak, TCP/IP och fönstersystem på ett enkelt sätt. Styrprogrammet i detta projekt använder sig till exempel av drivrutiner för joystick samt serieport vilket gör att det passar utmärkt till att köra styrprogrammet på. 3.3 Programeringsspråk Styrprogrammet är i huvudsak skrivet i Ada men också C kod nns för mer hårdvarunära programmering. Den OpenGL simulator som använts för att testa olika IK lösningar är även den skriven i C. Ada är ett modernt programmeringsspråk som är skapat framförallt för att bygga stora långlivade inbyggda system där pålitlighet och eektivitet är viktigt. Ada används därför i dagsläget ofta inom yg och tågindustrin där kraven på säkerhet är höga. Ada är ett starkt typat programmeringsspråk som lämpar sig mycket bra för utveckling av realtidssystem. Det är också enkelt att skapa trådar, även kallade tasks i ada, och att tilldela dessa prioriteter och periodtider. Ada erbjuder också skydd av delade objekt genom att använda typen protected, förhindras automatiskt med hjälp av mutual exclusion, att era tasks kan läsa/skriva samtidigt till objektet. 1 CONFIG PREEMPT RT patch set 25

29 3.4 Dator Datorn som används är en 3,5 EM730 Embedded SBC från AEWIN Technologies 2. Figur 3.2: Den dator som används för att köra styrprogrammet. På bilden är ett trådlöst nätverkskort monterat. Specikationer Processor - Intel Celeron M ULV 600MHz Zero cache processor. Minne MB DDR SO-DIMM, stödjer upp till 1GB. Serieportar - Tre EIA-232 och en EIA-232/485 4/2-tråds serieportar. USB anslutningar - Stödjer fyra USB 2.0/1.1 portar. Det nns också kortplatser för bland annat trådlöst nätverkskort, vilket kan komma att användas för att överföra tvättscheman och annan data från roboten. Systemet drivs av en enkel matningsspänning på 5V och kan operera i temperaturer mellan Systemet har en EIA tråds anslutning som används för att kommunicera med motorkorten. Ändringar som bör göras innan montering på robot Datorn har i sitt grundutförande endast passiv kylning men bör kompletteras med en äkt, alternativt en bättre kyläns då klimatet med säkerhet kommer variera där systemet kommer monteras. Detta för att förlänga komponenternas livslängd

30 3.5 Motorstyrkort Motorkortet är framtaget av SMTeknik och har till uppgift att styra motorn enligt de instruktioner som kommer från styrsystemet.[smteknik] Kortet ska därefter svara med relevanta data om aktuell strömförbrukning, temperatur och motorposition. Varje motordrivkort kan genom styrsystemet ges ett unikt id som då lagras i EEPROM 3. Kortet har en anslutning för 24V matning samt en EIA-485 anslutning för kommunikation. På motorkortet sitter en processor (ATMega8) som hanterar kommunikationen, mäter aktuell motorström och temperatur samt skickar styrsignaler till motordrivkretsen. Signalen till motordrivkretsen innehåller en riktning och en PWM-signal. Drivkretsen svarar sedan för nivåanpassning till FET som styr motorn. Kretsen har även inbyggd skyddslogik för att säkerställa att endast rätt FET är öppen vid varje tillfälle. I motorn sitter en dubbel halleektgivare som ger signal om riktning och en puls per motorvarv. Motostyrkortet gjuts tillsammans med motorn in i polyuretangummi innan det monteras på roboten för att få ett bra skydd mot yttre påverkan av vatten och annat som kan skada komponenterna. Figur 3.3: Motorstyrkortet från SMTeknik. 3 EEPROM - Electrically Erasable Programmable Read-Only Memory är en typ av minne som behåller sin data även om det inte nns någon spänning till kretsen 27

31 3.6 Övrig utrustning Nedan redovisas för ytterligare hårdvara som använts under projektets gång Motorer Motorerna på roboten är 24volts El-motorer och styrs via en H-brygga på motorstyrkortet. På motorerna sitter också en växellåda med utväxlingen 42:1. På motoraxeln sitter en tachometer som möjliggör för motorstyrkortet att avläsa riktning och motorvarvtal Joystick För att kunna styra roboten med det nya styrsystemet har två joysticks använts för att göra styrningen så enkel som möjligt. Två stycken vanliga 3-axliga konsument-joysticks inkopplade via USB har använts under testerna Lagring Ett USB-minne har använts som boot-disk. Operativsystemet läses vid uppstart in till datorns RAM tillsammans med styrprogrammet. USB-minnet används också av styrprogrammet för att lagra de tvättprogram som användaren väljer att spela in. Det minne som har använts under testerna är av storleken 512 MiB, där mindre än 20% upptas av OS samt styrprogrammet. Figur 3.4: Testsetup med dator samt 3 motorer med motorstyrkort. 28

32 3.7 Protokoll Då styrdatorn sköter all kommunikation med styrkorten behövs det ett protokoll för att hantera den. Uppbyggnad av paket och styrkommandon denerades av konstruktören 4 till motorstyrkorten och var därmed det som lade grunden till hur protokollet skulle utformas. Send Byte Innehåll 0 Start 1 Id 2 Order 3 Data 4 Checksumma 5 Slut De order som kan skickas i dagsläget Recieve Order Innehåll Sätt id 10 Nollställ position 20 Utstyrning av PWM 30 Skicka status 40 Byte Innehåll 0 Start 1 Id 2 Position - MSB 3 Position - LSB 4 Ström (10*A) 5 Temperatur (Grader Celcius) 6 Checksumma 7 Slut Programmet har i huvudsak tre paket som hanterar kommunikationen i programmet. Dessa är, Message handler, Communication handler samt Serial ctrl. Message handler Message handler innehåller en array av motorobjekt, av typen protected. Arrayen är av samma storlek som det nns motorer och är till för att lagra det 4 SMTeknik 29

33 senaste datat från varje motor. I paketet nns en tråd vars syfte är att läsa av communication handlers mottagarbuert, för att kontrollera om det nns någon nytt meddelande i den. Om det gör det så läser den av meddelandet och lägger in de nya värdena till den motor meddelandet kom ifrån och uppdaterar även ut-index i mottagarbuerten. Tråden hanterar också eventuella felmeddelanden som skickas i de fall en omsändning har inträat. Message handler innehåller även funktioner för att skapa och placera meddelanden i sändarbuerten. Vid händelse av ett fel kommer tråden att stoppas så att inga nya meddelanden kan skickas till motorerna, i och med det kommer också ett meddelande skickas till alla motorer med ordern att stanna. Om styrprogrammet är i inspelningsläge kommer message handler att skicka alla PWM värden, som ska sändas till motorerna, skickas till recorder också. Communication handler Communication handler sköter sändning och mottagning av paketen till och från motorstyrkortet. Paketet innehåller därför en sänd- och mottagarbuert. Buerterna är arrayer som består av objekt av typen protected, i och med det kommer läsningar och skrivningar skyddas med semaphorer. En tråd sköter sändning och mottagning av meddelanden. Tråden kan sättas i två lägen, sändning eller mottagning. I läget sändning står den alltid, om det inte är så att ett meddelande precis har skickats. I sändning kan två saker inträa. Det första är att den kontrollerar sändbuerten om ut-index ej är detsamma som in-index. Ut-index specicerar på vilken plats ett meddelandet som ska skickas ligger och in-index på vilken plats ett nytt meddelande ska läggas. Om index skiljer sig betyder det att det nns ett nytt meddelande att skicka. Meddelandet skickas en byte i taget via skrivfunktionen som nns i paketet Serial Ctrl. Om meddelandet skickas utan några fel kommer tråden hamna i mottagarläget. I mottagarläget kontrollerar tråden om det kommer något svar över seriebussen. Om det nns någon data så kommer funktionen som läser av meddelandet kontrollera så att det är ett giltigt meddelande som kommer fram. Kontrollen börjar med att se om första byten är en startbyte. Är det en startbyte läses ytterligare sex byte. Sista byten kontrolleras att det är en slutbyte. Checksumman kontrolleras sedan mot det mottagna meddelandet att det är korrekt. Checksumman räknas fram genom att addera värdet på byte 1 till 5 modulo 128 på ett meddelande från motorstyrkortet och värdet på byte 1 till 3 modulo 30

34 128 på ett meddelande från styrdatorn. Det kompletta meddelandet läggs i sånt fall in i mottagarbuerten där indexet uppdateras. Nu kan även ut-index i sändarbuerten uppdateras då en komplett meddelandecykel har ägt rum och inga omsändningar kommer vara nödvändiga. Tråden sätts också till sändningsläget igen. I sändläget kan också ett statusmeddelande, som har till syfte att polla motorerna för att se deras status, skickas till alla motorer. Statusmeddelandet kommer dock inte skickas om det inte är så att motorstyrkortens id är satta och kontrollerade först. Statusmeddelandet kommer alltså alltid sändas till motorerna så länge det inte nns något meddelande i sändarbuerten, då meddelanden i sändarbuerten har högre prioritet. Anledningen till att statusmeddelandet nns är för att säkerställa att det alltid nns relevant data om motorerna tillgänglig. Eftersom det alltid är styrprogrammet som initierar kommunikationen så skulle ingen aktuell data från motorstyrkorten nnas så länge inget nytt meddelande skickas från styrprogrammet. Detta är inte önskvärt då exempelvis en motor kan vara igång utan att styrprogrammet har någon vetskap om det. Omsändning av meddelandet sker om inte någon svar har mottagits inom 12 ms. En felräknare kommer att räknas upp för varje gång en motor inte svarar. Varje motor har en egen felräknare vilken paketet Error övervakar. Felräknaren minskas för varje korrekt svar, men ej mindre än noll. Tiden innan dess att en omsändning sker är vald för att ligga på en god marginal för både tiden det tar innan ett svar i bästa fall kan mottas, samt det tidskravet som nns på sampling av motorerna på 10 ggr/sekund. Vid mottagning av ett meddelande i motorstyrkortet kommer ett svar skickas, efter det att hela meddelandet mottagits, med en fördröjning på minst 50s. Fördröjningen är nödvändig eftersom en växling från sändare till mottagare, först måste ske på styrdatorn. Växlingen har uppmätts till 20s. Överföringshastigheten som används för kommunikationen är 38400bps vilket betyder att tiden för att skicka en bit är s Detta betyder att ett meddelande till motorstyrkortet skickas på = 1560s Meddelande från motorstyrkortet skickas på = 2080s 31

35 Vid mottagning av ett meddelande nns även en felhantering som säkerställer att det inte ligger någon gammal data i UART buerten. Felhanteringen fungerar så att om det visar sig att det nns data i buerten och det inte är startbyte så kommer funktionen läsa av buerten meddelandestorleken+1 gånger. Detta tömmer buerten från skräpdata, alternativt kan bidra till att ett korrekt meddelande kan avläsas. I övriga fall så är buerten tömd tills dess att nästa svar anländer. Serial Ctrl Serial Ctrl är ett paket som sköter öppning och stängning samt skrivning och läsning av serieporten. Paketet är ett interface i ada för att komma åt funktionerna denierade i serial interface, vilka är skrivna i c. 32

36 3.8 Simulator En simulator av roboten med alla dess leder gjordes i OpenGL skrivet i C. Eftersom det inte fanns en robot att testa styrprogrammet på så var skapandet av en simulator nödvändig. Detta för att på ett enkelt sätt kunna provköra kinematiken. Algoritmer för invers kinematik skrevs först i C och applicerades sedan direkt mot simulatorn. På det sättet var det tydligt om teorin för algoritmen fungerade. När algoritmen fungerade tillfredställande i simulatorn så skrevs koden om till att fungera i Ada. För att testa att algoritmen även fungerade i Ada så gjordes en server i C simulatorn och i Ada så skrevs en klient i paketet message handler. Med detta så kunde Ada koden köras och skicka data via sockets till simulatorn. Detta gjorde så att paket som IK, Surface, och motor converter kunde testas mot OpenGL simulatorn. Figur 3.5: Simulator gjord i OpenGL 33

37 3.9 Inspelning av rörelse Inspelning av robotarmens rörelse sker i paketet recorder. En inspelning aktiveras av operatören. Recorder skapar alternativt skriver över en ny programl till vilken motorernas PWM värde sparas. Recorder innehåller en array som är ett protected object vilken är till för att spara PWM-värden som skickats till motorerna. Om systemet är i inspelningsläget kommer message handler uppdatera arrayen varje gång den mottagit en ny PWM som ska skickas till motorerna. I recorder nns en task som exekveras 10ggr/sekund[Sandberg], för varje exekvering sparas värdet på PWM för varje motor, som då ligger i PWM-arrayen till l. Programlen lagras på USB-Minnet. Storleken av PWM är en byte. En inspelning kan tidsmässigt variera mycket men på grund av att det med 6 stycken motorer där PWM lagras 10 ggr/sekund endast ger en lstorlek på = :94M B, för ett program där inspelningen varar i 24 timmar, så spelar längden på inspelningen ingen roll. Vanligtvis är en inspelning betydligt kortare än så. Fördelen med detta är dock att man kan lagra många olika program, för olika typer av tvättningar med mera, utan att det nns någon som helst risk till att fylla minnet Uppspelning av rörelse Uppspelning av robotarmens rörelse sker i paketet player. En uppspelning startas av operatören och består i första versionen av styrprogrammet endast av en förenklad uppspelning där inte val av tvättprogram med mera inte är implementerat. I player ligger en task där läsning från en programl sker i samma frekvens som skrivning till len skett med, i det här fallet 10ggr/sekund. Player läser PWM för alla inkopplade motorer från len och skickar sedan iväg dessa till motorerna och stannar sedan när den når slutet av programlen Felövervakning Ett paket för felhantering är nödvändig för att detektera fel i kommunikationen samt kontrollera så att motorernas strömförbrukning eller temperaturer inte hamnar på för höga nivåer. Error innehåller en tråd som avläser motorvärdena som ligger lagrade i motorarrayen i message handler. Om något fel upptäcks kommer en agga sättas i ett skyddat objekt i error vilket main ständigt läser av och sedan hanterar det om ett fel har uppstått. 34

38 Det som kontrolleras är alltså Error Temperatur Strömförbrukning Varje motor innehåller en variabel Error där värdet beror på hur många felsändningar den aktuella motorn har genererat. Error adderas med ett vid en eventuell omsändning och subtraheras med ett om en sändning har varit lyckad. Detta gör att man kan anse att en motor är defekt om error uppgår till ett visst värde. Hur stort detta värde bör vara måste testas fram beroende på hur systemet beter sig på roboten. Att en felsändning sker är inte helt ovanligt och kan exempelvis bero på yttre störningar, kabeltyp m.m, vilket gör att meddelandet blir felaktigt. Då inga tester utförts på roboten, nns därför inget gränsvärde framtaget i dagsläget. Skulle man löst det så att error inte hade subtraherats när en sändning lyckats skulle varje motor anses som defekt efter en viss tid. Strömförbrukningen på varje motor är också något som kontrolleras, men är i detta fall speciell. På roboten används motorernas strömförbrukning både till att veta när en led benner sig i ett ändläge eller vid eventuell kollision, då en ökad strömförbrukning är en eekt av det. Men också till att upptäcka om något är fel med motorn. Om problemet orsakas av att leden står i ändläget bör felet hanteras på ett annat sätt, då det ju egentligen inte är ett fel. För att skilja på dessa är en lösning att med hjälp av motorpositionen kontrollera om leden benner sig i närheten av ändläget, då man kan anta att om motorerna då får en ökad strömförbrukning, betyder det att leden med största sannolikhet står i ändläget. På det sättet kan felen separeras och hanteras korrekt. Blir temperaturen på korten för hög är det något som inte står rätt till, alternativt är temperaturen där roboten arbetar för hög. I båda fall måste felet hanteras för att inte riskera att motorstyrkort eller motorer blir defekta på grund av överhettning. 35

39 Kapitel 4 Resultat 4.1 Resultat Clever Cleaner kan med det framtagna styrsystemet kontrolleras med manuell styrning, där armen kontrolleras genom att styra varje motor för sig. Skillnaden mot det gamla styrsystemet är att man vid manuell styrning kan styra alla motorer samtidigt. Motorerna styrs med hjälp av de nyframtagna motorstyrkorten. Clever Cleaner kan också styras med hjälp av invers kinematik vilket beskrivs mer utförligt nedan. Styrsystemet körs på ett inbyggt system där en patchad version av Linux används som realtids-operativsystem, och som kommunicerar med motorstyrkorten via en EIA-485 serieport. Styrprogrammet kommunicerar hela tiden med motorerna för att se till att de senaste värdena från motorerna alltid nns tillgängligt. Anledningen till detta är förutom att beräkningarna av inversa kinematiken blir mer korrekt ju mer aktuella värden som används, också att så snabbt som möjligt upptäcka om temperatur eller strömförbrukning är utanför de rekommenderade värdena. Styrsystemet har en enkel felhantering för att hantera temperatur och strömförbrukning, men också hur kommunikationen mot motorstyrkortet fungerar. Ytgenererare En funktion för att efter inmatning av tre eller fyra punkter skapa ett rörelsemönster för att tvätta ytan punkterna spänner upp nns och är testad med gott resultat i simulatorn. 36

40 Inspelning och Uppspelning En enkel version av inspelning av armrörelsen nns implementerad i styrprogrammet. Inspelningen spelar in alla PWM som skickas till motorerna med en frekvens av 10 gånger/sekund. För tillfället kan endast ett program spelas in åt gången. Applicera kinematik lösningen på Clever Cleaner Eftersom Clever Cleaner har 4 leder som ska styras med hjälp av invers kinematik och led 3 påverkar slutpunkten P i samma plan som led 2 och led 4, så skulle en direkt applicering av ovanstående lösning ge oändligt många lösningar av ekvationen. En enkel och fungerande lösning på problemet är att räkna ut led 3 :s rörelse före och sedan med hänsyn till denna rörelse räkna ut led 1 led 2 och led 4 rörelser med metoden som presenterades ovan. Att räkna ut led 3 rörelse görs enklast med led 3 rörelsevektor! v 3 som fås av derivatan för P med avseende på l 3 och vektorn! r mellan P och målpunkten G. Genom att normalisera dessa och sedan ta skalärprodukten ges ett tal mellan 0 och 1. Där 0 betyder att led 3 rörelse inte skulle göra någon påverkan till att P skulle komma närmare G. Om det skulle bli 1 betyder det istället att led 3 rörelse ger en direkt föryttning för P mot G. Sedan multipliceras talet med en längdenhet. Figur 4.1: Beräkna L3:s rörelse Som bilden till vänster i gur 12.8 visar så blir skalärprodukten 1 då riktningsvektorerna har samma riktning. På bilden till höger blir skalärprodukten 0 då riktningsvektorerna istället har en 90 vinkel mellan sig.!! G P l 3 = jg P j dp 3 l När denna beräkning är klar så beräknas rotationerna för resterande leder. Först beräknas derivatan fram. Derivatan är beräknad i förhand och är därefter en konstant formel i koden. Derivatan för P med avseende på l 3 : 37

41 dp x 1 = (sin 1 cos 2 sin 4 + sin 1 sin 2 cos 4 ) len3 + sin 1 sin 2 armp os(2) + sin 1 sin 2 len1 dp y 1 = 0 dp z 1 = (cos 1 cos 2 sin 4 + cos 1 sin 2 cos 4 ) len3 + cos 1 sin 2 armp os(2) + cos 1 sin 2 len1 Derivatan för P med avseende på 2 : dp x = (cos 2 1 sin 2 sin 4 cos 1 cos 2 cos 4 ) len3 cos 1 cos 2 armp os(2) cos 1 cos 2 len1 dp y 2 = ( cos 2 sin 4 sin 2 cos 4 ) len3 sin 2 armp os(2) sin 2 len1 dp z 2 = ( sin 1 sin 2 sin 4 + sin 1 cos 2 cos 4 ) len3 + sin 1 cos 2 armp os(2) + sin 1 cos 2 len1 Derivatan för P med avseende på 3 : dp x 2 = cos 1 sin 2 dp y 2 = cos 2 dp z 2 = sin 1 sin 2 ; Derivatan för P med avseende på 4 : dp x 2 = ( cos 1 cos 2 cos 4 + cos 1 sin 2 sin 4 ) len3 dp y 2 = ( sin 2 cos 4 cos 2 sin 4 ) len3; dp z 2 = (sin 1 cos 2 cos 4 sin 1 sin 2 sin 4 ) len3 Riktningsvektorn! r mellan P och G beräknas, normaliseras och multipliceras med en längenhet. Men här måste också rörelsen som led3 gjorde dras av från! r. Annars skulle P förytta sig mer än en längdenhet åt gången, vilket skulle resultera i att armen skulle röra sig snabbare i vissa situationer.!!! r = G P!! G P l Sedan så ska ekvation systemet för armrörelserna för led 1, led 2, och led 4 sättas upp och beräknas. 38

Veckoblad 1, Linjär algebra IT, VT2010

Veckoblad 1, Linjär algebra IT, VT2010 Veckoblad, Linjär algebra IT, VT Under den första veckan ska vi gå igenom (i alla fall stora delar av) kapitel som handlar om geometriska vektorer. De viktigaste teoretiska begreppen och resultaten i kapitlet

Läs mer

Lösningar till utvalda uppgifter i kapitel 1

Lösningar till utvalda uppgifter i kapitel 1 Lösningar till utvalda uppgifter i kapitel. Vi utnyttjar definitionen av skalärprodukt som ger att u v u v, där α är (minsta) vinkeln mellan u v. I vårt fall så får vi 7 =. Alltså är den sökta vinkeln

Läs mer

KOKBOKEN 1. Håkan Strömberg KTH STH

KOKBOKEN 1. Håkan Strömberg KTH STH KOKBOKEN 1 Håkan Strömberg KTH STH Hösten 2006 Håkan Strömberg 2 KTH Syd Innehåll Olikheter.................................... 6................................. 6 Uppgift 2.................................

Läs mer

Exempel :: Spegling i godtycklig linje.

Exempel :: Spegling i godtycklig linje. c Mikael Forsberg oktober 009 Exempel :: Spegling i godtycklig linje. abstract:: I detta dokument så är vårt uppdrag att beräkna matrisen för spegling i en godtycklig linje y = kx som går genom origo.

Läs mer

MATEMATIK GU. LLMA60 MATEMATIK FÖR LÄRARE, GYMNASIET Analys, ht 2014. Block 5, översikt

MATEMATIK GU. LLMA60 MATEMATIK FÖR LÄRARE, GYMNASIET Analys, ht 2014. Block 5, översikt MATEMATIK GU H4 LLMA6 MATEMATIK FÖR LÄRARE, GYMNASIET Analys, ht 24 I block 5 ingår följande avsnitt i Stewart: Kapitel 2, utom avsnitt 2.4 och 2.6; kapitel 4. Block 5, översikt Första delen av block 5

Läs mer

1 Vektorer i koordinatsystem

1 Vektorer i koordinatsystem 1 Vektorer i koordinatsystem Ex 11 Givet ett koordinatsystem i R y a 4 b x Punkten A = (3, ) och ortsvektorn a = (3, ) och punkten B = (5, 1) och ortsvsektorn b = (5, 1) uttrycks på samma sätt, som en

Läs mer

2x+y z 5 = 0. e x e y e z = 4 e y +4 e z +8 e x + e z = (8,4,5) n 3 = n 1 n 2 =

2x+y z 5 = 0. e x e y e z = 4 e y +4 e z +8 e x + e z = (8,4,5) n 3 = n 1 n 2 = Problem 1. Nedan presenteras ekvationen för en rät linje och ett plan i rummet. Du ska avgöra om linjen är vinkelrät mot planet. x = 2 4t y = 3 2t z = 1+2t 2x+y z 5 = 0 Lösning: Linjen har riktningsvektorn

Läs mer

TENTAMEN. Matematik 1 Kurskod HF1903 Skrivtid 13:15-17:15 Onsdagen 25 september 2013 Tentamen består av 3 sidor

TENTAMEN. Matematik 1 Kurskod HF1903 Skrivtid 13:15-17:15 Onsdagen 25 september 2013 Tentamen består av 3 sidor TENTAMEN Matematik Kurskod HF903 Skrivtid 3:5-7:5 Onsdagen 5 september 03 Tentamen består av 3 sidor Hjälpmedel: Utdelat formelblad. Räknedosa ej tillåten. Tentamen består av 3 uppgifter som totalt kan

Läs mer

Linjär algebra på några minuter

Linjär algebra på några minuter Linjär algebra på några minuter Linjära ekvationssystem Ekvationssystem: { Löses på matrisform: ( ) ( ) I det här fallet finns en entydig lösning, vilket betyder att determinanten av koefficientmatrisen

Läs mer

LYCKA TILL! kl 8 13

LYCKA TILL! kl 8 13 LUNDS TEKNISK HÖGSKOL MTEMTIK TENTMENSSKRIVNING Linjär algebra 0 0 kl 8 3 ING HJÄLPMEDEL Förklara dina beteckningar och motivera lösningarna väl Om inget annat anges är koordinatsystemen ortonormerade

Läs mer

1. (Dugga 1.1) (a) Bestäm v (3v 2u) om v = . (1p) and u =

1. (Dugga 1.1) (a) Bestäm v (3v 2u) om v = . (1p) and u = Kursen bedöms med betyg,, 5 eller underkänd, där 5 är högsta betyg. För godkänt betyg krävs minst poäng från uppgifterna -7. Var och en av dessa sju uppgifter kan ge maximalt poäng. För var och en av uppgifterna

Läs mer

Exempel :: Spegling i godtycklig linje.

Exempel :: Spegling i godtycklig linje. INNEHÅLL Exempel :: Spegling i godtycklig linje. c Mikael Forsberg :: 6 augusti 05 Sammanfattning:: I detta dokument så är vårt uppdrag att beräkna matrisen för spegling i en godtycklig linje y = kx som

Läs mer

Där a = (1, 2,0), b = (1, 1,2) och c = (0,3, 1) Problem 10. Vilket är det enda värdet hos x för vilket det finns a och b så att

Där a = (1, 2,0), b = (1, 1,2) och c = (0,3, 1) Problem 10. Vilket är det enda värdet hos x för vilket det finns a och b så att Här följer 3 problem att lösa. Längre bak i dokumentet finns utförliga penna-papper lösningar. Filen Föreläsning08.zip finns motsvarande lösningar utförda med Mathematica. Problem 1. Bestäm a så att avståndet

Läs mer

x+2y 3z = 7 x+ay+11z = 17 2x y+z = 2

x+2y 3z = 7 x+ay+11z = 17 2x y+z = 2 Problem 1. Avgör för vilka värden på a som ekvationssystemet nedan har oändligt antal lösningar. Ange lösningarna i dessa fall! Lösning: Genom x+2y 3z = 7 x+ay+11z = 17 2x y+z = 2 1 2 3 1 a 11 2 1 1 =

Läs mer

October 9, Innehållsregister

October 9, Innehållsregister October 9, 017 Innehållsregister 1 Vektorer 1 1.1 Geometrisk vektor............................... 1 1. Vektor och koordinatsystem.......................... 1 1.3 Skalär produkt (dot eller inner product)...................

Läs mer

SKRIVNING I VEKTORGEOMETRI

SKRIVNING I VEKTORGEOMETRI SKRIVNING I VEKTORGEOMETRI 2014-11-25 1400-1700 Om inget annat uttryckligen sägs, kan koordinaterna för en vektor i antas vara givna i en ON-bas Baser i rummet kan dessutom antas vara positivt orienterade

Läs mer

SKRIVNING I VEKTORGEOMETRI

SKRIVNING I VEKTORGEOMETRI SKRIVNING I VEKTORGEOMETRI 201-0-0 14.00-17.00 Om inget annat uttryckligen sägs, kan koordinaterna för en vektor i antas vara givna i en ON-bas. Baser i rummet kan dessutom antas vara positivt orienterade.

Läs mer

Vektorgeometri för gymnasister

Vektorgeometri för gymnasister Vektorgeometri för gymnasister Per-Anders Svensson http://homepage.lnu.se/staff/psvmsi/vektorgeometri/gymnasiet.html Fakulteten för teknik Linnéuniversitetet Areor, vektorprodukter, volymer och determinanter

Läs mer

Vektorgeometri för gymnasister

Vektorgeometri för gymnasister Vektorgeometri för gymnasister Per-Anders Svensson http://homepage.lnu.se/staff/psvmsi/vektorgeometri/gymnasiet.html Fakulteten för teknik Linnéuniversitetet Räta linjens och planets ekvationer I Innehåll

Läs mer

Vektorgeometri och funktionslära

Vektorgeometri och funktionslära Vektorgeometri och funktionslära Xantcha 009 Del A: Beräkningsdel Räkningar behöver inte redovisas. Samtliga uppgifter måste vara korrekta om tentamen skall godkännas (möjligen kan något slarvfel tolereras),

Läs mer

Digitala projekt rapport

Digitala projekt rapport Digitala projekt rapport Alexander Westrup, d04aw@student.lth.se Martin Sandgren, d04ms@student.lth.se 4 december 2007 Innehåll 1 Abstract 1 2 Inledning 1 3 Arbetsgång 1 4 Hårdvara 1 4.1 Processor...............................

Läs mer

Moment Viktiga exempel Övningsuppgifter

Moment Viktiga exempel Övningsuppgifter Moment Viktiga exempel Övningsuppgifter Inga Inga Inga Linjära ekvationssystem Vi har redan tidigare i kursen stött på linjära ekvationssystem. Nu är stunden kommen till en mera systematisk genomgång.

Läs mer

SKRIVNING I VEKTORGEOMETRI

SKRIVNING I VEKTORGEOMETRI SKRIVNING I VEKTORGEOMETRI 2018-04-24 Om inget annat uttryckligen sägs, kan koordinaterna för en vektor i antas vara givna i en ON-bas. Baser i rummet kan dessutom antas vara positivt orienterade. 1. Bestäm

Läs mer

Konstruktion av en radiostyrd legobil. Digitala projekt av Arbon Vata Leonardo Vukmanovic Amid Bhatia

Konstruktion av en radiostyrd legobil. Digitala projekt av Arbon Vata Leonardo Vukmanovic Amid Bhatia Konstruktion av en radiostyrd legobil Digitala projekt av Arbon Vata Leonardo Vukmanovic Amid Bhatia 1 1.Innehållsförtäckning Rapport Radiostyrd LEGO bil...1 1. Innehållsförtäckning...2 2.0 Inledning...3

Läs mer

Mekanisk solros, Digitala projekt(edi021) Kristoer Nordvall, Stefan Windfeldt, Inlämmnad: 4 december 2006

Mekanisk solros, Digitala projekt(edi021) Kristoer Nordvall, Stefan Windfeldt, Inlämmnad: 4 december 2006 Mekanisk solros, Digitala projekt(edi021) Kristoer Nordvall, d03kn@student.lth.se Stefan Windfeldt, d03sw@student.lth.se Inlämmnad: 4 december 2006 Innehåll 1 Problembeskrivning 3 2 Teknisk beskrivning

Läs mer

SKRIVNING I VEKTORGEOMETRI

SKRIVNING I VEKTORGEOMETRI SKRIVNING I VEKTORGEOMETRI Delkurs 1 016 Om inget annat uttryckligen sägs, kan koordinaterna för en vektor i antas vara givna i en ON-bas. Baser i rummet kan dessutom antas vara positivt orienterade. 1.

Läs mer

= ( 1) ( 1) = 4 0.

= ( 1) ( 1) = 4 0. MATA15 Algebra 1: delprov 2, 6 hp Fredagen den 17:e maj 2013 Skrivtid: 800 1300 Matematikcentrum Matematik NF Lösningsförslag 1 Visa att vektorerna u 1 = (1, 0, 1), u 2 = (0, 2, 1) och u 3 = (2, 2, 1)

Läs mer

5 Linjär algebra. 5.1 Addition av matriser 5 LINJÄR ALGEBRA

5 Linjär algebra. 5.1 Addition av matriser 5 LINJÄR ALGEBRA 5 LINJÄR ALGEBRA 5 Linjär algebra En kul gren av matematiken som inte fått speciellt mycket utrymme i gymnasiet men som har många tillämpningsområden inom t.ex. fysik, logistik, ekonomi, samhällsplanering

Läs mer

SKRIVNING I VEKTORGEOMETRI

SKRIVNING I VEKTORGEOMETRI SKRIVNING I VEKTORGEOMETRI 017-05-09 Om inget annat uttryckligen sägs, kan koordinaterna för en vektor i antas vara givna i en ON-bas. Baser i rummet kan dessutom antas vara positivt orienterade. 1. Bestäm

Läs mer

Beräkna determinanten för produkten MMM Skissa, och bestäm arean av, det i det komplexa talplanet belägna området

Beräkna determinanten för produkten MMM Skissa, och bestäm arean av, det i det komplexa talplanet belägna området MÄLARDALENS HÖGSKOLA Akademin för utbildning, kultur och kommunikation Avdelningen för tillämpad matematik Examinator: Lars-Göran Larsson TENTAMEN I MATEMATIK MAA1 Grundläggande vektoralgebra, TEN5 alt.

Läs mer

x = som är resultatet av en omskrivning av ett ekvationssystemet som ursprungligen kunde ha varit 2x y+z = 3 2z y = 4 11x 3y = 5 Vi får y z

x = som är resultatet av en omskrivning av ett ekvationssystemet som ursprungligen kunde ha varit 2x y+z = 3 2z y = 4 11x 3y = 5 Vi får y z Ett nytt försök med att ta fram inversen till en matris Innan vi startar med att bestämma inversen till en matris måste vi veta varför vi skulle kunna behöva den. Vi har A x b som är resultatet av en omskrivning

Läs mer

TANA17 Matematiska beräkningar med Matlab

TANA17 Matematiska beräkningar med Matlab TANA17 Matematiska beräkningar med Matlab Laboration 1. Linjär Algebra och Avbildningar Namn: Personnummer: Epost: Namn: Personnummer: Epost: Godkänd den: Sign: Retur: 1 Introduktion I denna övning skall

Läs mer

Gemensamt projekt: Matematik, Beräkningsvetenskap, Elektromagnetism. Inledning. Fysikalisk bakgrund

Gemensamt projekt: Matematik, Beräkningsvetenskap, Elektromagnetism. Inledning. Fysikalisk bakgrund Gemensamt projekt: Matematik, Beräkningsvetenskap, Elektromagnetism En civilingenjör ska kunna idealisera ett givet verkligt problem, göra en adekvat fysikalisk modell och behandla modellen med matematiska

Läs mer

Vektorgeometri för gymnasister

Vektorgeometri för gymnasister Vektorgeometri för gymnasister Per-Anders Svensson http://homepage.lnu.se/staff/psvmsi/vektorgeometri/gymnasiet.html Fakulteten för teknik Linnéuniversitetet Linjära avbildningar I Innehåll En liten tillbakablick:

Läs mer

MATEMATIK Datum: 2015-08-19 Tid: eftermiddag Hjälpmedel: inga. Mobiltelefoner är förbjudna. A.Heintz Telefonvakt: Tim Cardilin Tel.

MATEMATIK Datum: 2015-08-19 Tid: eftermiddag Hjälpmedel: inga. Mobiltelefoner är förbjudna. A.Heintz Telefonvakt: Tim Cardilin Tel. MATEMATIK Datum: 0-08-9 Tid: eftermiddag Chalmers Hjälmedel: inga. Mobiltelefoner är förbjudna. A.Heintz Telefonvakt: Tim Cardilin Tel.: 0703-088304 Lösningar till tenta i TMV036 Analys och linjär algebra

Läs mer

z = 4 + 3t P R = (5 + 2t, 4 + 2t, 4 + 3t) (1, 1, 3) = (4 + 2t, 3 + 2t, 1 + 3t)

z = 4 + 3t P R = (5 + 2t, 4 + 2t, 4 + 3t) (1, 1, 3) = (4 + 2t, 3 + 2t, 1 + 3t) Tentamenskrivning MATA15 Algebra: delprov 2, 6hp Fredagen den 16 maj 2014 Matematikcentrum Matematik NF LÖSNINGSFÖRSLAG 1. Låt l vara linjen genom punkten (5, 4, 4) som är vinkelrät mot planet 2x+2y +3z

Läs mer

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A SF64 Algebra och geometri Lösningsförslag till tentamen 04-05-0 DEL A. Planet P innehåller punkterna (,, 0), (0, 3, ) och (,, ). (a) Bestäm en ekvation, på formen ax + by + cz + d = 0, för planet P. (

Läs mer

Sidor i boken Figur 1: Sträckor

Sidor i boken Figur 1: Sträckor Sidor i boken 37-39 Vektorer Det vi ska studera här är bara en liten del av den teori du kommer att stifta bekantskap med i dina fortsatta studier i kursen Linjär algebra. Många av de objekt man arbetar

Läs mer

Bestäm den matris B som löser ekvationen = 1 2

Bestäm den matris B som löser ekvationen = 1 2 MÄLARDALENS HÖGSKOLA Akademin för utbildning, kultur och kommunikation Avdelningen för tillämpad matematik Examinator: Lars-Göran Larsson TENTAMEN I MATEMATIK MAA Grundläggande vektoralgebra, TEN5 alt.

Läs mer

Vektorgeometri för gymnasister

Vektorgeometri för gymnasister Vektorgeometri för gymnasister Per-Anders Svensson http://homepage.lnu.se/staff/psvmsi/vektorgeometri/gymnasiet.html Fakulteten för teknik Linnéuniversitetet Skalärprodukt Innehåll Skalärprodukt - Inledning

Läs mer

Digitala projekt - Radiostyrd bil

Digitala projekt - Radiostyrd bil Digitala projekt - Radiostyrd bil Handledare: Bertil Lindvall Johan Lennartsson e02jle David Thomasson e02dt Magnus Lisborg e02mls Innehållsförteckning 1. Inledning.3 2. Målsättning med projektet.......3

Läs mer

M = c c M = 1 3 1

M = c c M = 1 3 1 N-institutionen Mikael Forsberg Prov i matematik Matematik med datalogi, mfl. Linjär algebra ma4a Deadline :: 8 9 4 Lösningarna skall vara fullständiga och lätta att följa. Börja varje ny uppgift på ny

Läs mer

SKRIVNING I VEKTORGEOMETRI Delkurs

SKRIVNING I VEKTORGEOMETRI Delkurs SKRIVNING I VEKTORGEOMETRI Delkurs 1 2015 Om inget annat uttryckligen sägs, kan koordinaterna för en vektor i antas vara givna i en ON-bas. Baser i rummet kan dessutom antas vara positivt orienterade.

Läs mer

Moment 4.2.1, 4.2.2, 4.2.3, Viktiga exempel 4.1, 4.3, 4.4, 4.5, 4.6, 4.13, 4.14 Övningsuppgifter 4.1 a-h, 4.2, 4.3, 4.4, 4.5, 4.

Moment 4.2.1, 4.2.2, 4.2.3, Viktiga exempel 4.1, 4.3, 4.4, 4.5, 4.6, 4.13, 4.14 Övningsuppgifter 4.1 a-h, 4.2, 4.3, 4.4, 4.5, 4. Moment 4.2.1, 4.2.2, 4.2., 4.2.4 Viktiga exempel 4.1, 4., 4.4, 4.5, 4.6, 4.1, 4.14 Övningsuppgifter 4.1 a-h, 4.2, 4., 4.4, 4.5, 4.7 Många av de objekt man arbetar med i matematiken och naturvetenskapen

Läs mer

Vektorgeometri. En vektor v kan representeras genom pilar från en fotpunkt A till en spets B.

Vektorgeometri. En vektor v kan representeras genom pilar från en fotpunkt A till en spets B. Vektorgeometri En vektor v kan representeras genom pilar från en fotpunkt A till en spets B. Två pilar AB, A B tilllhör samma vektor om de har samma riktning och samma längd. Vi skriver v = AB = B A B

Läs mer

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1. Schenker har interna system som handhar information som är av intresse för våra kunder/partners. Idag finns ett flertal av dem tillgängliga via Internet, sk Online-tjänster. Dessa erbjuder inte bara hämtning

Läs mer

Linjär Algebra, Föreläsning 2

Linjär Algebra, Föreläsning 2 Linjär Algebra, Föreläsning 2 Tomas Sjödin Linköpings Universitet Riktade sträckor och Geometriska vektorer En (geometrisk) vektor är ett objekt som har storlek och riktning, men inte någon naturlig startpunkt.

Läs mer

Micro:bit och servomotorer

Micro:bit och servomotorer Micro:bit och servomotorer Servomotorer som beskrivs här är så kallade micro servos och har beteckningarna: FS90 FS90R En servomotor har tre kablar. En brun som kopplas till GND, en röd som är för strömförsörjning

Läs mer

1 Linjära ekvationssystem. 2 Vektorer

1 Linjära ekvationssystem. 2 Vektorer För. 1 1 Linjära ekvationssystem Gaußelimination - sriv om systemet för att få ett trappformat system genom att: byta ordningen mellan ekvationer eller obekanta; multiplicera en ekvation med en konstant

Läs mer

Vektorgeometri för gymnasister

Vektorgeometri för gymnasister Vektorgeometri för gymnasister Per-Anders Svensson http://homepage.lnu.se/staff/psvmsi/vektorgeometri/gymnasiet.html Fakulteten för teknik Linnéuniversitetet Räta linjens och planets ekvationer II Innehåll

Läs mer

Introduktion till integrering av Schenkers e-tjänster. Version 2.0

Introduktion till integrering av Schenkers e-tjänster. Version 2.0 Introduktion till integrering av Schenkers e- Version 2.0 Datum: 2008-06-18 Sida 2 av 8 Revisionshistorik Lägg senaste ändringen först! Datum Version Revision 2008-06-18 2.0 Stora delar av introduktionen

Läs mer

===================================================

=================================================== AVSTÅNDSBERÄKNING ( I ETT TREDIMENSIONELLT ORTONORMERAT KOORDINATSYSTEM ) Avståndet mellan två punkter Låt A ( x1, och B ( x, y, z) vara två punkter i rummet Avståndet d mellan A och B är d AB ( x z x1)

Läs mer

Lösningsförslag till skrivningen i Vektorgeometri (MAA702) Måndagen den 13 juni 2005

Lösningsförslag till skrivningen i Vektorgeometri (MAA702) Måndagen den 13 juni 2005 VÄXJÖ UNIVERSITET Matematiska och systemtekniska institutionen Per-Anders Svensson Lösningsförslag till skrivningen i Vektorgeometri (MAA70) Måndagen den 13 juni 005 Uppgift 1. Lös ekvationssystemet AX

Läs mer

Inledning. Kapitel 1. 1.1 Bakgrund. 1.2 Syfte

Inledning. Kapitel 1. 1.1 Bakgrund. 1.2 Syfte Sammanfattning Vi har i kursen Modelleringsprojekt TNM085 valt att simulera ett geléobjekt i form av en kub. Denna består av masspunkter som är sammankopplade med tre olika typer av fjädrar med olika parametrar.

Läs mer

Veckoblad 3, Linjär algebra IT, VT2010

Veckoblad 3, Linjär algebra IT, VT2010 Veckoblad 3, Linjär algebra IT, VT Vi inleder den tredje veckan med att gå igenom begreppen determinant och invers matris som vi inte hann med i vecka, se veckoblad för övningar etc på dessa avsnitt. Därefter

Läs mer

. (2p) 2x + 2y + z = 4 y + 2z = 2 4x + 3y = 6

. (2p) 2x + 2y + z = 4 y + 2z = 2 4x + 3y = 6 Kursen bedöms med betyg, 4, 5 eller underkänd, där 5 är högsta betyg För godkänt betyg krävs minst 4 poäng från uppgifterna -7 Var och en av dessa sju uppgifter kan ge maximalt poäng För var och en av

Läs mer

Vektorgeometri för gymnasister

Vektorgeometri för gymnasister Vektorgeometri för gymnasister Per-Anders Svensson http://homepage.lnu.se/staff/psvmsi/vektorgeometri/gymnasiet.html Fakulteten för teknik Linnéuniversitetet Areor, vektorprodukter, volymer och determinanter

Läs mer

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson Uppsala Universitet Matematiska Institutionen Thomas Erlandsson MATRISER MED MERA VEKTORRUM DEFINITION Ett vektorrum V är en mängd av symboler u som vi kan addera samt multiplicera med reella tal c så

Läs mer

SF1624 Algebra och geometri Lösningsförsag till modelltentamen

SF1624 Algebra och geometri Lösningsförsag till modelltentamen SF1624 Algebra och geometri Lösningsförsag till modelltentamen DEL A (1) a) Definiera begreppen rektangulär form och polär form för komplexa tal och ange sambandet mellan dem. (2) b) Ange rötterna till

Läs mer

Robotarm och algebra

Robotarm och algebra Tekniska Högskolan i Linköping Institutionen för Datavetenskap (IDA) Torbjörn Jonsson 2010-12-07 Robotarm och algebra I denna laboration skall du lära dig lite mer om möjlighetera att rita ut mer avancerade

Läs mer

SKRIVNING I VEKTORGEOMETRI

SKRIVNING I VEKTORGEOMETRI SKRIVNING I VEKTORGEOMETRI 2016-05-10 14.00-17.00 Om inget annat uttryckligen sägs, kan koordinaterna för en vektor i antas vara givna i en ON-bas. Baser i rummet kan dessutom antas vara positivt orienterade.

Läs mer

. b. x + 2 y 3 z = 1 3 x y + 2 z = a x 5 y + 8 z = 1 lösning?

. b. x + 2 y 3 z = 1 3 x y + 2 z = a x 5 y + 8 z = 1 lösning? Repetition, Matematik 2, linjär algebra 10 Lös ekvationssystemet 5 x + 2 y + 2 z = 7 a x y + 3 z = 8 3 x y 3 z = 2 b 11 Ange för alla reella a lösningsmängden till ekvationssystemet 2 x + 3 y z = 3 x 2

Läs mer

Moment 4.11 Viktiga exempel 4.32, 4.33 Övningsuppgifter Ö4.18-Ö4.22, Ö4.30-Ö4.34. Planet Ett plan i rummet är bestämt då

Moment 4.11 Viktiga exempel 4.32, 4.33 Övningsuppgifter Ö4.18-Ö4.22, Ö4.30-Ö4.34. Planet Ett plan i rummet är bestämt då Moment 4.11 Viktiga exempel 4.32, 4.33 Övningsuppgifter Ö4.18-Ö4.22, Ö4.30-Ö4.34 Planet Ett plan i rummet är bestämt då två icke parallella riktningar, v 1 och v 2, och en punkt P 1 i planet är givna.

Läs mer

Moment 5.5 Övningsuppgifter I 5.60a. 5.60b, 5.60.c, 61

Moment 5.5 Övningsuppgifter I 5.60a. 5.60b, 5.60.c, 61 Moment 5.5 Övningsuppgifter I 5.0a. 5.0b, 5.0.c, 1 Linjära ekvationssystem Vi har redan tidigare i kursen stött på linjära ekvationssystem. Nu är stunden kommen till en mera systematisk genomgång. Kvadratiska

Läs mer

Styrteknik : Programmering med IEC 61131-3. Styrteknik

Styrteknik : Programmering med IEC 61131-3. Styrteknik PLC1B:1 Styrteknik Allmänt om styrsystem (PLC) Grundinstruktioner Introduktion av GX IEC Developer Benämningar Minne SET- och RST-instruktioner PLC1B:2 PLC står för Programmable Logical Controller Kom

Läs mer

Lösningsförslag till skrivningen i Vektorgeometri (MAA702) måndagen den 30 maj 2005

Lösningsförslag till skrivningen i Vektorgeometri (MAA702) måndagen den 30 maj 2005 VÄXJÖ UNIVERSITET Matematiska och systemtekniska institutionen Per-Anders Svensson Lösningsförslag till skrivningen i Vektorgeometri (MAA702) måndagen den 30 maj 2005 Uppgift. Bestäm samtliga vektorer

Läs mer

Självkoll: Ser du att de två uttrycken är ekvivalenta?

Självkoll: Ser du att de två uttrycken är ekvivalenta? ANTECKNINGAR TILL RÄKNEÖVNING 1 & - LINJÄR ALGEBRA För att verkligen kunna förstå och tillämpa kvantmekaniken så måste vi veta något om den matematik som ligger till grund för formuleringen av vågfunktionen

Läs mer

Tentamen 1 i Matematik 1, HF1903, för BD10 onsdag 22 september 2010, kl

Tentamen 1 i Matematik 1, HF1903, för BD10 onsdag 22 september 2010, kl entamen i Matematik, HF9, för D onsdag september, kl 8.. Hjälpmedel: Endast formelblad (miniräknare är inte tillåten) För godkänt krävs poäng av möjliga poäng (betygsskala är,,,d,e,fx,f). Den som uppnått

Läs mer

Mer om analytisk geometri

Mer om analytisk geometri 1 Onsdag v 5 Mer om analytisk geometri Determinanter: Då man har en -matris kan man till den associera ett tal determinanten av som också skrivs Determinanter kommer att repeteras och studeras närmare

Läs mer

Laboration 1: Linjär algebra

Laboration 1: Linjär algebra MALMÖ HÖGSKOLA Centrum för teknikstudier MA119A VT 2010, Yuanji Cheng Viktigt information om labb Vid laborationen gäller följande: 1. Labben görs i grupp av två studenter, och redovisningsuppgifterna

Läs mer

Modul 1: Komplexa tal och Polynomekvationer

Modul 1: Komplexa tal och Polynomekvationer Modul : Komplexa tal och Polynomekvationer. Skriv på formen a + bi, där a och b är reella, a. (2 + i)( 2i) 2. b. + 2i + 3i 3 4i + 2i 2. Lös ekvationerna a. (2 i)z = 3 + i. b. (2 + i) z = + 3i c. ( 2 +

Läs mer

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A SF1624 Algebra och geometri Lösningsförslag till tentamen 2010-10-22 DEL A (1) Uttrycket (x, y, z) (1, 1, 1) + s(1, 3, 0) + t(0, 5, 1) definierar ett plan W i rummet där s och t är reella parametrar. (a)

Läs mer

Att beräkna:: Avstånd

Att beräkna:: Avstånd Att beräkna:: Avstånd Mikael Forsberg :: 27 november 205 Innehåll Punkter, linjer och plan, en sammanställning 2. Punkter i två och tre dimensioner....................... 2.2 Räta linjer i två och tre

Läs mer

Räta linjer i 3D-rummet: Låt L vara den räta linjen genom som är parallell med

Räta linjer i 3D-rummet: Låt L vara den räta linjen genom som är parallell med RÄTA LINJER OCH PLAN Räta linjer i 3D-rummet: Låt L vara den räta linjen genom punkten P = ( x, y, som är parallell med vektorn v = v, v, v ) 0. ( 3 P Räta linjens ekvation på parameterform kan man ange

Läs mer

Filöverföring i Windowsmiljö

Filöverföring i Windowsmiljö Linnéuniversitetet Projektrapport Grundläggande Operativsystem 1DV415 Filöverföring i Windowsmiljö Erik Ljungqvist, Viktor Hjertman 10 januari 2014 Sammanfattning I detta projekt undersöks skillnaden i

Läs mer

Vi har väl alla stått på en matta på golvet och sedan hastigt försökt förflytta

Vi har väl alla stått på en matta på golvet och sedan hastigt försökt förflytta Niclas Larson Myra på villovägar Att modellera praktiska sammanhang i termer av matematik och att kunna använda olika representationer och se samband mellan dessa är grundläggande förmågor som behövs vid

Läs mer

Vektorgeometri för gymnasister

Vektorgeometri för gymnasister Vektorgeometri för gymnasister Per-Anders Svensson http://w3.msi.vxu.se/users/pa/vektorgeometri/gymnasiet.html Institutionen för datavetenskap, fysik och matematik Linnéuniversitetet Vektorer i planet

Läs mer

5B1146 med Matlab. Laborationsr. Laborationsgrupp: Sebastian Johnson Erik Lundberg, Ann-Sofi Åhn ( endst tal1-3

5B1146 med Matlab. Laborationsr. Laborationsgrupp: Sebastian Johnson Erik Lundberg, Ann-Sofi Åhn ( endst tal1-3 1 Revision 4 2006-12-16 2. SIDFÖRTECKNING 5B1146 med Matlab Laborationsr Laborationsgrupp: Sebastian Johnson, Ann-Sofi Åhn ( endst tal1-3 Titel Sida 1. Uppgift 1.8.1....3 2. Uppgift 1.8.2....6 3. Uppgift

Läs mer

Tentamen 1 i Matematik 1, HF1903 Torsdag 22 augusti Skrivtid: 14:00-18:00 Examinator: Armin Halilovic

Tentamen 1 i Matematik 1, HF1903 Torsdag 22 augusti Skrivtid: 14:00-18:00 Examinator: Armin Halilovic Tentamen i Matematik, HF90 Torsdag augusti Skrivtid: 4:00-8:00 Examinator: Armin Halilovic För godkänt betyg krävs 0 av max 4 poäng Betygsgränser: För betyg A, B, C, D, E krävs, 9, 6, respektive 0 poäng

Läs mer

Explorativ övning Vektorer

Explorativ övning Vektorer Eplorativ övning Vektorer Syftet med denna övning är att ge grundläggande kunskaper om vektorräkning och dess användning i geometrin Liksom många matematiska begrepp kommer vektorbegreppet från fysiken

Läs mer

Gamla tentemensuppgifter

Gamla tentemensuppgifter Inte heller idag någon ny teori! Gamla tentemensuppgifter 1 Bestäm det andragradspolynom vars kurva skär x-axeln i x = 3 och x = 1 och y-axeln i y = 3 f(x) = (x 3)(x + 1) = x x 3 är en bra start, men vi

Läs mer

ax + y + 4z = a x + y + (a 1)z = 1. 2x + 2y + az = 2 Ange dessutom samtliga lösningar då det finns oändligt många.

ax + y + 4z = a x + y + (a 1)z = 1. 2x + 2y + az = 2 Ange dessutom samtliga lösningar då det finns oändligt många. LUNDS TEKNISKA HÖGSKOLA MATEMATIK TENTAMENSSKRIVNING Linjär algebra 8 kl 4 9 INGA HJÄLPMEDEL. För alla uppgifterna, utom 3, förklara dina beteckningar och motivera lösningarna väl. Alla baser får antas

Läs mer

Målsättningar Proffesionell kunskap. Kunna hänvisa till lagar och definitioner. Tydlighet och enhetliga beteckningar.

Målsättningar Proffesionell kunskap. Kunna hänvisa till lagar och definitioner. Tydlighet och enhetliga beteckningar. 1 Föreläsning 1: INTRODUKTION Målsättningar Proffesionell kunskap. Kunna hänvisa till lagar och definitioner. Tydlighet och enhetliga beteckningar. Kursens olika delar Teorin Tentamen efter kursen och/eller

Läs mer

Vektorgeometri för gymnasister

Vektorgeometri för gymnasister Vektorgeometri för gymnasister Per-Anders Svensson http://homepage.lnu.se/staff/psvmsi/vektorgeometri/gymnasiet.html Fakulteten för teknik Linnéuniversitetet Räta linjens och planets ekvationer III Innehåll

Läs mer

Eftersom ON-koordinatsystem förutsätts så ges vektorernas volymprodukt av:

Eftersom ON-koordinatsystem förutsätts så ges vektorernas volymprodukt av: MATA15 Algebra, delprov, 6 hp Lördagen den 8:e december 01 Skrivtid: 800 100 Matematikcentrum Matematik NF Lösningsförslag 1 Ligger punkterna P 1 = (0, 1, 1), P = (1,, 0), P = (, 1, 1) och P 4 = (, 6,

Läs mer

Vektorgeometri för gymnasister

Vektorgeometri för gymnasister Vektorgeometri för gymnasister Per-Anders Svensson http://homepage.lnu.se/staff/psvmsi/vektorgeometri/gymnasiet.html Fakulteten för teknik Linnéuniversitetet Linjära avbildningar II Innehåll Repetition:

Läs mer

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A. (1 p) (c) Bestäm avståndet mellan A och linjen l.

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A. (1 p) (c) Bestäm avståndet mellan A och linjen l. SF64 Algebra och geometri Lösningsförslag till tentamen 5.6. DEL A. Betrakta följande punkter i rummet: A = (,, ), B = (,, ) och C = (,, ). (a) Ange en parametrisk ekvation för linjen l som går genom B

Läs mer

Dokumentation för funktionsblocksbibliotek MwaCOMLI

Dokumentation för funktionsblocksbibliotek MwaCOMLI Dokumentation för funktionsblocksbibliotek MwaCOMLI 1. Allmänt... 2 1.1. Versionshistoria... 2 1.2. Implementerade Telegram... 3 1.3. Adressering Flaggor... 4 1.4. Registervärden... 5 2. Fboxar... 6 2.1.

Läs mer

DIGITALA PROJEKT Väderstation

DIGITALA PROJEKT Väderstation DIGITALA PROJEKT Väderstation Christian Lindquist, E03 Leonardo Bello, E03 Abstract Almost everybody has some kind of temperature measurement device in their home. The latest in this industry are more

Läs mer

Beijer Electronics AB 2000, MA00336A, 2000-12

Beijer Electronics AB 2000, MA00336A, 2000-12 Demonstration driver English Svenska Beijer Electronics AB 2000, MA00336A, 2000-12 Beijer Electronics AB reserves the right to change information in this manual without prior notice. All examples in this

Läs mer

e = (e 1, e 2, e 3 ), kan en godtycklig linjär

e = (e 1, e 2, e 3 ), kan en godtycklig linjär Linjära avbildningar II Förra gången visade vi att givet en bas i rummet, e = (e 1, e 2, e 3 ), kan en godtycklig linjär avbildning F : R 3 R 3 representeras av en matris: Om vi betecknar en vektor u:s

Läs mer

Betygsgränser: För betyg. Vem som har. Hjälpmedel: av papperet. Uppgift. 1. (4p) 0. (2p) 3 (2p) Uppgift. 2. (4p) B-2C om. vektor A (1p) b) Bestäm k så

Betygsgränser: För betyg. Vem som har. Hjälpmedel: av papperet. Uppgift. 1. (4p) 0. (2p) 3 (2p) Uppgift. 2. (4p) B-2C om. vektor A (1p) b) Bestäm k så Kurs: HF90 Matematik, Moment TEN (Linjär Algebra) ) Datum: 4 augusti 08 Skrivtid 08:00 :000 Examinator: Armin Halilovic För godkänt betyg krävss 0 av maxx 4 poäng. Betygsgränser: För betyg A, B, C, D,

Läs mer

Styrteknik 7.5 hp distans: E-1000 och E-Designer

Styrteknik 7.5 hp distans: E-1000 och E-Designer PLC8A:1 E1000 operatörsterminaler En operatörsterminal ger ett gränssnitt mellan männinska-maskin, (MMI människa-maskininteraktion, HMI Human Machine Interface) Alla terminalerna i E1000-serien är utvecklade

Läs mer

e 3 e 2 e 1 Kapitel 3 Vektorer i planet och i rummet precis ett sätt skrivas v = x 1 e 1 + x 2 e 2

e 3 e 2 e 1 Kapitel 3 Vektorer i planet och i rummet precis ett sätt skrivas v = x 1 e 1 + x 2 e 2 Kapitel 3 Vektorer i planet och i rummet B e 3 e 2 A e 1 C Figur 3.16 Vi har ritat de riktade sträckor som representerar e 1, e 2, e 3 och v och som har utgångspunkten A. Vidare har vi skuggat planet Π

Läs mer

kan vi uttrycka med a, b och c. Avsnitt 2, Vektorer SA + AB = SB AB = SB SA = b a, Vi ritar först en figur av hur pyramiden måste se ut.

kan vi uttrycka med a, b och c. Avsnitt 2, Vektorer SA + AB = SB AB = SB SA = b a, Vi ritar först en figur av hur pyramiden måste se ut. vsnitt 2, Vektorer kan vi uttrycka med a, b och c. W109 är basytan (en kvadrat) i en regelbunden fyrsidig pyramid med spetsen. Låt = a, = b och = c. eräkna. Vi ritar först en figur av hur pyramiden måste

Läs mer

Determinant Vi förekommer bokens avsnitt, som handlar om determinanter eftersom de kommer att användas i detta avsnitt. a 11 a 12 a 21 a 22

Determinant Vi förekommer bokens avsnitt, som handlar om determinanter eftersom de kommer att användas i detta avsnitt. a 11 a 12 a 21 a 22 Moment 5.3, 4.2.9 Viktiga exempel 5.13, 5.14, 5.15, 5.17, 4.24, 4.25, 4.26 Handräkning 5.35, 5.44a, 4.31a, 4.34 Datorräkning Determinant Vi förekommer bokens avsnitt, som handlar om determinanter eftersom

Läs mer

Vad är en dator? Introduktion till datorer och nätverk. Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018

Vad är en dator? Introduktion till datorer och nätverk. Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018 . Vad är en dator? Introduktion till datorer och nätverk Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018 Översikt 2/23 Datorns historia von Neumann-arkitekturen Operativsystem Datornät

Läs mer

Chalmers tekniska högskola Datum: kl Telefonvakt: Linnea Hietala MVE480 Linjär algebra S

Chalmers tekniska högskola Datum: kl Telefonvakt: Linnea Hietala MVE480 Linjär algebra S MATEMATIK Hjälpmedel: inga Chalmers tekniska högskola Datum: 69 kl 4-8 Tentamen Telefonvakt: Linnea Hietala 55 MVE48 Linjär algebra S Tentan rättas och bedöms anonymt Skriv tentamenskoden tydligt på placeringlista

Läs mer

Tentamen i Robotteknik MPR160, 16 december 2000

Tentamen i Robotteknik MPR160, 16 december 2000 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

Läs mer

2. Vilka taltripler (x, y, z) satisfierar ekvationssystemet x + 2y 13z = 4 4x y + 17z = 5

2. Vilka taltripler (x, y, z) satisfierar ekvationssystemet x + 2y 13z = 4 4x y + 17z = 5 MÄLARDALENS HÖGSKOLA Akademin för utbildning, kultur och kommunikation Avdelningen för tillämpad matematik Examinator: Lars-Göran Larsson TENTAMEN I MATEMATIK MAA13 Grundläggande vektoralgebra TEN3 Datum:

Läs mer