IRIS Home
IRIS Foundation
IRIS-XT
IRIS-3D
IRIS Runtime
Osiris
Source code
Discussions
Datasets
LiveJournal
References
COMRADE Home
About me

Welcome to IRIS !

What is IRIS ?

IRIS is the vision system being developed for COMRADE. However, it is also being designed keeping in mind future expansions and applications on other robot platforms and/or desktop applications. As of now, it is still evolving continuously in terms of code and performance. You can keep track of the latest developments through this site or by visiting our project journal.

IRIS is organised (as of now) functionally into five distinct components:

  • IRIS Foundation: This contains all the data structures and frequently-used algorithms required by the other two components, IRIS-XT and IRIS-3D.
  • IRIS-XT: This component is resposible for the basic image processing functions as well as all the 2D machine vision tasks like line detection and shape matching.
  • IRIS-3D: This component is responsible for performing 3D vision tasks like 3D reconstruction and stereoscopic vision.
  • IRIS Runtime: This component (still under active construction), is responsible for providing a runtime environment within which all objects belonging to any IRIS class will be created and destroyed. It will also include an interface to a scripting language like Python, Pike or Cint.
  • Osiris: This is not strictly a part of IRIS, but it is intended to provide methods for localisation, either purely vision-based, or based on fused data from sonar and vision. It should also be capable of map-building in unknown environments, and is still under construction.


On which platforms can IRIS be used ?

IRIS is being developed under Windows (98, Me, XP whatever) using Dev-C++ 4.9.5. However, it is targeted for the Linux platform; thus the code has been kept as platform-independent as possible by sticking to Standard C++. Both implementations have been merged into a single distribution, though they will diverge in the near future (possibly due to linking issues with scripting languages and GUI issues). You can find a discussion on this and other issues in the Discussions section.

Currently, IRIS is being tested using gcc 3.3 under Red Hat Linux 9.


How can I reuse IRIS ?

In any way you see fit. IRIS is basically designed for machine vision applications, but that does not restrict its domain of use. You can add several algorithms which perform fancy effects, add a few functions for reading different image formats, and design your custom image processing engine.

In fact, you can go even further and dismember parts of IRIS-3D to get a (very) basic 3D graphics engine (In fact, many functions IRIS-3D uses have been ripped off from an engine for robotic arm visualisation I wrote in Turbo C++ a few years ago!).


Which parts of IRIS are complete enough for me to use ?

A rather hard question to answer, since IRIS is evolving continuously. In a sense, a lot of IRIS is complete but a lot still remains to be done, like some optimisations and inclusion of better algorithms in existing modules, besides the coding of the new modules themselves.

However, that does not mean you cannot start using IRIS immediately for your purposes. Some of my reference material is listed in the References section. You can also find out the status of each IRIS component by going to the appropriate section, or see what IRIS can already do (Check out the Datasets section).


Copyright (c) 2004 Avishek Sen Gupta