User Tools

Site Tools


marvin:ecp0

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
marvin:ecp0 [2009/01/29 09:43] sohnmarvin:ecp0 [2009/01/29 11:11] (current) rieper
Line 8: Line 8:
  
 Our original project goal description can be found in its entirety in lab11(([[http://wiki.aasimon.org/?id=marvin:lab11|Lab 11]])) Our original project goal description can be found in its entirety in lab11(([[http://wiki.aasimon.org/?id=marvin:lab11|Lab 11]]))
 +
  
 =====Structure of this Document===== =====Structure of this Document=====
 This documents is divided into 7 parts. The introduction is the first part and is meant to give a general introduction the project, the LEGO Mindstorm NXT and the software structure as well as the naming conventions for easier reading.\\ This documents is divided into 7 parts. The introduction is the first part and is meant to give a general introduction the project, the LEGO Mindstorm NXT and the software structure as well as the naming conventions for easier reading.\\
-Each lab report should not be read as a chronological point of view, as there will be subjects mentioned that has not been fully implemented in that particular lab session. The lab reports are used to define different subjects of investigation.\\+Each lab report should not be read as a chronological evolution of the project, as there will be subjects mentioned that has not been fully implemented in that particular lab session. The lab reports are used to define different subjects of investigation.\\
 The following 5 lap reports describes the process and the results.\\ The following 5 lap reports describes the process and the results.\\
   * Lap report 1 describes how the robot was build and how the communication with the gyroscope is handled.\\   * Lap report 1 describes how the robot was build and how the communication with the gyroscope is handled.\\
Line 19: Line 20:
   * Lap report 5 describes how to make the robot remote controlled utilizing BlueTooth.\\   * Lap report 5 describes how to make the robot remote controlled utilizing BlueTooth.\\
 Finally there is a discussion/evaluation of the obtained results and a conclusion of the project as a whole.\\ Finally there is a discussion/evaluation of the obtained results and a conclusion of the project as a whole.\\
 +
  
 =====Motivation===== =====Motivation=====
Line 24: Line 26:
 Another great motivation factor has been all the great videos from [[http://www.youtube.com|Youtube]], where many people have tried to make a balancing robot using the LEGO Mindstorm kit. Most of them are very unstable and only capable of balancing, so it seems as a great challenge to make a remote controlled driving balancing robot with implemented behaviour models enabling the robot to interact with the environment. We were especially impressed and inspired by the outstanding implementation by Yorihisa Yamamoto(([[http://www.youtube.com/watch?v=4ulBRQKCwd4|Yorihisa Yamamoto's nxtway-gs]])). Another great motivation factor has been all the great videos from [[http://www.youtube.com|Youtube]], where many people have tried to make a balancing robot using the LEGO Mindstorm kit. Most of them are very unstable and only capable of balancing, so it seems as a great challenge to make a remote controlled driving balancing robot with implemented behaviour models enabling the robot to interact with the environment. We were especially impressed and inspired by the outstanding implementation by Yorihisa Yamamoto(([[http://www.youtube.com/watch?v=4ulBRQKCwd4|Yorihisa Yamamoto's nxtway-gs]])).
  
-{{:marvin:legway.jpg?200|The original RCX Legway}} +{{ :marvin:legway.jpg?200 |The original RCX Legway}} 
-{{:marvin:japanmarvin.png?200|Yorihisa Yamamoto's balancing robot}}+{{ :marvin:japanmarvin.png?200 |Yorihisa Yamamoto's balancing robot}}
  
 =====Literature Review===== =====Literature Review=====
Line 51: Line 53:
 =====Hardware===== =====Hardware=====
 This section introduces the hardware used in this project. The sensors/actuators will be introduced further in the relevant lab sessions. This section introduces the hardware used in this project. The sensors/actuators will be introduced further in the relevant lab sessions.
 +
  
 ====NXT Module==== ====NXT Module====
-{{:marvin:p_intro_brick.png|NXT Module}}+{{:marvin:p_intro_brick.png}}
  
-The NXT(([[http://mindstorms.lego.com/eng/Overview|Lego Mindstorm]])) is the brain of a MINDSTORMS® robot. +The NXT(([[http://mindstorms.lego.com/eng/Overview|LEGO Mindstorm]])) is the brain of a MINDSTORMS® robot. 
  
-===Motor ports===+===Motor Ports===
 The NXT has three output ports for attaching motors - Ports A, B and C. The NXT has three output ports for attaching motors - Ports A, B and C.
  
-===Sensor ports===+===Sensor Ports===
 The NXT has four input ports for attaching sensors - Ports 1, 2, 3 and 4.  The NXT has four input ports for attaching sensors - Ports 1, 2, 3 and 4. 
  
-===USB port===+===USB Port===
 Connect a USB cable to the USB port and download programs from the computer to the NXT (or upload data from the robot to the computer). It is also possible to use the wireless Bluetooth connection for uploading and downloading. Connect a USB cable to the USB port and download programs from the computer to the NXT (or upload data from the robot to the computer). It is also possible to use the wireless Bluetooth connection for uploading and downloading.
  
-===Technical specifications=== +===Technical Specifications=== 
   * 32-bit ARM7 microcontroller    * 32-bit ARM7 microcontroller 
   * 256 Kbytes FLASH, 64 Kbytes RAM    * 256 Kbytes FLASH, 64 Kbytes RAM 
Line 85: Line 88:
  
  
-====The Sonic Sensor====+ 
 +====The Ultrasonic Sensor====
 {{:marvin:sonic.png}} {{:marvin:sonic.png}}
  
Line 101: Line 105:
 All classes are fully documented by the javadoc documentation conventions(([[http://java.sun.com/j2se/javadoc/writingdoccomments/index.html|Javadoc Documentation]])). All classes are fully documented by the javadoc documentation conventions(([[http://java.sun.com/j2se/javadoc/writingdoccomments/index.html|Javadoc Documentation]])).
  
-====Class overview====+====Class Overview====
 {{ :marvin:classes.png?450 }} {{ :marvin:classes.png?450 }}
 The above figure illustrates all the important classes in the project as well as their relations to each other. The above figure illustrates all the important classes in the project as well as their relations to each other.
Line 110: Line 114:
 Take note that printing out to the LCD is a very expensive task, and since the art of balancing is very sensitive, the print class cannot be used while actually running. Take note that printing out to the LCD is a very expensive task, and since the art of balancing is very sensitive, the print class cannot be used while actually running.
  
-=====The name=====+=====The Name=====
 The name //"Marvin"// has been taken from //"The Hitchhikers Guide to the Galaxy"// in which an android bears that exact name. He is also called //"Marvin, the paranoid android"//(([[http://en.wikipedia.org/wiki/Marvin the Paranoid Android|Paranoid Android]])), which refers to his sad mood, caused by a severe depression, and boredom, a behaviour we saw mirrored in the way our particular robot was moving and behaving. The name //"Marvin"// has been taken from //"The Hitchhikers Guide to the Galaxy"// in which an android bears that exact name. He is also called //"Marvin, the paranoid android"//(([[http://en.wikipedia.org/wiki/Marvin the Paranoid Android|Paranoid Android]])), which refers to his sad mood, caused by a severe depression, and boredom, a behaviour we saw mirrored in the way our particular robot was moving and behaving.
  
  
marvin/ecp0.1233218582.txt.gz · Last modified: 2009/01/29 09:43 by sohn