X Line Follower

From RoboWiki
Revision as of 13:51, 11 July 2008 by Robot (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Project: Line Follower

Overview

X Line following robot

Author(s): Costin Ionita, Aija Rusina
Country(s): Romania/Latvia
Date: 11.07.2008
Activity: Robolution 2008

Abstract

Hardware Design: Our robot consists of a basic Boe-Bot to which we have attached a set of 3 IR sensors: 1-left, 1-center, 1-right.

Software Design: There is a main loop on which the robot analises its current state and tries to move on the direction of the line (Line Follower). The state is coded with three variables: qtiRight, qtiCenter and qtiLeft. 0 - white (robot doesn't sense anything), 1 - black (robot senses the line). There are three main cases:

1. qtiCenter = 1 (the rest doesn't matter)

  robot moves forward

2. qtiCenter = 0, qtiLeft = 1

  robot tries to search the line on the left side. If the line is found within a certain range the robot stops searching and continues moving forward.

3. qtiCenter = 0, qtiRight = 1

  robot tries to search the line on the right side. If the line is found within a certain range the robot stops searching and continues moving forward.

In case all three sensors "feel" 0, it means that the line is over or the curve is too steep. If the curve is too steep, the robot remembers the last change of direction and it tries to search to line in the same direction, otherwise it tries the opposite. If it's the end of the road, the robot uses a simple heuristic to find another line within a certain radius. It moves forward and serches both left and right. In no line is found it repeats this process for a number of times (2 in this case). After 2 steps, if no line is found the robot simply stops.

Project Files

Description Download
Project video Media:XLFvideo.mpg
Project sourcecode Media:XLFcode.bs2