This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
et:projects:wheeled_robot [2010/02/11 14:39] – mikk.leini | et:projects:wheeled_robot [2020/07/20 09:00] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
Liikurrobot (mobiilne robot) on üks tüüpilisemaid roboteid, mida soovitakse ehitada. Väga populaarsed on sumorobotid, | Liikurrobot (mobiilne robot) on üks tüüpilisemaid roboteid, mida soovitakse ehitada. Väga populaarsed on sumorobotid, | ||
- | Alljärgnevalt vaatame ühte tüüpilist | + | Alljärgnevalt vaatame ühte tüüpilist |
===== Lähteülesanne ===== | ===== Lähteülesanne ===== | ||
- | Projekteerida ja valmistada Kodulabori komponentide baasil multifunktsionaalne | + | Projekteerida ja valmistada |
* 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 | + | * Liikumiskiirus |
+ | * 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 | + | * Komponentide maksumus ei tohi ületada |
- | ~~PB~~ | + | < |
===== Süsteemi üldine mudel ===== | ===== Süsteemi üldine mudel ===== | ||
Line 31: | Line 32: | ||
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 ü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. | ||
- | [{{ : | + | [{{ : |
===== Ideelahendused ===== | ===== Ideelahendused ===== | ||
- | Antud ülesande lahenduseks kasutas meeskond ajurünnaku metoodikat ja genereeris 3 põhimõtteliselt erinevat lahendust. Koostati hindamismaatriks, | + | Antud ülesande lahenduseks kasutas meeskond ajurünnaku metoodikat ja genereeris 3 põhimõtteliselt erinevat lahendust. Koostati hindamismaatriks, |
- | [{{ : | + | [{{ : |
+ | |||
+ | < | ||
Lihtsustatud hindamismaatriks oli järgmine: | Lihtsustatud hindamismaatriks oli järgmine: | ||
- | ^ Funktsioon/ | + | ^ Funktsioon/ |
|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) ^ | + | ^Kokku (koos kaaluteguriga) ^ |
- | 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 | + | 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 |
- | 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 |
+ | |||
+ | ^ Funktsioon/ | ||
+ | |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 " | ||
+ | |||
+ | Edasine töö jätkus valitud lahenduse edasiarendusega reaalseks süsteemiks. | ||
+ | |||
+ | < | ||
===== Mehaanika ===== | ===== Mehaanika ===== | ||
Line 58: | Line 77: | ||
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. | 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. | ||
- | [{{ : | + | [{{ : |
Eraldi on projekteeritud roboti põrkeraud, mis on integreeritud puute- ja joonejälgimise anduritega. Põrkerauad on valmistatud trükiplaatidest, | Eraldi on projekteeritud roboti põrkeraud, mis on integreeritud puute- ja joonejälgimise anduritega. Põrkerauad on valmistatud trükiplaatidest, | ||
- | [{{ : | + | [{{ : |
===== Elektroonika ===== | ===== Elektroonika ===== | ||
- | Süsteemi elektroonika on kirjeldatud põhimõttelahendusena ja klassikalise elektriskeemina koos trükiplaadi | + | Süsteemi elektroonika on kirjeldatud põhimõttelahendusena ja klassikalise elektriskeemina koos trükiplaadi |
[{{ : | [{{ : | ||
- | Näitena on toodud roboti põrkeraua joonejälgimise andurite elektroonika skeem ja vastav trükiplaadi (PCB) skeem. | + | < |
- | [{{ : | + | Näitena on toodud roboti põrkeraua joonejälgimise |
- | [{{ : | + | [{{ : |
- | ~~PB~~ | + | [{{ : |
+ | |||
+ | < | ||
===== Juhtimine ===== | ===== Juhtimine ===== | ||
Line 84: | Line 105: | ||
==== Algoritm ==== | ==== 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, | + | 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, |
- | suhteliselt lihtne koostada. | + | Algoritmis on kasutatud põhiliselt kahte erinevat objekti: ümardatud nurkadega ristkülik, mis tähistab mingit tegevust |
- | Algoritmis on kasutatud põhiliselt kahte erinevat objekti: ümardatud nurkadega ristkülik tähistab mingit tegevust, väike romb mingi tingimuse | + | |
Algoritmis kasutatud tähiste tähendused: | Algoritmis kasutatud tähiste tähendused: | ||
^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| | | | | ||
- | [{{ : | + | [{{ : |
==== Lähtekood ==== | ==== Lähtekood ==== | ||
Line 120: | 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 127: | Line 153: | ||
dcmotor_drive(0, | dcmotor_drive(0, | ||
dcmotor_drive(1, | dcmotor_drive(1, | ||
- | + | | |
- | // Esimeste puuteandurite signaalide | + | // Keskmise anduri signaali |
- | 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, |
- | { | + | dcmotor_drive(1, |
- | // Mootorite reverseerimine | + | |
- | dcmotor_drive(0, | + | |
- | dcmotor_drive(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 | + | // Parema |
- | dcmotor_drive(1, | + | dcmotor_drive(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, | + | |
- | } | + | |
+ | // Parema anduri signaali kontroll | ||
+ | else if (pin_get_value(frontright)) | ||
+ | { | ||
+ | // Vasaku mootori reverseerimine | ||
+ | dcmotor_drive(0, | ||
+ | |||
// Paus 2 sekundit | // Paus 2 sekundit | ||
sw_delay_ms(2000); | sw_delay_ms(2000); | ||
Line 168: | Line 194: | ||
</ | </ | ||
- | ===== 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, | + | ===== Valmislahendus ===== |
- | [{{ http://www.mehhatroonika.ee/ | + | 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, |
- | [{{ | + | [{{ :examples: |
+ | [{{ : | ||
- | ~~PB~~ | + | < |
===== Majanduskalkulatsioon ===== | ===== Majanduskalkulatsioon ===== | ||
Line 190: | 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 224: | ||
|Aku|NI-MH 9,6 V|1|350.-|350.-| | |Aku|NI-MH 9,6 V|1|350.-|350.-| | ||
|Erinevad kaablid| |10|20.-|200.-| | |Erinevad kaablid| |10|20.-|200.-| | ||
- | |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 212: | Line 239: | ||
^Kokku^ 11 ^ ^ 3225.- ^ | ^Kokku^ 11 ^ ^ 3225.- ^ | ||
- | Roboti hinnanguline maksumus kokku **7795.-** | + | Roboti hinnanguline maksumus kokku **7845.-** |
Arvutatud roboti maksumus on siiski hinnanguline, | Arvutatud roboti maksumus on siiski hinnanguline, |