Classes | Namespaces | Functions
polynomial.h File Reference

TODO. More...

#include <stomp_core/utils.h>
#include <moveit/robot_model/robot_model.h>
#include <Eigen/Core>
Include dependency graph for polynomial.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  stomp_moveit::utils::polynomial::PolyFitRequest
 The Polynomial Fit request data. More...
 
struct  stomp_moveit::utils::polynomial::PolyFitResults
 The Polynomial Fit results data. More...
 

Namespaces

 stomp_moveit
 

Functions

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. More...
 
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. More...
 
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. More...
 
PolyFitResults stomp_moveit::utils::polynomial::polyFit (const PolyFitRequest &request)
 Fit a polynomial with fixed indices. More...
 

Detailed Description

TODO.

Author
Jorge Nicho
Date
Jan 6, 2017
Version
TODO
Bug:
No known bugs
License
Software License Agreement (Apache License)
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Definition in file polynomial.h.

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 Fri May 8 2020 03:35:47