|
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 Eigen::VectorXd & | update (const Eigen::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 | |
| Eigen::VectorXd | n |
Public Attributes inherited from wbc::PotentialField | |
| uint | dimension |
| double | influence_distance |
| Eigen::VectorXd | distance |
| Eigen::VectorXd | pot_field_center |
| Eigen::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.
| Eigen::VectorXd wbc::PlanarPotentialField::n |
Normal that defines the orientation of the plane