moveit2
The MoveIt Motion Planning Framework for ROS 2.
|
A STOMP task definition that allows injecting custom functions for planning. More...
#include <stomp/task.h>
Go to the source code of this file.
Classes | |
class | stomp_moveit::ComposableTask |
Namespaces | |
namespace | 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)> |
A STOMP task definition that allows injecting custom functions for planning.
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.