|
Simox
2.3.74.0
|
The ElasticBandProcessor uses Cartesian distance vectors to move c-space points in order to produce smooth trajectories. More...
Public Member Functions | |
| ElasticBandProcessor (CSpacePathPtr path, CSpaceSampledPtr cspace, VirtualRobot::RobotNodePtr node, VirtualRobot::SceneObjectSetPtr obstacles, bool verbose=false) | |
| ~ElasticBandProcessor () override | |
| CSpacePathPtr | optimize (int optimizeSteps) override |
| A wrapper to the standard interface. More... | |
| void | setWeights (Eigen::VectorXf w) |
| could also be used to disable specific dimensions More... | |
| void | getForces (unsigned int i, Eigen::Vector3f &internalForce, Eigen::Vector3f &externalForce) |
| Eigen::Vector3f | getWSpacePoint (const Eigen::VectorXf &fc) |
Public Member Functions inherited from Saba::PathProcessor | |
| PathProcessor (CSpacePathPtr p, bool verbose=false) | |
| virtual | ~PathProcessor () |
| virtual void | stopExecution () |
| Stop the execution from outside. More... | |
| CSpacePathPtr | getOptimizedPath () |
Protected Member Functions | |
| bool | getCSpaceForce (const Eigen::Vector3f &f, Eigen::VectorXf &fc, float factor, float maxForce) |
| bool | getWSpaceForce (const Eigen::VectorXf &fc, Eigen::Vector3f &f) |
| bool | getObstacleForce (Eigen::Vector3f &f) |
| bool | initSolution () |
| bool | elasticBandLoop () |
| bool | checkRemoveNodes () |
| bool | checkNewNodes () |
| bool | getNeighborCForce (const Eigen::VectorXf &before, const Eigen::VectorXf &act, const Eigen::VectorXf &next, Eigen::VectorXf &fc) |
Protected Attributes | |
| Eigen::VectorXf | weights |
| CSpaceSampledPtr | cspace |
| VirtualRobot::RobotNodePtr | node |
| VirtualRobot::SceneObjectSetPtr | obstacles |
| VirtualRobot::RobotNodeSetPtr | rns |
| VirtualRobot::CollisionCheckerPtr | colChecker |
| VirtualRobot::GenericIKSolverPtr | ik |
| float | factorCSpaceNeighborForce |
| float | factorCSpaceObstacleForce |
| float | maxCSpaceNeighborForce |
| float | maxCSpaceObstacleForce |
| float | minObstacleDistance |
Protected Attributes inherited from Saba::PathProcessor | |
| CSpacePathPtr | optimizedPath |
| CSpacePathPtr | path |
| unsigned int | dim |
| bool | verbose |
| bool | stopOptimization |
The ElasticBandProcessor uses Cartesian distance vectors to move c-space points in order to produce smooth trajectories.
| Saba::ElasticBandProcessor::ElasticBandProcessor | ( | CSpacePathPtr | path, |
| CSpaceSampledPtr | cspace, | ||
| VirtualRobot::RobotNodePtr | node, | ||
| VirtualRobot::SceneObjectSetPtr | obstacles, | ||
| bool | verbose = false |
||
| ) |
|
overridedefault |
|
protected |
|
protected |
|
protected |
|
protected |
| void Saba::ElasticBandProcessor::getForces | ( | unsigned int | i, |
| Eigen::Vector3f & | internalForce, | ||
| Eigen::Vector3f & | externalForce | ||
| ) |
Writes ext and int forces of point i to given variables.
|
protected |
|
protected |
|
protected |
| Eigen::Vector3f Saba::ElasticBandProcessor::getWSpacePoint | ( | const Eigen::VectorXf & | fc | ) |
|
protected |
|
overridevirtual |
A wrapper to the standard interface.
Implements Saba::PathProcessor.
| void Saba::ElasticBandProcessor::setWeights | ( | Eigen::VectorXf | w | ) |
could also be used to disable specific dimensions
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |