moveit2
The MoveIt Motion Planning Framework for ROS 2.
Loading...
Searching...
No Matches
pilz_industrial_motion_planner::TrajectoryGenerator Class Referenceabstract

Base class of trajectory generators. More...

#include <trajectory_generator.hpp>

Inheritance diagram for pilz_industrial_motion_planner::TrajectoryGenerator:
Collaboration diagram for pilz_industrial_motion_planner::TrajectoryGenerator:

Classes

class  MotionPlanInfo
 This class is used to extract needed information from motion plan request. More...

Public Member Functions

 TrajectoryGenerator (const moveit::core::RobotModelConstPtr &robot_model, const pilz_industrial_motion_planner::LimitsContainer &planner_limits)
virtual ~TrajectoryGenerator ()=default
void generate (const planning_scene::PlanningSceneConstPtr &scene, const planning_interface::MotionPlanRequest &req, planning_interface::MotionPlanResponse &res, double sampling_time=0.1)
 generate robot trajectory with given sampling time

Protected Member Functions

std::unique_ptr< KDL::VelocityProfile > cartesianTrapVelocityProfile (double max_velocity_scaling_factor, double max_acceleration_scaling_factor, const std::unique_ptr< KDL::Path > &path) const
 build cartesian velocity profile for the path
void setMaxCartesianSpeed (const moveit_msgs::msg::MotionPlanRequest &req)
 Set the max cartesian speed from motion request.

Protected Attributes

const moveit::core::RobotModelConstPtr robot_model_
const pilz_industrial_motion_planner::LimitsContainer planner_limits_
double max_cartesian_speed_
const std::unique_ptr< rclcpp::Clock > clock_

Static Protected Attributes

static constexpr double MIN_SCALING_FACTOR { 0.0001 }
static constexpr double MAX_SCALING_FACTOR { 1. }
static constexpr double VELOCITY_TOLERANCE { 1e-8 }

Detailed Description

Base class of trajectory generators.

Note: All derived classes cannot have a start velocity

Definition at line 92 of file trajectory_generator.hpp.

Constructor & Destructor Documentation

◆ TrajectoryGenerator()

pilz_industrial_motion_planner::TrajectoryGenerator::TrajectoryGenerator ( const moveit::core::RobotModelConstPtr & robot_model,
const pilz_industrial_motion_planner::LimitsContainer & planner_limits )
inline

Definition at line 95 of file trajectory_generator.hpp.

Here is the caller graph for this function:

◆ ~TrajectoryGenerator()

virtual pilz_industrial_motion_planner::TrajectoryGenerator::~TrajectoryGenerator ( )
virtualdefault

Member Function Documentation

◆ cartesianTrapVelocityProfile()

std::unique_ptr< KDL::VelocityProfile > pilz_industrial_motion_planner::TrajectoryGenerator::cartesianTrapVelocityProfile ( double max_velocity_scaling_factor,
double max_acceleration_scaling_factor,
const std::unique_ptr< KDL::Path > & path ) const
protected

build cartesian velocity profile for the path

Uses the path to get the cartesian length and the angular distance from start to goal. The trap profile returns uses the longer distance of translational and rotational motion.

Definition at line 281 of file trajectory_generator.cpp.

◆ generate()

void pilz_industrial_motion_planner::TrajectoryGenerator::generate ( const planning_scene::PlanningSceneConstPtr & scene,
const planning_interface::MotionPlanRequest & req,
planning_interface::MotionPlanResponse & res,
double sampling_time = 0.1 )

generate robot trajectory with given sampling time

Parameters
reqmotion plan request
resmotion plan response
sampling_timesampling time of the generate trajectory

Definition at line 300 of file trajectory_generator.cpp.

Here is the call graph for this function:

◆ setMaxCartesianSpeed()

void pilz_industrial_motion_planner::TrajectoryGenerator::setMaxCartesianSpeed ( const moveit_msgs::msg::MotionPlanRequest & req)
protected

Set the max cartesian speed from motion request.

Definition at line 383 of file trajectory_generator.cpp.

Here is the call graph for this function:

Member Data Documentation

◆ clock_

const std::unique_ptr<rclcpp::Clock> pilz_industrial_motion_planner::TrajectoryGenerator::clock_
protected

Definition at line 283 of file trajectory_generator.hpp.

◆ max_cartesian_speed_

double pilz_industrial_motion_planner::TrajectoryGenerator::max_cartesian_speed_
protected

Definition at line 279 of file trajectory_generator.hpp.

◆ MAX_SCALING_FACTOR

double pilz_industrial_motion_planner::TrajectoryGenerator::MAX_SCALING_FACTOR { 1. }
staticconstexprprotected

Definition at line 281 of file trajectory_generator.hpp.

◆ MIN_SCALING_FACTOR

double pilz_industrial_motion_planner::TrajectoryGenerator::MIN_SCALING_FACTOR { 0.0001 }
staticconstexprprotected

Definition at line 280 of file trajectory_generator.hpp.

◆ planner_limits_

const pilz_industrial_motion_planner::LimitsContainer pilz_industrial_motion_planner::TrajectoryGenerator::planner_limits_
protected

Definition at line 278 of file trajectory_generator.hpp.

◆ robot_model_

const moveit::core::RobotModelConstPtr pilz_industrial_motion_planner::TrajectoryGenerator::robot_model_
protected

Definition at line 277 of file trajectory_generator.hpp.

◆ VELOCITY_TOLERANCE

double pilz_industrial_motion_planner::TrajectoryGenerator::VELOCITY_TOLERANCE { 1e-8 }
staticconstexprprotected

Definition at line 282 of file trajectory_generator.hpp.


The documentation for this class was generated from the following files: