|
wbc
|
Radial Potential field. The computed gradient will be constant on volumnes with constant radius around the center of the potential field: More...
#include <RadialPotentialField.hpp>
Public Member Functions | |
| RadialPotentialField (const uint _dimension, const std::string &_name="") | |
| virtual | ~RadialPotentialField () |
| 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 () |
Additional Inherited Members | |
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 |
Radial Potential field. The computed gradient will be constant on volumnes with constant radius around the center of the potential field:
grad = (x - x0) / ||d||^{2}, ||d|| <= dMax = 0 , else
with: d = x - x0 = Distance to field dMax = Maximum Influence distance x = current position x0 = Potential field center
| RadialPotentialField::RadialPotentialField | ( | const uint | _dimension, |
| const std::string & | _name = "" ) |
Init all members. Dimension of the field. Has to be > 0. e.g. a field in Cartesian space would have dimension 3.
|
inlinevirtual |
|
virtual |
Compute control update according to potential field equation.
Implements wbc::PotentialField.