\$35.00

Category:

## Description

Navigating a known Obstacle Course with the Lego Robot

The objective of this assignment is to navigate a mobile robot through an obstacle course to a goal location. The start position of the robot as well as the locations of all obstacles and of the goal are given before the robot is started.

The workspace for the robot is a rectangular area, 4.88 m x 3.05 m in size (this corresponds to exactly 16 x 10 floor tiles in the lab). Obstacles are black cardboard squares 0.305 m x 0.305 m in size (the size of 1 floor tile) which will be placed in the workspace. The goal is a black circle with a radius of 0.305 m. To simplify experiments, the center of the goal area, of the obstacles, and of the start will coincide with the intersection point of four floor tiles and their orientation will be aligned with the tiles. An example of such an obstacle course is shown in the figure below.

Obstacles, goal, and start location of the robot will be selected arbitrarily with the restriction that if a path exists, then there will always be a path which is at least 0.61 m (2 tiles) wide. The location of obstacles, start, and goal will be provided at compile time so it is not necessary to write interactive input routines. One possibility is to include them as a header file by providing the coordinates of their centers. For the obstacle course shown above this could look as follows:

Manfred Huber Page 1

CSE 4360 / 5364 – AUTONOMOUS ROBOTS Project 1: Robot Navigation

 #define MAX_OBSTACLES 25 /* maximum number of obstacles */ int num_obstacles = 13; /* number of obstacles */ double obstacle[MAX_OBSTACLES][2] = /* obstacle locations */ {{0.61, 2.743},{0.915, 2.743},{1.219, 2.743},{1.829, 1.219}, {1.829, 1.524},{ 1.829, 1.829}, {1.829, 2.134},{2.743, 0.305}, {2.743, 0.61},{2.743, 0.915},{2.743, 2.743},{3.048, 2.743}, {3.353, 2.743}, {-1,-1},{-1,-1},{-1,-1},{-1,-1},{-1,-1},{-1,-1},{-1,-1},{-1,-1},{-1,-1}, {-1,-1},{-1,-1},{-1,-1}}; double start[2] = {0.305, 1.219}; /* start location */ double goal[2] = {3.658, 1.829}; /* goal location */

At the end of the project each group has to hand in a report and give a short demonstration of their robot. During this demonstration you should provide a short description of the robot and navigation system, and be prepared to answer some basic questions.

The Project

1. Build a mobile robot for this task.

Using the parts in your robot kit, build a mobile robot for the navigation task. (Since the robot has to be able to navigate through the course, an important design criterion might be that the robot is able to keep track of its position and maybe to detect the goal once it is reached).

Your project report should include a short description of your robot design (including the critical design choices made).