Algorytm "dla odkurzacza"

Jun 11, 2008 9 Replies

Witajcie,



Jestem laikiem, z elektroniką miałem do czynienia jeszcze w szkole podstawowej (kółko elektroniczne, pasjonująca sprawa!). Od dłuższego czasu nurtuje mnie następujący problem: Wyobraźcie sobie duże pomieszczenie, prostokątne, gdzieniegdzie kilka utrudnień w postaci mebli. Jaki algorytm mógłby posłużyć do sterowania odkurzaczem, którego zadaniem jest poodkurzać całe pomieszczenie? Odkurzacz powinien poruszać się w zorganizowany sposób, tj. nie odkurzać dwa razy tego samego miejsca jeżeli to nie jest konieczne. Metoda, w której odkurzacz na chybił-trafił jeździ po okolicy i kiedyś w końcu odkurzy wszystko odpada.



Czy urządzenie musiałoby mieć zadaną trasę? Czy urządzenie musiałoby mieć mapę? Czy istnieją znane Wam zbliżone do tego rozwiązania? Czy znacie nazwę algorytmu lub jakiś inny punkt zaczepienia, od którego mógłbym zacząć przeszukiwanie googla?


Bardzo dziękuję za wszelkie sugestie, Darek


Może coś w rodzaju algorytmów używanych w grafice komputerowej do wypełniania obszarów kolorem...? Wrzuć w Googla "area filling algorithm".

Pozdrawiam,

Przyda³a by siê mu równiez informacja, czy da³o siê jaki¶ fragment odkurzyæ czy jeszcze co¶ zosta³o i trzeba przejechac jeszcze raz. Pomy¶l nad tym. Przy okazji nawigacji zerknij na dyskusje o kosiarce samojezdnej (nie pamiêtam tematu, ale z rok temu tu by³a, mo¿e jako dyskusja na 'sezon').

Micha³

Pan Michał Lankosz napisał:

Zanim nauczy się sieć neuronową, która będzie rozpoznawała śmieci w polu widzenia kamery, można drogą satelitarną transmitować obraz do Indii lub Chin w celu poddania wzrokowej ocenie przez odpowiednio przeszkolony personel. Tam siła robocza jest jeszcze względnie tania.

Szkoda, bo mia³aby tak± fajn± nazwê - Monte Carlo ;-)

Nie.

Nie.

Przedstawiæ pomieszczenie w postaci pixeli, które mog± mieæ warto¶ci:

-nieznany,

-odkurzony,

-niedostêpny.

Wykorzystaæ wspomniany przez Artura algorytm wype³niania wiaderkiem w programach graficznych wzbogacony o znjdowanie najkrótszej trasy do obszarów nieznanych. Wydaje mi siê, ¿e lepszym by³by algorytm jazdy "po ¶cianie", czyli po granicy miêdzy obszarem nieznanym, a odkurzonym lub niedostêpnym.

Czy to nie jest wlasnie mapa (bitmapa)?

c.

Mam taki automatyczny odkurzacz. Strona producenta to:

formatting link
Zapewne w sieci znajdziesz wiele filmów jak porusza się to urządzenie. Może po ich obejrzeniu odgadniesz algorytm sprzątania. Zajrzyj również na
formatting link
Są tam szczegółowe informacje jak rozbudować lub sterować tym urządzeniem. Cena najtańszej wersji to 149$. Zobacz jeszcze
formatting link
Paweł

moze probowac robic 'spiralki' - do zewnatrz, az do 'oporu'. kazda 'spiralka' pozwolilaby odkurzaczowi znalezc przeszkody.

jesli nie ma 'orientatora' w przestrzeni (a prosty odkurzacz bez zyroskopu i silnikow krokowych na kolka nie bedzie mial takich cudow) to moze po prostu probowac zgadnac jak przeszkoda 'przeszkadza' w dopelnieniu spirali i 'kontynuowac' ja . duzym bonusem bedzie jesli odkurzacz bedzie potrafil wykumac pod jakim katem natrafil na przeszkode chociaz z minimalnym przyblizeniem i mial 'redundantne' czujki przeszkod (np. podczerwien, ultradzwieki i mechaniczna) - co ulatwi 'orientacje' kodowi tworzacemu 'mape' pomieszczenia i pozwoli uzywac przeszkod jako punktow odniesienia.

spiralny algorytm trzeba uzupelnic oczywiscie 'podazaj za krawedzia' - tak zeby odkurzacz objechal tez pomieszczenie dookola. czujki umozliwia stworzenie chociaz przyblizonej wektorowej mapy i heurystyke - czy juz zwiedzilismy wszystko w pomieszczeniu, w ktorym 'rogu' pomieszczenia jestesmy (i ile ma w ogole katow).

nie bedzie to algorytm idealny, ale powinien miec z 50-90% skutecznosci (50-10% przypadkow odkurzenia tego samego miejsca), w zaleznosci od skomplikowania ukladu pomieszczenia i ilosci przeszkod ktore odkurzacz ma objechac dookola lub wewnatrz .

pozdrawiam

--

Dariusz Pelka pisze:

poszukaja czegos co jak dobrze pamietam nazywalo sie clara

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required