Home
   Basics
   Tests
     » Ultrasonic Sensor
     » Light Sensor
     » Touch Sensor
     » Motors
   Bluetooth
   Project
     » Description
    » Details
     » Results
   Thesis Results
   Links
   
   printer friendly
 

4.2 Project Details

As concluded by J. Buhmann at al. [3] a robot must solve each of the following tasks to achieve the overall goal:

  • Map building
  • Motion planning
  • Collision avoidance
  • Localization
These tasks have been implemented separately and in the given order but for the localization function(omitted because of lack of time). The program was elaborated through foollowing stages: Explorer#1, Explorer#2 and Explorer#3.

Robot building

A robot deemed fit for the needed requirements was constructed. Figure 2.2 shows an image of our fancy robot.



Figure 2.2

Explorer#1

Tasks solved:

  • Map building
This program rotates its head 360° while converting the polar readings (angle head, ultrasonic distance) into cartesian coordinates that allow saving in a 2-dim array. The robot then travels forward 5 cm and repeats the first step and so on. Figure 2.3 shows a functional flowchart of Explorer#1.



Figure 2.3

Explorer#2

Tasks solved:

  • Motion planning
  • Collision avoidance
  • Start positioning
The main idea here was to explore the room in a clockwise direction by always following the wall on the left side. Once the robot reaches the position it originated from the program stops. Figure 2.4 shows a functional flowchart of Explorer#2.



Figure 2.4

Explorer#3

Tasks solved:

  • Map building ¹
  • Motion planning ¹
  • Collision avoidance ¹
  • Start positioning ¹
  • Measure environment (light, noise)
  • Course correction
  • Exit condition
  • Save map to Targa (TGA) [4] image format

    ¹ task solved before
The formula used to determine the environmental quality is:

q = (100 - noise + light)/2    q ∈ (0, 100)

Course correction is implemented through a FIFO buffer that stores and compares the actual and the past 3 distances to the wall on the left side. When too many values in the buffer differ from each other a course correction is executed. The exit condition uses a defined start area, once left the program exits if the current position is within the starting area. The map is finally saved to a Targa file. Figure 2.5 shows a functional flowchart of Explorer#3.



Figure 2.5

!!! Dieses Dokument stammt aus dem ETH Web-Archiv und wird nicht mehr gepflegt !!!
!!! This document is stored in the ETH Web archive and is no longer maintained !!!