Skocz do zawarto艣ci

Lokalizacja na podstawie dalmierza laserowego i mapy


Kabotyn

Pomocna odpowied藕

Witajcie,
m贸j pierwszy post na forum 馃檪

Tworz臋 nowy temat, bo nie znalaz艂em nic co by przypomina艂o m贸j problem (藕le szukam?).

Mam nadzieje, 偶e m贸j problem oka偶e si臋 na tyle ciekawy, 偶e wywo艂a to dyskusj臋 i "burz臋 m贸zg贸w" 馃槈

Do rzeczy.

Mam dalmierz laserowy (UTM-30LX), z kt贸rego otrzymuj臋 dane w postaci punkt贸w (wsp贸艂rz臋dne, k膮t).

Mam te偶 map臋 pomieszczenia (te偶 w postaci wsp贸艂rz臋dnych).

Teraz opis problemu. W pomieszczeniu, kt贸rego map臋 mam (np. d艂ugi korytarz), umieszczam dalmierz laserowy, skanuje dowolny fragment pomieszczenia.

Jak najpro艣ciej na podstawie powy偶szych danych:

1) zlokalizowa膰 miejsce, z kt贸rego dokonano pomiaru (lokalizacja czujnika wzgl臋dem pomieszczenia)?

2) Pokaza膰 pokaza膰 drobne r贸偶nice (np. dostawiony 艣mietnik, albo zabrana szafa)?

Punkt drugi jest oczywi艣cie przy za艂o偶eniu, 偶e r贸偶nice s膮 na tyle ma艂e, 偶e nadal mo偶na zlokalizowa膰 miejsce pomiaru.

Na por贸wnanie dw贸ch odczyt贸w z dalmierza mam pewien pomys艂. Promienie lasera rozchodz膮 si臋 promieniowo, wi臋c nie mog臋 por贸wna膰 ca艂ego odczytu z map膮 bo b臋d膮 inne (w odczycie trac臋 naro偶niki, kt贸re s膮 w mapie). Wymy艣li艂em aby wyodr臋bni膰 kraw臋dzie ci膮g艂e, tzn je偶eli odleg艂o艣膰 punku k+1 nie jest wi臋ksza ni偶 ile艣 ni偶 odleg艂o艣膰 punktu k to zak艂adam, 偶e jest to jedna kraw臋d藕 (艣ciana, cokolwiek). Wtedy takie kraw臋dzie mog臋 por贸wnywa膰 z map膮.

Do por贸wnania, wymy艣li艂em sobie, aby zastosowa膰 algorytm Smitha鈥揥atermana, kt贸ry po drobnych zmianach wzgl臋dem pierwotnego za艂o偶enia, mo偶e mi pokaza膰 r贸偶nice w dw贸ch obrazach. 艢wiadomy jestem, 偶e mog膮 wyst臋powa膰 b艂臋dy w przypadku powtarzalnego kszta艂tu pomieszczenia (np. d艂ugi prostok膮t).

Co o tym s膮dzicie? Mo偶e jakie艣 inne pomys艂y? 艢mia艂o.

Problemem jest dla mnie lokalizacja czujnika na mapie. Mam pewne pomys艂y, ale s膮 one jeszcze mgliste.

Mo偶e kto艣 z Was mia艂 podobny problem? Jakie艣 pomys艂y, has艂a? Jakiekolwiek punkty zaczepienia b臋d膮 dla mnie pomocne.

Pozdrawiam, Artur

Link do komentarza
Share on other sites

Programowa艂em kiedy艣 robota Pioneer 3-DX, pe艂ni艂 podobn膮 funkcj臋. S臋k w tym, 偶e mia艂em do dyspozycji 18 sonar贸w (20cm梅5m) roz艂o偶onych dooko艂a robota, sal臋 o zr贸偶nicowanej geometrii (sto艂y, krzes艂a, szafy, stojaki na przewody, walizki itd) i robot miewa艂 spore problemy z samolokalizacj膮. Owszem, przy d艂u偶szej je藕dzie w ko艅cu ustala艂 swoje po艂o偶enie, ale nieraz oznacza艂o to odwiedzenie praktycznie ka偶dego charakterystycznego miejsca na mapie. Obawiam si臋, 偶e z pojedynczym dalmierzem ten czas samolokalizacji znacznie si臋 wyd艂u偶y... Natomiast w momencie, kiedy robot "zaskoczy艂" na og贸艂 ju偶 si臋 nie gubi艂. U偶ywa艂em softu MobileEyes przez zdalny pulpit, moja rola ograniczy艂a si臋 w zasadzie tylko do zaprogramowania wyznaczania 艣cie偶ki ruchu w przypadku pojawienia si臋 przeszkody nieuj臋tej na mapie, ale po co wywa偶a膰 otwarte drzwi 馃槈

Link do komentarza
Share on other sites

Nawyk, no to tu zamiast 18 sonar贸w masz ich ponad 1000 馃檪

Kabotyn, napisz jak wygl膮da pokrycie powierzchni pomieszczenia 30-metrowym zakresem pracy tego UTMa. Je偶eli zawsze widzisz ca艂o艣膰 pokoju, to sprawa chyba troch臋 si臋 upraszcza. Je偶eli w pomieszczeniu mog膮 znale藕膰 si臋 przedmioty nie stoj膮ce pod 艣cianami, w pierwszej kolejno艣ci spr贸bowa艂bym si臋 ich z obrazu pozby膰 przeje偶d偶aj膮c kawa艂ek i nak艂adaj膮c kilka skan贸w na siebie. Wtedy m贸g艂by艣 "zajrze膰" za takie przeszkody i oszacowa膰 rzeczywisty kszta艂t 艣cian odrzucaj膮c echa przeszk贸d. Potem maj膮c ju偶 taki obraz spr贸bowa艂bym metod korelacyjnych. Acha, rozumiem, 偶e dalmierz oddaje dane w uk艂adzie biegunowym (k膮t, odleg艂o艣膰). Do takiego samego formatu przekonwertowa艂bym kartezja艅sk膮 map臋 pomieszczenia i potem ju偶 tylko na tej postaci pracowa艂. Traktuj膮c taki dook贸lny (360st) skan wzorcowego pomieszczenia jak wektor liniowy, szuka艂bym w nim takiego wycinka (bo ten dalmierz ma mniejszy ogl膮d, chyba poni偶ej 270st) kt贸ry najlepiej pasuje do obrazu ze skanera. Gdyby robot sta艂 w tym samym miejscu, kt贸re by艂o punktem zerowym mapy wzorcowej to super ale zwykle tak nie b臋dzie. Wtedy skan b臋dzie w stosunku do wzorca jako艣 zniekszta艂cony. Na p艂aszczy藕nie to jest intuicyjnie 艂atwe bo to zwyk艂e przesuni臋cie r贸wnoleg艂e kszat艂t贸w 2D ale we wsp贸艂prz臋dnych biegunowych to b臋dzie jaki艣 rodzaj sinusoidy na艂o偶onej na skan a jej amplituda i faza b臋d膮 m贸wi艂y o Twojej pozycji. Zawarto艣膰 tej sinusoiudy mo偶naby bada膰 robi膮c np FFT na wynikach korelacji (tych kt贸re s膮 rokuj膮ce oczywi艣cie) i badaj膮c np. stosunek energii wybranego pr膮偶ka do reszty. Pozycja miejsca w kt贸rym wycinek ze skanera najlepiej pasowa艂 do mapy b臋dzie oczywi艣cie k膮tem obrotu robota w osi pionowej. O w艂a艣nie, mo偶e tutaj pom贸g艂by magnetometr (kompas)? Mia艂by艣 jeden stopie艅 swobody mniej i przynajmniej wiedzia艂by艣 gdzie na mapie (biegunowej) szuka膰. No nie wiem, to takie pierwsze co mi do g艂owy przysz艂o...

Link do komentarza
Share on other sites

marek1707, ale po kiego m臋czy膰 si臋 we wsp贸艂rz臋dnych biegunowych, skoro konwersja do kartezja艅skich jest banalna, a otrzymane dane s膮 wtedy znacznie bardziej przyjazne cho膰by do wy艣wietlenia na ekranie?

Kabotyn, w jakim formacie masz t膮 map臋? Czy jest to zbi贸r punkt贸w zebranych wcze艣niej skanerem?

Og贸lnie polecam pogoogla膰 nast臋puj膮ce has艂a: scan matching (w szczeg贸lno艣ci metod臋 PLICP), SLAM (simultaneous localization and mapping), Monte Carlo localization. Wyszukuj sobie artyku艂y z konferencji naukowych, na powy偶sze tematy, zazwyczaj na pocz膮tku jest przedstawiany aktualny stan wiedzy, czyli kr贸tki opis innych dost臋pnych metod. To dobry punkt wyj艣cia do dalszych poszukiwa艅.

Generalnie nie widz臋 sensu wymy艣la膰 tutaj nic nowego, bo lokalizowanie robota w znanym pomieszczeniu w oparciu o dane ze skanera to temat bardzo dobrze opisany, z du偶膮 ilo艣ci膮 gotowych algorytm贸w.

Link do komentarza
Share on other sites

Zarejestruj si臋 lub zaloguj, aby ukry膰 t臋 reklam臋.
Zarejestruj si臋 lub zaloguj, aby ukry膰 t臋 reklam臋.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i monta偶 PCB - wybierz sprawdzone PCBWay!
聽聽 鈥 Darmowe p艂ytki dla student贸w i projekt贸w non-profit
聽聽 鈥 Tylko 5$ za 10 prototyp贸w PCB w 24 godziny
聽聽 鈥 Us艂uga projektowania PCB na zlecenie
聽聽 鈥 Monta偶 PCB od 30$ + bezp艂atna dostawa i szablony
聽聽 鈥 Darmowe narz臋dzie do podgl膮du plik贸w Gerber
Zobacz r贸wnie偶 禄 Film z fabryki PCBWay

W por贸wnaniu z reszt膮 oblicze艅 transformacja danych z dalmierza na XY rzeczywi艣cie jest banalna, cho膰 trzeba j膮 wykonywa膰 na ka偶dym skanie. A zrobienie mapy biegunowej wystarczy zrobi膰 raz i to a priori. Dlatego wyda艂a mi si臋 naturaln膮 praca w uk艂adzie biegunowym. Procesorowi jest wszystko jedno jakie liczby miele a gdy ju偶 zajdzie konieczno艣膰 wy艣wietlenia czego艣, proces to nadzoruj膮cy mo偶e sobie spokojnie robi膰 konwersj臋 na uk艂ad prostok膮tny. Wynikiem tego wszystkiego ma by膰 tylko para liczb (plus ewentualnie orientacja w osi pionowej) i na razie nie widz臋 du偶ej przewagi uk艂adu XY nad biegunowym.

Mia艂a by膰 "burza muzguf" wi臋c napisa艂em jak sobie to wyobra偶am z pierwszego strza艂u. Oczywi艣cie nale偶y podeprze膰 si臋 rozwi膮zaniami ju偶 istniej膮cymi cho膰 dopracowanie si臋 w艂asnego algorytmu mog艂oby by膰 ciekawe 馃檪 To zale偶y od charakteru tego projektu.

Link do komentarza
Share on other sites

Dzi臋ki za wszystkie pomys艂y, "obczajam" temat 馃檪

jakim formacie masz t膮 map臋? Czy jest to zbi贸r punkt贸w zebranych wcze艣niej skanerem?

To jest w艂a艣ciwie m贸j wyb贸r. Naj艂atwiej zrobi膰 pomiary i je r臋cznie posk艂ada膰, a co dalej z tym b臋dzie trzeba zrobi膰 na razie nie wiem. W mojej g艂owie tworzy si臋 pomys艂 aby zosta膰 przy punktach.

W temacie jak wida膰 jestem 艣wie偶y ale si臋 staram 馃槈

Ze wst臋pnego przegl膮dania r贸偶nych materia艂贸w na podsuni臋te przez Was tematy nasz艂a mnie jedna w膮tpliwo艣膰.

Czy liczba punkt贸w z kt贸rej b臋dzie zrobiona mapa (fragmenty mapy) ma znaczenie? Chodzi mi tutaj o r贸偶nice w liczbie punkt贸w z lasera wzgl臋dem mapy (np. laser "poka偶e" jedn膮 艣cian臋 w liczbie 200 punkt贸w, a na mapie 艣ciana b臋dzie dok艂adniejsza i odwzorowana w liczbie 400 punkt贸w).

Czy to jest problem czy po prostu zaczynam wydziwia膰 i "zmy艣la膰"? 馃檪

Link do komentarza
Share on other sites

Generalnie por贸wnywanie punkt do punktu jest ma艂o efektywne. Lepiej jest wyodr臋bnia膰 ze skan贸w linie proste, czy naro偶niki i por贸wnywa膰 cecha do cechy. Mo偶na te偶 stworzy膰 map臋 rastrow膮 - dzielisz sobie map臋 na kom贸rki, powiedzmy 1x1cm. Kom贸rki zaj臋te maj膮 warto艣膰 1, puste 0. Mo偶na doda膰 warto艣ci po艣rednie, tak aby uwzgl臋dni膰 b艂臋dy pomiarowe - wtedy jeden b艂臋dny pomiar nie spowoduje od razu, 偶e robot wykryje gdzie艣 przeszkod臋, a jedynie zasygnalizuje, 偶e istnieje prawdopodobie艅stwo, 偶e co艣 tam si臋 czai.

Link do komentarza
Share on other sites

Do艂膮cz do dyskusji, napisz odpowied藕!

Je艣li masz ju偶 konto to zaloguj si臋 teraz, aby opublikowa膰 wiadomo艣膰 jako Ty. Mo偶esz te偶 napisa膰 teraz i zarejestrowa膰 si臋 p贸藕niej.
Uwaga: wgrywanie zdj臋膰 i za艂膮cznik贸w dost臋pne jest po zalogowaniu!

Anonim
Do艂膮cz do dyskusji! Kliknij i zacznij pisa膰...

×   Wklejony jako tekst z formatowaniem.   Przywr贸膰 formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Tw贸j link b臋dzie automatycznie osadzony.   Wy艣wietla膰 jako link

×   Twoja poprzednia zawarto艣膰 zosta艂a przywr贸cona.   Wyczy艣膰 edytor

×   Nie mo偶esz wklei膰 zdj臋膰 bezpo艣rednio. Prze艣lij lub wstaw obrazy z adresu URL.

×
×
  • Utw贸rz nowe...

Wa偶ne informacje

Ta strona u偶ywa ciasteczek (cookies), dzi臋ki kt贸rym mo偶e dzia艂a膰 lepiej. Wi臋cej na ten temat znajdziesz w Polityce Prywatno艣ci.