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/14 23:26] – raivo.sell | 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 35: | Line 36: | ||
===== 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, |
[{{ : | [{{ : | ||
- | ~~PB~~ | + | < |
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 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) ^ | + | ^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. | + | Hindamise tulemusena osutus antud ülesande optimaalseimaks lahenduseks |
- | ~~PB~~ | + | ^ 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 74: | Line 89: | ||
[{{ : | [{{ : | ||
- | ~~PB~~ | + | < |
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: | ||
[{{ : | [{{ : | ||
- | ~~PB~~ | + | < |
===== 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, | 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(0, | + | dcmotor_drive(0, |
- | } | + | |
+ | // 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, | + | dcmotor_drive(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, | ||
+ | |||
// Paus 2 sekundit | // Paus 2 sekundit | ||
sw_delay_ms(2000); | sw_delay_ms(2000); | ||
Line 172: | Line 194: | ||
</ | </ | ||
- | ~~PB~~ | + | < |
===== Valmislahendus ===== | ===== Valmislahendus ===== | ||
Line 181: | Line 203: | ||
[{{ : | [{{ : | ||
- | ~~PB~~ | + | < |
===== Majanduskalkulatsioon ===== | ===== Majanduskalkulatsioon ===== |