franky 1.1.4
A High-Level Motion API for Franka
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | List of all members
franky::CartesianImpedanceTrackingMotion Class Reference

Cartesian impedance tracking motion. More...

#include <cartesian_impedance_tracking_motion.hpp>

Inheritance diagram for franky::CartesianImpedanceTrackingMotion:
franky::CartesianImpedanceBase franky::Motion< franka::Torques >

Public Types

using Params = CartesianImpedanceBase::Params
 
using ReferenceCallback = std::function< CartesianReference(const RobotState &, franka::Duration, franka::Duration, franka::Duration)>
 
- Public Types inherited from franky::Motion< franka::Torques >
using CallbackType = std::function< void(const RobotState &, franka::Duration, franka::Duration, franka::Duration, const franka::Torques &)>
 

Public Member Functions

 CartesianImpedanceTrackingMotion (const Params &params=Params{}, double gains_time_constant=0.1)
 
 CartesianImpedanceTrackingMotion (ReferenceCallback reference_callback, const Params &params=Params{}, double gains_time_constant=0.1)
 
void setReference (const CartesianReference &reference)
 
std::optional< CartesianReferencegetReference () const
 
const Paramsparams () const
 
- Public Member Functions inherited from franky::CartesianImpedanceBase
const Affinetarget () const
 
void setGains (const CartesianImpedanceGains &gains)
 
CartesianImpedanceGains getGains () const
 
void setNullspaceGains (const NullspaceGains &gains)
 
NullspaceGains getNullspaceGains () const
 
- Public Member Functions inherited from franky::Motion< franka::Torques >
virtual ~Motion ()=default
 
void addReaction (std::shared_ptr< Reaction< franka::Torques > > reaction)
 Add a reaction to the motion.
 
void addReactionFront (std::shared_ptr< Reaction< franka::Torques > > reaction)
 Add a reaction to the front of the reaction list.
 
std::vector< std::shared_ptr< Reaction< franka::Torques > > > reactions ()
 Currently registered reactions of the motion.
 
void registerCallback (CallbackType callback)
 Register a callback that is called in every step of the motion.
 
void init (Robot *robot, const RobotState &robot_state, const std::optional< franka::Torques > &previous_command)
 Initialize the motion. Motions can only be started once; this function throws a MotionReuseException on any subsequent call.
 
bool has_started () const
 Whether this motion has already been started. Started motions cannot be started again.
 
franka::Torques nextCommand (const RobotState &robot_state, franka::Duration time_step, franka::Duration rel_time, franka::Duration abs_time, const std::optional< franka::Torques > &previous_command)
 Get the next command of the motion.
 
std::shared_ptr< Motion< franka::Torques > > checkAndCallReactions (const RobotState &robot_state, franka::Duration rel_time, franka::Duration abs_time)
 Check and call reactions.
 

Protected Member Functions

void initImpl (const RobotState &robot_state, const std::optional< franka::Torques > &previous_command) override
 
franka::Torques nextCommandImpl (const RobotState &robot_state, franka::Duration time_step, franka::Duration rel_time, franka::Duration abs_time, const std::optional< franka::Torques > &previous_command) override
 
- Protected Member Functions inherited from franky::CartesianImpedanceBase
 CartesianImpedanceBase (Affine target, const Params &params, double gains_time_constant=0.1)
 
franka::Torques computeCommand (const RobotState &robot_state, const CartesianReference &reference, double dt)
 
const Paramsbase_params () const
 
- Protected Member Functions inherited from franky::Motion< franka::Torques >
 Motion ()
 
Robotrobot () const
 

Additional Inherited Members

- Protected Attributes inherited from franky::CartesianImpedanceBase
Affine target_
 

Detailed Description

Cartesian impedance tracking motion.

This motion keeps the same Cartesian impedance controller alive while reading the latest reference from a handle or callback every control cycle.

Member Typedef Documentation

◆ Params

◆ ReferenceCallback

using franky::CartesianImpedanceTrackingMotion::ReferenceCallback = std::function<CartesianReference(const RobotState &, franka::Duration, franka::Duration, franka::Duration)>

Constructor & Destructor Documentation

◆ CartesianImpedanceTrackingMotion() [1/2]

franky::CartesianImpedanceTrackingMotion::CartesianImpedanceTrackingMotion ( const Params params = Params{},
double  gains_time_constant = 0.1 
)
explicit

◆ CartesianImpedanceTrackingMotion() [2/2]

franky::CartesianImpedanceTrackingMotion::CartesianImpedanceTrackingMotion ( ReferenceCallback  reference_callback,
const Params params = Params{},
double  gains_time_constant = 0.1 
)
explicit

Member Function Documentation

◆ getReference()

std::optional< CartesianReference > franky::CartesianImpedanceTrackingMotion::getReference ( ) const
inline

◆ initImpl()

void franky::CartesianImpedanceTrackingMotion::initImpl ( const RobotState robot_state,
const std::optional< franka::Torques > &  previous_command 
)
overrideprotectedvirtual

Reimplemented from franky::Motion< franka::Torques >.

◆ nextCommandImpl()

franka::Torques franky::CartesianImpedanceTrackingMotion::nextCommandImpl ( const RobotState robot_state,
franka::Duration  time_step,
franka::Duration  rel_time,
franka::Duration  abs_time,
const std::optional< franka::Torques > &  previous_command 
)
overrideprotectedvirtual

◆ params()

const Params & franky::CartesianImpedanceTrackingMotion::params ( ) const
inline

◆ setReference()

void franky::CartesianImpedanceTrackingMotion::setReference ( const CartesianReference reference)
inline

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