Skip to the content.

Lab 5 - Combine Behaviors to Complete a Mission

Objectives

The main goal of this lab is to combine different behaviors to make your robot perform a complex mission. You will implement a state machine and simple behaviors (like wall-following, go-to-goal with PID etc.) for the robot to navigate through a maze while tracking its pose.

Pre-requisites

webots_maze.png

Figure 1. Screenshot showing the maze environment. The e-puck robot starts at the center of the checker texture square (right) and must navigate to the red tunnel (left).

Description of the Mission

The mission of your robot is to pass under the red tunnel. The e-puck robot starts at the center of the checker texture square (right) and must navigate through the maze to get to the red tunnel (left). The robot can follow any free path (it does not need to be the shortest nor the fastest).

Requirements

There are many ways to implement a program for the robot to complete this mission. But for this assignment you must implement concepts from other labs. The list of requirements is given below:

Figure 2 illustrates the e-puck robot navigating through the maze by switching between three different behaviors: wall-following, curve +90 deg and turn -90 deg.

e-puck_maze_following
Figure 2. Maze navigation by switching between three simple behaviors: wall-following, curve +90 degrees and turn -90 degrees.

The selection of the active behavior is done by the state machine diagram shown in Figure 3, which uses the proximity sensor readings for transitions between states. Images from the robot camera can be processed to identify the events that cause the transitions shown in the diagram, allowing for the use of the same state-machine.

Maze-solver state machine diagram
Figure 3. Maze-solver state machine diagram.

Solution

No solution is provided for this lab. A bare-bones template for the code is provided in the ZIP file, which can be used as a starting point for the implementation of your solution. Also check the solutions of previous labs and the Jupyter Notebooks for Mobile Robot Control.

Conclusion

After completing this lab you are able to combine many behaviors for a mobile robot to execute a complex mission.

Next Lab

Go to Lab 6 - Trajectory Tracking Controller

Back to main page.