This is an old revision of the document!


Liikurroboti platvorm

Liikurrobot (mobiilne robot) on üks tüüpilisemaid roboteid, mida soovitakse ehitada. Väga populaarsed on sumorobotid, mängurobotid (jalgpall, võrkpall jms.), päästeoperatsioone simuleerivad (tuletõrje, isiku või objekti leidmine jms.) robotid ja mitmed muud. Sellistele robotitele korraldatakse maailmas ja ka Eestis mitmeid erinevaid võistlusi ja on isegi kujunenud välja standardklassid (näiteks sumorobotid). Kõigi seda tüüpi robotite ühiseks jooneks on tavaliselt liikuv platvorm, mis võib olla küll erineva konstruktsiooni ja võimekusega, kuid oma baasfunktsionaalsuselt jääb samaks. Selleks baasfunktsionaalsuseks on eelkõige mootorite juhtimine ja baasnavigeerimine, mis hõlmab endas objektidest eemalhoidmist ja soovitud sihtkohta sõitmist. Baasfunktsionaalsusele lisandub tavaliselt ülesande spetsiifiline funktsionaalsus, mis projekteeritakse lähtuvalt projektile esitatavatest nõuetest ja võimalustest.

Alljärgnevalt vaatame ühte tüüpilist liikurroboti platvormi projekti ja selle projekteerimise erinevaid etappe.

Lähteülesanne

Projekteerida ja valmistada Kodulabori komponentide baasil multifunktsionaalne liikurroboti platvorm koos baasnavigatsiooni funktsionaalsusega. Robotplatvorm peab võimaldama lihtsalt muuta tema operatiivfunktsionaalsust, varustades teda erinevate seadmetega:

  • Manipulaator
  • Radar
  • Kaamera

Robot peab olema võimeline liikuma tasasel pinnal sisetingimustes.

Nõuded

  • Maksimaalsed gabariidid: 20 cm x 20 cm x 20 cm
  • Maksimaalne kaal 2 kg
  • Liikumiskiirus max. 0,2 m/s
  • Täisautonoomne

Piirangud projekteerimisele

  • Peab olema koostatud valdavalt Kodulabori komponentidest
  • Ei tohi ületada maksumust 10 000 krooni

 

Süsteemi üldine mudel

Süsteemi üldine mudel on esitatud plokkdiagrammidena. Süsteemi mudel kirjeldab süsteemi struktuuri, käitumist jt. olulisi aspekte. Alljärgnevalt on näiteks toodud süsteemi struktuuri üldine hierarhiline mudel.

Süsteemi mudel.

Ideelahendused

Antud ülesande lahenduseks kasutas meeskond ajurünnaku metoodikat ja genereeris 3 põhimõtteliselt erinevat lahendust. Koostati hindamismaatriks, mille abil leiti optimaalseim konstruktsioon. Lahenduste põhiline erinevus seisnes erinevates liikumisskeemides.

Ideekavandid.

Lihtsustatud hindamismaatriks oli järgmine:

Funktsioon/Lahendus I II III Kaalutegur
Maksumus 3 4 6 0,8
Valmistamise keerukus 2 4 7 0,7
Manööverdamisvõime 4 8 8 0,5
Läbivus 5 8 2 0,3
Kodulabori rakendatavus 5 4 5 0,9
Kaal 5 6 7 0,8
Kokku (koos kaaluteguriga) 1927 28

Hindamisskaala oli 1-10 punkti ja kaalutegur 0-1. Kaalutegurid olid valitud lähtuvalt süsteemile esitatud nõuetest ja piirangutest. Kuigi näiteks lahendus 2 oli oluliselt võimekam raskel maastikul liikumisel, ei olnud seda lähteülesandes nõutud ja vastava funktsionaalsuse kaalutegur oli sellest tulenevalt madal.

Hindamise tulemusena osutus antud ülesande optimaalseimaks lahenduseks ratastel liikuv kahe eraldi mootoriga platvorm. Edasine töö jätkus valitud lahenduse edasiarendusega reaalseks süsteemiks.

Mehaanika

Mehaanika püüti valmistada võimalikult lihtne, järgides samal ajal modulaarsuse põhimõtet. Esimene ja tagumine põrkeraud on identsed moodulid. Elektroonika osas on kasutatud kolme moodulit, mis on paigutatud üksteise peale, võimaldades nii lihtsaid ribakaabelühendusi ja tagades samal ajal moodulite suhteliselt lihtsa vahetatavuse. Mootoriteks on valitud Kodulabori komplektis olevad integreeritud reduktori ja koodriga mootorid, mis on ühendatud otse mootorite ajurplaadiga. Ratasteks on kasutatud mudellennuki rattaid, mis on väga kerged ja piisavalt tugevad antud roboti jaoks. Valmistamise lihtsuse huvides on roboti alusplaat ja pealmine plaat identsed. Plaadid on varustatud avadega, võimaldades nii pealmisele plaadile kinnitada erinevaid seadmeid. Kahe plaadi vahele mahub lisaks elektroonikamoodulitele ka aku.

Algne 3D mudel robotist ja selle komponentide omavahelistest paiknemisest.

Eraldi on projekteeritud roboti põrkeraud, mis on integreeritud puute- ja joonejälgimise anduritega. Põrkerauad on valmistatud trükiplaatidest, omades lisaks konstruktsioonile ka elektriühendusi. Joonejälgimise andurid on joodetud otse põrkeraua alumisele plaadile. Puuteandurid (mikrolülitid) on paigutatud kahe põrkeraua plaadi vahele ja eestpoolt kaetud ühtse kummiribaga. Kummiriba summutab põrkejõudu ja võimaldab samal ajal täpsemalt tuvastada, mis suunalt löök tuli.

Põrkeraua plaadi tööjoonis.

Elektroonika

Süsteemi elektroonika on kirjeldatud põhimõttelahendusena ja klassikalise elektriskeemina koos trükiplaadi pildiga.

Elektroonikakomponentide plokkskeem

Näitena on toodud roboti põrkeraua joonejälgimise andurite elektroonika skeem ja vastav trükiplaadi (PCB) skeem.

Põrkeraua andurite elektriskeem.
Põrkeraua montaažiskeem.

 

Juhtimine

Roboti juhtimine tuleneb süsteemi käitumismudelist ja on määratud lähteülesande funktsionaalsusega ning nõuete ja piirangutega. Süsteemi käitumismudelist luuakse täpsustatud juhtprogrammi algoritm, millest omakorda lähtutakse tarkvara programmikoodi koostamisel. Kõik kolm taset (käitumismudel-algoritm-lähtekood) peavad olema omavahel kooskõlas.

Algoritm

Algoritm kirjeldab süsteemi juhtloogikat ja on esitatud plokkdiagrammina. Lihtsama algoritmi koostamiseks piisab paarist elemendist ja nendevaheliste seoste kirjeldamisest. Kui roboti algoritm on koostatud korrektselt, siis on sellest roboti juhtprogrammi suhteliselt lihtne koostada. Algoritmis on kasutatud põhiliselt kahte erinevat objekti: ümardatud nurkadega ristkülik tähistab mingit tegevust, väike romb mingi tingimuse kontrollimist ja vastavalt kontrolli tulemusena järgneb edasiste tegevuste käivitamine.

Algoritmis kasutatud tähiste tähendused:

TähisTähendus01-1
M0parem mootorseisabpöörleb päripäevapöörleb vastupäeva
M1vasak mootorseisabpöörleb päripäevapöörleb vastupäeva
Fesimene keskmine puuteandursignaal puudubsignaal olemas
FResimene parem puuteandursignaal puudubsignaal olemas
FLesimene vasak puuteandursignaal puudubsignaal olemas
Algoritmi olekudiagramm.

Lähtekood

Lihtne navigeerimine

#include <homelab/module/motors.h>
#include <homelab/pin.h>
#include <homelab/delay.h>
 
// Põrkeandurite viikude defineerimine
pin front      = PIN(C, 0);
pin frontleft  = PIN(C, 1);
pin frontright = PIN(C, 2);
 
//
// Põhiprogramm
//
int main(void)
{
	// Mootorite 0 ja 1 algseadistamine
	dcmotor_init(0);
	dcmotor_init(1);
 
	// Lõputu tsükkel
	while (true)
	{
		// Mootorite päripäeva käivitamine
		dcmotor_drive(0, 1);
		dcmotor_drive(1, 1);
 
		// Esimeste puuteandurite signaalide kontroll
		if (pin_get_value(front) || 
		    pin_get_value(frontleft) ||
		    pin_get_value(frontright))
		{
			// Keskmise anduri signaali kontroll
			if (pin_get_value(front))
			{
				// Mootorite reverseerimine
				dcmotor_drive(0, -1);
				dcmotor_drive(1, -1);
 
				// Paus 1 sekund
				sw_delay_ms(1000);
 
				// Vasaku mootori päripäeva käivitamine 
				dcmotor_drive(1, 1);
			}
 
			// Vasaku anduri signaali kontroll
			else if (pin_get_value(frontleft))
			{
				// Vasaku mootori päripäeva käivitamine
				dcmotor_drive(1, 1);
			}
			else
			{
				// Parema mootori vastupäeva käivitamine
				// Vasaku mootori päripäeva käivitamine
				dcmotor_drive(0, -1);
				dcmotor_drive(1, 1);
			}
 
			// Paus 2 sekundit
			sw_delay_ms(2000);
		}
	}
}

Valmislahendus

Projekti raames valminud robotplatvorm on valmistatud üldjoontes plastikust, välja arvatud mootori kinnitused, mis on valmistatud alumiiniumprofiilist. Elektroonikamoodulid on paigutatud üksteise peale, aku on lahtiselt kahe plaadi vahel. Põrkerauad on valmistatud trükkplaadist ja värvitud mustaks. Roboti pealmine plaat on täiesti sile, võimaldades sinna kinnitada erinevaid soovitud seadmeid. Projekti raames paigaldati robotplatvormile lihtne radar, mis koosnes väikesest RC servomootorist ja infrapunaandurist. Teiseks seadmeks katsetati standardmanipulaatoreid, mille lülisid juhitakse samuti standardsete RC servodega. Mõlemad variandid on näidatud allolevatel piltidel.

Invalid Link
Robot infrapuna radariga.
Invalid Link
Robot manipulaatoriga.

 

Majanduskalkulatsioon

Majanduslik kalkulatsioon hõlmab endas komponentide maksumust ja roboti detailide valmistamise ning koostamise kulusid.

Komponentide maksumuse tabel

KomponentMarkKogusHindMaksumus
MootorM LE149.6.432500.-1000.-
MikrokontrolleruC ATmega1281900.-900.-
Mootorite juhtplaatActuator Board v1.21700.-700.-
ToiteplaatTP1500.-500.-
Joonejälgimise anduridLFS QRD1114830.-240.-
TS MicroswitchPuuteandurid825.-150.-
Kere plaatABS 450.-200.-
Trükiplaadi toorik 250.-100.-
Mootorikinnituse profiilAl-L 210.-20.-
Ratas60/10 mm 230.-60.-
AkuNI-MH 9,6 V1350.-350.-
Erinevad kaablid 1020.-200.-
Mutrid poldid 150.-50.-
Muud tarvikud 1100.-100.-
Kokku 4570.-

Hinnanguline tööjõu- ja tootmiskulu üksikeksemplari korral.

TööAeg (h)HindMaksumus
Konstruktsioonidetailide freesimine1300.-300.-
Trükiplaatide (põrkerauad) freesimine0,5500.-250.-
Roboti konstruktsiooni koostamine0,5250.-125.-
Põrkeraudade koostamine (komponentide jootmine)1300.-300.-
Programmeerimine5300.-1500.-
Dokumentatsiooni koostamine3250.-750.-
Kokku 11 3225.-

Roboti hinnanguline maksumus kokku 7795.-

Arvutatud roboti maksumus on siiski hinnanguline, kuna tegemist on õppeotstarbelise projektiga, kus enamik tööd ja koostamist on tehtud oluliselt suuremas mahus, kuid otsese rahalise tasuta. Seetõttu on töö- ja ajakulu ligikaudne ja ei kajasta tegelikku olukorda.

Projektijuhtimine

Mehhatroonikasüsteem (Robot) on loodud meeskonnatööna ja kindla ajakava ning eelarvega, omades seega enamuse olulisi projekti tunnuseid. Projektijuhtimise seisukohalt olid olulised tegevused: aja planeerimine, meeskonnatöö planeerimine ja juhtimine, eelarve jälgimine ja vahendite hankimine, jooksev aruandlus juhendajale, lõpptulemuse presentatsioon ja dokumenteerimine. Projekti aruandele lisatakse töögruppide koosolekute protokollid, projekti plaan (soovitavalt Gantti diagrammina), ressursijaotus (k.a. inimressurss) ja planeeritud ning tegelik eelarve. Näiteks on toodud lihtne tegevuste plaan Gantti diagrammina.

Projekti tegevusdiagramm

Kokkuvõte ja järeldused

Majanduslik kalkulatsioon näitas meile, et roboti tootmishind on üsna kõrge, eriti kui tegemist on ainueksemplariga, kuid jäi siiski lähteülesandes etteantud piiridesse. Tootmise hinda saaks kindlasti oluliselt alandada, optimeerides komponentide ja materjalikulu ning tootes korraga suurema koguse roboteid. Projekti käigus tutvusime mehhatroonikasüsteemi projekteerimise, valmistamise ja testimisega, mis andis meile esmakordse sellelaadse kogemuse.

Töö lõpus selgus tõsiasi, et roboti korralikuks töötamiseks on vaja oluliselt rohkem aega planeerida testimisele, seda eriti tarkvara osas. Erinevad moodulid ei pruugi alati koos korrektselt töötada, kuigi eraldi katsetades oli kõik korras. See näitab, et süsteemi moodulite integreerimine on tõsine väljakutse ja selleks tuleb planeerida oluliselt rohkem aega ja ressurssi.

Kokkuvõteks arvame, et projekt oli väga huvitav ja hariv ning andis aimu integreeritud süsteemide projekteerimisest ja valmistamisest.

Viited ja kasutatud materjalid

  1. Kodulabori juhendmaterjal http://home.roboticlab.eu
  2. ATmega128 andmeleht
  3. Dudziak, R., Köhn, C., Sell, R., Integrated Systems & Design, TUT Press, 2008
  4. Friendenthal, S., Moore, A., Steiner, A., A Practical Guide to SysML, Elsevier, 2008
  5. Perens, A. Projektijuhtimine, Külim, 1999
  6. Bräunl, T. Embedded Robotics, Springer-Verlag, 2003
et/projects/wheeled_robot.1265899189.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0