diff --git a/lab03/README.md b/lab03/README.md index 0bdac532f684fa7297ad5bf6e5525eaa5275a794..db28ff5a75bd842ab0cb631c516911843a5c01d4 100644 --- a/lab03/README.md +++ b/lab03/README.md @@ -139,8 +139,8 @@ Jak widzimy dane sÄ typu sensor_msgs/LaserScan.msg ([link](http://wiki.ros.org/  Jest to doĹÄ zĹoĹźony typ danych opisujÄ cy scan laserowy dla lidaru 2D. Pola, ktĂłre bÄdÄ nas interesowaÄ to kolejno -- angle_min - jest to minimalny kÄ t od ktĂłrego nasz lidar zaczyna pomiar odlegĹoĹci, w tym przypadku bÄdzie to -pi (wartoĹÄ w radianach) -- angle_max - jest to maksymalny kÄ t na ktĂłrym nasz lidar koĹczy pomiar odlegĹoĹci, w tym przypadku bÄdzie to pi (wartoĹÄ w radianach) +- angle_min - jest to minimalny kÄ t, od ktĂłrego nasz lidar zaczyna pomiar odlegĹoĹci, w tym przypadku bÄdzie to -pi (wartoĹÄ w radianach) +- angle_max - jest to maksymalny kÄ t, na ktĂłrym nasz lidar koĹczy pomiar odlegĹoĹci, w tym przypadku bÄdzie to pi (wartoĹÄ w radianach) - angle_increment - odlegĹoĹÄ kÄ towa pomiÄdzy dwoma kolejnymi pomiarami odlegĹoĹci - range_min/max - po przekroczeniu tych wartoĹci dany pojedynczy pomiar odlegĹoĹci jest odrzucany - ranges - tablica pomierzonych odlegĹoĹci (pierwszy element tablicy to pomiar dla kÄ t angle_min, natomiast kolejne to angle_min + angle_increment) @@ -221,7 +221,7 @@ export TURTLEBOT3_MODEL=waffle roslaunch turtlebot3_gazebo turtlebot3_gazebo_rviz.launch ``` -**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. +**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 @@ -501,7 +501,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 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 +**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. @@ -567,7 +567,7 @@ PosiadajÄ c juĹź dane na ktĂłrych moĹźemy uĹźyÄ algorytmu slam, moĹźemy zajÄ Ä </launch> ``` -DziÄki tak stworzonemu plikowi moglibyĹmy uruchomiÄ algorytm rtabmap przy uĹźyciu rzeczywistych sensorĂłw. JeĹli uĹźywamy plik bag musimy zadbaÄ o jeszcze jednÄ rzecz. JeĹli uruchomilibyĹmy powyĹźszy plik z danymi odtwarzanymi z pliku bag to algorytm zwrĂłciĹby bĹÄ d o braku aktualnych danych. Jest to spowodowane róşnicÄ pomiÄdzy aktualnym czasem, a czasem zawartym w wiadomoĹciach. WiÄkszoĹÄ wiadomoĹci w systemie ROS posiada nagĹĂłwek w ktĂłrym zawarta jest informacja w jakiej chwili dany pomiar/wiadomoĹÄ zostaĹ wysĹany/stworzony/zmierzony tzw. timestamp. Skoro odtwarzamy nasze wiadomoĹci to ich timestamp moĹźe byÄ nawet z przed kilku dni. Natomiast algorytm wymaga, aby dane byĹy nie starsze niĹź 5s. Aby rozwiÄ zaÄ ten problem uĹźyjemy czasu symulowanego. Podczas symulacji oraz odtwarzania danych symulacja czasu pozwala nie tylko przyspieszaÄ czy zwalniaÄ czas, ale rĂłwnieĹź rozpoczynaÄ wielokrotnie danÄ sekwencjÄ od staĹego punktu w czasie. +DziÄki tak stworzonemu plikowi moglibyĹmy uruchomiÄ algorytm rtabmap przy uĹźyciu rzeczywistych sensorĂłw. JeĹli uĹźywamy plik bag musimy zadbaÄ o jeszcze jednÄ rzecz. JeĹli uruchomilibyĹmy powyĹźszy plik z danymi odtwarzanymi z pliku bag to algorytm zwrĂłciĹby bĹÄ d o braku aktualnych danych. Jest to spowodowane róşnicÄ pomiÄdzy aktualnym czasem, a czasem zawartym w wiadomoĹciach. WiÄkszoĹÄ wiadomoĹci w systemie ROS posiada nagĹĂłwek, w ktĂłrym zawarta jest informacja w jakiej chwili dany pomiar/wiadomoĹÄ zostaĹ wysĹany/stworzony/zmierzony tzw. timestamp. Skoro odtwarzamy nasze wiadomoĹci to ich timestamp moĹźe byÄ nawet z przed kilku dni. Natomiast algorytm wymaga, aby dane byĹy nie starsze niĹź 5s. Aby rozwiÄ zaÄ ten problem uĹźyjemy czasu symulowanego. Podczas symulacji oraz odtwarzania danych symulacja czasu pozwala nie tylko przyspieszaÄ czy zwalniaÄ czas, ale rĂłwnieĹź rozpoczynaÄ wielokrotnie danÄ sekwencjÄ od staĹego punktu w czasie. W systemie ROS, gdy chcemy uĹźywaÄ czasu symulowanego potrzebujemy dwĂłch rzeczy: - ustawiÄ parametr "use_sim_time" na true @@ -614,7 +614,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 19:** 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