diff --git a/lab03/README.md b/lab03/README.md index 87a63ba43605cdfc10d1ba51ca33aa11a653f3a2..c0ec2034f0540004164b97598b1fdf45c7c2a69c 100644 --- a/lab03/README.md +++ b/lab03/README.md @@ -185,14 +185,14 @@ Uruchom **view_rplidar_s1.launch** oraz stworzony node. W programie RVIZ dodaj n  -**Zadanie 4.:** ZmieĹ kolor wyĹwietlania danych z lidaru po filtracji, tak aby moĹźna byĹo odróşniÄ skan przed i po filtracji. +**Zadanie 5:** ZmieĹ kolor wyĹwietlania danych z lidaru po filtracji, tak aby moĹźna byĹo odróşniÄ skan przed i po filtracji. Zapisz konfiguracje Rviza w folderze rviz w swoim pakiecie.  -**Zadanie 5:** WzorujÄ c siÄ na pliku **view_rplidar_s1.launch** napisz swĂłj plik launch, w ktĂłrym uruchomisz **rplidar_s1.launch**, swĂłj node filtrujÄ cy oraz program Rviz z zapisanÄ konfiguracjÄ wyĹwietlajÄ ce oba skany. +**Zadanie 6:** WzorujÄ c siÄ na pliku **view_rplidar_s1.launch** napisz swĂłj plik launch, w ktĂłrym uruchomisz **rplidar_s1.launch**, swĂłj node filtrujÄ cy oraz program Rviz z zapisanÄ konfiguracjÄ wyĹwietlajÄ ce oba skany. # Tworzenie mapy pomieszczenia Do przedstawienia procesu tworzenia map w postaci siatki zajÄtoĹci posĹuĹźymy siÄ symulacjÄ . Symulacja pozwala na swobodne poruszanie siÄ robotem po stworzonym Ĺwiecie, a co za tym idzie wiÄkszy wpĹyw na dziaĹanie algorytmu mapowania. @@ -214,7 +214,7 @@ roslaunch turtlebot3_gazebo turtlebot3_world.launch ```  -**Zadanie 6:** Po uruchomieniu symulacji sprawdĹş jakie topici pojawiĹy siÄ w Rosie i jak wyglÄ da rqt_graph. +**Zadanie 7:** Po uruchomieniu symulacji sprawdĹş jakie topici pojawiĹy siÄ w Rosie i jak wyglÄ da rqt_graph. Uruchom program Rviz z odpowiedniÄ konfiguracjÄ ```bash @@ -222,7 +222,7 @@ export TURTLEBOT3_MODEL=waffle roslaunch turtlebot3_gazebo turtlebot3_gazebo_rviz.launch ``` -**Zadanie 7:** Uruchom program do sterowania robotem i przemieĹÄ robota z jednego koĹca mapy na drugi. Obserwuj jak wyglÄ da symulacja oraz dane w programie RVIZ. Po uruchomieniu programu w konsoli pojawi siÄ opis jak sterowaÄ robotem. +**Zadanie 8:** Uruchom program do sterowania robotem i przemieĹÄ robota z jednego koĹca mapy na drugi. Obserwuj jak wyglÄ da symulacja oraz dane w programie RVIZ. Po uruchomieniu programu w konsoli pojawi siÄ opis jak sterowaÄ robotem. ```bash export TURTLEBOT3_MODEL=waffle roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch @@ -264,7 +264,7 @@ PrzejdĹş do RVIZa i dodaj nowy element wizualizacji z zakĹadki "by topic" z top <!-- WĹÄ czyÄ tf - zobaczyÄ map-odom --> -**Zadanie 8:** Uruchom sterowanie robotem i przemieszczajÄ c siÄ po Ĺrodowisku, obserwuj jak w programie RVIZ tworzy siÄ mapa danego Ĺrodowiska. Zmapuj co najmniej jedno pomieszczenie. +**Zadanie 9:** Uruchom sterowanie robotem i przemieszczajÄ c siÄ po Ĺrodowisku, obserwuj jak w programie RVIZ tworzy siÄ mapa danego Ĺrodowiska. Zmapuj co najmniej jedno pomieszczenie. ```bash export TURTLEBOT3_MODEL=waffle roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch @@ -277,7 +277,7 @@ rosrun map_server map_saver -f <ĹcieĹźka zapisu i nazwa mapy> ```  -**Zadanie 9:** Zobacz jakie pliki zostaĹy stworzone w podanym katalogu i co zawiera kaĹźdy z plikĂłw. +**Zadanie 10:** Zobacz jakie pliki zostaĹy stworzone w podanym katalogu i co zawiera kaĹźdy z plikĂłw. Jak widaÄ uruchomienie algorytmu SLAM byĹo bardzo proste. JeĹli chcemy uruchomiÄ gmapping z innymi parametrami niĹź domyĹlne, to najlepiej stworzyÄ plik launch np.: @@ -337,7 +337,7 @@ Z parametrĂłw, ktĂłre warto wymieniÄ to np. - delta - rozdzielczoĹÄ mapy (domyĹlnie 1 pixel to kwadrat 5x5 cm) - linearUpdate i angularUpdate - odlegĹoĹÄ liniowa i kÄ towa po przejechaniu, ktĂłrej zaktualizowana zostanie mapa. -**Zadanie 10:** StwĂłrz plik launch w swoim pakiecie zawierajÄ cy ustawienia przedstawione powyĹźej, zmieĹ parametry delta, linearUpdate i map_update_interval. Zaobserwuj zmiany w dziaĹaniu algorytmu. +**Zadanie 11:** StwĂłrz plik launch w swoim pakiecie zawierajÄ cy ustawienia przedstawione powyĹźej, zmieĹ parametry delta, linearUpdate i map_update_interval. Zaobserwuj zmiany w dziaĹaniu algorytmu. Zamknij wszystkie aplikacje @@ -363,7 +363,7 @@ realsense-viewer ```  -**Zadanie 11:** WĹÄ cz obie kamery i zaobserwuj dane w widoku 2d i 3d. +**Zadanie 12:** WĹÄ cz obie kamery i zaobserwuj dane w widoku 2d i 3d. SprawdĹş i zapisz numer seryjny obu kamer, ktĂłre bÄdÄ potrzebne za chwilÄ przy uruchamianiu ich w Ĺrodowisku ros (odczytywanie numeru seryjnego przedstawiono rĂłwnieĹź na powyĹźszym gifie). @@ -456,7 +456,7 @@ Oprucz uruchomienia kamer, wĹÄ czany jest "static_transform_publisher", ktĂłry Ostatni uruchamiany node "depthimage_to_laserscan" jak sama nazwa wskazuje pozwala uzyskaÄ laserscan z obrazu gĹÄbi. Laser skan bÄdzie potrzebny przy tworzeniu mapy 3d. JeĹli nie posiadamy lidaru i uĹźywamy samych kamer to w ten sposĂłb moĹźemy go zasymulowaÄ. W przeciwnym wypadku uruchomilibyĹmy po prostu lidar juĹź bez programu "depthimage_to_laserscan". -**Zadanie 12:** StwĂłrz plik launch uruchamiajÄ cy obie kamery w swoim pakiecie. UzupeĹnij powyĹźszy plik o odpowiednie numery seryjne kamer (w drugiej i trzeciej linii, gdzie kamera1 to kamera t265, a kamera2 to kamera d400). +**Zadanie 13:** StwĂłrz plik launch uruchamiajÄ cy obie kamery w swoim pakiecie. UzupeĹnij powyĹźszy plik o odpowiednie numery seryjne kamer (w drugiej i trzeciej linii, gdzie kamera1 to kamera t265, a kamera2 to kamera d400). Uruchom stworzony plik oraz Rviz. W programie Rviz otwĂłrz konfiguracjÄ "test_kamer.rviz" z pakietu "laboratorium_pliki_dodatkowe" w folderze "catkin_ws/src". @@ -466,14 +466,14 @@ Uruchom stworzony plik oraz Rviz. W programie Rviz otwĂłrz konfiguracjÄ "test_k W konfiguracji zostaĹy przedstawione obrazy z dwĂłch kamer. Jak widaÄ kamera t265 jest wyposaĹźona w obiektyw rybie oko, dziÄki czemu ma duĹźo wiÄksze pole widzenia. W Ĺrodkowej czÄĹci programu widoczna jest chmura punktĂłw uzyskana z kamery gĹÄbi, ktĂłrÄ moĹźna obejrzeÄ z róşnych stron zmieniajÄ c widok kamery przy pomocy myszki. -**Zadanie 13:** Uruchom program na arduino do sterowania serwem. Ustaw flagÄ w pozycji pionowej i zobacz czy flaga pojawiĹa siÄ w chmurze punktĂłw. +**Zadanie 14:** Uruchom program na arduino do sterowania serwem. Ustaw flagÄ w pozycji pionowej i zobacz czy flaga pojawiĹa siÄ w chmurze punktĂłw. W programie Rviz znajduje siÄ narzÄdzie measure dziÄki ktĂłremu moĹźemy zmierzyÄ odlegĹoĹci w scenie. Przy dokonywaniu pomiaru najlepiej zmieniÄ styl wyĹwietlania chmury punktĂłw. Po zmianie stylu na punkty, krawÄdĹş obiektu jest lepiej widoczna i moĹźna dokonaÄ lepszego pomiaru.  -**Zadanie 14:** UĹźywajÄ c narzÄdzia measure, zmierz szerokoĹÄ uniesionej flagi. +**Zadanie 15:** UĹźywajÄ c narzÄdzia measure, zmierz szerokoĹÄ uniesionej flagi. --------- @@ -502,7 +502,7 @@ Po zaĹadowaniu pliku pokazaĹy siÄ wszystkie topici, ktĂłre zostaĹy zapisane - plot - wykreĹlenie caĹego przebiegu wybranych wartoĹci z wiadomoĹci - image - w przypadku obrazu z kamery moĹźliwe jest podejrzenie poszczegĂłlnych klatek -**Zadanie 15:** Podejrzyj dane na topicu d400/color/image_raw oraz t265/odom/sample. Pierwszy topic podejrzyj w trybie image (view -> image), natomiast drugi w trybie plot. Zmaksymalizuj okno rqt_bag, powiÄksz okno wykresu plot przeciÄ gajÄ c jego krawÄdĹş w lewÄ stronÄ. W oknie plot po prawej stronie jest wyĹwietlana struktura wiadomoĹci odom. WyĹwietl pozycjÄ x i y (pose -> pose -> position -> x/y). Lewym przyciskiem myszki moĹźesz zmieniaÄ pozycjÄ czasu na osi, zaobserwuj jak zmieniajÄ siÄ klatki filmu z kamery oraz jak zmienia siÄ pozycja pionowej czerwonej osi na wykresie plot. Dodatkowo moĹźesz uruchomiÄ odtwarzanie wiadomoĹci w czasie ciÄ gĹym klikajÄ c zielonÄ strzaĹkÄ bÄdÄ cÄ 7 opcjÄ na panelu w lewym gĂłrnym rogu ekranu +**Zadanie 16:** Podejrzyj dane na topicu d400/color/image_raw oraz t265/odom/sample. Pierwszy topic podejrzyj w trybie image (view -> image), natomiast drugi w trybie plot. Zmaksymalizuj okno rqt_bag, powiÄksz okno wykresu plot przeciÄ gajÄ c jego krawÄdĹş w lewÄ stronÄ. W oknie plot po prawej stronie jest wyĹwietlana struktura wiadomoĹci odom. WyĹwietl pozycjÄ x i y (pose -> pose -> position -> x/y). Lewym przyciskiem myszki moĹźesz zmieniaÄ pozycjÄ czasu na osi, zaobserwuj jak zmieniajÄ siÄ klatki filmu z kamery oraz jak zmienia siÄ pozycja pionowej czerwonej osi na wykresie plot. Dodatkowo moĹźesz uruchomiÄ odtwarzanie wiadomoĹci w czasie ciÄ gĹym klikajÄ c zielonÄ strzaĹkÄ bÄdÄ cÄ 7 opcjÄ na panelu w lewym gĂłrnym rogu ekranu Niestety odtwarzanie plikĂłw bag z programu rqt_bag tak aby wiadomoĹci byĹy widziane w systemie ROS nie jest efektywne, dlatego zamknij program rqt_bag. Do odtworzenia posĹuĹźymy siÄ narzÄdziem konsolowym rosbag. @@ -531,7 +531,7 @@ rosbag play <nazwa pliku> --topics <topic 1> <topic 2 ...> rosbag posiada jeszcze wiele róşnych moĹźliwoĹci jak przyspieszanie i opóźnianie odtwarzania plikĂłw. Wszystkie dostÄpne moĹźliwoĹci moĹźna sprawdziÄ w dokumnetacji [link](http://wiki.ros.org/rosbag/Commandline) -**Zadanie 16:** OdtwĂłrz plik bag, ktĂłry otwieraĹeĹ w rqt_bag, przy pomocy rosbag. Podczas odtwarzania, otwĂłrz program RVIZ i podejrzyj obraz z kamery (topic - /t265/fisheye1/image_raw) i zmieniajÄ cÄ siÄ pozycjÄ kamery (topic - /t265/odom/sample). Oba elementy moĹźesz dodaÄ do widoku RVIZa przez Add -> by topic -> nazwa topica +**Zadanie 17:** OdtwĂłrz plik bag, ktĂłry otwieraĹeĹ w rqt_bag, przy pomocy rosbag. Podczas odtwarzania, otwĂłrz program RVIZ i podejrzyj obraz z kamery (topic - /t265/fisheye1/image_raw) i zmieniajÄ cÄ siÄ pozycjÄ kamery (topic - /t265/odom/sample). Oba elementy moĹźesz dodaÄ do widoku RVIZa przez Add -> by topic -> nazwa topica ----- @@ -599,7 +599,7 @@ Do realizacji mapy 3d posĹuĹźymy siÄ jednak plikiem launch, Ĺźeby uproĹciÄ p Najpierw jako argument definiujemy ĹcieĹźkÄ do naszego pliku bag. NastÄpnie ustawiamy parametr "use_sim_time" aby ROS uĹźywaĹ czasu symulowanego. Na koĹcu uruchamiamy nasz plik bag dodajÄ c argumenty zawierajÄ ce parametr **--clock** powodujÄ cy publikowanie czasu symulacji oraz ĹcieĹźkÄ do pliku bag. -**Zadanie 17:** StwĂłrz plik lauch uruchamiajÄ cy odtwarzanie pliku bag oraz algorytm rtabmap. +**Zadanie 18:** StwĂłrz plik lauch uruchamiajÄ cy odtwarzanie pliku bag oraz algorytm rtabmap. Po uruchomieniu stworzonego pliku, zatrzymaj go klawiszem **spacja**. W konsoli powinien pojawiÄ siÄ komunikat **[PAUSED]**. NastÄpnie otwĂłrz program RVIZ i zaĹaduj konfiguracjÄ **mapowanie_wizualizacja.rviz** z pakietu **laboratorium_pliki_dodatkowe**. @@ -615,7 +615,7 @@ W konsoli z uruchomionym plikiem launch uĹźyj ponownie klawisza **spacja** aby d Plik zawiera dwa przejazdy po korytarzu. Poczekaj, aĹź stworzy siÄ caĹa mapa. Podczas drugiego przejazdu zaobserwujesz mocne skoki kamery. Skoki te zostanÄ wyjaĹnione w laboratorium nr 4. Gdy pojawi siÄ skakanie kamery przeĹÄ cz "Target Frame" na map lub Fixed frame. Opcje zmiany widoku znajdujÄ siÄ po prawej stronie okna. -**Zadanie 18:** ZrĂłb zrzut ekranu na ktĂłrym bÄdzie widoczna caĹa stworzona mapa. +**Zadanie 19:** ZrĂłb zrzut ekranu na ktĂłrym bÄdzie widoczna caĹa stworzona mapa. Po zatrzymaniu mapowania (Ctrl+c w terminalu z uruchomionym plikiem launch), mapa zapisuje siÄ w **/home/robot/.ros/rtabmap.db**. MoĹźemy jÄ otworzyÄ i przeglÄ daÄ dziÄki programowi ```bash