Classes | Public Member Functions | List of all members
joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface > Class Template Reference

Controller for executing joint-space trajectories on a group of joints. More...

#include <joint_trajectory_controller.h>

Inheritance diagram for joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >:
Inheritance graph
[legend]

Classes

struct  TimeData
 

Public Member Functions

 JointTrajectoryController ()
 
Non Real-Time Safe Functions
bool init (HardwareInterface *hw, ros::NodeHandle &root_nh, ros::NodeHandle &controller_nh)
 
- Public Member Functions inherited from controller_interface::Controller< HardwareInterface >
virtual bool init (T *, ros::NodeHandle &)
 
virtual bool init (T *, ros::NodeHandle &, ros::NodeHandle &)
 
- Public Member Functions inherited from controller_interface::ControllerBase
virtual void aborting (const ros::Time &)
 
virtual void aborting (const ros::Time &)
 
bool abortRequest (const ros::Time &time)
 
bool abortRequest (const ros::Time &time)
 
 ControllerBase ()=default
 
 ControllerBase (const ControllerBase &)=delete
 
 ControllerBase (ControllerBase &&)=delete
 
bool isAborted () const
 
bool isAborted () const
 
bool isInitialized () const
 
bool isInitialized () const
 
bool isRunning () const
 
bool isRunning () const
 
bool isStopped () const
 
bool isStopped () const
 
bool isWaiting () const
 
bool isWaiting () const
 
ControllerBaseoperator= (const ControllerBase &)=delete
 
ControllerBaseoperator= (ControllerBase &&)=delete
 
bool startRequest (const ros::Time &time)
 
bool startRequest (const ros::Time &time)
 
bool stopRequest (const ros::Time &time)
 
bool stopRequest (const ros::Time &time)
 
void updateRequest (const ros::Time &time, const ros::Duration &period)
 
void updateRequest (const ros::Time &time, const ros::Duration &period)
 
virtual void waiting (const ros::Time &)
 
virtual void waiting (const ros::Time &)
 
bool waitRequest (const ros::Time &time)
 
bool waitRequest (const ros::Time &time)
 
virtual ~ControllerBase ()=default
 

Real-Time Safe Functions

typedef actionlib::ActionServer< control_msgs::FollowJointTrajectoryAction > ActionServer
 
typedef std::shared_ptr< ActionServerActionServerPtr
 
typedef ActionServer::GoalHandle GoalHandle
 
typedef realtime_tools::RealtimeServerGoalHandle< control_msgs::FollowJointTrajectoryAction > RealtimeGoalHandle
 
typedef boost::shared_ptr< RealtimeGoalHandleRealtimeGoalHandlePtr
 
typedef trajectory_msgs::JointTrajectory::ConstPtr JointTrajectoryConstPtr
 
typedef realtime_tools::RealtimePublisher< control_msgs::JointTrajectoryControllerState > StatePublisher
 
typedef std::unique_ptr< StatePublisherStatePublisherPtr
 
typedef JointTrajectorySegment< SegmentImpl > Segment
 
typedef std::vector< SegmentTrajectoryPerJoint
 
typedef std::vector< TrajectoryPerJointTrajectory
 
typedef std::shared_ptr< TrajectoryTrajectoryPtr
 
typedef std::shared_ptr< TrajectoryPerJointTrajectoryPerJointPtr
 
typedef realtime_tools::RealtimeBox< TrajectoryPtrTrajectoryBox
 
typedef Segment::Scalar Scalar
 
typedef HardwareInterfaceAdapter< HardwareInterface, typename Segment::StateHwIfaceAdapter
 
typedef HardwareInterface::ResourceHandleType JointHandle
 
bool verbose_
 Hard coded verbose flag to help in debugging. More...
 
std::string name_
 Controller name. More...
 
std::vector< JointHandlejoints_
 Handles to controlled joints. More...
 
std::vector< bool > angle_wraparound_
 Whether controlled joints wrap around or not. More...
 
std::vector< std::string > joint_names_
 Controlled joint names. More...
 
SegmentTolerances< Scalardefault_tolerances_
 Default trajectory segment tolerances. More...
 
HwIfaceAdapter hw_iface_adapter_
 Adapts desired trajectory state to HW interface. More...
 
RealtimeGoalHandlePtr rt_active_goal_
 Currently active action goal, if any. More...
 
TrajectoryBox curr_trajectory_box_
 
TrajectoryPtr hold_trajectory_ptr_
 Last hold trajectory values. More...
 
Segment::State current_state_
 Preallocated workspace variable. More...
 
Segment::State desired_state_
 Preallocated workspace variable. More...
 
Segment::State old_desired_state_
 Preallocated workspace variable. More...
 
Segment::State state_error_
 Preallocated workspace variable. More...
 
Segment::State desired_joint_state_
 Preallocated workspace variable. More...
 
Segment::State state_joint_error_
 Preallocated workspace variable. More...
 
std::unique_ptr< TrajectoryBuilder< SegmentImpl > > hold_traj_builder_
 
realtime_tools::RealtimeBuffer< TimeDatatime_data_
 
TimeData old_time_data_
 
ros::Duration state_publisher_period_
 
ros::Duration action_monitor_period_
 
Segment::Time stop_trajectory_duration_
 Duration for stop ramp. If zero, the controller stops at the actual position. More...
 
boost::dynamic_bitset successful_joint_traj_
 
bool allow_partial_joints_goal_
 
ros::NodeHandle controller_nh_
 
ros::Subscriber trajectory_command_sub_
 
ActionServerPtr action_server_
 
ros::ServiceServer query_state_service_
 
StatePublisherPtr state_publisher_
 
ros::Timer goal_handle_timer_
 
ros::Time last_state_publish_time_
 
void starting (const ros::Time &time)
 Holds the current position. More...
 
void stopping (const ros::Time &)
 Cancels the active action goal, if any. More...
 
void update (const ros::Time &time, const ros::Duration &period)
 
virtual bool updateTrajectoryCommand (const JointTrajectoryConstPtr &msg, RealtimeGoalHandlePtr gh, std::string *error_string=nullptr)
 
virtual void trajectoryCommandCB (const JointTrajectoryConstPtr &msg)
 
virtual void goalCB (GoalHandle gh)
 
virtual void cancelCB (GoalHandle gh)
 
virtual void preemptActiveGoal ()
 
virtual bool queryStateService (control_msgs::QueryTrajectoryState::Request &req, control_msgs::QueryTrajectoryState::Response &resp)
 
void publishState (const ros::Time &time)
 Publish current controller state at a throttled frequency. More...
 
void setHoldPosition (const ros::Time &time, RealtimeGoalHandlePtr gh=RealtimeGoalHandlePtr())
 Hold the current position. More...
 
unsigned int getNumberOfJoints () const
 Returns the number of joints of the robot. More...
 
void updateStates (const ros::Time &sample_time, const Trajectory *const traj)
 Updates the states by sampling the specified trajectory for each joint at the specified sampling time. More...
 
static TrajectoryPtr createHoldTrajectory (const unsigned int &number_of_joints)
 Returns a trajectory consisting of joint trajectories with one pre-allocated segment. More...
 
virtual void updateFuncExtensionPoint (const Trajectory &curr_traj, const TimeData &time_data)
 Allows derived classes to perform additional checks and to e.g. replace the newly calculated desired value before the hardware interface is finally updated. More...
 
void setActionFeedback ()
 Updates the pre-allocated feedback of the current active goal (if any) based on the current state values. More...
 

Additional Inherited Members

- Public Types inherited from controller_interface::ControllerBase
typedef std::vector< hardware_interface::InterfaceResourcesClaimedResources
 
enum  ControllerState {
  ControllerState::CONSTRUCTED, ControllerState::INITIALIZED, ControllerState::RUNNING, ControllerState::STOPPED,
  ControllerState::WAITING, ControllerState::ABORTED
}
 
- Public Attributes inherited from controller_interface::ControllerBase
ControllerState state_
 
- Protected Member Functions inherited from controller_interface::Controller< HardwareInterface >
std::string getHardwareInterfaceType () const
 
bool initRequest (hardware_interface::RobotHW *robot_hw, ros::NodeHandle &root_nh, ros::NodeHandle &controller_nh, ClaimedResources &claimed_resources) override
 

Detailed Description

template<class SegmentImpl, class HardwareInterface>
class joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >

Controller for executing joint-space trajectories on a group of joints.

Note
Non-developer documentation and usage instructions can be found in the package's ROS wiki page.
Template Parameters
SegmentImplTrajectory segment representation to use. The type must comply with the following structure:
class FooSegment
{
public:
// Required types
typedef double Scalar; // Scalar can be anything convertible to double
typedef Scalar Time;
typedef PosVelAccState<Scalar> State;
// Default constructor
FooSegment();
// Constructor from start and end states (boundary conditions)
FooSegment(const Time& start_time,
const State& start_state,
const Time& end_time,
const State& end_state);
// Start and end states initializer (the guts of the above constructor)
// May throw std::invalid_argument if parameters are invalid
void init(const Time& start_time,
const State& start_state,
const Time& end_time,
const State& end_state);
// Sampler (realtime-safe)
void sample(const Time& time, State& state) const;
// Accesors (realtime-safe)
Time startTime() const;
Time endTime() const;
unsigned int size() const;
};
HardwareInterfaceController hardware interface. Currently hardware_interface::PositionJointInterface, hardware_interface::VelocityJointInterface, and hardware_interface::EffortJointInterface are supported out-of-the-box.

Definition at line 128 of file joint_trajectory_controller.h.

Member Typedef Documentation

◆ ActionServer

template<class SegmentImpl , class HardwareInterface >
typedef actionlib::ActionServer<control_msgs::FollowJointTrajectoryAction> joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::ActionServer
protected

Definition at line 161 of file joint_trajectory_controller.h.

◆ ActionServerPtr

template<class SegmentImpl , class HardwareInterface >
typedef std::shared_ptr<ActionServer> joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::ActionServerPtr
protected

Definition at line 162 of file joint_trajectory_controller.h.

◆ GoalHandle

template<class SegmentImpl , class HardwareInterface >
typedef ActionServer::GoalHandle joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::GoalHandle
protected

Definition at line 163 of file joint_trajectory_controller.h.

◆ HwIfaceAdapter

template<class SegmentImpl , class HardwareInterface >
typedef HardwareInterfaceAdapter<HardwareInterface, typename Segment::State> joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::HwIfaceAdapter
protected

Definition at line 178 of file joint_trajectory_controller.h.

◆ JointHandle

template<class SegmentImpl , class HardwareInterface >
typedef HardwareInterface::ResourceHandleType joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::JointHandle
protected

Definition at line 179 of file joint_trajectory_controller.h.

◆ JointTrajectoryConstPtr

template<class SegmentImpl , class HardwareInterface >
typedef trajectory_msgs::JointTrajectory::ConstPtr joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::JointTrajectoryConstPtr
protected

Definition at line 166 of file joint_trajectory_controller.h.

◆ RealtimeGoalHandle

template<class SegmentImpl , class HardwareInterface >
typedef realtime_tools::RealtimeServerGoalHandle<control_msgs::FollowJointTrajectoryAction> joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::RealtimeGoalHandle
protected

Definition at line 164 of file joint_trajectory_controller.h.

◆ RealtimeGoalHandlePtr

template<class SegmentImpl , class HardwareInterface >
typedef boost::shared_ptr<RealtimeGoalHandle> joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::RealtimeGoalHandlePtr
protected

Definition at line 165 of file joint_trajectory_controller.h.

◆ Scalar

template<class SegmentImpl , class HardwareInterface >
typedef Segment::Scalar joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::Scalar
protected

Definition at line 176 of file joint_trajectory_controller.h.

◆ Segment

template<class SegmentImpl , class HardwareInterface >
typedef JointTrajectorySegment<SegmentImpl> joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::Segment
protected

Definition at line 170 of file joint_trajectory_controller.h.

◆ StatePublisher

template<class SegmentImpl , class HardwareInterface >
typedef realtime_tools::RealtimePublisher<control_msgs::JointTrajectoryControllerState> joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::StatePublisher
protected

Definition at line 167 of file joint_trajectory_controller.h.

◆ StatePublisherPtr

template<class SegmentImpl , class HardwareInterface >
typedef std::unique_ptr<StatePublisher> joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::StatePublisherPtr
protected

Definition at line 168 of file joint_trajectory_controller.h.

◆ Trajectory

template<class SegmentImpl , class HardwareInterface >
typedef std::vector<TrajectoryPerJoint> joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::Trajectory
protected

Definition at line 172 of file joint_trajectory_controller.h.

◆ TrajectoryBox

template<class SegmentImpl , class HardwareInterface >
typedef realtime_tools::RealtimeBox<TrajectoryPtr> joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::TrajectoryBox
protected

Definition at line 175 of file joint_trajectory_controller.h.

◆ TrajectoryPerJoint

template<class SegmentImpl , class HardwareInterface >
typedef std::vector<Segment> joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::TrajectoryPerJoint
protected

Definition at line 171 of file joint_trajectory_controller.h.

◆ TrajectoryPerJointPtr

template<class SegmentImpl , class HardwareInterface >
typedef std::shared_ptr<TrajectoryPerJoint> joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::TrajectoryPerJointPtr
protected

Definition at line 174 of file joint_trajectory_controller.h.

◆ TrajectoryPtr

template<class SegmentImpl , class HardwareInterface >
typedef std::shared_ptr<Trajectory> joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::TrajectoryPtr
protected

Definition at line 173 of file joint_trajectory_controller.h.

Constructor & Destructor Documentation

◆ JointTrajectoryController()

template<class SegmentImpl , class HardwareInterface >
joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::JointTrajectoryController

Definition at line 190 of file joint_trajectory_controller_impl.h.

Member Function Documentation

◆ cancelCB()

template<class SegmentImpl , class HardwareInterface >
void joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::cancelCB ( GoalHandle  gh)
protectedvirtual

Definition at line 640 of file joint_trajectory_controller_impl.h.

◆ createHoldTrajectory()

template<class SegmentImpl , class HardwareInterface >
JointTrajectoryController< SegmentImpl, HardwareInterface >::TrajectoryPtr joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::createHoldTrajectory ( const unsigned int &  number_of_joints)
staticprotected

Returns a trajectory consisting of joint trajectories with one pre-allocated segment.

Definition at line 823 of file joint_trajectory_controller_impl.h.

◆ getNumberOfJoints()

template<class SegmentImpl , class HardwareInterface >
unsigned int joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::getNumberOfJoints
inlineprotected

Returns the number of joints of the robot.

Definition at line 759 of file joint_trajectory_controller_impl.h.

◆ goalCB()

template<class SegmentImpl , class HardwareInterface >
void joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::goalCB ( GoalHandle  gh)
protectedvirtual

Definition at line 567 of file joint_trajectory_controller_impl.h.

◆ init()

template<class SegmentImpl , class HardwareInterface >
bool joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::init ( HardwareInterface *  hw,
ros::NodeHandle root_nh,
ros::NodeHandle controller_nh 
)

Definition at line 205 of file joint_trajectory_controller_impl.h.

◆ preemptActiveGoal()

template<class SegmentImpl , class HardwareInterface >
void joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::preemptActiveGoal
inlineprotectedvirtual

Definition at line 175 of file joint_trajectory_controller_impl.h.

◆ publishState()

template<class SegmentImpl , class HardwareInterface >
void joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::publishState ( const ros::Time time)
protected

Publish current controller state at a throttled frequency.

Note
This method is realtime-safe and is meant to be called from update, as it shares data with it without any locking.

Definition at line 712 of file joint_trajectory_controller_impl.h.

◆ queryStateService()

template<class SegmentImpl , class HardwareInterface >
bool joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::queryStateService ( control_msgs::QueryTrajectoryState::Request &  req,
control_msgs::QueryTrajectoryState::Response &  resp 
)
protectedvirtual

Definition at line 664 of file joint_trajectory_controller_impl.h.

◆ setActionFeedback()

template<class SegmentImpl , class HardwareInterface >
void joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::setActionFeedback
private

Updates the pre-allocated feedback of the current active goal (if any) based on the current state values.

Note
This function is NOT thread safe but intended to be used in the update-function.

Definition at line 798 of file joint_trajectory_controller_impl.h.

◆ setHoldPosition()

template<class SegmentImpl , class HardwareInterface >
void joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::setHoldPosition ( const ros::Time time,
RealtimeGoalHandlePtr  gh = RealtimeGoalHandlePtr() 
)
inlineprotected

Hold the current position.

Substitutes the current trajectory with a single-segment one going from the current position and velocity to zero velocity.

See also
parameter stop_trajectory_duration
Note
This method is realtime-safe.

Definition at line 740 of file joint_trajectory_controller_impl.h.

◆ starting()

template<class SegmentImpl , class HardwareInterface >
void joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::starting ( const ros::Time time)
inlinevirtual

Holds the current position.

Reimplemented from controller_interface::ControllerBase.

Definition at line 133 of file joint_trajectory_controller_impl.h.

◆ stopping()

template<class SegmentImpl , class HardwareInterface >
void joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::stopping ( const ros::Time )
inlinevirtual

Cancels the active action goal, if any.

Reimplemented from controller_interface::ControllerBase.

Definition at line 160 of file joint_trajectory_controller_impl.h.

◆ trajectoryCommandCB()

template<class SegmentImpl , class HardwareInterface >
void joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::trajectoryCommandCB ( const JointTrajectoryConstPtr msg)
inlineprotectedvirtual

Definition at line 167 of file joint_trajectory_controller_impl.h.

◆ update()

template<class SegmentImpl , class HardwareInterface >
void joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::update ( const ros::Time time,
const ros::Duration period 
)
virtual

◆ updateFuncExtensionPoint()

template<class SegmentImpl , class HardwareInterface >
void joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::updateFuncExtensionPoint ( const Trajectory curr_traj,
const TimeData time_data 
)
inlineprivatevirtual

Allows derived classes to perform additional checks and to e.g. replace the newly calculated desired value before the hardware interface is finally updated.

Parameters
curr_trajThe trajectory that is executed during the current update.
time_dataUpdated time data.

Definition at line 752 of file joint_trajectory_controller_impl.h.

◆ updateStates()

template<class SegmentImpl , class HardwareInterface >
void joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::updateStates ( const ros::Time sample_time,
const Trajectory *const  traj 
)
protected

Updates the states by sampling the specified trajectory for each joint at the specified sampling time.

The current state is updated based on the values transmitted by the corresponding JointHandles.

Parameters
sample_timeTime point at which the joint trajectories have to be sampled.
trajTrajectory containing all joint trajectories currently under execution.
Note
This function is NOT thread safe but intended to be used in the update-function.

Definition at line 766 of file joint_trajectory_controller_impl.h.

◆ updateTrajectoryCommand()

template<class SegmentImpl , class HardwareInterface >
bool joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::updateTrajectoryCommand ( const JointTrajectoryConstPtr msg,
RealtimeGoalHandlePtr  gh,
std::string *  error_string = nullptr 
)
protectedvirtual

Definition at line 481 of file joint_trajectory_controller_impl.h.

Member Data Documentation

◆ action_monitor_period_

template<class SegmentImpl , class HardwareInterface >
ros::Duration joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::action_monitor_period_
protected

Definition at line 214 of file joint_trajectory_controller.h.

◆ action_server_

template<class SegmentImpl , class HardwareInterface >
ActionServerPtr joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::action_server_
protected

Definition at line 223 of file joint_trajectory_controller.h.

◆ allow_partial_joints_goal_

template<class SegmentImpl , class HardwareInterface >
bool joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::allow_partial_joints_goal_
protected

Definition at line 218 of file joint_trajectory_controller.h.

◆ angle_wraparound_

template<class SegmentImpl , class HardwareInterface >
std::vector<bool> joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::angle_wraparound_
protected

Whether controlled joints wrap around or not.

Definition at line 184 of file joint_trajectory_controller.h.

◆ controller_nh_

template<class SegmentImpl , class HardwareInterface >
ros::NodeHandle joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::controller_nh_
protected

Definition at line 221 of file joint_trajectory_controller.h.

◆ curr_trajectory_box_

template<class SegmentImpl , class HardwareInterface >
TrajectoryBox joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::curr_trajectory_box_
protected

Thread-safe container with a smart pointer to trajectory currently being followed. Can be either a hold trajectory or a trajectory received from a ROS message.

We store the hold trajectory in a separate class member because the starting(time) method must be realtime-safe. The (single segment) hold trajectory is preallocated at initialization time and its size is kept unchanged.

Definition at line 198 of file joint_trajectory_controller.h.

◆ current_state_

template<class SegmentImpl , class HardwareInterface >
Segment::State joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::current_state_
protected

Preallocated workspace variable.

Definition at line 201 of file joint_trajectory_controller.h.

◆ default_tolerances_

template<class SegmentImpl , class HardwareInterface >
SegmentTolerances<Scalar> joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::default_tolerances_
protected

Default trajectory segment tolerances.

Definition at line 186 of file joint_trajectory_controller.h.

◆ desired_joint_state_

template<class SegmentImpl , class HardwareInterface >
Segment::State joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::desired_joint_state_
protected

Preallocated workspace variable.

Definition at line 205 of file joint_trajectory_controller.h.

◆ desired_state_

template<class SegmentImpl , class HardwareInterface >
Segment::State joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::desired_state_
protected

Preallocated workspace variable.

Definition at line 202 of file joint_trajectory_controller.h.

◆ goal_handle_timer_

template<class SegmentImpl , class HardwareInterface >
ros::Timer joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::goal_handle_timer_
protected

Definition at line 227 of file joint_trajectory_controller.h.

◆ hold_traj_builder_

template<class SegmentImpl , class HardwareInterface >
std::unique_ptr<TrajectoryBuilder<SegmentImpl> > joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::hold_traj_builder_
protected

Definition at line 208 of file joint_trajectory_controller.h.

◆ hold_trajectory_ptr_

template<class SegmentImpl , class HardwareInterface >
TrajectoryPtr joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::hold_trajectory_ptr_
protected

Last hold trajectory values.

Definition at line 199 of file joint_trajectory_controller.h.

◆ hw_iface_adapter_

template<class SegmentImpl , class HardwareInterface >
HwIfaceAdapter joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::hw_iface_adapter_
protected

Adapts desired trajectory state to HW interface.

Definition at line 187 of file joint_trajectory_controller.h.

◆ joint_names_

template<class SegmentImpl , class HardwareInterface >
std::vector<std::string> joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::joint_names_
protected

Controlled joint names.

Definition at line 185 of file joint_trajectory_controller.h.

◆ joints_

template<class SegmentImpl , class HardwareInterface >
std::vector<JointHandle> joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::joints_
protected

Handles to controlled joints.

Definition at line 183 of file joint_trajectory_controller.h.

◆ last_state_publish_time_

template<class SegmentImpl , class HardwareInterface >
ros::Time joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::last_state_publish_time_
protected

Definition at line 228 of file joint_trajectory_controller.h.

◆ name_

template<class SegmentImpl , class HardwareInterface >
std::string joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::name_
protected

Controller name.

Definition at line 182 of file joint_trajectory_controller.h.

◆ old_desired_state_

template<class SegmentImpl , class HardwareInterface >
Segment::State joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::old_desired_state_
protected

Preallocated workspace variable.

Definition at line 203 of file joint_trajectory_controller.h.

◆ old_time_data_

template<class SegmentImpl , class HardwareInterface >
TimeData joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::old_time_data_
protected

Definition at line 211 of file joint_trajectory_controller.h.

◆ query_state_service_

template<class SegmentImpl , class HardwareInterface >
ros::ServiceServer joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::query_state_service_
protected

Definition at line 224 of file joint_trajectory_controller.h.

◆ rt_active_goal_

template<class SegmentImpl , class HardwareInterface >
RealtimeGoalHandlePtr joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::rt_active_goal_
protected

Currently active action goal, if any.

Definition at line 189 of file joint_trajectory_controller.h.

◆ state_error_

template<class SegmentImpl , class HardwareInterface >
Segment::State joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::state_error_
protected

Preallocated workspace variable.

Definition at line 204 of file joint_trajectory_controller.h.

◆ state_joint_error_

template<class SegmentImpl , class HardwareInterface >
Segment::State joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::state_joint_error_
protected

Preallocated workspace variable.

Definition at line 206 of file joint_trajectory_controller.h.

◆ state_publisher_

template<class SegmentImpl , class HardwareInterface >
StatePublisherPtr joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::state_publisher_
protected

Definition at line 225 of file joint_trajectory_controller.h.

◆ state_publisher_period_

template<class SegmentImpl , class HardwareInterface >
ros::Duration joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::state_publisher_period_
protected

Definition at line 213 of file joint_trajectory_controller.h.

◆ stop_trajectory_duration_

template<class SegmentImpl , class HardwareInterface >
Segment::Time joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::stop_trajectory_duration_
protected

Duration for stop ramp. If zero, the controller stops at the actual position.

Definition at line 216 of file joint_trajectory_controller.h.

◆ successful_joint_traj_

template<class SegmentImpl , class HardwareInterface >
boost::dynamic_bitset joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::successful_joint_traj_
protected

Definition at line 217 of file joint_trajectory_controller.h.

◆ time_data_

template<class SegmentImpl , class HardwareInterface >
realtime_tools::RealtimeBuffer<TimeData> joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::time_data_
protected

Definition at line 210 of file joint_trajectory_controller.h.

◆ trajectory_command_sub_

template<class SegmentImpl , class HardwareInterface >
ros::Subscriber joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::trajectory_command_sub_
protected

Definition at line 222 of file joint_trajectory_controller.h.

◆ verbose_

template<class SegmentImpl , class HardwareInterface >
bool joint_trajectory_controller::JointTrajectoryController< SegmentImpl, HardwareInterface >::verbose_
protected

Hard coded verbose flag to help in debugging.

Definition at line 181 of file joint_trajectory_controller.h.


The documentation for this class was generated from the following files:
joint_trajectory_controller::JointTrajectoryController::Scalar
Segment::Scalar Scalar
Definition: joint_trajectory_controller.h:176
trajectory_interface::sample
Trajectory::const_iterator sample(const Trajectory &trajectory, const typename Trajectory::value_type::Time &time, typename Trajectory::value_type::State &state)
Sample a trajectory at a specified time.
Definition: trajectory_interface.h:138
joint_trajectory_controller::JointTrajectoryController::init
bool init(HardwareInterface *hw, ros::NodeHandle &root_nh, ros::NodeHandle &controller_nh)
Definition: joint_trajectory_controller_impl.h:205
joint_trajectory_controller::internal::startTime
ros::Time startTime(const trajectory_msgs::JointTrajectory &msg, const ros::Time &time)
Definition: joint_trajectory_msg_utils.h:69


joint_trajectory_controller
Author(s): Adolfo Rodriguez Tsouroukdissian
autogenerated on Sun Mar 3 2024 03:19:26