Library of memory-based visual navigation facilities
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Cight is an implementation of a visual algorithm for teach-replay navigation of mobile robots. See this article and the Dejavu demo application for reference.

Cight is developed in C++ 03 on top of boost and OpenCV. A set of cmake scripts is provided for building.


Open a command prompt, move into either folder build/release/ or build/debug/ (depending on which build mode you want to use) and enter the following commands:

$ cmake -DCMAKE_BUILD_TYPE=$MODE ../..
$ make -j2

Where $MODE should be either Release or Debug.

Alternatively, under Bash-compatible environments you can just call the script:

$ ./

The build scripts expect to find the include files for Clarus on a folder at the same level as the project's base folder, for example:

+--+ Cight
|  |
|  +-- build
|  +-- include
|  +-- src
+-- Clarus
   +-- build
   +-- include
   +-- src

Version History


A somewhat incremental update, pushed before I start porting my code base to ROS. An alternative processing pipeline more fundamentally based on difference images, which I expect will be easier to performance-optimize later on, was implemented. The previous pipeline remains available, but I plan to retire it on a future version. Also I have decided to leave compile-time diagnostics on by default.


A hopelessly belated update, but better late than never. This version includes the new image pairing method described in this report. In fact the actual implementation has progressed a little beyond what is reported here, and is currently in a state of flux, but it had been too long since I uploaded anything and I was growing weary of having no backup of this work. So there.


  • Increment the cmake scripts with better dependency detection;
  • Document the API and source files;
  • Move the code base to C++ 11, when support is widespread enough.