Skip to content
Connor Monahan edited this page Feb 4, 2015 · 3 revisions

The Ratchet Rockers team 1706 has been hard at work this build season to bring you the public release of our vision solution.

INTRODUCTORY VIDEO: http://youtu.be/HYWgS2M8Zy4

Specifications:

  • C++ code
  • Intended for a coprocessor (ODROID / Raspberry Pi)
  • Uses the OpenCV library
  • Written on Ubuntu 14.04 linux
  • Designed for Xbox 360 Kinect (could be used by any color, IR, or depth-map camera)

The program has the ability to track the field totes in three different modes: depth map, infrared light, and color. The use of a depth map to aid in tracking was used by the team for the first time in a competition. It allows the retrieval of more features

Explanation of Depth logic: https://github.com/rr1706/vision2015/wiki/Depth-Explanation

Explanation of IR logic: https://github.com/rr1706/vision2015/wiki/IR-Explanation

A few items still are being worked on: better color thresholds, an edge detector to replace the calibration image, transmitting camera images, multithreading, and so on.

To get the program working, you will need:

  • Ubuntu 14.04 linux
  • Xbox 360 kinect
  • C++ knowledge

Steps to get the program working:

  1. Install the dependencies: sudo apt-get install build-essential libfreenect-dev qtcreator libopencv-dev
  2. Clone the repository to your computer.
  3. Open the vision2015.pro file with Qt Creator.
  4. Configure Qt Creator to build the project for Desktop.
  5. Visit the source code file demo.cpp in the Qt Creator sidebar to change your basic options.

The main function near the bottom of the file selects which mode to use. Select color for basic color tracking, or any other function available in the program by changing the line to call a function available. Check tracker.hpp for the classes that contain the various vision tracker programs. You may need to change the thresholding values for your current lighting conditions (your environment or day/night cycle). You can use my program multithresh (https://github.com/rr1706/multithresh) to select proper threshold values (stored in tracker.hpp).

Example image of a detected target and team logos

Clone this wiki locally