[[
✎ pl:miw:miw08_mindstormsdesign
]]
aiWiki
Pokaż stronę
Ostatnie zmiany
Indeks
Zaloguj
Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić.
====== Opis ====== Lukasz Zalewski, <zalewik@gmail.com> High-level NXT programming, design tools, XTT applications ====== Spotkania ====== ===== 08.03.04 ===== * udokumentowane algorytmy (przykłady) sterowania robotami mobilnymi - z sieci * napisanie //regułowych// alg. sterowania dla rob.mob. ===== 080318===== * alg ===== 080401 ===== * próba implementacji w [[miw08_mindstormsapi]] nxt_movement.pl przy tej okazji ew. zasugerować rozszerzenia, modyfikacje ===== 080408 ===== * rozważnie jak zaprojektować tealg. w XTT przy pomocy HQEd ===== 080415 ===== * upload plików hqed i prologu w wiki * zastanowić się nad ard? ===== 080520 ===== * [[pl:mindstorms:lab:lab5]] ====== Projekt ====== === Regułowe algorytmy sterowania === {{ :pl:miw:robot.jpg?300|TriBot}} Poniższe algorytmy zostały opracowane dla robota mobilnego TriBot. Jest to rozbudowana wersja robota z katalogu zestawu mindstorm: W algorytmach wykorzystano wszystkie użyte sensory (tak jak widać na obrazku: echosonda, mikrofon, czujnik dotyku i sensor natężenia światła). - [[pl:miw:miw08_mindstormsdesign:strona_1|Wykorzystanie echosondy]] - [[pl:miw:miw08_mindstormsdesign:strona_2|Algorytmy poruszania się po linii]] - [[pl:miw:miw08_mindstormsdesign:grid|Algorytmy omijania przeszkód]] Wadą powyższych algorytmów jest brak informacji o położeniu. Robot nie ma punktów odniesienia. Nie zna swojej pozycji. Stąd trudno wymagać, by poruszał się w zadanym kierunku nawet po napotkaniu przeszkody. Sytuację tą można poprawić wprowadzając możliwość zapisu pomiarów z czujników. === Algorytmy genetyczne === Można również rozważyć wykorzystanie algorytmów genetycznych do sterowania robotami. Tym zagadnieniem zajmują się już inne uczelnie [[http://portal.acm.org/citation.cfm?id=1050231.1050292|Southwestern University, Georgetown, TX]] Bardzo ciekawe zastosowanie algorytmów genetycznych w przypadku robotów zaprezentowano na naukowym zjeździe fundacji [[http://www.ted.com/talks/view/id/165|Ted]]. Przedstawiono tam algorytm, który sam generuje sterowanie wiedząc tylko tyle, że ma kilka serwomechanizmów i czujników. ====== Sprawozdanie ====== ===== Algorytmy sterowania z internetu ===== * Algorytmy sterowania robotami mobilnymi zostały zapisane za pomocą reguł. * Nie udało się znależć za wiele przykładów na internecie opisujących algorytmy sterowania robotami. ===== Algorytmy - zapis regułowy ===== * algorytmy zostały zapisane przy użyciu reguł * część reguł została zapisana za pomocą 'luźnych reguł' a inne przy użyciu reguł uzupełniających się. Wszelkie uwagi dotyczące tego zostały zamieszczone przy opisywanych regułach. ===== Prolog - UWAGI ===== * algorytmy zostały zapisane przy użyciu przygotowanego API przez Pana Piotra Hołownię. Wszelkie uwagi i spostrzeżenia zostały wymienione z kolegą Piotrem. Uwag było niewiele. Przygotowane funkcje wydają się jak najbardziej poprawne. * Na obecnym etapie napotkano problem związany z ewentualną alokacją zmiennych w pamięci. Czy to ma być zwykły **assert**?? ===== XTT - UWAGI ===== * W jednym z algorytmów zastosowano puste przebiegi oraz próbę zaimplementowania konstrukcji z **'else'** [[https://ai.ia.agh.edu.pl/wiki/pl:miw:miw08_mindstormsdesign:grid#xtt|Proponowane puste przebiegi]] * [[https://ai.ia.agh.edu.pl/wiki/pl:miw:miw08_mindstormsdesign:strona_2#xtt|Problem z wpisaniem ujemnej wartości w XTT]] ===== Program HQED - UWAGI ===== * podczas przeciągania połączenia od jednej tabeli do drugiej pojawiają się błędy. A dokładniej linia (connector) nie podąża za kursorem, co uniemożliwią dokonanie poprawnego połączenia tabel * obecna wersja programu nie jest jeszcze stabilna. Program zawiesza się np. przy wprowadzaniu danych do tabel. ====== Materiały ====== - udokumentowane algorytmy (przykłady) sterowania robotami mobilnymi - z sieci: * udokumentowane algorytmy sterowania * [[http://www.micsymposium.org/mics_2006/papers/Pilling.pdf|Algorytm omijania przeszkód]] * [[https://ai.ia.agh.edu.pl/wiki/pl:miw:miw08_mindstormsenv#propozycje_algorytmow|Proponowane algorytmy w dziale miw:miw08_mindstormsenv]] * google.books.com zawiera wiele materiałów z gotowymi projektami LEGO MINDSTORMS. W tym jak zbudować i zaprogramować roboty jeżdżące, chodzące itp. * [[http://books.google.com/books?id=IMOGegzD1vAC&printsec=titlepage&dq=mindstorm&hl=pl&source=gbs_toc_s&cad=1#PPA52,M1|Lego Mindstorms NXT: The Mayan Adventure ]] * [[http://books.google.com/books?id=8atl8tQgC08C&printsec=frontcover&dq=mindstorm&hl=pl&sig=kvWwiPhrGlxvOUgRQkUOCZom0rc#PPA103,M1|LEGO Mindstorm Masterpieces: Building and Programming]] * [[http://books.google.com/books?id=uMRp4BGl8J8C&printsec=frontcover&dq=mindstorm&hl=pl&sig=x5UU6c4WirCQ-ZqM571Fgf1yYF8#PPR17,M1|Building Robots With Lego Mindstorms]] * na sieci znajduje się wiele rozważań dotyczących tematyki sterowania robotami mobilnymi. Są to jednak prace ujmujące zagadnienie w sposób matematyczny. Tworzone są modele matematyczne, a następnie analizowane są przeprowadzone wcześniej symulacje. Np: * [[http://149.156.12.42/bams/bams_pdf/157-164_kaczmarek.pdf|ZINTEGROWANE SYMULATORY CHODU W ZASTOSOWANIU DO SYNTEZY ALGORYTMÓW STEROWANIA]] * prezentacje: * [[http://fountain.isis.vanderbilt.edu/teaching/2004/presentations/msrobot.ppt/download|Robot w labiryncie]] * zfilmowane projekty robotów: * [[http://video.google.pl/videoplay?docid=-9117349876850037888&q=lego+mindstorms&total=2801&start=0&num=10&so=0&type=search&plindex=0|Mindstorms Designes]] * [[http://www.youtube.com/watch?v=sRTcHnjNd5E|Układanie kostki Rubika]]
pl/miw/miw08_mindstormsdesign.1211194968.txt.gz
· ostatnio zmienione: 2019/06/27 15:58 (edycja zewnętrzna)
Pokaż stronę
Poprzednie wersje
Menadżer multimediów
Do góry