Mapování bludiště robotem

Nedaří se vám s projektem a nenašli jste vhodné místo, kde se zeptat? Napište sem.
Pravidla fóra
Tohle subfórum je určeno pro konzultaci ucelených nápadů, popřípadě řešení komplexnějších projektů, které opravdu není možné rozdělit na menší části.
Většinu problémů jde rozdělit na menší a ptát se na ně v konkrétních subfórech.
Odpovědět
Thalorn
Příspěvky: 3
Registrován: 21 bře 2019, 21:39
Reputation: 0

Mapování bludiště robotem

Příspěvek od Thalorn » 21 bře 2019, 22:47

Dobrý den,
potřeboval bych poradit s projektem, ve kterém robotem projíždím celé bludiště a vykresluji mapu na pc. Můj problém spočívá v tom, že nevím jak převést pohyb do souřadnic x a y.

Děkuji za rady.

Uživatelský avatar
gilhad
Příspěvky: 779
Registrován: 07 bře 2018, 11:22
Reputation: 0

Re: Mapování bludiště robotem

Příspěvek od gilhad » 22 bře 2019, 04:32

V podstate to mas jednoduche - budes si zaznamenavat, kam ses otocil a jak dlouho jsi jel (pripadne jakou rychlosti). Pak z toho zpetne dopocitas trasu.

Problem je, jak urcit presne ty uhly a vzdalenosti, protoze pokud pojedes "jen tak" tak se ti ty chyby budou kumulovat.

Pokud je to bludiste pravouhle a pravidelne (nakreslene na ctvercove siti), tak je to jednoduche - pokazde kdyz dojedes ke krizovatce, tak se zaokrouhlis k ni a k nejblizsimu "pravouhlemu" smeru a tim se zbavis nepresnosti (pokud zatim nedosahly az k dalsi krizovatce).

Takze kdyz zacnes "vodorovne doprava" v bodu 0,0 a pojedes rovne (1,0, >), rovne(2,0,>), doleva(2,0,^), rovne(2,1,^), doprava (2,1,>), rovne(3,1,>) doleva (3,1,^), rovne(3,2,^), doleva(3,2,<), rovne (2,2,<), rovne(1,2,<) tak skoncis ve vzdalenosti 1 ve smeru osy X, 2 ve smeru osy Y a natoceny vodorovne doleva


kdyz jedes ctverec doprava, X se zvysi o 1, kdyz doleva, snizi se o 1, kdyz nahoru, y se zvysi o 1, kdyz dolu tak se snizi.

(Nebo si zmeris hranu ctvrece a prepoctes to na centimetry, treba ctverec bude 25x25 cm)

Axamith
Příspěvky: 530
Registrován: 09 srp 2017, 08:17
Reputation: 0
Kontaktovat uživatele:

Re: Mapování bludiště robotem

Příspěvek od Axamith » 22 bře 2019, 05:47

Co použít Arduino kompas, tím by se úhly daly měřit poměrně slušně.

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Mapování bludiště robotem

Příspěvek od pavel1tu » 22 bře 2019, 07:19

Hehe
teď si hraji s mBootem - pohledej po internetu - někdo to už řešil,
já se na to nechci koukat - chci to řešit s mladým "sám" bez pomoci - je třeba trénovat mozek.
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

zbysek
Site Admin
Příspěvky: 125
Registrován: 22 úno 2017, 15:18
Reputation: 0

Re: Mapování bludiště robotem

Příspěvek od zbysek » 24 bře 2019, 10:30

Dobrý den,
tyto problémy jsou celkem dobře prozkoumané a jsou různé způsoby, jak k nim přistupovat.

Zkuste pohledat Arduino and SLAM.
SLAM jsou obecně algoritmy pro současné mapování a lokalizaci robota v neznámém prostředí.

K tomo převodu pohybu na polohu. Úplně nejjednodušší možností je
a) počáteční polohu si označit jako souřadnice [0, 0]
b) natočení robota zjišťovat pomocí kompasu (tím se dá zjistit směr pohybu)
c) rychlost robota spočítáte z úhlové rychlosti otáčení motoru a obvodu pneumatik (přibližně), čas pohybu taky změříte - prostě měříte jak dlouho se ovládají kola
d) protože znáte velikost rychlosti i směr, můžete rozložit rychlost do jednotlivých os (sinus a cosinus) a z toho dopočítávat polohu

To, co jsem popsal, je velice základní algoritmus a využívá tzv. odometrie. Je celkem náchylný k chybám. Někde se ale začít musí :)
Potom se dají ještě kombinovat měření z různých senzorů (akcelerometr, gyroskop, kamery, ...). To už ale roste komplexita. Pokud vás to zajímá, hledejte SLAM algoritmy.

Docela pěkná práce, která mapování robotem řeší je: https://dspace.cvut.cz/handle/10467/68406

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 8 hostů