Visual Servoing Platform  version 3.2.0
ViSP 3.2.0 main page

Introduction

ViSP [27] is a modular C++ library that allows fast development of visual servoing applications. ViSP is developed and maintained by the Inria Rainbow (former Lagadic) team located at Inria Rennes.

ViSP official site is https://visp.inria.fr

ViSP wiki is https://github.com/lagadic/visp/wiki

ViSP source code available on GitHub https://github.com/lagadic/visp

If you have any problems or find any bugs, please report them in the bug tracker. If you may need help, please use the available forums.

It is also possible to contact ViSP main developers using: visp@inria.fr

Software architecture

Since ViSP 3.0.0, we design a new modular software architecture where ViSP capabilities are grouped in several modules (core, io, gui, vision, …). In ViSP 3.1.0 we introduced a new module called imgproc. As a result, the user will find several shared or static libraries, one for each module. The following figure highlights the module dependencies and the third-party libraries that may be used by each module. The central module is the core module. All other modules depend on core.

soft_archi_v6.png
ViSP modules and their optional dependencies

Download

From https://visp.inria.fr/download you can either download the latest stable release, a daily snapshot or the current development distribution using git.

Installation

Because ViSP is a multi platform library that works under Linux, OSX and Windows, to install ViSP you need the CMake configuration tool available from http://www.cmake.org. Furthermore, depending on your operation system and the capabilities (framegrabber, display, simulation, ...) you need, prior to install ViSP you may install third party libraries https://visp.inria.fr/software-architecture.

ViSP full installation procedure using CMake is detailed in the Installation from prebuild SDK tutorials and Installation from source tutorials. Getting started tutorials and documents in pdf are also available from https://visp.inria.fr/publications.

Tutorials

Here after you will find a list of tutorials that show the basic use of ViSP classes with a small first code.

ViSP iOS

ViSP for Java

ViSP for Android

ViSP for Unity

Installation from prebuild SDK

Installation from source

Installation from cross-compiling

Getting started

Image manipulation

Image processing

Camera calibration

Tracking

Detection

Computer vision

Visual servoing

Bridges over other frameworks (OpenCV, MATLAB)

Other tools

Citing ViSP

Please cite ViSP in your publications if it helps your research:

@article{Marchand05b,
Author = {Marchand, E. and Spindler, F. and Chaumette, F.},
Title = {ViSP for visual servoing: a generic software platform with a wide class of robot control skills},
Journal = {IEEE Robotics and Automation Magazine},
Volume = {12},
Number = {4},
Pages = {40--52},
Publisher = {IEEE},
Month = {December},
Year = {2005}
}

To cite the generic model-based tracker:

@InProceedings{Trinh18a,
Author = {Trinh, S. and Spindler, F. and Marchand, E. and Chaumette, F.},
Title = {A modular framework for model-based visual tracking using edge, texture and depth features},
BookTitle = {{IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, IROS'18}},
Address = {Madrid, Spain},
Month = {October},
Year = {2018}
}

Using ViSP

ViSP C++ classes are organized in modules that may help the user during his project implementation.

From the example page, you will also find examples showing how to use the library to acquire and display an image, compute a camera pose, estimate an homography, servo a real robot or a simulated one using a 2D, 2D half or 3D visual servoing scheme, ...

How to help ?

ViSP library is an open source C++ library which is developed at Inria by Lagadic team. If you enjoy using ViSP, you may contribute to the project in different ways. This will motivate us to continue the efforts.

  • You can submit a bug report using the tracker.
  • You can submit patches or new functionalities using GitHub Pull Request mechanism.
  • You can write new tutorials, new documentations or simply improve the existing documentation.
  • If you just want to say you've been happy with the library, you can send us a postcard from your place, to the following address: Inria Rennes Bretagne Atlantique, Lagadic team, Campus de Beaulieu, 35042 Rennes Cedex, FRANCE.

You can also ask for help using either the french or the english forum.