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/11 23:33] 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}}]
 +
 +<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 48: 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 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 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. 
 + 
 +^ 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.
  
-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.+Edasine töö jätkus valitud lahenduse edasiarendusega reaalseks süsteemiks.
  
-Hindamise tulemusena osutus antud ülesande optimaalseimaks lahenduseks ratastel liikuv kahe eraldi mootoriga platvorm. Edasine töö jätkus valitud lahenduse edasiarendusega reaalseks süsteemiks.+<pagebreak>
  
 ===== Mehaanika ===== ===== Mehaanika =====
Line 66: Line 85:
 ===== Elektroonika ===== ===== Elektroonika =====
  
-Süsteemi elektroonika on kirjeldatud põhimõttelahendusena ja klassikalise elektriskeemina koos trükiplaadi pildiga.+Süsteemi elektroonika on kirjeldatud põhimõttelahendusena ja klassikalise elektriskeemina koos trükiplaadi montaažiskeemina.
  
 [{{  :examples:projects:robot:robot_electronics.png?500  |Elektroonikakomponentide plokkskeem}}] [{{  :examples:projects:robot:robot_electronics.png?500  |Elektroonikakomponentide plokkskeem}}]
  
-Näitena on toodud roboti põrkeraua joonejälgimise andurite elektriskeem ja vastava trükiplaadi (PCB) skeem.+<pagebreak> 
 + 
 +Näitena on toodud roboti põrkeraua joonejälgimise andurite elektriskeem ja vastava trükiplaadi (PCB) montaažiskeemiga.
  
 [{{  :examples:projects:robot:robot_pumper_skeem.png?500  |Põrkeraua andurite elektriskeem}}] [{{  :examples:projects:robot:robot_pumper_skeem.png?500  |Põrkeraua andurite elektriskeem}}]
Line 76: 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 90: Line 111:
  
 ^Tähis^Tähendus^0^1^-1^ ^Tähis^Tähendus^0^1^-1^
-|M0|parem mootor|seisab|pöörleb päripäeva|pöörleb vastupäeva| 
 |M1|vasak mootor|seisab|pöörleb päripäeva|pöörleb vastupäeva| |M1|vasak mootor|seisab|pöörleb päripäeva|pöörleb vastupäeva|
 +|M2|parem mootor|seisab|pöörleb päripäeva|pöörleb vastupäeva|
 |F|esimene keskmine puuteandur|signaal puudub|signaal olemas| | |F|esimene keskmine puuteandur|signaal puudub|signaal olemas| |
 |FR|esimene parem puuteandur|signaal puudub|signaal olemas | | |FR|esimene parem puuteandur|signaal puudub|signaal olemas | |
 |FL|esimene vasak puuteandur|signaal puudub|signaal olemas | | |FL|esimene vasak puuteandur|signaal puudub|signaal olemas | |
 +|d|viide| | | |
  
 [{{  :examples:projects:robot:robot_algoritm.png?500  |Algoritmi olekudiagramm}}] [{{  :examples:projects:robot:robot_algoritm.png?500  |Algoritmi olekudiagramm}}]
Line 119: 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 126: 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(1, 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)) 
- +
- // Vasaku mootori päripäeva käivitamine + // Parema mootori reverseerimine 
- dcmotor_drive(1, 1); + dcmotor_drive(1, -1); 
- } +  
- else + // Paus 2 sekundit 
-+ sw_delay_ms(2000); 
- // Parema mootori vastupäeva käivitamine + }
- // Vasaku mootori päripäeva käivitamine +
- dcmotor_drive(0, -1); +
- dcmotor_drive(1, 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 166: Line 193:
 } }
 </code> </code>
 +
 +<pagebreak>
  
 ===== Valmislahendus ===== ===== 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 standardmanipulaatorit, mille lülisid juhitakse samuti standardsete RC servomootoritega, kasutades nende ajuri juhtimiseks jadaliidest. Mõlemad variandid on näidatud allolevatel piltidel.+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. 
  
 [{{  :examples:projects:robot:robot_radar.png?580 |Robot infrapuna radariga}}] [{{  :examples:projects:robot:robot_radar.png?580 |Robot infrapuna radariga}}]
 [{{  :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 =====
Line 188: Line 217:
 |Toiteplaat|TP|1|500.-|500.-| |Toiteplaat|TP|1|500.-|500.-|
 |Joonejälgimise andurid|LFS QRD1114|8|30.-|240.-| |Joonejälgimise andurid|LFS QRD1114|8|30.-|240.-|
-|TS Microswitch|Puuteandurid|8|25.-|150.-|+|Puuteandurid|TS Microswitch|8|25.-|200.-|
 |Kere plaat|ABS |4|50.-|200.-| |Kere plaat|ABS |4|50.-|200.-|
 |Trükiplaadi toorik| |2|50.-|100.-| |Trükiplaadi toorik| |2|50.-|100.-|
Line 197: Line 226:
 |Mutrid-poldid| |1|50.-|50.-| |Mutrid-poldid| |1|50.-|50.-|
 |Muud tarvikud| |1|100.-|100.-| |Muud tarvikud| |1|100.-|100.-|
-^ Kokku ^ ^ ^ ^ 4570.- ^+^ Kokku  ^ ^ ^ ^ 4620.- ^
  
 Hinnanguline tööjõu- ja tootmiskulu üksikeksemplari korral. Hinnanguline tööjõu- ja tootmiskulu üksikeksemplari korral.
Line 210: Line 239:
 ^Kokku^ 11 ^ ^ 3225.- ^ ^Kokku^ 11 ^ ^ 3225.- ^
  
-Roboti hinnanguline maksumus kokku **7795.-**+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. 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.
et/projects/wheeled_robot.1265931212.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