Teknik specialisering
Kursen ger eleven grundläggande kunskaper i hur man kan skriva effektiva algoritmer. Man lär sig att analysera algoritmer med hjälp av stora-ordo-notationen. Efter det så övergår vi till att lära oss om datastrukturer. Datastrukturer är datorprogram, vars syfte är att effektivt kunna lagra data, men också hämta och radera data.
Videoklippet nedan introducerar kursens innehåll och visar också vad man kommer att skapa i kursen:
I kursen så kommer man att skapa ett program som kan planera hur en simpel robot ska röra sig i en 2D-omgivning med hinder. Se videoklippet ovan där ett exempel på ett sådant program visas. Programmet använder beräknar en rutt från en startposition till en slutposition med hjälp av graalgoritmen A*. A* är en algoritm som beräknar den kortaste vägen i en graf.
Inom robotiken så vill man kunna styra en robot till en slutposition för t.ex. en gripklo (end-effektorn) genom att ange koordinaterna (x,y,z) som end-effektorn ska vara i. För att åstadkomma detta så måste man beräkna vinklarna för robotens alla leder, så att end-effektorn hamnar i koordinaten (x,y,z). För att lösa detta problem så måste man skapa förenklad representation av robotens alla länkarmar och leder för att sedan definiera lokala koordinataxlar som utgår från ledernas grundposition.
Efter denna förenklade representation så behöver ska man med lite matematik 3c kunskaper (trigonometri) bestämma ledernas vinklar (3 första lederna). När detta är gjort så ska man gå över till att representera alla ledernas rotationer med rotationsmatriser. Rotationsmatriserna används för att definiera hur olika leder är roterade i relation till en tidigare led (oftast basleden). Med lite linjär algebra-magi och Wolfram Alpha så kommer man fram till en rotationsmatris för end-effektorn och kan extrahera de sista vinklarna.
Se video där inverse kinematics demonstreras på en robot som David har byggt.