Difference between revisions of "Team Commando"

From GcatWiki
Jump to: navigation, search
(Image Processing)
(Navigation)
 
(31 intermediate revisions by 4 users not shown)
Line 1: Line 1:
==To Do==
+
==Navigation==
*command module navigation (Daniel and Matt)
+
 
*image processing (Steph, Evan, Jonah)
+
Our general navigation algorithm is as follows:
*decide on a camera
+
 
*abstract
+
*Find checkpoint
**https://docs.google.com/document/d/1YrS9Ua821oJdYNquYGewYql7AsK0MqUhzOm-0q8JxM8/edit
+
*Move along the wall a preset distance
 +
*Now the robot is at a door. Face the door.
 +
*Drive at maximum speed to clear threshold. Once threshold is clear, resume normal speed
 +
*If door is open, then enter room, wait until image processing is done, turn around and leave
 +
*Find the next checkpoint... etc.
  
==Navigation==
+
Checkpoints can be a virtual wall, or the real wall immediately next to the room the robot has just left. The first checkpoint is just the robot's starting point. The robot follows the wall whenever it is measuring distance because the wall keeps the robot going straight ahead, which helps precision.
  
 
==Image Processing==
 
==Image Processing==
*possible cameras
+
*Camera
<!--**http://www.logitech.com/en-us/webcam-communications/webcams/devices/6333
+
**Logitech Orbit (on a stick)
**http://us.playstation.com/ps3/accessories/playstation-eye-camera-ps3.html
 
**http://www.westernunion.com/wushop/category/product/304009645/search/Microsoft-LifeCam-VX-5000-Webcam---Red---Bulk/
 
**http://www.zagrosrobotics.com/shop/item.aspx?itemid=759-->
 
  
*software
+
*Software
**matlab toolbox
+
**Matlab create toolbox
**http://homepages.inf.ed.ac.uk/rbf/BOOKS/PHILLIPS/cips2ed.pdf
+
***http://www.usna.edu/Users/weapsys/esposito/roomba.matlab/
 
**Roborealm
 
**Roborealm
 
***useful demo: http://www.roborealm.com/tutorial/Fun_with_Roomba/slide070.php
 
***useful demo: http://www.roborealm.com/tutorial/Fun_with_Roomba/slide070.php
  
*method
+
*Method
 
**attach laptop to iRobot
 
**attach laptop to iRobot
**receive signal from robot when it has arrived in room
+
**receive signal from robot when it has arrived in room via command module serial ports => matlab
**use laptop to take image
+
**webcam pans and roborealm scans for magenta
**process image to determine whether or not a window is open
+
***matlab checks to see if roborealm has found magenta at every degree of the pan
 +
****if found, places a one in the vector entry corresponding to that room
  
 
*Current dataset
 
*Current dataset
Line 32: Line 34:
 
**https://www.dropbox.com/sh/hx5rwp9ilakwg5c/8Yf4twUjV1
 
**https://www.dropbox.com/sh/hx5rwp9ilakwg5c/8Yf4twUjV1
  
*to-do:
+
*RoboRealm
 +
**Color to detect: magenta?
 +
**attach color to bottom of window so can only be detected when open
  
-figure out physical orientation of computer/camera
 
  
-build training set: every possible window configuration
+
*What We Have So Far:
 +
**RoboRealm module string to find magenta blobs and control Orbit
 +
**MatLab script that opens RoboRealm and controls camera/gets magenta detection info
 +
**sticker mockup
 +
***[[Media:WindowSticker.jpg]]
  
-figure out how to get the images... opencv documentation: http://opencv.willowgarage.com/documentation/cpp/features2d_common_interfaces_of_feature_detectors.html, http://opencv.willowgarage.com/wiki/CameraCapture
+
==To-Do:==
 +
**Get magenta tape
 +
**test Orbit in different light conditions
 +
**look into more filter options
 +
***sunglasses seemed like an option
 +
***Rob McSwain has been emailed about video filters
 +
**Figure out exact frequency of magenta and how that corresponds to hue/intensity in RoboRealm so that extraneous magenta objects are not picked up
 +
**Add something to MatLab script to interpret the vector once the Roomba has been everywhere
 +
**Test/figure out the serial port pings to MatLab
 +
*roborealm over rtacks while panning; needs a second to get oriented
 +
**change matlab script to only check for blobs once camera has paused for a second.
  
-decide on preprocessing method: threshhold, line detection, contrast upping, pulling out the windows, or doing none of that and trusting the neural net.
 
  
-figure out how to get the command module to tell comp when to take a picture
+
*The Most Current To-DO:
 +
**We'll also fine-tune the script so the center of gravity doesn't appear when it isn't supposed to
 +
**Communication between command module and matlab
 +
***serial port
 +
***microphone
 +
**Jonah is going to add pause-checks to the MatLab script so it doesn't mis-classify
 +
**A beautiful sticker will be designed with the specs we currently have
 +
**And the world shall rejoice in itself and its conservation of energy
  
-get the neural net trained and tested
+
==What "Works"==
 +
===Navigation===
 +
*Command module script:
  
 +
https://www.dropbox.com/s/t0693qp3gpuazh6/Command%20Module%20Script.c
  
 +
===Detecting Windows===
 +
*Matlab script:
 +
**[[Media:RoboRealmControl.m.txt]]
 +
*RoboRealm filters:
 +
**for at night with lights on
 +
**for at night with lights off and flashlight
  
*Active Thoughts:
+
===Communication Between Detection and Navigation===
 +
*initialize serial port connection:
 +
**[[Media:InitializeComMod.m.txt]]
 +
*read input:
 +
**[[Media:ReadCommand.m.txt]]
 +
*motion detection script
  
-RoboRealm seems sweeeeell.
+
==Contacting our iRobot create==
::interface with MATLAB: http://www.mathworks.com/matlabcentral/fileexchange/22882
+
*send your fan mail to davidsonirobot@gmail.com
-current plan-ish:
 
::roborealm does processing and recieve signals from command module via serial port, then sends processed images ot matlab for NN classification. BOOM.
 

Latest revision as of 04:15, 16 May 2012

Navigation

Our general navigation algorithm is as follows:

  • Find checkpoint
  • Move along the wall a preset distance
  • Now the robot is at a door. Face the door.
  • Drive at maximum speed to clear threshold. Once threshold is clear, resume normal speed
  • If door is open, then enter room, wait until image processing is done, turn around and leave
  • Find the next checkpoint... etc.

Checkpoints can be a virtual wall, or the real wall immediately next to the room the robot has just left. The first checkpoint is just the robot's starting point. The robot follows the wall whenever it is measuring distance because the wall keeps the robot going straight ahead, which helps precision.

Image Processing

  • Camera
    • Logitech Orbit (on a stick)
  • Method
    • attach laptop to iRobot
    • receive signal from robot when it has arrived in room via command module serial ports => matlab
    • webcam pans and roborealm scans for magenta
      • matlab checks to see if roborealm has found magenta at every degree of the pan
        • if found, places a one in the vector entry corresponding to that room
  • RoboRealm
    • Color to detect: magenta?
    • attach color to bottom of window so can only be detected when open


  • What We Have So Far:
    • RoboRealm module string to find magenta blobs and control Orbit
    • MatLab script that opens RoboRealm and controls camera/gets magenta detection info
    • sticker mockup

To-Do:

    • Get magenta tape
    • test Orbit in different light conditions
    • look into more filter options
      • sunglasses seemed like an option
      • Rob McSwain has been emailed about video filters
    • Figure out exact frequency of magenta and how that corresponds to hue/intensity in RoboRealm so that extraneous magenta objects are not picked up
    • Add something to MatLab script to interpret the vector once the Roomba has been everywhere
    • Test/figure out the serial port pings to MatLab
  • roborealm over rtacks while panning; needs a second to get oriented
    • change matlab script to only check for blobs once camera has paused for a second.


  • The Most Current To-DO:
    • We'll also fine-tune the script so the center of gravity doesn't appear when it isn't supposed to
    • Communication between command module and matlab
      • serial port
      • microphone
    • Jonah is going to add pause-checks to the MatLab script so it doesn't mis-classify
    • A beautiful sticker will be designed with the specs we currently have
    • And the world shall rejoice in itself and its conservation of energy

What "Works"

Navigation

  • Command module script:

https://www.dropbox.com/s/t0693qp3gpuazh6/Command%20Module%20Script.c

Detecting Windows

Communication Between Detection and Navigation

Contacting our iRobot create

  • send your fan mail to davidsonirobot@gmail.com