Skip to content
Tom Krajnik edited this page Dec 4, 2013 · 4 revisions

What is WhyCon-Mini ?

WhyCon-Mini is a minimalistic version of the WhyCon localization system. While the core of the WhyCon-Mini system is the same as the WhyCon one, it was designed to have as least dependencies as possible. Therefore, WhyCon-Mini is especially suitable for embedded applications and demonstration purposes.

To use it

To start with the software:

  1. Install the SDL libraries.
  2. Download the software from GitHub and go to the src directory.
  3. Adjust the camera resolution in the main/whycon.cpp.
  4. Compile the software - just type make.
  5. Print one circular pattern.
  6. Try a test run - you need to run the binary from the bin directory. Type ./whycon /dev/videoX, where X is the number of the camera.
  7. You should see the image with some numbers below the circle. Pressing D shows the segmentation result.
  8. Open your browser to view localhost:6666. You should see the circle position.

To setup a coordinate system :

  1. Calibrate your camera using the MATLAB (or Octave) calibration toolbox and put the Calib_result.m in the etc directory.
  2. Adjust the circle diameter in the main/whycon.cpp, (default diameter is 122 mm) and you should get real pattern position in meters.
  3. Print another four circular patterns to use them to define the global coordinate system.
  4. Put them on positions [0,0], [x,0], [y,0] and [x,y] of the coordinate system you want to use.
  5. Adjust the x,y values from the previous point in the main/whycon.cpp and recompile.
  6. Run the software, press r and click the four patterns.
  7. The positions of the detected patterns are now transformed in the global coordinate system given by the four circles.
  8. You can press 1,2,3 to switch between local camera 3D coordinates, 2D and 3D localization.

To proceed further :

  1. Pressing h displays help.
  2. The values from the last calibration are automagically loaded at the start of the system.
  3. Running the system with as ./whycon /dev/videoM N causes the method to search for N patterns with the Mth camera.
  4. Pressing +,- changes the number of localized patterns.
  5. Clicking a mouse to a particular position causes the system to start tracking from this point.

Dependencies

All the following libraries are probably in your packages.

  • libSDL-1.2 for graphical user interface.
  • libSDL_ttf-2.0 to print stuff in the GUI
Clone this wiki locally