[Documentation] [Download] [License]

Mavis

Mavis is a computer-vision package for mobile robots. I wrote it for a group robotics project, called Leaf. Its API is task oriented, and the vision tasks it performs are specifically designed to be useful for mobile robots: locate homebase, detect obstacles, and so on. The current release also includes face detection.

Mavis runs on Windows XP. Its interface is implemented as a separate dll, so mavis users can develop in any language that links to dlls, including C/C++, VisualBasic, Java, Lisp, Prolog, or Forth.

Mavis is implemented as a C++ class. It requires a program to load and run it. A Windows program for running mavis is included. It's called MavisCtl -- Mavis Control Program. MavisCtl displays visual feedback from mavis as a picture on its GUI. It can also "talk" directly to mavis by loading the interface dll and using mavis' API. When the dll is loaded, MavisCtl displays a GUI for controlling mavis directly.

 

More Information

Capabilities

Architecture

API

 

System Requirements

  • Microsoft Windows and Microsoft's DirectX. Windows XP comes with DirectX built in. Mavis may also work on other Windows versions if DirectX is installed, but I haven't tested that.

  • A video input device, such as a webcam, that's compatible with DirectX.

  • There are some physical restrictions. These are described under Configuration.

  • Mavis uses framecap to capture video frames. A copy of the framecap executable is included in the download package.
  •  

    License and Download

    Mavis is available for free use and distribution under the BSD license. This is a less restrictive license than GNU. It's also much shorter.

    1. Read the license.

    2. Download mavis.

    3. Install mavis and configure it for your setup.

     

    Acknowledgements

    Thanks to

  • Arthur Ed LeBouthillier for contributions to the initial version of mavis

  • Gordon McComb for suggesting the circular navigation target as a homebase marker
  •  

    Home | License | Download | Documentation