Commit 9d05d351 authored by Florent Lamiraux's avatar Florent Lamiraux
Browse files

Documentation of HPP project.

parents
Authors:
#
# Copyright (c)
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Write in this file the modifications you commit.
#
# Copyright
#
Installation instructions for library hppDoc
----------------------------------------------
It is recommended to create a specific directory to install this package.
mkdir build
cd build
../configure [OPTIONS]
make
make install
#
# Copyright
#
SUBDIRS = \
src \
include \
unitTesting
hppDocdir = $(libdir)/pkgconfig
hppDoc_DATA = hppDoc.pc
install-data-hook: documentation
documentation:
cd doc; $(MAKE) install
Write in this file the news related to package hppDoc.
See INSTALL for installation instruction.
dnl
dnl configure.ac file for package hppDoc
dnl
AC_INIT([hppDoc], [1.0], [support@company.com])
AC_PREREQ(2.59)
AM_INIT_AUTOMAKE
AC_PROG_CXX
AC_PROG_INSTALL
AC_PROG_LIBTOOL
PKG_CHECK_MODULES(KWSPLUS, kwsPlus)
KWSPLUS_PREFIX=`$PKG_CONFIG kwsPlus --variable=prefix`
AC_SUBST(KWSPLUS_PREFIX)
PKG_CHECK_MODULES(HPPCORE, hppCore)
HPPCORE_PREFIX=`$PKG_CONFIG hppCore --variable=prefix`
AC_SUBST(HPPCORE_PREFIX)
PKG_CHECK_MODULES(WALKGENJRL, walkGenJrl)
WALKGENJRL_PREFIX=`$PKG_CONFIG walkGenJrl --variable=prefix`
AC_SUBST(WALKGENJRL_PREFIX)
PKG_CHECK_MODULES(HPPCORBASERVER, hppCorbaServer)
HPPCORBASERVER_PREFIX=`$PKG_CONFIG hppCorbaServer --variable=prefix`
AC_SUBST(HPPCORBASERVER_PREFIX)
PKG_CHECK_MODULES(HPPWALKPLANNER, hppWalkPlanner)
HPPWALKPLANNER_PREFIX=`$PKG_CONFIG hppWalkPlanner --variable=prefix`
AC_SUBST(HPPWALKPLANNER_PREFIX)
PKG_CHECK_MODULES(HPPHRPPLANNER, hppHRPPlanner)
HPPHRPPLANNER_PREFIX=`$PKG_CONFIG hppHRPPlanner --variable=prefix`
AC_SUBST(HPPHRPPLANNER_PREFIX)
PKG_CHECK_MODULES(HPPCMPPLANNER, hppCmpPlanner)
HPPCMPPLANNER_PREFIX=`$PKG_CONFIG hppCmpPlanner --variable=prefix`
AC_SUBST(HPPCMPPLANNER_PREFIX)
PKG_CHECK_MODULES(KPPINTERFACE, kppInterface)
KPPINTERFACE_PREFIX=`$PKG_CONFIG kppInterface --variable=prefix`
AC_SUBST(KPPINTERFACE_PREFIX)
PKG_CHECK_MODULES(KPPINTERFACEWALK, kppInterfaceWalk)
KPPINTERFACEWALK_PREFIX=`$PKG_CONFIG kppInterfaceWalk --variable=prefix`
AC_SUBST(KPPINTERFACEWALK_PREFIX)
PKG_CHECK_MODULES(KPPINTERFACEHRP, kppInterfaceHRP)
KPPINTERFACEHRP_PREFIX=`$PKG_CONFIG kppInterfaceHRP --variable=prefix`
AC_SUBST(KPPINTERFACEHRP_PREFIX)
PKG_CHECK_MODULES(KPPINTERFACECMP, kppInterfaceCmp)
KPPINTERFACECMP_PREFIX=`$PKG_CONFIG kppInterfaceCmp --variable=prefix`
AC_SUBST(KPPINTERFACECMP_PREFIX)
AC_OUTPUT(
hppDoc.pc
Makefile
doc/Makefile
doc/package.dox
doc/additionalDoc.package.h
)
#
# Copyright
#
hppDocdir = $(datadir)/doc/hppDoc
EXTRA_DIST = \
header.html \
footer.html \
package.css \
pictures/footer.jpg \
additionalDoc/package.h
install:html-doc
mkdir -p $(hppDocdir)
$(INSTALL_DATA) html/* $(hppDocdir)
mkdir -p $(hppDocdir)/pictures
$(INSTALL_DATA) $(srcdir)/pictures/* $(hppDocdir)/pictures
mkdir -p $(datadir)/doc/doxytag
$(INSTALL_DATA) hppDoc.doxytag $(datadir)/doc/doxytag
html-doc: package.dox
doxygen $<
/**
\mainpage
\section sec_intro Introduction
HPP (Humanoid Path Planner) is a suite of software packages
implementing path planning functionalities for a humanoid robot.
HPP KineoWorks (KWS) and KineoPathPlanner-SDK (KPP-SDK).
It can be extended to path planning for other types of robots like digital actors for instance.
\section sec_organization Organization of the packages
\image html archi.png "Architecture of HPP: the functionalities are distributed into separate software packages. The architecture is composed of Three types of packages: algorithms, CORBA interfaces and KPP-SDK interfaces."
\image latex archi.pdf "Architecture of HPP: the functionalities are distributed into separate software packages. The architecture is composed of Three types of packages: algorithms, CORBA interfaces and KPP-SDK interfaces."
The code relative to the HPP is distributed into several software packages listed in the following sections:
\subsection subsec_algo Algorithms
These packages implement path planning algorithms using KineoWorks. They are independent of any interface.
\htmlonly
<ul>
<li><a href="@KWSPLUS_PREFIX@/share/doc/kwsPlus/main.html">kwsPlus: extension to KineoWorks (cartlike steerinng method).</a></li>
<li><a href="@HPPCORE_PREFIX@/share/doc/hppCore/main.html">hppCore: definition of basic classes.</a></li>
<li><a href="@WALKGENJRL_PREFIX@/share/doc/walkGenJrl/main.html">walkGenJrl: JRL Walk Pattern Generator</a></li>
<li><a href="@HPPHRPPLANNER_PREFIX@/share/doc/hppHRPPlanner/main.html">hppHRPPlanner: functions specific to HRP2 robot.</a></li>
<li><a href="@HPPCMPPLANNER_PREFIX@/share/doc/hppCmpPlanner/main.html">hppCmpPlanner: Contact motion planning</a></li>
<li><a href="@HPPWALKPLANNER_PREFIX@/share/doc/hppWalkPlanner/main.html">hppWalkPlanner: walk planning for a humanoid robot among obstacles.</a></li>
</ul>
\endhtmlonly
\subsection subsec_corba Corba server
These packages implement a Corba server to build objects and send requests to HPP packages.
\htmlonly
<ul>
<li><a href="@HPPCORBASERVER_PREFIX@/share/doc/hppCorbaServer">hppCorbaServer: Corba server.</a></li>
</ul>
\endhtmlonly
\subsection subsec_kppInterface KPP interfaces
\htmlonly
<ul>
<li><a href="@KPPINTERFACE_PREFIX@/share/doc/kppInterface">Abstract KPP interface that manages main notifications.</a></li>
<li><a href="@KPPINTERFACEWALK_PREFIX@/share/doc/kppInterfaceWalk/main.html">KPP interface for hppWalkPlanner.</a></li>
<li><a href="@KPPINTERFACEHRP_PREFIX@/share/doc/kppInterfaceHRP/main.html">kppInterfaceHRP: KPP interface for functions specific to HRP2 robot.</a></li>
<li><a href="@KPPINTERFACECMP_PREFIX@/share/doc/kppInterfaceCmp/main.html">kppInterfaceCmp: KPP interface for contact motion planning.</a></li>
</ul>
\endhtmlonly
These packages implement interfaces with Kineo Path Planner GUI.
\
*/
#FIG 3.2
Portrait
Center
Metric
Letter
100.00
Single
-2
1200 2
6 8321 320 12668 1104
3 2 1 1 0 7 50 -1 -1 4.000 0 1 0 3
3 1 1.00 67.98 135.96
8321 730 9566 413 10768 1104
0.000 -1.000 0.000
4 0 0 50 -1 0 15 0.0000 4 217 2105 10563 628 dynamic library loading\001
-6
6 2557 5650 4952 6575
2 2 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
2626 5707 4919 5707 4919 6522 2626 6522 2626 5707
4 1 0 50 -1 2 17 0.0000 4 181 1433 3747 6211 KineoWorks\001
-6
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
1361 2133 2378 2133
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
1361 2431 2378 2431
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
2274 2019 2591 2260 2304 2518
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
2611 1975 4923 1975
2 2 0 3 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
6126 2950 8449 2950 8449 1590 6126 1590 6126 2950
2 1 0 3 0 7 50 -1 -1 0.000 0 0 -1 1 0 3
3 1 1.00 67.13 136.08
4919 4164 7242 4164 7242 2963
2 1 1 3 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
3 1 1.00 67.13 136.08
3770 2963 3754 3418
2 2 0 3 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
2611 2950 4935 2950 4935 1590 2611 1590 2611 2950
2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
10402 2950 12725 2950 12725 1590 10402 1590 10402 2950
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 1 1.00 72.58 145.16
8450 2248 10400 2248
2 1 1 3 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
3 1 1.00 72.58 145.16
6131 2255 4934 2255
2 2 1 3 0 7 50 -1 -1 4.000 0 0 -1 0 0 5
2013 864 8623 864 8623 7011 2013 7011 2013 864
2 2 1 3 0 7 50 -1 -1 4.000 0 0 -1 0 0 5
2176 1082 5453 1082 5453 6793 2176 6793 2176 1082
2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
3 1 1.00 67.98 135.96
3754 5323 3770 5692
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
2611 4017 4897 4017
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
2611 4452 4897 4452
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
2611 4888 4897 4888
2 2 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
2611 3472 4919 3472 4919 5323 2611 5323 2611 3472
2 1 1 3 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
3 1 1.00 67.13 136.08
8841 5971 11164 5971
2 1 1 3 0 7 50 -1 -1 4.000 0 0 -1 0 1 3
3 1 1.00 72.58 145.16
4952 6140 11713 6140 11701 2982
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
2611 2329 4952 2329
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
2611 2710 4952 2710
4 1 0 50 -1 2 17 0.0000 4 235 1615 7180 1896 Kpp Interface\001
4 1 0 50 -1 0 17 0.0000 4 181 1887 11551 1896 KineoPathPlanner\001
4 0 0 50 -1 0 15 0.0000 4 163 1470 8769 2103 initializeModule\001
4 0 0 50 -1 0 15 0.0000 4 150 735 1391 2350 CORBA\001
4 0 0 50 -1 2 17 0.0000 4 181 1415 5789 1255 KPP module\001
4 0 0 50 -1 2 15 0.0000 4 163 1706 5540 4054 send notifications\001
4 1 0 50 -1 2 17 0.0000 4 235 1651 3700 3853 HPP packages\001
4 1 0 50 -1 2 17 0.0000 4 235 980 3700 4289 hppCore\001
4 1 0 50 -1 2 17 0.0000 4 235 1978 3700 4724 hppWalkPlanner\001
4 1 0 50 -1 2 17 0.0000 4 36 218 3700 5160 ...\001
4 0 0 50 -1 2 15 0.0000 4 217 2322 8965 5870 compilation dependence\001
4 1 0 50 -1 2 17 0.0000 4 235 2341 3809 2601 hppWPCorbaServer\001
4 1 0 50 -1 2 17 0.0000 4 235 1905 3754 2220 hppCorbaServer\001
4 1 0 50 -1 2 17 0.0000 4 181 2068 3700 1896 CORBA Interface\001
4 0 0 50 -1 2 17 0.0000 4 181 1833 2257 1388 CORBA module\001
<br><br>
<hr>
<center>
<img src="./pictures/footer.jpg" Height=100>
<br>hppDoc library documentation</br>
</center>
<hr>
</center>
</body>
</head>
<HTML>
<HEAD>
<TITLE>Humanoid Path Planner Documentation</TITLE>
<LINK HREF="package.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY>
body {
font-family: 'Lucida Grande','Lucida Sans Unicode',Verdana,Sans-Serif;
color: #5D5D5D;
}
dl {
border: 1.5px #82b6d7 solid;
padding: 5px;
color: #330077;
}
code {
color: #3C9A35;
}
td.md {
color: #0066CC;
}
h1 {
padding-top: 50px;
padding: 0px;
font-family: 'Lucida Grande','Lucida Sans Unicode',Verdana,Sans-Serif;
font-variant: small-caps;
color:#0066CC;
text-align: center;
}
h2,h3,hr {
magin-top: 15px;
padding: 0px;
font-family: 'Lucida Grande','Lucida Sans Unicode',Verdana,Sans-Serif;
font-variant: small-caps;
color:#0066CC;
}
h4 {
color: #3C9A35;
}
a:link {
font-weight: bold;
text-decoration: none;
color:#0066CC
}
a:hover, a:active {
text-decoration: underline;
color: #3C9A35;
}
a:visited {
font-weight: bold;
color: #3C9A35;
text-decoration: none;
}
DIV.tabs
{
float : left;
width : 100%;
background : url("tab_b.gif") repeat-x bottom;
margin-bottom : 4px;
}
DIV.tabs UL
{
margin : 0px;
padding-left : 10px;
list-style : none;
}
DIV.tabs LI, DIV.tabs FORM
{
display : inline;
margin : 0px;
padding : 0px;
}
DIV.tabs FORM
{
float : right;
}
DIV.tabs A
{
float : left;
background : url("tab_r.gif") no-repeat right top;
border-bottom : 1px solid #84B0C7;
font-size : x-small;
font-weight : bold;
text-decoration : none;
}
DIV.tabs A:hover
{
background-position: 100% -150px;
}
DIV.tabs A:link, DIV.tabs A:visited,
DIV.tabs A:active, DIV.tabs A:hover
{
color: #1A419D;
}
DIV.tabs SPAN
{
float : left;
display : block;
background : url("tab_l.gif") no-repeat left top;
padding : 5px 9px;
white-space : nowrap;
}
DIV.tabs INPUT
{
float : right;
display : inline;
font-size : 1em;
}
DIV.tabs TD
{
font-size : x-small;
font-weight : bold;
text-decoration : none;
}
DIV.tabs SPAN {float : none;}
DIV.tabs A:hover SPAN
{
background-position: 0% -150px;
}
DIV.tabs LI#current A
{
background-position: 100% -150px;
border-width : 0px;
}
DIV.tabs LI#current SPAN
{
background-position: 0% -150px;
padding-bottom : 6px;
}
DIV.nav
{
background : none;
border : none;
border-bottom : 1px solid #84B0C7;
}
DIV.groupHeader
{
padding-top: 30px;
padding-bottom: 20px;
background : none;
border : none;
border-bottom : 1px solid #84B0C7;
font-family: 'Lucida Grande','Lucida Sans Unicode',Verdana,Sans-Serif;
font-variant: small-caps;
font-size: 14pt;
color:#0066CC;
}
.directory p
{
margin: 0px;
white-space: nowrap;
font-family: 'Lucida Grande','Lucida Sans Unicode',Verdana,Sans-Serif;
font-size: 10pt;
font-weight: normal;
}
.directory h3
{
font-family: 'Lucida Grande','Lucida Sans Unicode',Verdana,Sans-Serif;
margin: 0px;
margin-top: 1em;
padding-bottom: 20px;
font-size: 12pt;
font-variant: small-caps;
text-align: center;
}
.directory a:visited {
font-weight: bold;
text-decoration: none;
color:#0066CC
}
# Doxyfile 1.4.2
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
OUTPUT_DIRECTORY = .
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
USE_WINDOWS_ENCODING = YES
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ABBREVIATE_BRIEF = "The $name class" \
"The $name widget" \
"The $name file" \
is \
provides \
specifies \
contains \
represents \
a \
an \
the
ALWAYS_DETAILED_SEC = YES
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = NO
STRIP_FROM_PATH =
STRIP_FROM_INC_PATH =
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = YES
MULTILINE_CPP_IS_BRIEF = NO
DETAILS_AT_TOP = YES
INHERIT_DOCS = YES
DISTRIBUTE_GROUP_DOC = NO
SEPARATE_MEMBER_PAGES = NO
TAB_SIZE = 2
OPTIMIZE_OUTPUT_FOR_C = NO
OPTIMIZE_OUTPUT_JAVA = NO
SUBGROUPING = YES
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
EXTRACT_LOCAL_CLASSES = YES
EXTRACT_LOCAL_METHODS = NO
CASE_SENSE_NAMES = NO
HIDE_SCOPE_NAMES = NO
SHOW_INCLUDE_FILES = NO
INLINE_INFO = YES
SORT_MEMBER_DOCS = YES
SORT_BRIEF_DOCS = NO
SORT_BY_SCOPE_NAME = NO
MAX_INITIALIZER_LINES = 30
FILE_VERSION_FILTER =
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = NO
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
RECURSIVE = YES
EXCLUDE =
EXCLUDE_SYMLINKS = NO
EXAMPLE_PATH =
EXAMPLE_PATTERNS = *
EXAMPLE_RECURSIVE = NO
INPUT_FILTER =
FILTER_PATTERNS =
FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = NO
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_FILE_EXTENSION = .html
HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
BINARY_TOC = NO
TOC_EXPAND = YES
DISABLE_INDEX = NO
ENUM_VALUES_PER_LINE = 1
GENERATE_TREEVIEW = YES
TREEVIEW_WIDTH = 250
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
LATEX_OUTPUT = latex
LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
COMPACT_LATEX = NO
PAPER_TYPE = a4wide
EXTRA_PACKAGES =
LATEX_HEADER =
PDF_HYPERLINKS = NO
USE_PDFLATEX = NO
LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
RTF_OUTPUT = rtf
COMPACT_RTF = NO
RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
MAN_OUTPUT = man
MAN_EXTENSION = .3
MAN_LINKS = NO
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------