MoveIt Pro API
Core Behaviors for MoveIt Pro
Loading...
Searching...
No Matches
moveit_pro::behaviors::BlendJointTrajectories Class Referencefinal

Blend a sequence of joint trajectories into a single trajectory with smooth transitions. More...

#include <blend_joint_trajectories.hpp>

Inheritance diagram for moveit_pro::behaviors::BlendJointTrajectories:
Collaboration diagram for moveit_pro::behaviors::BlendJointTrajectories:

Public Member Functions

 BlendJointTrajectories (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources)
 Constructor for BlendJointTrajectories behavior.
 
BT::NodeStatus tick () override
 
- Public Member Functions inherited from moveit_pro::behaviors::SharedResourcesNode< BT::SyncActionNode >
 SharedResourcesNode (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources)
 Constructor for SharedResourcesNode. Called by BT::BehaviorTreeFactory when creating a new behavior tree containing this node.
 

Static Public Member Functions

static BT::PortsList providedPorts ()
 
static BT::KeyValueVector metadata ()
 

Additional Inherited Members

- Protected Attributes inherited from moveit_pro::behaviors::SharedResourcesNode< BT::SyncActionNode >
std::shared_ptr< BehaviorContextshared_resources_
 

Detailed Description

Blend a sequence of joint trajectories into a single trajectory with smooth transitions.

Takes a vector of JointTrajectory messages and produces a single blended trajectory. At each connection point between consecutive trajectories, a local blending segment is generated using Ruckig to smoothly transition from one trajectory to the next. The blending region is defined by a radius in joint-space Euclidean distance from each connection point. The individual trajectories are preserved outside the blending regions.

All input trajectory points must have position, velocity, and acceleration data populated.

Data Port Name Port Type Object Type
joint_trajectories Input std::vector<trajectory_msgs::msg::JointTrajectory>
planning_group_name Input std::string
connection_tolerance Input double
blending_radius Input double
velocity_scale_factor Input double
acceleration_scale_factor Input double
jerk_scale_factor Input double
trajectory_sampling_rate Input unsigned int
retime_after_blending Input bool
joint_trajectory_msg Output trajectory_msgs::msg::JointTrajectory

Constructor & Destructor Documentation

◆ BlendJointTrajectories()

moveit_pro::behaviors::BlendJointTrajectories::BlendJointTrajectories ( const std::string &  name,
const BT::NodeConfiguration &  config,
const std::shared_ptr< BehaviorContext > &  shared_resources 
)

Constructor for BlendJointTrajectories behavior.

Parameters
nameThe name of the behavior tree node.
configThe node configuration.
shared_resourcesShared resources including the robot model and logger.

Member Function Documentation

◆ metadata()

BT::KeyValueVector moveit_pro::behaviors::BlendJointTrajectories::metadata ( )
static

◆ providedPorts()

BT::PortsList moveit_pro::behaviors::BlendJointTrajectories::providedPorts ( )
static

◆ tick()

BT::NodeStatus moveit_pro::behaviors::BlendJointTrajectories::tick ( )
override

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