From b1e11feae72f57c68e77249ec4c96fb756016767 Mon Sep 17 00:00:00 2001 From: Fabien Spindler Date: Tue, 16 Apr 2024 11:35:25 +0200 Subject: [PATCH] Update doc to point https://visp-doc.inria.fr/doxygen/visp-python-daily/ the daily updated doc for Python bindings --- ChangeLog.txt | 1 + doc/biblio/references.bib | 11 +++- doc/mainpage.dox.in | 100 +++++++++++++++++++++---------- doc/tutorial/tutorial_python.dox | 2 +- 4 files changed, 82 insertions(+), 32 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index 2cb60e605e..1c7b5945be 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -24,6 +24,7 @@ ViSP 3.x.x (Version in development) . vpHinkley class is deprecated, in favor of vpStatisticalTestHinkley - New features and improvements . Introduce Python bindings for most of ViSP modules and classes (see corresponding tutorial) + . New specific documentation for Python bindings in https://visp-doc.inria.fr/doxygen/visp-python-daily/ . Updated Dockerfile in ci/docker folder for Ubuntu 18.04, 20.04 and 22.04. Corresponding images are also available ready to use on DockerHub https://hub.docker.com/repository/docker/vispci/vispci/general . OpenCV 2.4.8 is the minimal supported version diff --git a/doc/biblio/references.bib b/doc/biblio/references.bib index ec1032cbe6..ca3e3af548 100644 --- a/doc/biblio/references.bib +++ b/doc/biblio/references.bib @@ -679,4 +679,13 @@ @inproceedings{Labbe2022Megapose booktitle = {CoRL}, author = {Labb\'e, Yann and Manuelli, Lucas and Mousavian, Arsalan and Tyree, Stephen and Birchfield, Stan and Tremblay, Jonathan and Carpentier, Justin and Aubry, Mathieu and Fox, Dieter and Sivic, Josef}, date = {2022} -} \ No newline at end of file +} + +@InProceedings{Oliva22c, + Author = {Oliva, A. and Spindler, F. and Robuffo Giordano, P. and Chaumette, F.}, + Title = {{A Dynamic Simulator for the Franka Emika Robot with Visual-Servoing Enabled Capabilities}}, + BookTitle = {Int. Conf. on Control, Automation, Robotics and Vision, ICARCV'22}, + Address = {Singapore}, + Month = {December}, + Year = {2022} +} diff --git a/doc/mainpage.dox.in b/doc/mainpage.dox.in index 4bee5562af..9c0a24558d 100644 --- a/doc/mainpage.dox.in +++ b/doc/mainpage.dox.in @@ -7,17 +7,26 @@ \section intro_sec Introduction

ViSP \cite Marchand05b is a modular C++ library that allows fast development of visual -servoing applications. ViSP is developed and maintained by the Inria +servoing and visual tracking 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 wiki is available here +https://github.com/lagadic/visp/wiki

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

+https://github.com/lagadic/visp/

+ +

ViSP daily updated C++ documentation is available here +https://visp-doc.inria.fr/doxygen/visp-daily

+ +

It is also possible to use the version under development in Python by compiling the Python bindings. +See \ref tutorial_python. Daily updated documentation specific to Python bindings is available here + +https://visp-doc.inria.fr/doxygen/visp-python-daily/.

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 @@ -25,6 +34,46 @@ href="http://www.inria.fr/en/centre/rennes" target="_parent">Inria Rennes.visp@inria.fr +\section description Description + +Since 2005, we develop and release ViSP \cite Marchand05b, an open source library. +ViSP standing for Visual Servoing Platform allows prototyping and developing applications using visual tracking and +visual servoing techniques at the heart of the [Rainbow](https://team.inria.fr/rainbow) research. ViSP was designed to +be independent from the hardware, to be simple to use, expandable and cross-platform. ViSP allows designing +vision-based tasks for eye-in-hand and eye-to-hand systems from the most classical visual features that are used in +practice. It involves a large set of elementary positioning tasks with respect to various visual features +(points, segments, straight lines, circles, spheres, cylinders, image moments, pose...) that can be combined together, +and image processing algorithms that allow tracking of visual cues (dots, segments, ellipses...), or 3D model-based +tracking of known objects or template tracking. Simulation capabilities are also available. + +We have extended ViSP with a new open-source dynamical simulator named FrankaSim based on CoppeliaSim and ROS for the +popular Franka Emika Robot \cite Oliva22c. The simulator fully integrated in the ViSP ecosystem features a dynamic +model that has been accurately identified from a real robot, leading to more realistic simulations. +Conceived as a multipurpose research simulation platform, it is well suited for visual servoing applications as well +as, in general, for any pedagogical purpose in robotics. All the software, models and CoppeliaSim scenes presented +in this work are publicly available under free GPL-2.0 license. + +We have also recently introduced a module dedicated to deep neural networks (DNN) to facilitate image classification +and object detection. This module is used to infer the convolutional networks Faster-RCNN, SSD-MobileNet, ResNet 10, +Yolo v3, Yolo v4, Yolo v5, Yolo v7 and Yolo v8, which simultaneously predict object boundaries and prediction +scores at each position. + +From a software point of view, ViSP provides simple ways to integrate and validate new algorithms with already +existing tools. It follows a module-based software engineering design where data types, algorithms, sensors, viewers +and user interaction are made available. Written in C++, ViSP is based on open-source cross-platform libraries +(such as OpenCV) and builds with CMake. Several platforms are supported, including OSX, iOS, Windows and Linux. +ViSP online documentation allows to ease learning. More than 307 fully documented classes organized in 18 different +modules, with more than 475 examples and 114 tutorials are proposed to the user. ViSP is released under a dual +licensing model. It is open-source with a GNU GPLv2 or GPLv3 license. A professional edition license that replaces +GNU GPL is also available. + +ViSP is interfaced with various robots, haptic devices, force-torque sensors, laser range finders, depth cameras, +RGB cameras, and motion capture system that you can use for learning visual-servoing or building robotics applications +on top of them based on ViSP. See \ref supported-material section. + +To not reinvent the wheel, ViSP is interfaced with various third parties like OpenCV, MavSDK, libur_rtde... +See the complete list of \ref supported-third-parties. + \section arch_sec Software architecture Since ViSP 3.0.0, we design a new modular software architecture where ViSP capabilities are grouped in several modules @@ -35,44 +84,46 @@ depend on core. \image html soft_archi_v6.png "ViSP modules and their optional dependencies" -\section hardware Supported Hardware - -ViSP is interfaced with various robots, haptic devices, force-torque sensors, laser range finders, depth cameras, -RGB cameras, and motion capture system that you can use for learning visual-servoing or building robotics applications -on top of them based on ViSP. See \ref supported-material section. - -\section software Supported Third-Party Libraries - -To not reinvent the wheel, ViSP is interfaced with various third parties like OpenCV, MavSDK, libur_rtde... -See the complete list of \ref supported-third-parties. - \section download_sec Download

From https://visp.inria.fr/download +href="https://visp.inria.fr/download/" target="_parent">https://visp.inria.fr/download/ page you can either download the latest stable release, a daily snapshot or the current -development distribution using git.

+development distribution using git

+ +\verbatim +$ git clone https://github.com/lagadic/visp +\endverbatim \section install_sec Installation

Because ViSP is a multi platform library that works under Linux, OSX and Windows, to install ViSP from source you need the CMake configuration tool -available from http://www.cmake.org. +available from http://www.cmake.org/. Furthermore, depending on your operation system and the capabilities (framegrabber, display, simulation, ...) you need, prior to install ViSP, install \ref supported-third-parties. There is also this page -https://visp.inria.fr/software-architecture +https://visp.inria.fr/software-architecture/ that gives an overview of the third-parties used by each ViSP module.

ViSP full installation procedure explaining how to install CMake and third-parties is detailed in the \ref tutorial_install page. \ref tutorial_started and documents in pdf are also available from https://visp.inria.fr/publications.

+href="https://visp.inria.fr/publications/" target="_parent">https://visp.inria.fr/publications/.

\section tutorial Tutorials To learn ViSP, we propose a lot of tutorials that show the basic use of ViSP classes in \ref tutorial_users. +

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 ViSP 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, ...

+ @VISP_MAINPAGE_EXTENSION@ \section Citing_ViSP Citing ViSP @@ -117,17 +168,6 @@ To cite pose estimation algorithms } ``` -\section Examples_sec 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, ...

- \section Howto_sec How to help ?

ViSP library is an open source C++ library which is developed at Inria diff --git a/doc/tutorial/tutorial_python.dox b/doc/tutorial/tutorial_python.dox index a000a66e94..79b5535aaa 100644 --- a/doc/tutorial/tutorial_python.dox +++ b/doc/tutorial/tutorial_python.dox @@ -1,4 +1,4 @@ -/*! \page tutorial_python_new ViSP for Python +/*! \page tutorial_python ViSP for Python This page introduces the user to the way to exploit ViSP with Python.