gMapping, Adaptive Monte Carlo Lokalizasyonu ve Yol Planlama
Hazırlık
Önceden anlatıldığı gibi Ubuntu 14 with ROS Turtlebot imajını kurun. Aşağıdaki komutları bilgisayar kurulduktan sonra 1 kere çalıştırsanız yeterli olacaktır. Her seferinde tekrar tekrar çalıştırmayın.
- Çalıştırmanız Gereken Komutlar
sudo cp -rf /opt/ros/indigo/share/turtlebot_navigation/launch/includes/amcl/amcl.launch.xml /opt/ros/indigo/share/turtlebot_navigation/launch/includes/
sudo cp -rf /opt/ros/indigo/share/turtlebot_navigation/launch/includes/gmapping/gmapping.launch.xml /opt/ros/indigo/share/turtlebot_navigation/launch/includes/
Bu kodlar ileride amcl_demo veya gmapping_demo adlı paketleri çalıştırdığınızda gelecek olan bulunamadı hatasının çözümüdür.
- Çalıştırma
roslaunch turtlebot_gazebo turtlebot_world.launch
kodunu çalıştırıyoruz ardından gazebonun açılmasını bekleyin. Açıldıktan sonra
roslaunch turtlebot_rviz_launchers view_navigation.launch
Buraya kadar anlatılan kısımdan sonra ya gMapping ya da AMCL algoritmasını çalıştırın. İkisini beraber çalıştırmayın. Her algoritma için bu adımları tekrarlayın.
GMAPPING Algoritması
Pencereler açıldıktan sonra gMapping algoritmasını çalıştırmak için
roslaunch turtlebot_gazebo gmapping_demo.launch
komutunu çalıştırdıktan sonra RViz üzerinde göreceğiniz üzere gelen girdi verilerine göre gMap algoritmasına göre harita oluşturmaya başlanılacak.
Buradan sonra algortimamız artık çalışır vaziyettedir. Keyboard Teleop kodunu başlatarak robotu haritada gezdrirerek haritalama işlemine başlayabiliriz. Bunun için
roslaunch turtlebot_teleop keyboard_teleop.launch
komutu ile teleop işlemimiz başlamıştır.
u i o
j k l
m , .
q/z : yükselt/azalt maximum hızları %10 w/x : yükselt/azalt sadece lineer hızı %10 e/c : yükselt/azalt açısal hızı %10 space tuşu, k : aniden dur diğer herşey : hafifçe dur
tuşlarını kullanarak robotu yönlendireceğiz.
Bu yönlendirmeler sırasında robotu ve Rviz uygulamasını takip edin gMap algoritmasının haritayı işlediğini göreceksiniz.
ADAPTIVE MONTE CARLO Algoritması
roslaunch turtlebot_gazebo amcl_demo.launch
komutunu çalıştırdıktan sonra RViz üzerinde göreceğiniz üzere gelen girdi verilerine göre AMCL algoritmasına göre harita üzerinde olasılık noktaları dağılacak.
Buradan sonra algortimamız artık çalışır vaziyettedir. Keyboard Teleop kodunu başlatarak robotun haritadaki konumunu bulabiliriz. Bunun için:
roslaunch turtlebot_teleop keyboard_teleop.launch
komutu ile teleop işlemimiz başlamıştır.
u i o j k l m , .
q/z : yükselt/azalt maximum hızları %10 w/x : yükselt/azalt sadece lineer hızı %10 e/c : yükselt/azalt açısal hızı %10 space tuşu, k : aniden dur diğer herşey : hafifçe dur
tuşlarını kullanarak robotu yönlendireceğiz.
Bu yönlendirmeler sırasında robotu ve Rviz uygulamasını takip edin AMCL algoritmasının robotun konumunu gezdikçe bulduğunu göreceksiniz.
PATH PLANNING
Bu dökümanda robotun verilen bir yere yol planlaması yapmasını ve gtimesini sağlayacağız. Robot önceden haritayı biliyor olmalı. Bunun için gerekli düzenlemeler ROS ekibi tarafından göstereceğimiz harita için yapılmıştır.
- BAŞLANGIÇ
Aşağıda verilen adımları izleyin.
roslaunch turtlebot_gazebo turtlebot_world.launch
kodunu terminale yazın ve gazebo uygulamasının açılmasını bekleyin.
Tip | Eğer GAZEBO uygulaması hatalar verip kapanırsa kodu tekrar tekrar çalıştırın açılacaktır. |
Gazebo uygulamasında turtlebot_world dünyası yükelnecektir.
roslaunch turtlebot_rviz_launchers view_navigation.launch
kodunu çalıştırdığınızda da Rviz uygulaması açılacaktır. Rviz robota hedef vereceğimiz ve yol planlamasını yaptıracak, gösterecek uygulamamızdır.
Bu iki uygulama açıldıktan sonra AMCL algoritmasını çağırıp robota konumlama yaptırmamız gerekmekterdir.
roslaunch turtlebot_gazebo amcl_demo.launch
komutu ile AMCL algoritmasını çağırın Rviz ekranında da göreceğiniz üzere AMCL uygulaması çalışmış olacaktır.
Ardından Rviz uyguamasında üst menüde bulunan 2D Nav Goal tuşuna tıklayın.
Rviz üzerinden haritada bir noktaya tıklayın ve robotun yolu planlamasını ve gitmesini izleyin.