Classes | Functions
stomp_moveit::utils::polynomial Namespace Reference

Classes

struct  PolyFitRequest
 The Polynomial Fit request data. More...
struct  PolyFitResults
 The Polynomial Fit results data. More...

Functions

bool applyPolynomialSmoothing (moveit::core::RobotModelConstPtr robot_model, const std::string &group_name, Eigen::MatrixXd &parameters, int poly_order=5, double joint_limit_margin=1e-5)
 Applies a polynomial smoothing method to a trajectory. It checks for joint limits and makes corrections when these are exceeded as a result of the smoothing process.
void fillVandermondeMatrix (const Eigen::ArrayXd &domain_vals, const int &order, Eigen::MatrixXd &v)
 Generates a Vandermonde matrix from the domain values as described here https://en.wikipedia.org/wiki/Vandermonde_matrix. It uses the poly_order parameter in order to set the size of the matrix.
void generateMinimumDomainValues (const std::vector< const moveit::core::JointModel * > joint_models, const Eigen::MatrixXd &parameters, Eigen::VectorXd &domain_values)
 Get the polynomial smoother domain values.
PolyFitResults polyFit (const PolyFitRequest &request)
 Fit a polynomial with fixed indices.

Function Documentation

bool stomp_moveit::utils::polynomial::applyPolynomialSmoothing ( moveit::core::RobotModelConstPtr  robot_model,
const std::string &  group_name,
Eigen::MatrixXd &  parameters,
int  poly_order = 5,
double  joint_limit_margin = 1e-5 
)

Applies a polynomial smoothing method to a trajectory. It checks for joint limits and makes corrections when these are exceeded as a result of the smoothing process.

Parameters:
robot_model
group_name
parameters
poly_order
joint_limit_margin
Returns:

Definition at line 187 of file polynomial.cpp.

void stomp_moveit::utils::polynomial::fillVandermondeMatrix ( const Eigen::ArrayXd &  domain_vals,
const int &  order,
Eigen::MatrixXd &  v 
)

Generates a Vandermonde matrix from the domain values as described here https://en.wikipedia.org/wiki/Vandermonde_matrix. It uses the poly_order parameter in order to set the size of the matrix.

Parameters:
domain_valsThe domain values
orderThe order of the polynomial
vThe output matrix

Definition at line 149 of file polynomial.cpp.

void stomp_moveit::utils::polynomial::generateMinimumDomainValues ( const std::vector< const moveit::core::JointModel * >  joint_models,
const Eigen::MatrixXd &  parameters,
Eigen::VectorXd &  domain_values 
)

Get the polynomial smoother domain values.

The domain values is time. The time is calculated finding the joint that takes the longest given the total distance traveled and its max velocity. This is the dominating joint therefore its time is used as the domain values for the smoothing operation.

Parameters:
joint_modelsList of active joint models
parametersThe parameters generated in the previous iteration [num_dimensions x num_timesteps]
domain_valuesThe time domain values for the trajectory [num_timesteps]

Definition at line 156 of file polynomial.cpp.

PolyFitResults stomp_moveit::utils::polynomial::polyFit ( const PolyFitRequest &  request)

Fit a polynomial with fixed indices.

Parameters:
requestThe polynimal fit request data
Returns:
The polynomial results

Definition at line 49 of file polynomial.cpp.



stomp_moveit
Author(s): Jorge Nicho
autogenerated on Sat Jun 8 2019 19:24:01