Parasol Planning Library (PPL)
Functions
ReachableVolumes.cpp File Reference
#include "Geometry/Bodies/Chain.h"
#include "Geometry/Bodies/Connection.h"
#include "Geometry/Bodies/MultiBody.h"
#include "Geometry/Boundaries/Boundary.h"
#include "Geometry/Boundaries/WorkspaceBoundingSphericalShell.h"
#include "MPProblem/Robot/Robot.h"
#include "ReachableVolumes.h"
#include "Transformation.h"
#include <algorithm>
Include dependency graph for ReachableVolumes.cpp:

Functions

double ComputeReachableDistanceOfSingleLink (const size_t _dimension, const Connection *_joint, const Connection *_parent, const Chain *_chain)
 
WorkspaceBoundingSphericalShell ComputeReachableVolume (const size_t _dimension, const std::vector< double > &_center, const Chain &_chain)
 

Function Documentation

◆ ComputeReachableDistanceOfSingleLink()

double ComputeReachableDistanceOfSingleLink ( const size_t  _dimension,
const Connection _joint,
const Connection _parent,
const Chain _chain 
)

Compute the unconstrained reachable distance of one joint in a linear chain, relative to its parent.

Parameters
_dimensionThe workspace dimension.
_jointThe joint to compute the reachable distance for.
_parentThe parent of _joint in the current ordering of _chain.
_chainThe chain which holds _joint and _parent (may be forward or reverse oriented relative to the multibody).
Returns
The reachable distance of _joint relative to _parent.
Todo:
We can probably support some non-actuated joints here, but need to verify with the theory.

◆ ComputeReachableVolume()

WorkspaceBoundingSphericalShell ComputeReachableVolume ( const size_t  _dimension,
const std::vector< double > &  _center,
const Chain _chain 
)

Compute the reachable volume of a chain.

Parameters
_dimensionThe workspace dimension.
_chainThe chain.
Returns
The reachable volume of _chain's end relative to its root.