Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Robot - komunikacja rozproszona

kaldachar 15 Sty 2009 17:37 9868 40
  • Robot - komunikacja rozproszona


    Witam serdecznie Smile

    Opracowałem robota który jest przystosowany do pracy w trybie swarm. Swarm znaczy po angielsku rój. Polega to na tym że poszczególne roboty zbierają informację o otoczeniu i przekazują ją sobie. Coś jak mrowisko. Moja konstrukcja opiera się o sprawdzony sposób wykonania chassis . Wykorzystałem laminat miedziowany jedno i dwu-stronny. Jest to łatwe i przyjemne w obróbce tworzywo. Ale do rzeczy. Podzieliłem robota na trzy moduły:

    1. Pierwszy to moduł odpowiedzialny na przemieszczanie się robota . Są to dwa silniki z przekładniami . Same silniki posiadają przekładnie. Bezpośrednio na osi jest osadzone koło. Trzecim kołem jest ślizgacz wykonany ze śliskiego tworzywa. Sterowanie odbywa się przez scalony wzmacniacz prądowy którego wejściami sterują dwa mikroprocesory. W tym też module są akumulatorki AA 4 sztuki co daje wypadkowe napięcie 4,8 V.

    Robot - komunikacja rozproszonaRobot - komunikacja rozproszona Robot - komunikacja rozproszona


    2. Drugim modułem jest "móżg" Wink składający się z dwóch współpracujących ze sobą avr ATMega32 które to są odpowiedzialne za całe sterowanie. Programowanie ich odbywa się przez specjalnie wyprowadzone złącza na płytce sterowania. Dodatkowo znajdują się tam dwa kwarce 11.059 MHz oraz złącza do podłączenia peryferii i wyświetlaczy lcd tekstowych.

    Robot - komunikacja rozproszona Robot - komunikacja rozproszona Robot - komunikacja rozproszona


    3. Trzecim modułem jest dowolny moduł . W fazie testów wykorzytałem foto-diody które szukały , śledziły , podążały w zależności od trybu za światłem. Poprzez uniwersalne wyprowadzenie złącz w module sterownika można podłączać dowolne moduły:

    - komunikacyjne
    - sterujące
    - wykonawcze
    - itp.

    Całość jest bardzo uniwersalna i łatwa do przebudowy i rozbudowy nawet dla początkującego robo-amatora.

    Moduł sterowania jest kompatybilny z popularnym kompilatorem basic ( BASCOM ) co dodatkowo ułatwia początki z tą wielce rozwijającą dziedziną sterowania. Takie roboty pracujące w roju potrafią wykonywać prace ograniczone tylko wyobraźnią projektanta i konstruktora. Umożliwiają testowanie zaawansowanych algorytmów komunikacji itp.

    Chętnie odpowiem na pytania dotyczące konstrukcji. Tylko profesjonalne pytania gwarantują profesjonalne odpowiedzi.

    Pozdrawiam


    Fajne!
  • #2 15 Sty 2009 19:56
    lord_blaha
    Poziom 33  

    Silniki i koła widzę z Wobitu, możesz powiedzieć jak się sprawują? Ile waży robot? Silniki dają radę go ruszyć bez problemu? Jaką prędkość osiąga?
    Czy możesz napisać jak przebiega proces wymiany informacji między poszczególnymi robotami?

  • #3 15 Sty 2009 20:03
    krzycho123
    Poziom 31  

    Napisz coś o konstrukcji mechanicznej bo mnie ciekawi .
    Co to za przekładnie są i skąd masz takie piękne koła z alufelegami :)
    Zastanawia mnie też fakt wykorzystania dwóch procków ? Chodziło pewnie o naukę / pokaz możliwości komunikacji dwóch procków w układzie , bo moc obliczeniowa i ilość pamięci jednego procka zapewne by wystarczył .

    PS> Jeszcze jedno mnie zastanawia skoro ma się komunikować z innym robotami to gdzie emiter IR ?

  • #5 15 Sty 2009 23:24
    shadow0013
    Poziom 34  

    Jaki użyłeś wzmacniacz prądowy, komunikacja z modułami jest szeregowa RS-?. Masz może krótki opis komunikacji między robotami np. jeden napotyka przeszkodę przesyła (w jaki sposób) informację do drugiego - jakie dane zawiera informacja, co drugi robi gdy otrzyma informację o przeszkodzie, wiadomo zapamiętuje ale w jak omija przeszkodę. Pytania może nie profesjonalne ale nie mam pojęcia o tej dziedzinie a temat jest b. interesujący.

  • #6 16 Sty 2009 04:25
    3_at
    Poziom 14  

    Mam parę pytań.
    1. Jak połączyłeś te dwie atmegi, tak aby sie ze sobą komunikowały (uart równolegle)
    2. Jak wygląda przykładowy algorytm rozwiązania jakiegoś problemu dajmy na to matematycznego, bądź na podstawie informacji zebranych przez czujniki.
    3. Czy nie lepiej byłoby taktować je np z tego samego generatora? Nie miał byś wtedy przypadkiem większej kontroli nad nimi i przetwarzaniem informacji?

  • #7 16 Sty 2009 04:37
    Jamie
    Poziom 19  

    W kwestii formalnej: SWARM - nie sworm...

  • #8 16 Sty 2009 07:18
    Krzych51
    Poziom 14  

    Witam.
    Mam pytanie odnośnie silników, według informacji na stronie firmy Wobit montowane są przy tych silnikach przekładnie o różnym przełożeniu. Jaka przekładnia jest zamontowana w Twoich silnikach ?

    Pozdrawiam Krzych

  • #9 16 Sty 2009 08:06
    kaldachar
    Poziom 14  

    Dziękuję za zainteresowanie moją konstrukcją. Oczywiście mój wcześniejszy post został usunięty przez "życzliwego".Zapraszam na ~~ Tam można się swobodnie wypowiadać. W świecie istnieje ewolucja również w sektorze informacji. Nie lubie mieć na plecach gorącego oddechu "życzliwych". Jak będę miał ochote upublicznić projekt migającej choinki to wiem gdzie sie zgłosć ;-) Pozdrawiamwww.dioda.com.pl

    Moderowany przez joy_pl:

    W związku z taką a nie inną reakcją autora temat zamykam.
    Jeśli autor jednak zmieni zdanie i zechce odpowiedzieć na zadane pytania, wtedy proszę o info na pw.



    Moderowany przez joy_pl:

    Na prośbę autora warunkowo odblokowałem.

  • #10 16 Sty 2009 13:28
    shadow0013
    Poziom 34  

    kaldachar fajna strona i jak mówisz bez "życzliwych", ale elektrody nie skreślaj czasami można zobaczyć ciekawe pomysły i doradzić coś kolegom zanim zrezygnują z opieki życzliwego oficera prowadzącego.

  • #11 16 Sty 2009 17:27
    kaldachar
    Poziom 14  

    Kolego shado0013 masz rację :-). Elektroda.pl nie może być skreślana z całą stanowczością :-).
    Teraz trochę odpowiedzi :-) :

    ATMega pracują za pomocą 8-bitowego mostu ( jeden port jest połączony do drugiego ) , obrazowo mówiąc coś jak więzadło wielkie w mózgu :-)

    Na temat matematycznych modeli przetwarzania nie będę się rozwodził . Można poczytać o tym w internecie.

    Specjalnie zostały rozdzielone procesy sterowania na dwa niezależne jednostki. Więc po co taktować je z jednego zegara. Taka konstrukcja ( dwóch zegarów ) umożliwia taktowanie ich zegarami o różnej zmiennej częstotliwości ( dodatkowy element chaosu ). Nigdy nie miały pracować synchronicznie. Praca synchroniczna zamyka drogę do wielu eksperymentów :-).

  • #12 16 Sty 2009 17:49
    Nes86
    Poziom 12  

    Cytat:
    Sterowanie odbywa się przez scalony wzmacniacz prądowy


    Możesz coś więcej o tym napisać? Jakie scalaki zastosowałeś jako mostki H?

    Widze że zastosowałeś silniki DG1224-255 których przekładnia daje 25obr/min, więc robot jest bardzo powolny. Spokojnie możesz w ich miejsce dać DG1224-043 które mają na wyjściu 150obr/min i nie musisz się obawiać że nie uciągną robota. Chociaż i tak robot nie będzie zbyt szybki

  • #13 16 Sty 2009 17:56
    kaldachar
    Poziom 14  

    Mostek to układ scalony L293D

  • #14 16 Sty 2009 18:36
    piotr_first
    Poziom 10  

    Przy takim napęciu zasilania spokojnie jesteś w stanie spalić blaszki na komutatorach!!! Przemyśl to dobrze.

  • #15 16 Sty 2009 18:40
    kaldachar
    Poziom 14  

    Do piotr_first :-): To znaczy jakim napięciem spalę te blaszki na komutatorach ;-) ? Zaczyna się ciekawie :-)

  • #16 16 Sty 2009 18:49
    piotr_first
    Poziom 10  

    To są silniki na 3V. Zobaczysz, że po dłuższym użytkowaniu twój robot przestanie jeździć, będzie działał świetnie do czasu. i co do tego laminatu to naprawdę powinieneś mocniej przylutować bo przy większym zderzeniu robot się złoży.

    A propos tych silniczków, ja buduje robota mikro na nich o prędkości 150obr/min, i wydają mi się trochę za słabe, a robot ma wagę maksymalną do 100gram, więc nie wydaje mi się żeby były odpowiednie do twojego robota.

  • #17 16 Sty 2009 19:16
    szymon122
    Poziom 37  

    ile całość kosztuje? i mógł byś napisać spis części:!:

  • #18 16 Sty 2009 19:23
    kaldachar
    Poziom 14  

    Całość kosztuje w okolicach 150 zł :-) (licząc moją ciężką pracę ) :-)
    Spisu części nie będzie :-). Nie jestem magazynierem i nie mam spisu z natury :-)

  • #19 16 Sty 2009 19:35
    zattara
    Poziom 12  

    Nes86. Zalecasz przestudiowanie dokumentacji akumulatorków a nie znasz ich elementarza. Napięcie znamionowe 1,2V nie jest napięciem poniżej którego nie powinno się ich rozładowywać, tylko jak sama nazwa wskazuje jest to napięcie ZNAMIONOWE. W zasadzie powinno się taki akumulatorek rozładować do 0,9V i dopiero wtedy ładować. Nawet mikroprocesorowe ładowarki z funkcja rozładowania stosują taki cykl.

  • #20 16 Sty 2009 19:36
    joy_pl
    VIP Zasłużony dla elektroda

    Proszę wszystkich wypowiadających się o nie zaniżanie poziomu, wszystkich wypowiadających się!

  • #21 16 Sty 2009 19:47
    kaldachar
    Poziom 14  

    Polecam analizę mostka H w tym układzie przy zasilaniu napięciem 4,8V. Może jednak szczotki nie wyskoczą na dywan i atmega32 nie ucieknie z podstawki :-)

  • #22 16 Sty 2009 22:08
    McRancor
    VIP Zasłużony dla elektroda

    Projekt bardzo ciekawy, temat ogólnie też ;)

    Ciekawi mnie czy robiłeś już jakieś eksperymenty, czy na razie dopracowujesz platformę?

    Pisałeś o płytce z diodami i pewnym algorytmie, zastosowałeś tam jakiś ciekawszy algorytm?

    Ogólnie planujesz rozwój algorytmów w określonym kierunku? Fajnie byłoby zrobić rój i zastosować w nim uczenie ze wzmocnieniem - można by zaprogramować inne roboty do roli arbitra i mogłoby to dać ciekawe efekty :)

  • #23 16 Sty 2009 22:39
    kaldachar
    Poziom 14  

    Nie zamierzam stosować uczenia ze wzmocnieniem . Będą sieci neuronowe ze sterowaniem algorytmami genetycznymi. Zero arbitrażu. Natura nie znosi osądzania . Słaby ginie , ten kto przeżyje wygrywa :-). Reszta to implikacje :-)

  • #24 16 Sty 2009 22:41
    jamtex
    Poziom 23  

    Czy mógłbyś zamieścić schemat lub zdjęcia płytek od strony lutowania?

  • #25 16 Sty 2009 22:53
    McRancor
    VIP Zasłużony dla elektroda

    kaldachar napisał:
    Nie zamierzam stosować uczenia ze wzmocnieniem . Będą sieci neuronowe ze sterowaniem algorytmami genetycznymi. Zero arbitrażu. Natura nie znosi osądzania . Słaby ginie , ten kto przeżyje wygrywa :-). Reszta to implikacje :-)


    Tutaj można sobie popolemizować ;) Można przecież przyjąć inny punkt odniesienia - w przyrodzie tygrys jest arbitrem i uczy antylopy (czy inne pyszności) - te które wykonały zły krok - zgineły, reszta - postąpiła słusznie, w ramach nagrody żyje :|. Przecież słaby-ginie / mocny-żyje, to nic innego jak właśnie osądzanie!

    A tak na poważnie - skoro nie planujesz arbitra - w jaki sposób chcesz uczyć sieci? I o co chodzi z tym że algorytm genetyczny steruje siecią - czy to o to że generuje wagi, dzięki czemu nie trzeba tego robić ucząc?

  • #26 16 Sty 2009 23:08
    kaldachar
    Poziom 14  

    Tylko najlepiej przystosowane sieci będą miały prawo przekazania swojego genotypu do następnej generacji ( plus drobna mutacja z określonym prawdopodobieństwem ). Algorytm będzie zajmował się bardzo szerokim spektrum parametrów sieci :-).

    P.S. Nie tygrys jest arbitrem dla antylopy. Dla tygrysa i antylopy arbitrem jest wymyślona przez człowieka istota NATURA. Czyli chaos :-)

  • #27 16 Sty 2009 23:30
    McRancor
    VIP Zasłużony dla elektroda

    Skoro zero arbitrażu, to w jaki sposób i na jakich zasadach będzie przebiegała selekcja?

    Nie żebym się czepiał, po prostu nie podoba mi się ta wizja chaosu :P

  • #28 16 Sty 2009 23:35
    kaldachar
    Poziom 14  

    Nie gniewam się. Słowo arbitraż nie jest tu właściwe. Będzie tu zastosowana funkcja przystosowania która będzie określała PRAWDOPODOBIEŃSTWO przekazania puli genów do następnego pokolenia. W chaosie jest siła :-)

  • #29 16 Sty 2009 23:35
    3_at
    Poziom 14  

    kaldachar napisał:
    [...]ATMega pracują za pomocą 8-bitowego mostu ( jeden port jest połączony do drugiego ) , obrazowo mówiąc coś jak więzadło wielkie w mózgu :-)[...]


    Czyli rozumiem ze np port A jednego jest połączony z portem B drugiego, czyli tak jak w LPT ( połączenie równoległe)

    Hm... jak dla mnie nie jest to zbyt dobre rozwiązanie. Już tłumaczę dlaczego.
    1. Uważam, że powinieneś połączyć uPA i uPB (tak sobie je nazwiemy) dodatkowo liniami do przerwań. Masz wtedy większą kontrolę nad tym co wysyłasz. Jak jeden uPA chce wysłać coś do uPB to wtedy daje przerwanie, uPA sie ustawia w stan odbioru i uPB przesyła i na odwrót.

    2. Jeśli tego nie zrobisz to masz mały problem ponieważ oba porty u obu procesorach powinny być ustawione w stan wysokiej impedancji (jako wejścia). Jak to nie zostanie spełnione i oba będą pracować w stanie wyjścia to możesz..., nie jest wielce prawdopodobne że będziesz mieć zwarcie do masy w pewnym momencie (uPA ->0 uPB->1 na wyjściu)

    3. Jeśli oba będą pracować w stanie wejścia i jeden przełączy sie na stan wyjścia żeby coś wystawić i gdy drugi będzie musiał mu odpowiedzieć to będziesz musiał to zsynchronizować (dlatego wspominałem o wspólnej podstawie czasu - generator), bo czasy od przejścia z wyjścia na wejście będziesz mieć problem zeby to jak najlepiej ustawić (najkrótszy czas odpowiedzi)

    Ja to tak widzę. Może się myle ( albo i na pewno :P) he he

  • #30 16 Sty 2009 23:58
    kaldachar
    Poziom 14  

    Mylisz się . Zbyt dużo kombinujesz :-). Ale podoba mi się Twój tok rozumowania :-). Zainteresuj się budową więzadła wielkiego a może to Ci coś zasugeruje :-)