moveit2
The MoveIt Motion Planning Framework for ROS 2.
Classes | Namespaces | Typedefs
stomp_moveit_task.hpp File Reference

A STOMP task definition that allows injecting custom functions for planning. More...

#include <stomp/task.h>
Include dependency graph for stomp_moveit_task.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  stomp_moveit::ComposableTask
 

Namespaces

 stomp_moveit
 

Typedefs

using stomp_moveit::NoiseGeneratorFn = std::function< bool(const Eigen::MatrixXd &values, Eigen::MatrixXd &noisy_values, Eigen::MatrixXd &noise)>
 
using stomp_moveit::CostFn = std::function< bool(const Eigen::MatrixXd &values, Eigen::VectorXd &costs, bool &validity)>
 
using stomp_moveit::FilterFn = std::function< bool(const Eigen::MatrixXd &values, Eigen::MatrixXd &filtered_values)>
 
using stomp_moveit::PostIterationFn = std::function< void(int iteration_number, double cost, const Eigen::MatrixXd &values)>
 
using stomp_moveit::DoneFn = std::function< void(bool success, int total_iterations, double final_cost, const Eigen::MatrixXd &values)>
 

Detailed Description

A STOMP task definition that allows injecting custom functions for planning.

Author
Henning Kayser

STOMP's task interface can be used for customizing the planning objective, in particular the code used for sampling new random trajectories and for computing costs and validity of waypoint candidates. In order to allow building generic planning tasks at runtime, the ComposableTask class enables combining generic function types for planning:

Each of these functions use Eigen types for representing path and waypoints. The Eigen::MatrixXd 'values' refer to full path candidates where rows are the joint dimensions and columns are the waypoints. Accordingly, Eigen::VectorXd is used for representing cost values, one value for each waypoint.

Definition in file stomp_moveit_task.hpp.