3#include <base/Eigen.hpp>
4#include <base/Time.hpp>
20 throw std::invalid_argument(
"PotentialField:PotentialField: Dimension of Potential Field has to be > 0");
34 virtual const base::VectorXd&
update(
const base::VectorXd &position) = 0;
Base class for potential fields.
Definition PotentialField.hpp:13
const std::string name
Definition PotentialField.hpp:54
base::VectorXd gradient
Definition PotentialField.hpp:51
base::VectorXd pot_field_center
Definition PotentialField.hpp:48
PotentialField(const uint _dimension, const std::string &_name="unset")
Definition PotentialField.hpp:16
base::VectorXd distance
Definition PotentialField.hpp:45
uint dimension
Definition PotentialField.hpp:39
base::Time time
Definition PotentialField.hpp:36
virtual const base::VectorXd & update(const base::VectorXd &position)=0
Implement in derived class. Compute control update according to potential field equation.
virtual ~PotentialField()
Definition PotentialField.hpp:28
double influence_distance
Definition PotentialField.hpp:42
Definition ContactsAccelerationConstraint.cpp:3
std::shared_ptr< PotentialField > PotentialFieldPtr
Definition PotentialField.hpp:57