Frankx  0.2.0
A High-Level Motion API for Franka
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
movex::ImpedanceMotion Struct Reference

#include <motion_impedance.hpp>

Classes

struct  LinearTargetMotion
 
struct  SpiralTargetMotion
 

Public Types

enum  Axis { Axis::X, Axis::Y, Axis::Z }
 
enum  Type { Type::Cartesian, Type::Joint }
 
enum  TargetMotion { TargetMotion::Exponential, TargetMotion::Linear, TargetMotion::Spiral }
 
using Affine = affx::Affine
 

Public Member Functions

 ImpedanceMotion ()
 
 ImpedanceMotion (double joint_stiffness)
 
 ImpedanceMotion (double translational_stiffness, double rotational_stiffness)
 
Affine getTarget () const
 
void setTarget (const Affine &new_target)
 
void setLinearRelativeTargetMotion (const Affine &relative_target, double duration)
 
void setSpiralTargetMotion (const Affine &center, double revolutions_per_second, double radius_per_revolution)
 
void addForceConstraint (Axis axis, double value)
 
void addForceConstraint (std::optional< double > x=std::nullopt, std::optional< double > y=std::nullopt, std::optional< double > z=std::nullopt)
 
bool isActive () const
 
void finish ()
 

Public Attributes

Type type
 
TargetMotion target_motion {TargetMotion::Exponential}
 
double exponential_decay {0.005}
 
LinearTargetMotion linear_motion
 
SpiralTargetMotion spiral_motion
 
std::map< Axis, double > force_constraints
 
const double translational_stiffness {2000.0}
 
const double rotational_stiffness {200.0}
 
const double joint_stiffness {200.0}
 
Affine target
 
bool is_active {false}
 
bool should_finish {false}
 

Member Typedef Documentation

◆ Affine

using movex::ImpedanceMotion::Affine = affx::Affine

Member Enumeration Documentation

◆ Axis

Enumerator

◆ TargetMotion

Enumerator
Exponential 
Linear 
Spiral 

◆ Type

Enumerator
Cartesian 
Joint 

Constructor & Destructor Documentation

◆ ImpedanceMotion() [1/3]

movex::ImpedanceMotion::ImpedanceMotion ( )
inlineexplicit

◆ ImpedanceMotion() [2/3]

movex::ImpedanceMotion::ImpedanceMotion ( double  joint_stiffness)
inlineexplicit

◆ ImpedanceMotion() [3/3]

movex::ImpedanceMotion::ImpedanceMotion ( double  translational_stiffness,
double  rotational_stiffness 
)
inlineexplicit

Member Function Documentation

◆ addForceConstraint() [1/2]

void movex::ImpedanceMotion::addForceConstraint ( Axis  axis,
double  value 
)
inline

◆ addForceConstraint() [2/2]

void movex::ImpedanceMotion::addForceConstraint ( std::optional< double >  x = std::nullopt,
std::optional< double >  y = std::nullopt,
std::optional< double >  z = std::nullopt 
)
inline

◆ finish()

void movex::ImpedanceMotion::finish ( )
inline

◆ getTarget()

Affine movex::ImpedanceMotion::getTarget ( ) const
inline

◆ isActive()

bool movex::ImpedanceMotion::isActive ( ) const
inline

◆ setLinearRelativeTargetMotion()

void movex::ImpedanceMotion::setLinearRelativeTargetMotion ( const Affine relative_target,
double  duration 
)
inline

◆ setSpiralTargetMotion()

void movex::ImpedanceMotion::setSpiralTargetMotion ( const Affine center,
double  revolutions_per_second,
double  radius_per_revolution 
)
inline

◆ setTarget()

void movex::ImpedanceMotion::setTarget ( const Affine new_target)
inline

Member Data Documentation

◆ exponential_decay

double movex::ImpedanceMotion::exponential_decay {0.005}

◆ force_constraints

std::map<Axis, double> movex::ImpedanceMotion::force_constraints

◆ is_active

bool movex::ImpedanceMotion::is_active {false}

◆ joint_stiffness

const double movex::ImpedanceMotion::joint_stiffness {200.0}

◆ linear_motion

LinearTargetMotion movex::ImpedanceMotion::linear_motion

◆ rotational_stiffness

const double movex::ImpedanceMotion::rotational_stiffness {200.0}

◆ should_finish

bool movex::ImpedanceMotion::should_finish {false}

◆ spiral_motion

SpiralTargetMotion movex::ImpedanceMotion::spiral_motion

◆ target

Affine movex::ImpedanceMotion::target

◆ target_motion

TargetMotion movex::ImpedanceMotion::target_motion {TargetMotion::Exponential}

◆ translational_stiffness

const double movex::ImpedanceMotion::translational_stiffness {2000.0}

◆ type

Type movex::ImpedanceMotion::type

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