From 6a789105c3859a8cdf1cdbb5d0c5ed5ca56bf3fb Mon Sep 17 00:00:00 2001
From: Olivier Stasse <ostasse@laas.fr>
Date: Tue, 2 Jan 2018 16:56:48 +0100
Subject: [PATCH] [doc] Improve documentation.

---
 doc/additionalDoc/dgshell_doc.h        |   2 +-
 doc/additionalDoc/package.h            | 178 +++++++++++++++++++------
 doc/additionalDoc/shellfunctions_doc.h |   1 +
 doc/figures/Concept-Software-Fig.png   | Bin 0 -> 31613 bytes
 4 files changed, 140 insertions(+), 41 deletions(-)
 create mode 100644 doc/figures/Concept-Software-Fig.png

diff --git a/doc/additionalDoc/dgshell_doc.h b/doc/additionalDoc/dgshell_doc.h
index dc6f58ac..433fd08b 100644
--- a/doc/additionalDoc/dgshell_doc.h
+++ b/doc/additionalDoc/dgshell_doc.h
@@ -1,5 +1,5 @@
 /**
-
+\ingroup gshellfunctions
 \page dgshell_doc dg-shell executable
 The dynamic-graph shell program "dg-shell" allows access to the dynamic-graph library's
 Interpreter class, which can execute commands and scripts from the command line.
diff --git a/doc/additionalDoc/package.h b/doc/additionalDoc/package.h
index 7aa365eb..a643d3df 100644
--- a/doc/additionalDoc/package.h
+++ b/doc/additionalDoc/package.h
@@ -22,16 +22,62 @@
 /**
 \mainpage
 
+
+
 \section intro_dynamicGraph Introduction
 
 The dynamic-graph package is used to connect computation nodes, "entities"
-together using a graph system, akin to what Simulink does. With the building
-blocks this package provides, you can easily create a full computation graph
+together using a graph system, akin to what Simulink does. Entities are connected
+through input and output signals.
+With the building blocks this package provides, you can easily create a full computation graph
 for a given problem. It is the basis for the stack of tasks operation.
 
-\image html entity.png
-Functionality:
-\li Built-in scripting language* for fast prototyping and testing
+
+\subsection controlgraph Exemple: Real-time control
+
+<p>To give a more concrete example, the real-time control used by the Gepetto group for the humanoid robot HRP-2
+is detailled.</p>
+<p>
+Real-time control system are usually driven by a cyclic computational node which 
+needs to send a control reference value to each motors of a robot. To compute this
+control reference values, sensor values need to be provided.
+In the Stack-Of-Tasks special entities called Device are used to
+provide an abstract interface to the hardware.</p>
+A scheme of the real-time control graph used for the humanoid robot HRP-2 is depicted in the following figure:
+
+\image html Concept-Software-Fig.png
+
+<p>The device therefore has a specific input which should contain the control vector.
+This control vector is the result of a computation solving a control problem.
+The entity in charge of solving this control problem is called "Solver" in the previous
+figure.
+In the SoT framework it is often cast as an optimization problem.
+This optimization problem is build using a control "Task" (not to be confused with the 
+general word task). A control "Task" regulates the difference with a "Feature" computed
+on the current robot state and a "Desired Feature". For instance when walking, the regulated
+feature is the robot's Center-Of-Mass (CoM) position. The "Feature" is computed using a 
+library using the robot model and the sensor value. The entity making this computation is "Dyn".
+A walking pattern generator using foot-steps position given in advance generates the desired
+value for the CoM. 
+Note that the "Dyn" entity uses the sensor provided by the entity "Robot". </p>
+
+<p>
+From a pure computer science viewpoint we wish to avoid recomputing data such as articular Jacobians
+when this is unnecessary. Therefore the data generated by an entity through signals may have two types of
+dependencies: one dependency related to time and dependencies on other signals. Internally an entity
+does not recompute the data if no new information is available, it is simply providing the same information
+computed before. Please note that this package provides only the computational framework to realize
+the data dependency and the entities. Solvers, libraries to compute mechanical quantities are provided
+in different packages.
+</p>
+
+<p>
+Finally in order to dynamically create a graph, it is possible \b on-line to load classes of entities  and
+create instances of entities.</p>
+
+\subsection Functionnalities
+
+\li Built-in scripting language* for fast prototyping and testing of computational graph
 \li Support for extensions and modules using dynamic link libraries
 \li Template-based signal definition, independent
 \li Type-safe connection of input and output signals
@@ -39,14 +85,37 @@ Functionality:
 computation of signal values, which is a critical point for real-time systems\n
 See \ref scriptingabout
 
-\section overview Code overview
-This code implements the factory design pattern, making creation of entities
-(as C++ classes) available to packages depending on the dynamic-graph API.
-For more information on this package's code or how to develop your own entities,
-see \ref usecase.
+\section entity Computational Entity
+\image html entity.png
+
+\subsection entity_definition General definition
+Despite the fact that it looks very similar to a ROS node or a CORBA/OpenRTM server, an entity is simply a C++ object.
+The main idea is that this entity is providing mostly a data-driven functionnality working at very high rate (\f$ 200 Hz\f$ or \f$ 1 kHz \f$) 
+and should have a minimal computational time foot-print.
+
+For this signals (or ports to use a more classical terminology) are providing a time dependency between data.
+To implement this, an output signal is linked with a method of the entity. The method calls input signals or use other means
+to get the needed data.
+It might be provided by the connection with remote computers through a middleware, or specific protocols,
+but in general the external data is based upon the sensor values provided by a "Device" entity.
+For this reason the signal evaluations are realized through the cascade of dependencies and start from the evaluation of an input
+signal of a periodic node (in general the device). This is realized inside a \b real-time thread.
+
+To add flexibility to a node, it is possible to add command with arguments to modify the internal behavior of the entity 
+or get information from the entity.
+As a command is in general asynchronous and rare with respect to the data-flow scheme for the signals the command is in general
+executed in a \b none-real-time thread.
+
+\subsection entity_classes Entity class
+Entities are implemented as C++ classes and compiled as dynamic libraries. They can be loaded and instancied dynamically.
+It is therefore necessary to specify the location of their dynamical libraries.
+However given the time it might take to load the library, it is not advised to do that during a control-law computation.
+Entity instanciation also implies memory allocation which is also time consuming and thus not advised inside a real-time thread.
 
+The entities will be placed in ${PREFIX}/lib/plugin (since this may change, it is advised to
+check the install log or the CMakeLists.txt file to check the installation path).
 
-\section entities List of entities in this package
+\subsection entities List of entities in this package
 Since most of the functionality in projects using the dynamic-graph framework
 is exposed from entities, here is a short description of all the entities contained in
 this package. Note that most entities are contained in a binary file that closely matches
@@ -57,9 +126,14 @@ enable creation of this entity through the factory.
 \li ShellProcedure
 \li \ref shellfunctions_doc
 
-The entities will be placed in ${PREFIX}/lib/plugin (since this may change, it is advised to
-check the install log or the CMakeLists.txt file to check the installation path).
-\section sigintro About signals
+\subsection specific_semantics Specific semantics with entities
+
+It is possible to derive classes and apply specific semantic for the entities. In our case we are interested in specific control semantics:
+\li Tasks (more information <a href="http://stack-of-tasks.github.io/sot-core/doxygen/HEAD/a00089.html">here</a>)
+\li Features (more information <a href="http://stack-of-tasks.github.io/sot-core/doxygen/HEAD/a00030.html">here</a>)
+\li Solver (more information <a href="http://stack-of-tasks.github.io/sot-core/doxygen/HEAD/a00078.html">here</a>)
+
+\section sigintro Signals
 
 Entities can output different types of signals. All signals are templated by a Time
 tick type parameter (which is used in the caching of signals) - usually \c int. Signals
@@ -67,32 +141,31 @@ are also templated after the type of data they accept or provide. For example:
 (example)
 For a more detailed programmer-oriented description of signals, please see \ref signals
 
-\section scriptingabout Notes about the scripting language
-The scripting language allows entities to define their own commands, and
-provides a basic framework for working with the dynamic-graph.
-At the time of writing, there is talk about replacing (or complementing) this limited
-language with a python interpreter.
+\section graph Graph
 
-A couple of functions are built-in in the interpreter and provides low-level features such as file sourcing or
-plug-in loading.\n
-These functions are:\n
-\code plug <obj1.sig1> <obj2.sig2> \endcode plugs the signal sig1 of obj1 to the signal sig2 of obj2. sig1 and sig2
-have to be of the same type. sig1 has to be an output signal and sig2 an input signal.
-\code new <class> <object> \endcode instantiates an object object of class class. object has to be a free identifier and
-class an existing entity.
-\code destroy <object> \endcode deletes an instance previously created.
-\code run <script.txt> \endcode sources (i.e. read and interpret) an external file.
-\code loadPlugin <file.so> <directory> \endcode loads a plugin called file.so and located in the directory directory.
-\code unloadPlugin <path/file.so> \endcode unloads a plugin.
-\code help \endcode lists available functions.
-\code set <obj.signal> <value> \endcode defines an input signal to a specific, constant, value.
-\code get <obj.signal> <value> \endcode prints out a signal value.
-\code compute <obj.sig> <time> \endcode computes an output signal and sets the associated time to time.
+In this package, the graph considered are directed graphs.
+
+\subsection factory Factory
+
+The class \ref dynamicgraph::FactoryStorage is a singleton which register the entity classes and which is allowing the instancation of such classes.
+
+\subsection pool Pool
+The class \ref dynamicgraph::PoolStorage keeps track of the entities instanciated with the factory.
+The entities are the graph nodes. Signals are constructed during the class instanciation, they do not live independently
+from the entities. Signals are the directed edges of the graph. 
+The pool can write a file representing the graph of entities. 
+
+\subsection scriptingabout Building the graph 
+
+This package provides a scripting language allows entities to define their own commands, and
+provides a basic framework to build dynamically the computational graph.
+However bindings have been created with python in the <a href="https://github.com/stack-of-tasks/dynamic-graph-python">dynamic-graph-python package</a>
+and we strongly recommend to use this package instead of the in-house scripting language.
 
 \section usecase How to use this package
-1) Programmatically\n
+\subsection use_programmtically Programmatically
 Objects, which are derived from Entities (base class dynamicgraph::Entity), can be
- declared within the code and compiled to shared libraries (.so/.dll files).
+declared within the code and compiled to shared libraries (.so/.dll files).
 These libraries can be loaded at run-time using the PluginLoader methods,
 and at the same time register their class names to the Factory (see the
 examples in the SOT documentation to learn how).
@@ -112,7 +185,7 @@ Some basic shell functions, and support for procedures, are also included.
 For a complete list of those, load the plugin shell-functions.so and type 'help'
 at the command line.
 
-The (singletons made available by including the corresponding headers in this
+The singletons made available by including the corresponding headers in this
 module are:
 \li dynamicgraph::FactoryStorage
 \li dynamicgraph::PoolStorage
@@ -120,20 +193,46 @@ module are:
 For an example of a program creating entities in C++, see the unit test
 test_pool.cpp (in your package source directory/unitTesting).
 
-2) Through scripts\n
+\subsection use_scripts Through scripts
 The program \ref dgshell_doc can be used to have scripting access to the dynamic-graph
 library, where you can execute scripts and commands, load plugins, create entities and connect signals.
 
 Here is a typical use case for programmers:
 \image html figures/use-case.png
 
-\section References
+\section references References
+\anchor Mansard2009
+
+<b> "A versatile Generalized Inverted Kinematics implementation for collaborative working humanoid robots: The Stack Of Tasks"</b>,
+<em>N. Mansard, O. Stasse, P. Evrard, A. Kheddar,</em>
+Int. Conf. on Autonomous Robots, ICAR, 2009
+
 \anchor Mansard2007
 
 <b>"Task sequencing for sensor-based control"</b>,
 <em>N. Mansard, F. Chaumette,</em>
 IEEE Trans. on Robotics, 23(1):60-72, February 2007
 
+\namespace dynamicgraph This is the namespace where every object and class of this library is located.
+
+\defgroup gshellfunctions Notes about the scripting language
+@{
+A couple of functions are built-in in the interpreter and provides low-level features such as file sourcing or
+plug-in loading.\n
+These functions are:\n
+\code plug <obj1.sig1> <obj2.sig2> \endcode plugs the signal sig1 of obj1 to the signal sig2 of obj2. sig1 and sig2
+have to be of the same type. sig1 has to be an output signal and sig2 an input signal.
+\code new <class> <object> \endcode instantiates an object object of class class. object has to be a free identifier and
+class an existing entity.
+\code destroy <object> \endcode deletes an instance previously created.
+\code run <script.txt> \endcode sources (i.e. read and interpret) an external file.
+\code loadPlugin <file.so> <directory> \endcode loads a plugin called file.so and located in the directory directory.
+\code unloadPlugin <path/file.so> \endcode unloads a plugin.
+\code help \endcode lists available functions.
+\code set <obj.signal> <value> \endcode defines an input signal to a specific, constant, value.
+\code get <obj.signal> <value> \endcode prints out a signal value.
+\code compute <obj.sig> <time> \endcode computes an output signal and sets the associated time to time.
+@}
 
 \defgroup dgraph Core classes and objects
 @{
@@ -180,5 +279,4 @@ computations, when accessed.
 
 @}
 
-\namespace dynamicgraph This is the namespace where every object and class of this library is located.
 */
diff --git a/doc/additionalDoc/shellfunctions_doc.h b/doc/additionalDoc/shellfunctions_doc.h
index 01dde8d2..67a985e9 100644
--- a/doc/additionalDoc/shellfunctions_doc.h
+++ b/doc/additionalDoc/shellfunctions_doc.h
@@ -1,4 +1,5 @@
 /**
+\ingroup gshellfunctions
 \page shellfunctions_doc ShellFunctions
 \note Note: this documentation covers specific aspects of the in-house
 scripting language currently used by the dynamic-graph script. Unless
diff --git a/doc/figures/Concept-Software-Fig.png b/doc/figures/Concept-Software-Fig.png
new file mode 100644
index 0000000000000000000000000000000000000000..c7dfdeae89ffec5f1fdf05951d269b8a299d7589
GIT binary patch
literal 31613
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
P{tvo$S6`!44T<?*p>I<y

literal 0
HcmV?d00001

-- 
GitLab