-
Notifications
You must be signed in to change notification settings - Fork 1
Home
eatrunner edited this page Apr 18, 2016
·
22 revisions
HOW_TO:
- Poleceniem git clone skopiować repo do katalogu */catkin_ws/src/
- Skompilować poleceniem:
catkin_make
- wpisać polecenie source
./devel/setup.bash
- uruchmomić polecenim:
roslaunch anro1 city.launch
- Uruchamiamy Map, który w kółko nadaje na topic map_info informacje o zakretach i skrzyzowaniach.
- Otwieramy kolejny terminal i uruchamiamy węzeł Turns, który nasłuchuje map_info i pobiera info jakie są zakręty i magazynuje je w jakiejś strukturze.
- Otwieramy kolejny terminal i uruchamiamy węzeł Lights, który nasłuchuje map_info i pobiera info jakie skrzyżowania i magazynuje je w jakiejś strukturze.
- Lights nadaje na lights_info po kolei informacje o stanie każdych ze świateł(położenie, kolor).
- Turns nadaje na turns_info po kolei informacje o stanie każdym z zakrętów(położenie, kierunek w którym skręca).
- Odpalamy kolejny terminal, gdzie uruchamiamy węzeł Car, który obsługuje tylko jeden samochód. Jeżeli chcemy dodać kolejny samochód musimy uruchomić kolejny teminal.
- Samochód pojawia się na mapie(np na którymś zakręcie) i zaczyna jechać do kolejnego zakrętu/ skrzyżowania. Jeżeli jest to zakręt to wystarczy raz pobrać o nim info bo jest statyczny. Jeżeli światła to jeżeli się do nich zbliżymy trzeba sprawdzać czy się nie zmieniły na czerwone.
- Samochody cały czas nadają na topic car_info(ID, położenie) co zapobiegnie wjechaniu jednego samochodu w drugi.
- Otwieramy kolejny terminal i uruchamiamy węzeł Model, który nasłuchuje map_info, car_info, lights_info ładnie to ubiera i wysyła do rviz.
Plik do komentowania opisu: https://docs.google.com/document/d/1FaUlShV52C5czMQ5m4RiDSCV7z4WuTvA2EeSpHBGHzk/edit?usp=sharing
Zasady SOLID: http://www.daedtech.com/solid-principles-real-life/
https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches
MAP MSG: STRING , FLOAT X, FLOAT Y
CAR MSG: INT ID, FLOAT X, FLOAT Y
LIGHTS MSG: FLOAT X, FLOAT Y, INT COLOR
TURNS MSG : FLOAT X, FLOAT Y, INT DIRECTION(-1 LEWO; 1 PRAWO)