wbc
|
Planar Potential field. The gradient will be constant on planes parallel to the plane defined by x0 (origin) and n (surface normal) More...
#include <PlanarPotentialField.hpp>
Public Member Functions | |
PlanarPotentialField (const std::string &_name="") | |
virtual | ~PlanarPotentialField () |
virtual const base::VectorXd & | update (const base::VectorXd &position) |
Compute control update according to potential field equation. | |
Public Member Functions inherited from wbc::PotentialField | |
PotentialField (const uint _dimension, const std::string &_name="unset") | |
virtual | ~PotentialField () |
Public Attributes | |
base::VectorXd | n |
Public Attributes inherited from wbc::PotentialField | |
base::Time | time |
uint | dimension |
double | influence_distance |
base::VectorXd | distance |
base::VectorXd | pot_field_center |
base::VectorXd | gradient |
const std::string | name |
Planar Potential field. The gradient will be constant on planes parallel to the plane defined by x0 (origin) and n (surface normal)
grad = (||d||*n) / ||d||^{2}, ||d|| <= d_0 = 0 , else
with: d = |n*(x - x0)| / ||n|| = Distance to the plane defined by x0 and n n = Plain normal dMax = Maximum Influence distance x = current position x0 = Plain support vector field center
PlanarPotentialField::PlanarPotentialField | ( | const std::string & | _name = "" | ) |
Init all members. Dimension is 3!
|
inlinevirtual |
|
virtual |
Compute control update according to potential field equation.
gradient | Computed gradient. Will be resized if gradient.size() != dimension. |
Implements wbc::PotentialField.
base::VectorXd wbc::PlanarPotentialField::n |
Normal that defines the orientation of the plane