Difference between revisions of "Robolution Example Project"

From RoboWiki
Jump to: navigation, search
Line 1: Line 1:
= Project: Pubcrawling robot 2/1  =
+
= Project: Line Follower =
  
  
Line 6: Line 6:
 
[[Image:Rescue_robot_model.jpg|thumb|Line following robot|200px|right|Design of the hover]]
 
[[Image:Rescue_robot_model.jpg|thumb|Line following robot|200px|right|Design of the hover]]
  
'''Author(s):''' Lukasz Toppa<BR>  
+
'''Author(s):''' Costin Ionita, Aija Rusina  <BR>
'''Country:''' Poland                                <BR>
+
'''Country(s):''' Romania/Latvia              <BR>
'''Date:''' 11.07.2008                               <BR>
+
'''Date:''' 11.07.2008           <BR>
'''Activity:''' Robolution 2008               <BR>
+
'''Activity:''' Robolution 2008 <BR>
  
 
== Abstract ==
 
== Abstract ==
  
Our project was to develop a Hovercraft with the possibility to change the steering movement with four PC-Fans. The steering movement can be modified by changing the speed frequency via PWM-Signals. An extra board which contains the required driver elements has also to be realized.
+
'''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 ==
 
== Project Files ==

Revision as of 12:06, 11 July 2008

Project: Line Follower

Overview

Design of the hover

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 documentation Media:MyDocumentation.pdf
Project sourcecode Media:MySource.zip