Sprawozdanie z laboratorium 3
1. Wstęp
Celem zajęć było stworzenie nieco bardziej zaawansowanych niż dotychczas algorytmów sterowania robotem. Jako że robot z którym pracowaliśmy (Henio) był już złożony, pracę na zajęciach rozpoczęliśmy bezpośrednio od tworzenia programów, których celem było chwytanie i odpowiednie operowanie dołączoną do zestawu piłeczką.
2. Programowanie robota
2.1. Magazynier
Celem pierwszego algorytmu było takie sterowanie robotem, aby wykorzystując sensor dotyku podniósł on umieszczoną na podstawce kulkę, a następnie wykonał obrót o 180 stopni, ruszył i upuścił kulkę pod ścianą (do wykrycia ściany użyto sonaru). Dodatkowo robot reagował na klaśnięcie (a właściwie wzrost natężenia dźwięku w otoczeniu), które pełniło rolę wyłącznika awaryjnego.
Wideo:
http://www.youtube.com/watch?v=GW02eMrn5qs
2.2. Magazynier 2
W stosunku do poprzedniego punktu algorytm został zmodyfikowany tak, aby robot upuszczał kulkę po rozpoznaniu miejsca oznaczonego innym kolorem. Wykorzystano w tym celu sensor światła, który sygnalizował najechanie robota na położoną przed nim białą kartkę.
Wideo:
http://www.youtube.com/watch?v=UNNT9ubHjW0
Poniższy film przedstawia pierwsze podejście do problemu, które zakończyło się niestety porażką. Źle ustawione parametry silników spowodowały, iż robot nie chwycił odpowiednio kulki.
http://www.youtube.com/watch?v=hSxSc6Yw3hc
2.3. Zlodziej
Celem algorytmu było takie sterowanie robotem, aby złapał on ustawioną na podstawce, w odpowiedniej odległości od niego, kulkę następnie cofnął, wykonał obrót o 180 stopni i jechał przed siebie do usłyszenia okrzyku „stój policja”.
2.4. Zlodziej 2
W stosunku do poprzedniego punktu algorytm został zmodyfikowany tak, aby robot przyspieszał i zaczynał kluczyć na wiadomość o policji. W algorytmie wykorzystano opracowane na poprzednim laboratorium rozwiązanie, dzięki któremu robot, wykorzystując sonar, unikał zderzenia z przeszkodami podczas ucieczki.
Na powyższym schemacie, część programu przesunięto niżej, ponieważ nie mieściłby się w oknie.
Wideo:
http://www.youtube.com/watch?v=I8g5HJzaE1E
3. Podsumowanie i sugestie
Podsumowując, laboratorium przebiegło bardzo sprawnie i wykonaliśmy wszystkie zadania. Jedną z nielicznych niedogodności podczas laboratorium było samo środowisko programowania, które na używanym przez nas komputerze nie działało zbyt płynnie, co utrudniało np. kopiowanie kilku elementów schematu, a w efekcie nieco spowalniało pracę.
Niemniej, wszystkie zbudowanie przez nas programy działały poprawnie i zgodne z wytycznymi, a ich efekt bardzo przypadł nam do gustu. Niestety mała ilość czasu nie pozwoliła nam na integrację robota z modułem Bluetooth i komunikację między kilkoma robotami. Rozwiązanie takie pozwoliłoby zapewne uzyskać jeszcze ciekawsze efekty: np. kradzież piłki przez jednego robota (złodziej) mogłaby uaktywniać inne roboty (policjant), które podążały by za nim i próbowały go zatrzymać.
W kwesti zmian w laboratorum, chcielibyśmy zaproponwać taki podział prac podczas zajęć, aby każda z grup wykonywała jeden, acz bardziej zaawansowany program (np. grupa A - „zaawansowany złodziej”, grupa B - „zaawansowany policjant”) i pod koniec zajęć można było przetestować ich współdziałanie, co uczyniłoby laboratorium jeszcze ciekawszym.
4. Spakowane programy