Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
H
hpp-manipulation
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Guilhem Saurel
hpp-manipulation
Commits
e9d44f80
Commit
e9d44f80
authored
10 years ago
by
Joseph Mirabel
Committed by
Joseph Mirabel
10 years ago
Browse files
Options
Downloads
Patches
Plain Diff
Update documentation.
parent
abf9b9c1
No related branches found
No related tags found
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
CMakeLists.txt
+1
-0
1 addition, 0 deletions
CMakeLists.txt
doc/Doxyfile.extra.in
+2
-1
2 additions, 1 deletion
doc/Doxyfile.extra.in
doc/main.hh
+33
-23
33 additions, 23 deletions
doc/main.hh
include/hpp/manipulation/graph/graph.hh
+3
-2
3 additions, 2 deletions
include/hpp/manipulation/graph/graph.hh
with
39 additions
and
26 deletions
CMakeLists.txt
+
1
−
0
View file @
e9d44f80
...
...
@@ -40,6 +40,7 @@ SET (TEST_UR5 FALSE CACHE BOOL "Activate tests using ur5")
SEARCH_FOR_BOOST
()
ADD_DOC_DEPENDENCY
(
hpp-model >= 3.0.0
)
ADD_DOC_DEPENDENCY
(
hpp-manipulation-urdf
)
ADD_REQUIRED_DEPENDENCY
(
hpp-core >= 3.0.0
)
ADD_REQUIRED_DEPENDENCY
(
hpp-constraints >= 3.0.0
)
ADD_REQUIRED_DEPENDENCY
(
hpp-statistics >= 0.1
)
...
...
This diff is collapsed.
Click to expand it.
doc/Doxyfile.extra.in
+
2
−
1
View file @
e9d44f80
...
...
@@ -4,7 +4,8 @@ INPUT = @CMAKE_SOURCE_DIR@/doc \
TAGFILES = @HPP_MODEL_DOXYGENDOCDIR@/hpp-model.doxytag=@HPP_MODEL_DOXYGENDOCDIR@ \
@HPP_CORE_DOXYGENDOCDIR@/hpp-core.doxytag=@HPP_CORE_DOXYGENDOCDIR@ \
@HPP_CONSTRAINTS_DOXYGENDOCDIR@/hpp-constraints.doxytag=@HPP_CONSTRAINTS_DOXYGENDOCDIR@
@HPP_CONSTRAINTS_DOXYGENDOCDIR@/hpp-constraints.doxytag=@HPP_CONSTRAINTS_DOXYGENDOCDIR@ \
@HPP_MANIPULATION_URDF_DOXYGENDOCDIR@/hpp-manipulation-urdf.doxytag=@HPP_MANIPULATION_URDF_DOXYGENDOCDIR@
HTML_EXTRA_FILES = @CMAKE_SOURCE_DIR@/doc/ObjectManipulation_MasterThesis_JosephMirabel.pdf
...
...
This diff is collapsed.
Click to expand it.
doc/main.hh
+
33
−
23
View file @
e9d44f80
...
...
@@ -6,42 +6,52 @@ namespace hpp {
\section sec_intro_hpp_manipulation Introduction
This package implements a solver for manipulation planning problems. A manipulation planning problem
is defined by:
\li Robot Build a \LModel{Device} from several \LModel{Device} and Object,
\li Object A \LModel{Device} with Handle,
\li Graph A graph of constraints defining the rules of a manipulation problem,
\li ManipulationPlanner Implements a RRT-based algorithm to solve manipulation planning problems.
This package implements a solver for manipulation planning problems. A
manipulation planning problem is defined by:
\li Device: a collection of several \LModel{Device} with \ref Gripper
"grippers" and \ref Handle "handles",
\li Graph: A graph of constraints defining the rules of a manipulation
problem.
To build a Device, have a look at the package \ref hpp_manipulation_urdf
"hpp-manipulation-urdf".
ManipulationPlanner implements a RRT-based algorithm to solve manipulation
planning problems.
\section sec_graph_hpp_manipulation Constraint graph
The graph of constraint, also referred to as constraint graph, represents the
rules of a manipulation problem.
The component of the graph are:
The graph of constraint, also referred to as constraint graph, represents the
rules of a manipulation problem.
The component of the graph are:
\li Node represents a state of the Robot with constraints,
\li Edge represents a transition between two Node with parametric constraints.
Node contains a set of \LHPP{core,Constraint} that a configuration of the Robot should satisfy
to be in the represented state. To ensure that a configuration is in only one state, the Node are
ordered in a NodeSelector. The method NodeSelector::getNode(ConfigurationIn_t) const returns a
pointer to the first Node for which Node::contains(ConfigurationIn_t) const returns true.
For optimization only, another set of \LHPP{core,Constraint} is used for \LHPP{core,StraightPath} lying in this Node.
Node contains a set of \LHPP{core,Constraint} that a configuration of the
Robot should satisfy to be in the represented state. To ensure that a
configuration is in only one state, the Node are ordered in a NodeSelector.
The method NodeSelector::getNode(ConfigurationIn_t) const returns a pointer to
the first Node for which Node::contains(ConfigurationIn_t) const returns true.
For optimization only, another set of \LHPP{core,Constraint} is used for
\LHPP{core,StraightPath} lying in this Node.
Edge has methods Edge::isInNodeFrom, to tell if a corresponding path lyes in
Edge::from() or Edge::to(),
and Edge::node(), to retrive this Node.
Edge has methods Edge::isInNodeFrom, to tell if a corresponding path lyes in
Edge::from() or Edge::to(),
and Edge::node(), to retrive this Node.
Edge also contains two sets of \LHPP{core,Constraint}:
\li Edge::configConstraint() returns a \LHPP{core,ConstraintSet} used to generate a configuration lying in Edge::to()
and respecting the rightHandSide (previsously set using hpp::core::ConfigProjector::leftHandSideFromConfig),
\li Edge::pathConstraint() returns a \LHPP{core,ConstraintSet} to be inserted in \LHPP{core,Path} represented
by this Edge.
\li Edge::configConstraint() returns a \LHPP{core,ConstraintSet} used to
generate a configuration lying in Edge::to() and respecting the
\LHPP{core,ConfigProjector::rightHandSide},
\li Edge::pathConstraint() returns a \LHPP{core,ConstraintSet} to be inserted
in \LHPP{core,Path} represented by this Edge.
\note
For implementation details, see graph::Graph.
For more information about parametric and non-parametric constraints, see
\LHPP{core,DifferentiableFunction}
and \LHPP{core,ConfigProjector}
For more information about parametric and non-parametric constraints, see
\LHPP{core,DifferentiableFunction}
and \LHPP{core,ConfigProjector}
\section sec_solver_hpp_manipulation Manipulation planner
ManipulationPlanner class implements an algorithm based on RRT. See
<a href="ObjectManipulation_MasterThesis_JosephMirabel.pdf">this master thesis</a> for details about the algorithm.
<a href="ObjectManipulation_MasterThesis_JosephMirabel.pdf">this master
thesis</a> for details about the algorithm.
**/
}
}
...
...
This diff is collapsed.
Click to expand it.
include/hpp/manipulation/graph/graph.hh
+
3
−
2
View file @
e9d44f80
...
...
@@ -25,10 +25,11 @@
namespace
hpp
{
namespace
manipulation
{
namespace
graph
{
/// Description of the constraint graph
/// Description of the constraint graph.
///
/// This class contains a graph representing a robot with several
/// end-effectors.
///
///
/// One must make sure not to create loop with shared pointers.
/// To ensure that, the classes are defined as follow:
/// - A Graph owns (i.e. has a shared pointer to) the NodeSelector s
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment