Frankx  0.2.0
A High-Level Motion API for Franka
Public Member Functions | Public Attributes | List of all members
frankx::WaypointMotionGenerator< RobotType > Struct Template Reference

#include <motion_waypoint_generator.hpp>

Inheritance diagram for frankx::WaypointMotionGenerator< RobotType >:
frankx::MotionGenerator

Public Member Functions

 WaypointMotionGenerator (RobotType *robot, const Affine &frame, WaypointMotion &motion, MotionData &data)
 
void reset ()
 
void init (const franka::RobotState &robot_state, franka::Duration period)
 
franka::CartesianPose operator() (const franka::RobotState &robot_state, franka::Duration period)
 

Public Attributes

ruckig::Ruckig< RobotType::degrees_of_freedoms > trajectory_generator {RobotType::control_rate}
 
ruckig::InputParameter< RobotType::degrees_of_freedoms > input_para
 
ruckig::OutputParameter< RobotType::degrees_of_freedoms > output_para
 
ruckig::Result result
 
WaypointMotion current_motion
 
std::vector< Waypoint >::iterator waypoint_iterator
 
bool waypoint_has_elbow {false}
 
Vector7d old_vector
 
Affine old_affine
 
double old_elbow
 
double time {0.0}
 
RobotType * robot
 
Affine frame
 
WaypointMotionmotion
 
MotionDatadata
 
bool set_target_at_zero_time {true}
 
const size_t cooldown_iterations {5}
 
size_t current_cooldown_iteration {0}
 

Additional Inherited Members

- Static Public Member Functions inherited from frankx::MotionGenerator
static franka::CartesianPose CartesianPose (const Vector7d &vector, bool include_elbow=true)
 
static franka::CartesianPose CartesianPose (const std::array< double, 7 > &vector, bool include_elbow=true)
 
template<class T = double>
static std::array< T, 7 > VectorCartRotElbow (T cart, T rot, T elbow)
 
static void setCartRotElbowVector (Vector7d &vector, double cart, double rot, double elbow)
 
static std::array< double, 7 > toStd (const Vector7d &vector)
 
static movex::RobotState< 7 > convertState (const franka::RobotState &franka)
 
template<class RobotType >
static std::tuple< std::array< double, 7 >, std::array< double, 7 >, std::array< double, 7 > > getInputLimits (RobotType *robot, const MotionData &data)
 
template<class RobotType >
static std::tuple< std::array< double, 7 >, std::array< double, 7 >, std::array< double, 7 > > getInputLimits (RobotType *robot, const Waypoint &waypoint, const MotionData &data)
 
template<class RobotType >
static void setInputLimits (ruckig::InputParameter< 7 > &input_parameters, RobotType *robot, const MotionData &data)
 
template<class RobotType >
static void setInputLimits (ruckig::InputParameter< 7 > &input_parameters, RobotType *robot, const Waypoint &waypoint, const MotionData &data)
 

Constructor & Destructor Documentation

◆ WaypointMotionGenerator()

template<class RobotType >
frankx::WaypointMotionGenerator< RobotType >::WaypointMotionGenerator ( RobotType *  robot,
const Affine frame,
WaypointMotion motion,
MotionData data 
)
inlineexplicit

Member Function Documentation

◆ init()

template<class RobotType >
void frankx::WaypointMotionGenerator< RobotType >::init ( const franka::RobotState &  robot_state,
franka::Duration  period 
)
inline

◆ operator()()

template<class RobotType >
franka::CartesianPose frankx::WaypointMotionGenerator< RobotType >::operator() ( const franka::RobotState &  robot_state,
franka::Duration  period 
)
inline

◆ reset()

template<class RobotType >
void frankx::WaypointMotionGenerator< RobotType >::reset ( )
inline

Member Data Documentation

◆ cooldown_iterations

template<class RobotType >
const size_t frankx::WaypointMotionGenerator< RobotType >::cooldown_iterations {5}

◆ current_cooldown_iteration

template<class RobotType >
size_t frankx::WaypointMotionGenerator< RobotType >::current_cooldown_iteration {0}

◆ current_motion

template<class RobotType >
WaypointMotion frankx::WaypointMotionGenerator< RobotType >::current_motion

◆ data

template<class RobotType >
MotionData& frankx::WaypointMotionGenerator< RobotType >::data

◆ frame

template<class RobotType >
Affine frankx::WaypointMotionGenerator< RobotType >::frame

◆ input_para

template<class RobotType >
ruckig::InputParameter<RobotType::degrees_of_freedoms> frankx::WaypointMotionGenerator< RobotType >::input_para

◆ motion

template<class RobotType >
WaypointMotion& frankx::WaypointMotionGenerator< RobotType >::motion

◆ old_affine

template<class RobotType >
Affine frankx::WaypointMotionGenerator< RobotType >::old_affine

◆ old_elbow

template<class RobotType >
double frankx::WaypointMotionGenerator< RobotType >::old_elbow

◆ old_vector

template<class RobotType >
Vector7d frankx::WaypointMotionGenerator< RobotType >::old_vector

◆ output_para

template<class RobotType >
ruckig::OutputParameter<RobotType::degrees_of_freedoms> frankx::WaypointMotionGenerator< RobotType >::output_para

◆ result

template<class RobotType >
ruckig::Result frankx::WaypointMotionGenerator< RobotType >::result

◆ robot

template<class RobotType >
RobotType* frankx::WaypointMotionGenerator< RobotType >::robot

◆ set_target_at_zero_time

template<class RobotType >
bool frankx::WaypointMotionGenerator< RobotType >::set_target_at_zero_time {true}

◆ time

template<class RobotType >
double frankx::WaypointMotionGenerator< RobotType >::time {0.0}

◆ trajectory_generator

template<class RobotType >
ruckig::Ruckig<RobotType::degrees_of_freedoms> frankx::WaypointMotionGenerator< RobotType >::trajectory_generator {RobotType::control_rate}

◆ waypoint_has_elbow

template<class RobotType >
bool frankx::WaypointMotionGenerator< RobotType >::waypoint_has_elbow {false}

◆ waypoint_iterator

template<class RobotType >
std::vector<Waypoint>::iterator frankx::WaypointMotionGenerator< RobotType >::waypoint_iterator

The documentation for this struct was generated from the following file: