Commit 36fb3bbd authored by florent's avatar florent
Browse files

Migration of hppCore outside hpp. Initial commit

parents
Collectively developed within the scope of the Associated
International Laboratory: Joint Japanese-French Robotics Laboratory
(JRL) between AIST Japan and CNRS France.
Research carried out within the scope of the Associated International
Laboratory: Joint Japanese-French Robotics Laboratory (JRL)
Copyright (c) 2006-2007,
JRL-Japan, CNRS/AIST
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of the <ORGANIZATION> nor the names of its contributors
may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
2007/05/23
1. add a function in hppDevice to ignore another device (as its bounding box for example).
2007/04/26
1. Class ChppRoadmap has been moved into package kwsPlus (class CkwsPlusRoadmap) so that it can be used outside HPP.
2. Modified files accordingly.
3. Added information on main page.
2007/04/25
1. Added class ChppRoadmap in hppCore : This class allows users to display a roadmap in the scene. To do so, change every occurence
of CkwsRoadmap by ChppRoadmap, and call method compute(), then display(). Calls to these methods must be done only after a
solution path has been found. Linked Device must be ChppDevice.
2. Replace occurences of kwsRoadmap by hppRoadmap.
2007/04/23
1. Removed @KWSIO_XXX@ from Makefile.am
2. Moved first page of documentation to general documentation hppDoc.
2007/04/22
1. Generate doxytag file to access this documentation from depending packages.
2. Documentation is now compile at installation.
2007/04/17
1. Correction of a bug in function ChppProblem::ObstacleList(const std::vector<CkcdObjectShPtr>& inCollisionList):
the list of outer objects of each body of the robot was copied and each obstacle of the new obstacle list was added
at the end of the copy of the outer object list, but not in the outer object list.
2007/03/09
2. Added method
ktStatus addHppProblemAtBeginning(ChppDeviceShPtr robot);
in ChppPlanner.
1. Replaced std::vector by std::deque to store vector of problem,
in order to be able to add a problem at the beginning of the vector.
Installation instructions
Configuration
-------------
untar the package
cd hppCore
mkdir build
cd build
../configure
Compilation
-----------
make
Installation
------------
make install
# Research carried out within the scope of the Associated
# International Laboratory: Joint Japanese-French Robotics Laboratory
# (JRL)
#
# Author: Florent Lamiraux
#
SUBDIRS = \
include \
src
hppCoredir = $(libdir)/pkgconfig
hppCore_DATA = hppCore.pc
install-data-hook: documentation
documentation:
cd doc; $(MAKE) install
No news is good news.
See INSTALL for installation instructions.
dnl autoconf script for hppCore libs
dnl
dnl Research carried out within the scope of the Associated International Laboratory: Joint Japanese-French Robotics Laboratory (JRL)
dnl
dnl Author: Florent Lamiraux LAAS-CNRS
dnl
AC_INIT([hppCore],[1.0],[openrobots@laas.fr])
AC_PREREQ(2.59)
AM_INIT_AUTOMAKE
AC_PROG_INSTALL
AC_PROG_LIBTOOL
AC_PROG_CXX
PKG_CHECK_MODULES(KWSPLUS, kwsPlus)
KWSPLUS_PREFIX=`$PKG_CONFIG kwsPlus --variable=prefix`
AC_SUBST(KWSPLUS_CFLAGS)
AC_SUBST(KWSPLUS_LIBS)
AC_SUBST(KWSPLUS_PREFIX)
AC_OUTPUT(Makefile
src/Makefile
include/Makefile
doc/Makefile
doc/hpp.dox
hppCore.pc
)
# Research carried out within the scope of the Associated
# International Laboratory: Joint Japanese-French Robotics Laboratory
# (JRL)
#
# Author: Florent Lamiraux
#
hppCoredir = $(datadir)/doc/hppCore
EXTRA_DIST = \
header.html \
footer.html \
hpp.css \
additionalDoc/hppCore.h \
figures/archi.fig \
figures/archi.png \
figures/archi.pdf \
pictures/HRP2.jpg
install: html-doc
mkdir -p $(hppCoredir)
$(INSTALL_DATA) html/* $(hppCoredir)
mkdir -p $(hppCoredir)/pictures
$(INSTALL_DATA) $(srcdir)/pictures/* $(hppCoredir)/pictures
mkdir -p $(datadir)/doc/doxytag
$(INSTALL_DATA) hppCore.doxytag $(datadir)/doc/doxytag
html-doc: hpp.dox
doxygen $<
/** \mainpage
\section sec_intro Introduction
This package implements basic classes used as interfaces with KineoWorks.
The main classes are:
\li ChppDevice: implement a humanoid robot with a dynamical model.
\li ChppProblem: define a canonical path planning problem.
\li ChppPlanner: contains a vector of above path planning problems to implement iterative planning algorithms that use several instaciations of a robot.
This package and depending packages implementing algorithms can be
used with or without GUI, depending on whether we are developing and
debugging new algorithms or we want to run the algorithms on-board a robot.
Upon some events (a problem is added in ChppPlanner object, a path has been planned, ...), notifications are
sent.
\li When working with the GUI, these notification are caught by the interface and objects are added in the view,
\li when working without interface, the notification have no effet.
*/
#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/HRP2.jpg" Height=100>
<br>
Path Planning for Humanoid Robot Module Documentation</br>
</center>
<hr>
</center>
</body>
</head>
<HTML>
<HEAD>
<TITLE>Path Planning for Humanoid Robots (Core) </TITLE>
<LINK HREF="hpp.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;
}
/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
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;
}
/* Commented Backslash Hack hides rule from IE5-Mac \*/
DIV.tabs SPAN {float : none;}
/* End IE5-Mac hack */
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