Overview

The goals for this section:

  1. Run Frontier Exploration on the TurtleBot.
  2. Use the detector from Section 6 to perform Frontier Exploration with stop signs!
  3. This section uses the heading controller, AStar planner, navigator, detector, and frontier exploration codes that you have been developing throughout the quarter. It is a final test of your autonomy stack! Congratulations on making it this far! 😃

Setup

Task 1.1 — Cleanup. Remove directory ~/autonomy_ws if it exists. This may be leftover from a previous section.

Task 1.2 — Directories. Create the base directory structure for your group’s ROS workspace, ~/autonomy_ws/src.

Task 1.3 — Clone and Branch. Clone your group’s GitHub repo to the src/ directory, and create a new branch called section8.

Task 1.4 — Copy homework code. We will be adding the code you wrote in HW4 to your autonomy stack. Copy your frontier exploration node file to the autonomy_repo/scripts folder and the launch file to the autonomy_repo/launch folder on the AA274 laptop.

Note: If you haven’t done so, update your frontier exploration node so that it prints out a Finished exploring message when there are no more frontier states left to explore.

Task 1.5 — Build. Update CMakeLists.txt and make sure your node is executable. Navigate back to the root of your workspace and build it using colcon build --symlink-install.

Testing your HW

Task 2.1 — Launch simulator. Firstly, we will test out your HW4 code before you can test it out on the actual robot. Start the TurtleBot simulator by running:

ros2 launch asl_tb3_sim root.launch.py

Task 2.2 — Launch frontier exploration. In a new terminal, source your workspace, and then launch your frontier exploration node.

source ~/autonomy_ws/install/setup.bash
ros2 launch autonomy_repo <your_frontier_exploration_launch_file>

Checkpoint — Call a CA over to show that your TurtleBot performs Frontier Exploration in Gazebo.

Full TurtleBot Bring Up