Skip to content
Snippets Groups Projects
Commit 2affd953 authored by Joseph Mirabel's avatar Joseph Mirabel Committed by Joseph Mirabel
Browse files

Fix and update documentation.

parent 601ba13c
No related merge requests found
INPUT = @CMAKE_SOURCE_DIR@/doc \ INPUT = @CMAKE_SOURCE_DIR@/doc \
@CMAKE_SOURCE_DIR@/include \ @CMAKE_SOURCE_DIR@/include \
@CMAKE_BINARY_DIR@/doc \ @CMAKE_SOURCE_DIR@/src/steering-method/cross-state-optimization/function.cc \
@CMAKE_BINARY_DIR@/src/steering-method/cross-state-optimization @CMAKE_BINARY_DIR@/doc
HTML_EXTRA_FILES = @CMAKE_SOURCE_DIR@/doc/ObjectManipulation_MasterThesis_JosephMirabel.pdf HTML_EXTRA_FILES = @CMAKE_SOURCE_DIR@/doc/ObjectManipulation_MasterThesis_JosephMirabel.pdf
......
...@@ -28,6 +28,31 @@ ...@@ -28,6 +28,31 @@
namespace hpp { namespace hpp {
namespace manipulation { namespace manipulation {
namespace steeringMethod { namespace steeringMethod {
/// \addtogroup steering_method
/// \{
/// Optimization-based steering method.
///
/// #### Methodology
///
/// Given two configuration \f$ (q_1,q_2) \f$, this class formulates and
/// solves the problem as follows.
/// - Compute the corresponding states \f$ (s_1, s_2) \f$.
/// - For a each path \f$ (e_0, ... e_n) \f$ between \f$ (s_1, s_2) \f$
/// in the constraint graph, do:
/// - define \f$ n-1 \f$ intermediate configuration \f$ p_i \f$,
/// - initialize the optimization problem, as explained below,
/// - solve the optimization problem, which gives \f$ p^*_i \f$,
/// - in case of failure, continue the loop.
/// - call the Edge::build of each \f$ e_j \f$ for each consecutive
/// \f$ (p^*_i, p^*_{i+1}) \f$.
///
/// #### Problem formulation
/// Find \f$ (p_i) \f$ such that:
/// - \f$ p_0 = q_1 \f$,
/// - \f$ p_{n+1} = q_2 \f$,
/// - \f$ p_i \f$ is in state between \f$ (e_{i-1}, e_i) \f$, (\ref StateFunction)
/// - \f$ (p_i, p_{i+1}) \f$ are reachable with transition \f$ e_i \f$ (\ref EdgeFunction).
class HPP_MANIPULATION_DLLAPI CrossStateOptimization : class HPP_MANIPULATION_DLLAPI CrossStateOptimization :
public SteeringMethod public SteeringMethod
{ {
...@@ -81,6 +106,7 @@ namespace hpp { ...@@ -81,6 +106,7 @@ namespace hpp {
/// Weak pointer to itself /// Weak pointer to itself
CrossStateOptimizationWkPtr_t weak_; CrossStateOptimizationWkPtr_t weak_;
}; // class CrossStateOptimization }; // class CrossStateOptimization
/// \}
template <typename T> template <typename T>
CrossStateOptimizationPtr_t CrossStateOptimization::create CrossStateOptimizationPtr_t CrossStateOptimization::create
......
...@@ -28,6 +28,8 @@ ...@@ -28,6 +28,8 @@
namespace hpp { namespace hpp {
namespace manipulation { namespace manipulation {
/// \addtogroup steering_method
/// \{
class HPP_MANIPULATION_DLLAPI SteeringMethod : public core::SteeringMethod class HPP_MANIPULATION_DLLAPI SteeringMethod : public core::SteeringMethod
{ {
public: public:
...@@ -61,8 +63,6 @@ namespace hpp { ...@@ -61,8 +63,6 @@ namespace hpp {
namespace steeringMethod { namespace steeringMethod {
using core::PathPtr_t; using core::PathPtr_t;
/// \addtogroup steering_method
/// \{
class HPP_MANIPULATION_DLLAPI Graph : public SteeringMethod class HPP_MANIPULATION_DLLAPI Graph : public SteeringMethod
{ {
...@@ -119,8 +119,8 @@ namespace hpp { ...@@ -119,8 +119,8 @@ namespace hpp {
gsm->innerSteeringMethod (T::create (problem)); gsm->innerSteeringMethod (T::create (problem));
return gsm; return gsm;
} }
/// \}
} // namespace steeringMethod } // namespace steeringMethod
/// \}
} // namespace manipulation } // namespace manipulation
} // namespace hpp } // namespace hpp
......
...@@ -31,7 +31,7 @@ namespace hpp { ...@@ -31,7 +31,7 @@ namespace hpp {
} }
} }
/// Apply the constraint on a subspace of the input space: /// Apply the constraint on a subspace of the input space.
/// i.e.: \f$ f (q_0, ... , q_n) = f_{inner} (q_k) \f$ /// i.e.: \f$ f (q_0, ... , q_n) = f_{inner} (q_k) \f$
class HPP_MANIPULATION_LOCAL StateFunction : class HPP_MANIPULATION_LOCAL StateFunction :
public constraints::DifferentiableFunction public constraints::DifferentiableFunction
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment