Practical project

The practical project for the Robotics course consists in implementing a navigation algorithm to make a differential drive robot reach a target location in an unknown 2D environment.

This page provides the details on the goal, the robot equipment and the environment.

The map and the target

To fulfill the practical project, the robot must be able to navigate in a generic map. This means that, while the navigation approach can be tested on one map during the development, it must not make any assumption on the characteristics of the map. In other words, it must be able to complete its task in any map, i.e., with arbitrary placement of obstacles.

The location of the target is not a-priori known by the robot. The robot must rely on the proximity sensors to locate it (see below).

The score will be considered to evaluate the performance of the implemented navigation algorithm.


Every collision with objects that are not the target one is considered a fault and the score will be decreased. After colliding with the target object, the robot will stop and the score will not change anymore.

The robot

The robot is a differential drive robot.

ATRV robot

To make the robot able to complete the task, it is equipped with different types of sensors and actuators.


The robot is equipped with 3 different types of sensors with specific goals.

Pose sensor

The pose sensor can be used to locate the robot w.r.t. the inertial (external/global) frame.

Both position and orientation can be obtained from this sensor.

Infrared sensors

The robot is equipped with 4 infrared sensors: one in the front, one 30 degrees to the right, one 30 degrees to the left and one in the back.

Those sensors can be used to sense obstacles as objects and walls and avoid them.

Proximity sensor

The proximity sensor is used to locate the objects in a simulation. In particular, it can be used to locate the target object.

The sensor returns the distance from the robot and an object. It does not return any information regarding the direction to take to reach the object.


The robot is equipped with a camera that can be used during the development. Indeed, it is possible to watch at the camera stream directly fron the Morse window.


The robot is equipped with tho different actuators: the differential drive and the keyboard actuator.

Differential drive

The differential drive is the main actuator of the robot and the only one that is allowed to connect to operate by the robot’s logic.

The differential drive is a perfect differential drive, thus it has no slips. To control the robot movements, the parameters that can be set are the linear velocity v and the angular velocity w.


The keyboard actuator allows the user to directly control the pose of the robot. Since that, it is only allowed during the development/debug phase and cannot be used during the presentation of the project.

Further considerations

Some important general observations, considering the previous indications are: