Turtlebot3 Navigation

Learning Objectives

The purpose of this lab is to gain experience working with the ROS2 Navigation System and ROS2 OccupancyGrid messages.

Resources

Dependencies

Part 1 - Experimenting with Navigation

Take some time to read through the code in nav_demo.py to make sure you understand what’s going on.

Part 3 - Random Navigation

Modify random_nav.py so that it randomly wanders around the environment by repeatedly selecting random navigation targets. The pseudocode for the desired behavior should be as follows:

repeat forever:

    # randomly select a free location in the map
    while goal location not selected:
        select a random (real-valued) location in the map
        check the map to see if that location is free
    
    Ask the navigation system to navigate to the selected goal location
    
    Wait until the the goal is reached or aborted

Once you are satisfied with the behavior of your random_nav node push your final version to Github.

Part 3 - Navigation on the Real Robot

Follow the instructions from our previous navigation lab to launch the navigation system on a Turtlebot. Test your random navigation algorithm.


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.