This is an old revision of the document!


Mobile robot platform

Mobile robot is one of the most popular robot for construction. Very common are sumo robots, sports robots (football, volleyball etc.), robots simulating rescue operations (firefighting, person or object finding etc.) and many other. For these kinds of robots there are many different competitions in the world and in Estonia, even standard classes have been developed (eg sumo robots). The common feature for these types of robots is mobile platform, which may have different construction and capabilities, but its main functionality remains the same. It is controlling the motors and basic navigation, which includes avoiding objects and travelling to the desired destination. Usually, a specific functionality is added to the main functionality, which is planned according to the requirements and opportunities set for the project.

Here we look at documentation of a typical mobile robot platform project and its different phases.

Preliminary tasks

Plan and construct a multifunctional mobile robot platform with basic navigation functionality using HomeLab components. Robot platform must have an easy-to-change operational functionality, when equipped with different gadgets:

  • Manipulator
  • Radar
  • Camera

Robot must be able to move on a flat surface in indoors.

Requirements

  • Maximum dimensions: 20 cm x 20 cm x 20 cm
  • Maximum weight 2 kg
  • Speed max. 0,2 m/s
  • Full autonomy

Restrictions

  • Must be constructed mainly from HomeLab components
  • Cannot exceed the cost limit 10 000 EEK

 

The overall model of the system

The overall model of the system is presented as a block diagram. It describes the structure, behaviour and other important aspects of the system. As an example, an hierarchical model of the overall system is depicted below.

Süsteemi struktuuri mudel

Design solutions

For this task the team used a brainstorming method and generated 3 conceptually different solutions. Evaluation matrix was compiled and the most optimum construction was found. The main differences of the solutions lay in the movement schemes.

Design solutions

 

Simplified evaluation matrix was as following:

Function/Solution I II III Weight factor
Cost 3 4 6 0,8
Complexity of building 2 4 7 0,7
Maneuverability 4 8 8 0,5
Permeability/läbitavus? 5 8 2 0,3
Applicability of HomeLab 5 4 5 0,9
Weight 5 6 7 0,8
Total (with weight factor) 1927 28

Evaluation scale was 1-10 points and weight factor 0-1. Weight factors were chosen according to the requirements and restrictions set for this system. Eg, although solution 2 was significantly more capable moving on rough ground, it wasn't required in the preliminary task and therefore the weight factor was low.

Based on the assessment the optimum solution for given task was proved to be a platform moving on two wheels with two separate motors. Further work continued developing the chosen solution into a real system.

 

Mechanics

Mechanics was tried to make as simple as possible, while following the principle of modularity. The front and the rear bumper are identical modules. Electronics have three modules, which are placed on top of each other, allowing simple ribakaabelühendusi, while ensuring relatively simple changeability of modules. Motors have been selected from HomeLab kit: motors with integrated reducer and coder, which are connected directly to the actuator of the motors. Model aircraft wheels have been used, because they are very light and strong enough for the robot. To simplify the construction the bottom and the top plate are identical. Plates are equipped with holes, allowing different devices to be attached on the top plate. Besides the electronic modules a battery fits between the plates as well.

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

Electronics

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

Elektroonikakomponentide plokkskeem

 

Näitena on toodud roboti põrkeraua joonejälgimise andurite elektriskeem ja vastava trükiplaadi (PCB) montaažiskeemiga.

Põrkeraua andurite elektriskeem
Põrkeraua montaažiskeem

 

Control system

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.

Algorithm

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 juba suhteliselt lihtne koostada. Algoritmis on kasutatud põhiliselt kahte erinevat objekti: ümardatud nurkadega ristkülik, mis tähistab mingit tegevust ja väike romb mingi tingimuse kontrollimiseks, millele järgneb vastavalt kontrolli tulemusena edasiste tegevuste käivitamine.

Algoritmis kasutatud tähiste tähendused:

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

Source code

Simple navigation

#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);
 
//
// Mainprogram
//
int main(void)
{
	// Mootorite 0 ja 1 algseadistamine
	dcmotor_init(0);
	dcmotor_init(1);
 
	// Andurite viigud sisendiks
	pin_setup_input_with_pullup(front);
	pin_setup_input_with_pullup(frontleft);
	pin_setup_input_with_pullup(frontright);
 
	// Lõputu tsükkel
	while (true)
	{
		// Mootorite päripäeva käivitamine
		dcmotor_drive(0, 1);
		dcmotor_drive(1, 1);
 
		// 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(0, 1);
 
			// Paus 2 seconds
			sw_delay_ms(2000);
		}
 
		// Vasaku anduri signaali kontroll
		else if (pin_get_value(frontleft))
		{
			// Parema mootori reverseerimine
			dcmotor_drive(1, -1);
 
			// Paus 2 seconds
			sw_delay_ms(2000);
		}
 
		// Parema anduri signaali kontroll
		else if (pin_get_value(frontright))
		{
			// Vasaku mootori reverseerimine
			dcmotor_drive(0, -1);
 
			// Paus 2 sekundit
			sw_delay_ms(2000);
		}
	}
}

 

Ready-to-use solution

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. Teise lahendusena paigaldati platvormile intelligentne kaameramoodul masinnägemise ülesannete lahendamiseks. Mõlemad variandid on näidatud allolevatel piltidel. Kolmandaks seadmeks katsetati standardmanipulaatorit, mille lülisid juhitakse samuti standardsete RC servomootoritega, kasutades nende ajuri juhtimiseks jadaliidest.

Robot infrapuna radariga
Robot intelligentse kaameramooduliga (CMUcam3)

 

Economic calculation

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.-
PuuteanduridTS Microswitch825.-200.-
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.-
Total 4620.-

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 7845.-

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.

Project management

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

Summary and conclusions

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.

References and materials used

  1. Home Lab generic manual http://home.roboticlab.eu
  2. ATmega128 datasheet
  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. Project Management, Külim, 1999
  6. Bräunl, T. Embedded Robotics, Springer-Verlag, 2003
en/projects/wheeled_robot.1268036812.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