Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
et:projects:wheeled_robot [2010/02/14 23:26] raivo.sellet:projects:wheeled_robot [2020/07/20 09:00] (current) – external edit 127.0.0.1
Line 1: Line 1:
-====== Liikurroboti platvorm ======+====== Mobiilne robotplatvorm ======
  
 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. 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 dokumentatsiooni ja selle projekteerimise erinevaid etappe.+Alljärgnevalt vaatame ühte tüüpilist mobiilse robot platvormi projekti dokumentatsiooni ja selle projekteerimise erinevaid etappe.
  
 ===== Lähteülesanne ===== ===== 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:+Projekteerida ja valmistada Robootika Kodulabori komponentide baasil multifunktsionaalne mobiilse roboti platvorm koos baasnavigatsiooni funktsionaalsusega. Robotplatvorm peab võimaldama lihtsalt muuta tema operatiivfunktsionaalsust, varustades teda erinevate seadmetega:
   * Manipulaator   * Manipulaator
   * Radar   * Radar
   * Kaamera   * Kaamera
-Robot peab olema võimeline liikuma tasasel pinnal sisetingimustes.+Robot peab olema võimeline liikuma tasasel pinnal sisetingimustes. Kulutuste optimeerimiseks võib kasutada olemasolevid veermikke.
  
 ==== Nõuded ==== ==== Nõuded ====
Line 17: Line 17:
   * Maksimaalsed gabariidid: 20 cm x 20 cm x 20 cm   * Maksimaalsed gabariidid: 20 cm x 20 cm x 20 cm
   * Maksimaalne kaal 2 kg   * Maksimaalne kaal 2 kg
-  * Liikumiskiirus max. 0,m/s+  * Liikumiskiirus min. 0,m/s 
 +  * Lihtne lisaseadme lisamise võimalus
   * Täisautonoomne   * Täisautonoomne
  
Line 23: Line 24:
  
   * Peab olema koostatud valdavalt Kodulabori komponentidest   * Peab olema koostatud valdavalt Kodulabori komponentidest
-  * Ei tohi ületada maksumust 10 000 krooni+  * Komponentide maksumus ei tohi ületada 600 €
  
-~~PB~~+<pagebreak>
  
 ===== Süsteemi üldine mudel ===== ===== Süsteemi üldine mudel =====
Line 35: Line 36:
 ===== Ideelahendused ===== ===== 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.+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. 
  
 [{{  :examples:projects:robot:robot_ideekavandid.png?500  |Ideekavandid}}] [{{  :examples:projects:robot:robot_ideekavandid.png?500  |Ideekavandid}}]
  
-~~PB~~+<pagebreak>
  
 Lihtsustatud hindamismaatriks oli järgmine: Lihtsustatud hindamismaatriks oli järgmine:
  
-^ Funktsioon/Lahendus ^ I ^ II ^ III ^ Kaalutegur ^+^ Funktsioon/Lahendus ^ I ideelahendus ^ II ideelahendus ^ III ideelahendus ^ Kaalutegur ^
 |Maksumus | 3 | 4 | 6 | 0,8 | |Maksumus | 3 | 4 | 6 | 0,8 |
 |Valmistamise keerukus | 2 | 4 | 7 | 0,7 | |Valmistamise keerukus | 2 | 4 | 7 | 0,7 |
Line 50: Line 51:
 |Kodulabori rakendatavus | 5 | 4 | 5 | 0,9 | |Kodulabori rakendatavus | 5 | 4 | 5 | 0,9 |
 |Kaal | 5 | 6 | 7 | 0,8 | |Kaal | 5 | 6 | 7 | 0,8 |
-^Kokku (koos kaaluteguriga) ^ 19^2728^ ^+^Kokku (koos kaaluteguriga) ^ 15,8^20,824,4^ ^
  
-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 oli oluliselt võimekam raskel maastikul liikumisel, ei olnud seda lähteülesandes nõutud ja vastava funktsionaalsuse kaalutegur oli sellest tulenevalt madal.+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 II 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.+Hindamise tulemusena osutus antud ülesande optimaalseimaks lahenduseks variant I - ratastel liikuv kahe eraldi mootoriga platvorm. Kuna lähteülesandes oli lubatud kasutada ka olemasolevaid veermikke teostati kiire uuring ja valiti kolm olemasolevat platvormi, mida võrreldi ideelahenduse võitnud kontseptsiooniga. Võrdlus viidi läbi samadel tingimustel, kui ideelahenduste hindamine, kuid lisandus kriteerium "Lisaseadme paigalduse ruum", kuna erinevalt ise projekteeritavatest platvormidest on olemasoleva veermiku konstruktsiooni muutmine keeruline.
  
-~~PB~~+^ Funktsioon/Lahendus ^ Ideelahendus ^ Ratastel platvorm ^ Lintidega platvorm ^ Kaalutegur ^ 
 +|Maksumus | 3 | 8 | 6 | 0,8 | 
 +|Valmistamise keerukus | 2 | 8 | 9 | 0,7 | 
 +|Manööverdamisvõime | 4 | 6 | 8 | 0,5 | 
 +|Läbivus | 5 | 3 | 10 | 0,3 | 
 +|Kodulabori rakendatavus | 5 | 6 | 8 | 0,9 | 
 +|Kaal | 5 | 7 | 6 | 0,8 | 
 +|Lisaseadme paigalduse ruum     | 10 | 2 | 7 | 0,8 | 
 +^Kokku (koos kaaluteguriga) ^ 23,8^23,5^ 35,7^ ^ 
 + 
 +Kuna üheks olulisemaks prioriteediks oli peale kodulabori komponentide kasutamise hind, siis otsustati valmislahenduse "Lintidega platvorm" kasuks. Võrdlusanalüüsidest järeldub ka, et kasutades valmisplatvormi, on mõistlikum valida lintidega platvorm. Ise valmistamise korral oleks aga lintidega platvormi valmistamiskulud liiga kõrged ja mõistlikum oleks teha ratastega platvorm. 
 + 
 +Edasine töö jätkus valitud lahenduse edasiarendusega reaalseks süsteemiks. 
 + 
 +<pagebreak>
  
 ===== Mehaanika ===== ===== Mehaanika =====
Line 74: Line 89:
 [{{  :examples:projects:robot:robot_electronics.png?500  |Elektroonikakomponentide plokkskeem}}] [{{  :examples:projects:robot:robot_electronics.png?500  |Elektroonikakomponentide plokkskeem}}]
  
-~~PB~~+<pagebreak>
  
 Näitena on toodud roboti põrkeraua joonejälgimise andurite elektriskeem ja vastava trükiplaadi (PCB) montaažiskeemiga. Näitena on toodud roboti põrkeraua joonejälgimise andurite elektriskeem ja vastava trükiplaadi (PCB) montaažiskeemiga.
Line 82: Line 97:
 [{{  :examples:projects:robot:robot_pumper_pcb.png?500  |Põrkeraua montaažiskeem}}] [{{  :examples:projects:robot:robot_pumper_pcb.png?500  |Põrkeraua montaažiskeem}}]
  
-~~PB~~+<pagebreak>
  
 ===== Juhtimine ===== ===== Juhtimine =====
Line 126: Line 141:
  dcmotor_init(0);  dcmotor_init(0);
  dcmotor_init(1);  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  // Lõputu tsükkel
Line 133: Line 153:
  dcmotor_drive(0, 1);  dcmotor_drive(0, 1);
  dcmotor_drive(1, 1);  dcmotor_drive(1, 1);
- +      
- // Esimeste puuteandurite signaalide kontroll + // Keskmise anduri signaali kontroll 
- if (pin_get_value(front) ||  + if (pin_get_value(front))
-     pin_get_value(frontleft) || +
-     pin_get_value(frontright))+
  {  {
- // Keskmise anduri signaali kontroll + // Mootorite reverseerimine 
- if (pin_get_value(front)) + dcmotor_drive(0, -1); 
-+ dcmotor_drive(1, -1);
- // Mootorite reverseerimine +
- dcmotor_drive(0, -1); +
- dcmotor_drive(1, -1);+
  
- // Paus 1 sekund + // Paus 1 sekund 
- sw_delay_ms(1000);+ sw_delay_ms(1000);
  
- // Vasaku mootori päripäeva käivitamine  + // Vasaku mootori päripäeva käivitamine  
- dcmotor_drive(0, 1); + dcmotor_drive(0, 1); 
- }+  
 + // Paus 2 sekundit 
 + sw_delay_ms(2000); 
 + }
  
- // Vasaku anduri signaali kontroll + // Vasaku anduri signaali kontroll 
- else if (pin_get_value(frontleft)) + else if (pin_get_value(frontleft)) 
- +
- // Parema mootori reverseerimine + // Parema mootori reverseerimine 
- dcmotor_drive(1, -1); + dcmotor_drive(1, -1); 
- } +  
- else + // Paus 2 sekundit 
-+ sw_delay_ms(2000); 
- // Vasaku mootori reverseerimine + }
- dcmotor_drive(0, -1); +
- }+
  
 + // Parema anduri signaali kontroll
 + else if (pin_get_value(frontright))
 + {
 + // Vasaku mootori reverseerimine
 + dcmotor_drive(0, -1);
 +
  // Paus 2 sekundit  // Paus 2 sekundit
  sw_delay_ms(2000);  sw_delay_ms(2000);
Line 172: Line 194:
 </code> </code>
  
-~~PB~~+<pagebreak>
  
 ===== Valmislahendus ===== ===== Valmislahendus =====
Line 181: Line 203:
 [{{  :examples:projects:robot:robot_camera.png?580  |Robot intelligentse kaameramooduliga (CMUcam3)}}] [{{  :examples:projects:robot:robot_camera.png?580  |Robot intelligentse kaameramooduliga (CMUcam3)}}]
  
-~~PB~~+<pagebreak>
  
 ===== Majanduskalkulatsioon ===== ===== Majanduskalkulatsioon =====
et/projects/wheeled_robot.1266190013.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