Control Libraries 7.4.0
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Friends | List of all members
state_representation::CartesianAcceleration Class Reference

Class to define acceleration in Cartesian space as 3D linear and angular acceleration vectors. More...

#include <CartesianAcceleration.hpp>

Inheritance diagram for state_representation::CartesianAcceleration:
state_representation::CartesianState state_representation::SpatialState state_representation::State

Public Member Functions

const Eigen::Vector3d & get_position () const =delete
 
const Eigen::Quaterniond & get_orientation () const =delete
 
Eigen::Vector4d get_orientation_coefficients () const =delete
 
Eigen::Matrix< double, 7, 1 > get_pose () const =delete
 
Eigen::Matrix4d get_transformation_matrix () const =delete
 
const Eigen::Vector3d & get_linear_velocity () const =delete
 
const Eigen::Vector3d & get_angular_velocity () const =delete
 
Eigen::Matrix< double, 6, 1 > get_twist () const =delete
 
const Eigen::Vector3d & get_force () const =delete
 
const Eigen::Vector3d & get_torque () const =delete
 
Eigen::Matrix< double, 6, 1 > get_wrench () const =delete
 
void set_position (const Eigen::Vector3d &position)=delete
 
void set_position (const std::vector< double > &position)=delete
 
void set_position (const double &x, const double &y, const double &z)=delete
 
void set_orientation (const Eigen::Quaterniond &orientation)=delete
 
void set_orientation (const Eigen::Vector4d &orientation)=delete
 
void set_orientation (const std::vector< double > &orientation)=delete
 
void set_orientation (const double &w, const double &x, const double &y, const double &z)=delete
 
void set_pose (const Eigen::Vector3d &position, const Eigen::Quaterniond &orientation)=delete
 
void set_pose (const Eigen::Matrix< double, 7, 1 > &pose)=delete
 
void set_pose (const std::vector< double > &pose)=delete
 
void set_linear_velocity (const Eigen::Vector3d &linear_velocity)=delete
 
void set_linear_velocity (const std::vector< double > &linear_velocity)=delete
 
void set_linear_velocity (const double &x, const double &y, const double &z)=delete
 
void set_angular_velocity (const Eigen::Vector3d &angular_velocity)=delete
 
void set_angular_velocity (const std::vector< double > &angular_velocity)=delete
 
void set_angular_velocity (const double &x, const double &y, const double &z)=delete
 
void set_twist (const Eigen::Matrix< double, 6, 1 > &twist)=delete
 
void set_twist (const std::vector< double > &twist)=delete
 
void set_force (const Eigen::Vector3d &force)=delete
 
void set_force (const std::vector< double > &force)=delete
 
void set_force (const double &x, const double &y, const double &z)=delete
 
void set_torque (const Eigen::Vector3d &torque)=delete
 
void set_torque (const std::vector< double > &torque)=delete
 
void set_torque (const double &x, const double &y, const double &z)=delete
 
void set_wrench (const Eigen::Matrix< double, 6, 1 > &wrench)=delete
 
void set_wrench (const std::vector< double > &wrench)=delete
 
CartesianStateoperator*= (const CartesianState &state)=delete
 
CartesianState operator* (const CartesianState &state) const =delete
 
Eigen::Vector3d operator* (const Eigen::Vector3d &vector) const =delete
 
CartesianStateoperator+= (const CartesianPose &pose)=delete
 
CartesianStateoperator+= (const CartesianTwist &twist)=delete
 
CartesianStateoperator+= (const CartesianWrench &wrench)=delete
 
CartesianState operator+ (const CartesianPose &pose) const =delete
 
CartesianState operator+ (const CartesianTwist &twist) const =delete
 
CartesianState operator+ (const CartesianWrench &wrench) const =delete
 
CartesianStateoperator-= (const CartesianPose &pose)=delete
 
CartesianStateoperator-= (const CartesianTwist &twist)=delete
 
CartesianStateoperator-= (const CartesianWrench &wrench)=delete
 
CartesianState operator- (const CartesianPose &pose) const =delete
 
CartesianState operator- (const CartesianTwist &twist) const =delete
 
CartesianState operator- (const CartesianWrench &wrench) const =delete
 
 CartesianAcceleration ()
 Empty constructor.
 
 CartesianAcceleration (const std::string &name, const std::string &reference="world")
 Constructor with name and reference frame provided.
 
 CartesianAcceleration (const CartesianAcceleration &acceleration)
 Copy constructor.
 
 CartesianAcceleration (const CartesianState &state)
 Copy constructor from a Cartesian state.
 
 CartesianAcceleration (const CartesianTwist &pose)
 Copy constructor from a Cartesian twist by considering that it is equivalent to dividing the twist by 1 second.
 
 CartesianAcceleration (const std::string &name, const Eigen::Vector3d &linear_acceleration, const std::string &reference="world")
 Construct a Cartesian acceleration from a linear acceleration given as a vector.
 
 CartesianAcceleration (const std::string &name, const Eigen::Vector3d &linear_acceleration, const Eigen::Vector3d &angular_acceleration, const std::string &reference="world")
 Construct a Cartesian acceleration from a linear acceleration and angular acceleration given as vectors.
 
 CartesianAcceleration (const std::string &name, const Eigen::Matrix< double, 6, 1 > &acceleration, const std::string &reference="world")
 Construct a Cartesian acceleration from a single 6d acceleration vector.
 
CartesianAccelerationoperator= (const CartesianAcceleration &acceleration)=default
 Copy assignment operator that has to be defined to the custom assignment operator.
 
Eigen::VectorXd data () const override
 Returns the acceleration data as an Eigen vector.
 
void set_data (const Eigen::VectorXd &data) override
 Set the acceleration data from an Eigen vector.
 
void set_data (const std::vector< double > &data) override
 Set the acceleration data from a std vector.
 
void clamp (double max_linear, double max_angular, double linear_noise_ratio=0, double angular_noise_ratio=0)
 Clamp inplace the magnitude of the acceleration to the values in argument.
 
CartesianAcceleration clamped (double max_linear, double max_angular, double noise_ratio=0, double angular_noise_ratio=0) const
 Return the clamped twist.
 
CartesianAcceleration copy () const
 Return a copy of the Cartesian acceleration.
 
CartesianAcceleration inverse () const
 Compute the inverse of the current Cartesian acceleration.
 
CartesianAcceleration normalized (const CartesianStateVariable &state_variable_type=CartesianStateVariable::ACCELERATION) const
 Compute the normalized acceleration at the state variable given in argument (default is full acceleration)
 
std::vector< double > norms (const CartesianStateVariable &state_variable_type=CartesianStateVariable::ACCELERATION) const override
 Compute the norms of the state variable specified by the input type (default is full acceleration)
 
CartesianAccelerationoperator*= (double lambda)
 Scale inplace by a scalar.
 
CartesianAcceleration operator* (double lambda) const
 Scale a Cartesian acceleration by a scalar.
 
CartesianTwist operator* (const std::chrono::nanoseconds &dt) const
 Integrate a Cartesian acceleration over a time period.
 
CartesianAccelerationoperator/= (double lambda)
 Scale inplace by a scalar.
 
CartesianAcceleration operator/ (double lambda) const
 Scale a Cartesian acceleration by a scalar.
 
CartesianAccelerationoperator+= (const CartesianAcceleration &acceleration)
 Add inplace another Cartesian acceleration.
 
CartesianAccelerationoperator+= (const CartesianState &state)
 Add inplace another acceleration from a Cartesian state.
 
CartesianAcceleration operator+ (const CartesianAcceleration &acceleration) const
 Add another Cartesian acceleration.
 
CartesianState operator+ (const CartesianState &state) const
 Add another Cartesian state.
 
CartesianAcceleration operator- () const
 Negate a Cartesian acceleration.
 
CartesianAccelerationoperator-= (const CartesianAcceleration &acceleration)
 Compute inplace the difference with another Cartesian acceleration.
 
CartesianAccelerationoperator-= (const CartesianState &state)
 Compute inplace the difference with another Cartesian state.
 
CartesianAcceleration operator- (const CartesianAcceleration &acceleration) const
 Compute the difference with another Cartesian acceleration.
 
CartesianState operator- (const CartesianState &state) const
 Compute the difference with a Cartesian state.
 
- Public Member Functions inherited from state_representation::CartesianState
 CartesianState ()
 Empty constructor.
 
 CartesianState (const std::string &name, const std::string &reference="world")
 Constructor with name and reference frame provided.
 
 CartesianState (const CartesianState &state)
 Copy constructor of a Cartesian state.
 
CartesianStateoperator= (const CartesianState &state)
 Copy assignment operator that has to be defined to the custom assignment operator.
 
const Eigen::Vector3d & get_position () const
 Getter of the position attribute.
 
const Eigen::Quaterniond & get_orientation () const
 Getter of the orientation attribute.
 
Eigen::Vector4d get_orientation_coefficients () const
 Getter of the orientation attribute as Vector4d of coefficients.
 
Eigen::Matrix< double, 7, 1 > get_pose () const
 Getter of the pose from position and orientation attributes.
 
Eigen::Matrix4d get_transformation_matrix () const
 Getter of a pose from position and orientation attributes.
 
const Eigen::Vector3d & get_linear_velocity () const
 Getter of the linear velocity attribute.
 
const Eigen::Vector3d & get_angular_velocity () const
 Getter of the angular velocity attribute.
 
Eigen::Matrix< double, 6, 1 > get_twist () const
 Getter of the 6d twist from linear and angular velocity attributes.
 
const Eigen::Vector3d & get_linear_acceleration () const
 Getter of the linear acceleration attribute.
 
const Eigen::Vector3d & get_angular_acceleration () const
 Getter of the angular acceleration attribute.
 
Eigen::Matrix< double, 6, 1 > get_acceleration () const
 Getter of the 6d acceleration from linear and angular acceleration attributes.
 
const Eigen::Vector3d & get_force () const
 Getter of the force attribute.
 
const Eigen::Vector3d & get_torque () const
 Getter of the torque attribute.
 
Eigen::Matrix< double, 6, 1 > get_wrench () const
 Getter of the 6d wrench from force and torque attributes.
 
Eigen::ArrayXd array () const
 Return the data vector as an Eigen Array.
 
std::vector< double > to_std_vector () const
 Return the state as a std vector.
 
void set_position (const Eigen::Vector3d &position)
 Setter of the position.
 
void set_position (const std::vector< double > &position)
 Setter of the position from a std vector.
 
void set_position (const double &x, const double &y, const double &z)
 Setter of the position from three scalar coordinates.
 
void set_orientation (const Eigen::Quaterniond &orientation)
 Setter of the orientation.
 
void set_orientation (const Eigen::Vector4d &orientation)
 Setter of the orientation from a 4d vector.
 
void set_orientation (const std::vector< double > &orientation)
 Setter of the orientation from a std vector.
 
void set_orientation (const double &w, const double &x, const double &y, const double &z)
 Setter of the orientation from four scalar coefficients (w, x, y, z)
 
void set_pose (const Eigen::Vector3d &position, const Eigen::Quaterniond &orientation)
 Setter of the pose from both position and orientation.
 
void set_pose (const Eigen::Matrix< double, 7, 1 > &pose)
 Setter of the pose from both position and orientation as Eigen 7d vector.
 
void set_pose (const std::vector< double > &pose)
 Setter of the pose from both position and orientation as std vector.
 
void set_linear_velocity (const Eigen::Vector3d &linear_velocity)
 Setter of the linear velocity attribute.
 
void set_linear_velocity (const std::vector< double > &linear_velocity)
 Setter of the linear velocity from a std vector.
 
void set_linear_velocity (const double &x, const double &y, const double &z)
 Setter of the linear velocity from three scalar coordinates.
 
void set_angular_velocity (const Eigen::Vector3d &angular_velocity)
 Setter of the angular velocity attribute.
 
void set_angular_velocity (const std::vector< double > &angular_velocity)
 Setter of the angular velocity from a std vector.
 
void set_angular_velocity (const double &x, const double &y, const double &z)
 Setter of the angular velocity from three scalar coordinates.
 
void set_twist (const Eigen::Matrix< double, 6, 1 > &twist)
 Setter of the linear and angular velocities from a 6d twist vector.
 
void set_twist (const std::vector< double > &twist)
 Setter of the linear and angular velocities from a std vector.
 
void set_linear_acceleration (const Eigen::Vector3d &linear_acceleration)
 Setter of the linear acceleration attribute.
 
void set_linear_acceleration (const std::vector< double > &linear_acceleration)
 Setter of the linear acceleration from a std vector.
 
void set_linear_acceleration (const double &x, const double &y, const double &z)
 Setter of the linear acceleration from three scalar coordinates.
 
void set_angular_acceleration (const Eigen::Vector3d &angular_acceleration)
 Setter of the angular velocity attribute.
 
void set_angular_acceleration (const std::vector< double > &angular_acceleration)
 Setter of the angular acceleration from a std vector.
 
void set_angular_acceleration (const double &x, const double &y, const double &z)
 Setter of the angular acceleration from three scalar coordinates.
 
void set_acceleration (const Eigen::Matrix< double, 6, 1 > &acceleration)
 Setter of the linear and angular acceleration from a 6d acceleration vector.
 
void set_acceleration (const std::vector< double > &acceleration)
 Setter of the linear and angular acceleration from a std vector.
 
void set_force (const Eigen::Vector3d &force)
 Setter of the force attribute.
 
void set_force (const std::vector< double > &force)
 Setter of the force from a std vector.
 
void set_force (const double &x, const double &y, const double &z)
 Setter of the force from three scalar coordinates.
 
void set_torque (const Eigen::Vector3d &torque)
 Setter of the torque attribute.
 
void set_torque (const std::vector< double > &torque)
 Setter of the torque from a std vector.
 
void set_torque (const double &x, const double &y, const double &z)
 Setter of the torque from three scalar coordinates.
 
void set_wrench (const Eigen::Matrix< double, 6, 1 > &wrench)
 Setter of the force and torque from a 6d wrench vector.
 
void set_wrench (const std::vector< double > &wrench)
 Setter of the force and torque from a std vector.
 
void set_zero ()
 Set the State to a zero value.
 
void clamp_state_variable (double max_norm, const CartesianStateVariable &state_variable_type, double noise_ratio=0)
 Clamp inplace the norm of the a specific state variable.
 
CartesianState copy () const
 Return a copy of the Cartesian state.
 
double dist (const CartesianState &state, const CartesianStateVariable &state_variable_type=CartesianStateVariable::ALL) const
 Compute the distance to another state as the sum of distances between each features.
 
void reset () override
 Reset the object to a post-construction state.
 
CartesianState inverse () const
 Compute the inverse of the current Cartesian state.
 
void normalize (const CartesianStateVariable &state_variable_type=CartesianStateVariable::ALL)
 Normalize inplace the state at the state variable given in argument. Default is full state.
 
CartesianState normalized (const CartesianStateVariable &state_variable_type=CartesianStateVariable::ALL) const
 Compute the normalized state at the state variable given in argument. Default is full state.
 
CartesianStateoperator*= (const CartesianState &state)
 Transform inplace a Cartesian state into the current reference frame.
 
CartesianState operator* (const CartesianState &state) const
 Transform a Cartesian state into the left operand state reference frame.
 
CartesianStateoperator*= (double lambda)
 Scale inplace by a scalar.
 
CartesianState operator* (double lambda) const
 Scale a Cartesian pose by a scalar.
 
Eigen::Vector3d operator* (const Eigen::Vector3d &vector) const
 Transform a vector into the state reference frame.
 
CartesianStateoperator/= (double lambda)
 Scale inplace by a scalar.
 
CartesianState operator/ (double lambda) const
 Scale a Cartesian state by a scalar.
 
CartesianStateoperator+= (const CartesianState &state)
 Add inplace another Cartesian state.
 
CartesianState operator+ (const CartesianState &state) const
 Add another Cartesian state.
 
CartesianState operator- () const
 Negate a Cartesian state.
 
CartesianStateoperator-= (const CartesianState &state)
 Compute inplace the difference with another Cartesian state.
 
CartesianState operator- (const CartesianState &state) const
 Compute the difference with another Cartesian state.
 
- Public Member Functions inherited from state_representation::SpatialState
 SpatialState ()
 Empty constructor.
 
 SpatialState (const std::string &name, const std::string &reference_frame="world")
 Constructor with name and reference frame specification.
 
 SpatialState (const SpatialState &state)
 Copy constructor from another spatial state.
 
SpatialStateoperator= (const SpatialState &state)
 Copy assignment operator that has to be defined to the custom assignment operator.
 
const std::string & get_reference_frame () const
 Getter of the reference frame as const reference.
 
virtual void set_reference_frame (const std::string &reference_frame)
 Setter of the reference frame.
 
bool is_incompatible (const State &state) const override
 Check if the spatial state is incompatible for operations with the state given as argument.
 
- Public Member Functions inherited from state_representation::State
 State ()
 Empty constructor.
 
 State (const std::string &name)
 Constructor with name specification.
 
 State (const State &state)
 Copy constructor from another state.
 
virtual ~State ()=default
 Virtual destructor.
 
Stateoperator= (const State &state)
 Copy assignment operator that has to be defined to the custom assignment operator.
 
const StateTypeget_type () const
 Getter of the type attribute.
 
const std::string & get_name () const
 Getter of the name attribute.
 
bool is_empty () const
 Getter of the empty attribute.
 
const std::chrono::time_point< std::chrono::steady_clock > & get_timestamp () const
 Getter of the timestamp attribute.
 
virtual void set_name (const std::string &name)
 Setter of the name attribute.
 
void reset_timestamp ()
 Reset the timestamp attribute to now.
 
virtual void set_data (const Eigen::MatrixXd &data)
 Set the data of the state from an Eigen matrix.
 
double get_age () const
 Get the age of the state, i.e. the time since the last modification.
 
bool is_deprecated (double time_delay) const
 Check if the state is deprecated given a certain time delay.
 
template<typename DurationT >
bool is_deprecated (const std::chrono::duration< int64_t, DurationT > &time_delay) const
 Check if the state is deprecated given a certain time delay.
 
 operator bool () const noexcept
 Boolean operator for the truthiness of a state.
 

Static Public Member Functions

static CartesianAcceleration Zero (const std::string &name, const std::string &reference="world")
 Constructor for the zero acceleration.
 
static CartesianAcceleration Random (const std::string &name, const std::string &reference="world")
 Constructor for a random acceleration.
 
- Static Public Member Functions inherited from state_representation::CartesianState
static CartesianState Identity (const std::string &name, const std::string &reference="world")
 Constructor for the identity Cartesian state (identity pose and 0 for the rest)
 
static CartesianState Random (const std::string &name, const std::string &reference="world")
 Constructor for a random Cartesian state.
 

Friends

CartesianAcceleration operator* (double lambda, const CartesianAcceleration &acceleration)
 Scale a Cartesian acceleration by a scalar.
 
CartesianAcceleration operator* (const Eigen::Matrix< double, 6, 6 > &lambda, const CartesianAcceleration &acceleration)
 Scale a Cartesian acceleration in all dimensions by a matrix.
 
CartesianTwist operator* (const std::chrono::nanoseconds &dt, const CartesianAcceleration &acceleration)
 Integrate a Cartesian acceleration over a time period.
 
std::ostream & operator<< (std::ostream &os, const CartesianAcceleration &acceleration)
 Overload the ostream operator for printing.
 

Additional Inherited Members

- Protected Member Functions inherited from state_representation::CartesianState
Eigen::VectorXd get_state_variable (const CartesianStateVariable &state_variable_type) const
 Getter of the variable value corresponding to the input.
 
void set_state_variable (const Eigen::VectorXd &new_value, const CartesianStateVariable &state_variable_type)
 Setter of the variable value corresponding to the input.
 
void set_state_variable (const std::vector< double > &new_value, const CartesianStateVariable &state_variable_type)
 Setter of the variable value corresponding to the input.
 
std::string to_string () const override
 Convert the state to its string representation.
 
- Protected Member Functions inherited from state_representation::SpatialState
std::string to_string () const override
 Convert the state to its string representation.
 
- Protected Member Functions inherited from state_representation::State
void set_type (const StateType &type)
 Setter of the state type attribute.
 
void set_empty (bool empty=true)
 Setter of the empty attribute.
 
void assert_not_empty () const
 Throw an exception if the state is empty.
 

Detailed Description

Class to define acceleration in Cartesian space as 3D linear and angular acceleration vectors.

Definition at line 18 of file CartesianAcceleration.hpp.

Constructor & Destructor Documentation

◆ CartesianAcceleration() [1/8]

state_representation::CartesianAcceleration::CartesianAcceleration ( )
explicit

Empty constructor.

Definition at line 8 of file CartesianAcceleration.cpp.

◆ CartesianAcceleration() [2/8]

state_representation::CartesianAcceleration::CartesianAcceleration ( const std::string &  name,
const std::string &  reference = "world" 
)
explicit

Constructor with name and reference frame provided.

Parameters
nameThe name of the state
referenceThe name of the reference frame (default is "world")

Definition at line 12 of file CartesianAcceleration.cpp.

◆ CartesianAcceleration() [3/8]

state_representation::CartesianAcceleration::CartesianAcceleration ( const CartesianAcceleration acceleration)

Copy constructor.

Definition at line 48 of file CartesianAcceleration.cpp.

◆ CartesianAcceleration() [4/8]

state_representation::CartesianAcceleration::CartesianAcceleration ( const CartesianState state)

Copy constructor from a Cartesian state.

Definition at line 40 of file CartesianAcceleration.cpp.

◆ CartesianAcceleration() [5/8]

state_representation::CartesianAcceleration::CartesianAcceleration ( const CartesianTwist pose)

Copy constructor from a Cartesian twist by considering that it is equivalent to dividing the twist by 1 second.

Definition at line 51 of file CartesianAcceleration.cpp.

◆ CartesianAcceleration() [6/8]

state_representation::CartesianAcceleration::CartesianAcceleration ( const std::string &  name,
const Eigen::Vector3d &  linear_acceleration,
const std::string &  reference = "world" 
)
explicit

Construct a Cartesian acceleration from a linear acceleration given as a vector.

Definition at line 17 of file CartesianAcceleration.cpp.

◆ CartesianAcceleration() [7/8]

state_representation::CartesianAcceleration::CartesianAcceleration ( const std::string &  name,
const Eigen::Vector3d &  linear_acceleration,
const Eigen::Vector3d &  angular_acceleration,
const std::string &  reference = "world" 
)
explicit

Construct a Cartesian acceleration from a linear acceleration and angular acceleration given as vectors.

Definition at line 24 of file CartesianAcceleration.cpp.

◆ CartesianAcceleration() [8/8]

state_representation::CartesianAcceleration::CartesianAcceleration ( const std::string &  name,
const Eigen::Matrix< double, 6, 1 > &  acceleration,
const std::string &  reference = "world" 
)
explicit

Construct a Cartesian acceleration from a single 6d acceleration vector.

Definition at line 33 of file CartesianAcceleration.cpp.

Member Function Documentation

◆ clamp()

void state_representation::CartesianAcceleration::clamp ( double  max_linear,
double  max_angular,
double  linear_noise_ratio = 0,
double  angular_noise_ratio = 0 
)

Clamp inplace the magnitude of the acceleration to the values in argument.

Parameters
max_linearThe maximum magnitude of the linear acceleration
max_angularThe maximum magnitude of the angular acceleration
linear_noise_ratioIf provided, this value will be used to apply a deadzone under which the linear acceleration will be set to 0
angular_noise_ratioIf provided, this value will be used to apply a deadzone under which the angular acceleration will be set to 0

Definition at line 80 of file CartesianAcceleration.cpp.

◆ clamped()

CartesianAcceleration state_representation::CartesianAcceleration::clamped ( double  max_linear,
double  max_angular,
double  noise_ratio = 0,
double  angular_noise_ratio = 0 
) const

Return the clamped twist.

Parameters
max_linearThe maximum magnitude of the linear acceleration
max_angularThe maximum magnitude of the angular acceleration
noise_ratioIf provided, this value will be used to apply a deadzone under which the linear acceleration will be set to 0
angular_noise_ratioIf provided, this value will be used to apply a deadzone under which the angular acceleration will be set to 0
Returns
The clamped acceleration

Definition at line 89 of file CartesianAcceleration.cpp.

◆ copy()

CartesianAcceleration state_representation::CartesianAcceleration::copy ( ) const

Return a copy of the Cartesian acceleration.

Definition at line 97 of file CartesianAcceleration.cpp.

◆ data()

Eigen::VectorXd state_representation::CartesianAcceleration::data ( ) const
overridevirtual

Returns the acceleration data as an Eigen vector.

Reimplemented from state_representation::CartesianState.

Definition at line 64 of file CartesianAcceleration.cpp.

◆ inverse()

CartesianAcceleration state_representation::CartesianAcceleration::inverse ( ) const

Compute the inverse of the current Cartesian acceleration.

Definition at line 102 of file CartesianAcceleration.cpp.

◆ normalized()

CartesianAcceleration state_representation::CartesianAcceleration::normalized ( const CartesianStateVariable &  state_variable_type = CartesianStateVariable::ACCELERATION) const

Compute the normalized acceleration at the state variable given in argument (default is full acceleration)

Parameters
state_variable_typeThe type of state variable to compute the norms on
Returns
The normalized acceleration

Definition at line 106 of file CartesianAcceleration.cpp.

◆ norms()

std::vector< double > state_representation::CartesianAcceleration::norms ( const CartesianStateVariable &  state_variable_type = CartesianStateVariable::ACCELERATION) const
overridevirtual

Compute the norms of the state variable specified by the input type (default is full acceleration)

Parameters
state_variable_typeThe type of state variable to compute the norms on
Returns
The norms of the state variables as a vector

Reimplemented from state_representation::CartesianState.

Definition at line 110 of file CartesianAcceleration.cpp.

◆ operator*() [1/2]

CartesianTwist state_representation::CartesianAcceleration::operator* ( const std::chrono::nanoseconds &  dt) const

Integrate a Cartesian acceleration over a time period.

Parameters
dtThe time period used for integration
Returns
The resulting Cartesian twist after integration

Definition at line 133 of file CartesianAcceleration.cpp.

◆ operator*() [2/2]

CartesianAcceleration state_representation::CartesianAcceleration::operator* ( double  lambda) const

Scale a Cartesian acceleration by a scalar.

: All state variables in all their dimensions are scaled by the same factor.

Parameters
lambdaThe scaling factor
Returns
The reference to the scaled Cartesian state
Parameters
lambdaThe scaling factor
Returns
The scaled Cartesian acceleration

Definition at line 119 of file CartesianAcceleration.cpp.

◆ operator*=()

CartesianAcceleration & state_representation::CartesianAcceleration::operator*= ( double  lambda)

Scale inplace by a scalar.

: All state variables in all their dimensions are scaled by the same factor.

Parameters
lambdaThe scaling factor
Returns
The reference to the scaled Cartesian state
Parameters
lambdaThe scaling factor
Returns
The reference to the scaled Cartesian acceleration

Definition at line 114 of file CartesianAcceleration.cpp.

◆ operator+() [1/2]

CartesianAcceleration state_representation::CartesianAcceleration::operator+ ( const CartesianAcceleration acceleration) const

Add another Cartesian acceleration.

Parameters
accelerationA Cartesian acceleration in the same reference frame
Returns
The combined Cartesian acceleration

Definition at line 168 of file CartesianAcceleration.cpp.

◆ operator+() [2/2]

CartesianState state_representation::CartesianAcceleration::operator+ ( const CartesianState state) const

Add another Cartesian state.

Parameters
stateA Cartesian state in the same reference frame
Returns
The combined Cartesian state

Definition at line 172 of file CartesianAcceleration.cpp.

◆ operator+=() [1/2]

CartesianAcceleration & state_representation::CartesianAcceleration::operator+= ( const CartesianAcceleration acceleration)

Add inplace another Cartesian acceleration.

Parameters
accelerationA Cartesian acceleration in the same reference frame
Returns
The reference to the combined Cartesian acceleration

Definition at line 158 of file CartesianAcceleration.cpp.

◆ operator+=() [2/2]

CartesianAcceleration & state_representation::CartesianAcceleration::operator+= ( const CartesianState state)

Add inplace another acceleration from a Cartesian state.

Parameters
stateA Cartesian state in the same reference frame
Returns
The reference to the combined Cartesian acceleration

Definition at line 163 of file CartesianAcceleration.cpp.

◆ operator-() [1/3]

CartesianAcceleration state_representation::CartesianAcceleration::operator- ( ) const

Negate a Cartesian acceleration.

Returns
The negative value of the Cartesian acceleration

Definition at line 176 of file CartesianAcceleration.cpp.

◆ operator-() [2/3]

CartesianAcceleration state_representation::CartesianAcceleration::operator- ( const CartesianAcceleration acceleration) const

Compute the difference with another Cartesian acceleration.

Parameters
accelerationA Cartesian acceleration in the same reference frame
Returns
The difference in acceleration

Definition at line 190 of file CartesianAcceleration.cpp.

◆ operator-() [3/3]

CartesianState state_representation::CartesianAcceleration::operator- ( const CartesianState state) const

Compute the difference with a Cartesian state.

Parameters
stateA Cartesian state in the same reference frame
Returns
The difference in all the state variables

Definition at line 194 of file CartesianAcceleration.cpp.

◆ operator-=() [1/2]

CartesianAcceleration & state_representation::CartesianAcceleration::operator-= ( const CartesianAcceleration acceleration)

Compute inplace the difference with another Cartesian acceleration.

Parameters
accelerationA Cartesian acceleration in the same reference frame
Returns
The reference to the difference in acceleration

Definition at line 180 of file CartesianAcceleration.cpp.

◆ operator-=() [2/2]

CartesianAcceleration & state_representation::CartesianAcceleration::operator-= ( const CartesianState state)

Compute inplace the difference with another Cartesian state.

Parameters
stateA Cartesian state in the same reference frame
Returns
The reference to the difference in acceleration

Definition at line 185 of file CartesianAcceleration.cpp.

◆ operator/()

CartesianAcceleration state_representation::CartesianAcceleration::operator/ ( double  lambda) const

Scale a Cartesian acceleration by a scalar.

: All state variables in all their dimensions are scaled by the same factor.

Parameters
lambdaThe scaling factor
Returns
The reference to the scaled Cartesian state
Parameters
lambdaThe scaling factor
Returns
The scaled Cartesian acceleration

Definition at line 154 of file CartesianAcceleration.cpp.

◆ operator/=()

CartesianAcceleration & state_representation::CartesianAcceleration::operator/= ( double  lambda)

Scale inplace by a scalar.

: All state variables in all their dimensions are scaled by the same factor.

Parameters
lambdaThe scaling factor
Returns
The reference to the scaled Cartesian state
Parameters
lambdaThe scaling factor
Returns
The reference to the scaled Cartesian acceleration

Definition at line 149 of file CartesianAcceleration.cpp.

◆ operator=()

CartesianAcceleration & state_representation::CartesianAcceleration::operator= ( const CartesianAcceleration acceleration)
default

Copy assignment operator that has to be defined to the custom assignment operator.

Parameters
accelerationThe acceleration with value to assign
Returns
Reference to the current acceleration with new values

◆ Random()

CartesianAcceleration state_representation::CartesianAcceleration::Random ( const std::string &  name,
const std::string &  reference = "world" 
)
static

Constructor for a random acceleration.

Parameters
nameThe name of the state
referenceThe name of the reference frame (default is "world")
Returns
The random Cartesian acceleration

Definition at line 58 of file CartesianAcceleration.cpp.

◆ set_data() [1/2]

void state_representation::CartesianAcceleration::set_data ( const Eigen::VectorXd &  data)
overridevirtual

Set the acceleration data from an Eigen vector.

Reimplemented from state_representation::CartesianState.

Definition at line 68 of file CartesianAcceleration.cpp.

◆ set_data() [2/2]

void state_representation::CartesianAcceleration::set_data ( const std::vector< double > &  data)
overridevirtual

Set the acceleration data from a std vector.

Reimplemented from state_representation::CartesianState.

Definition at line 76 of file CartesianAcceleration.cpp.

◆ Zero()

CartesianAcceleration state_representation::CartesianAcceleration::Zero ( const std::string &  name,
const std::string &  reference = "world" 
)
static

Constructor for the zero acceleration.

Parameters
nameThe name of the state
referenceThe name of the reference frame (default is "world")
Returns
The zero Cartesian acceleration

Definition at line 54 of file CartesianAcceleration.cpp.

Friends And Related Symbol Documentation

◆ operator* [1/3]

CartesianAcceleration operator* ( const Eigen::Matrix< double, 6, 6 > &  lambda,
const CartesianAcceleration acceleration 
)
friend

Scale a Cartesian acceleration in all dimensions by a matrix.

Parameters
lambdaThe scaling factors in all the dimensions
accelerationThe Cartesian acceleration to be scaled
Returns
The scaled Cartesian acceleration

Definition at line 127 of file CartesianAcceleration.cpp.

◆ operator* [2/3]

CartesianTwist operator* ( const std::chrono::nanoseconds &  dt,
const CartesianAcceleration acceleration 
)
friend

Integrate a Cartesian acceleration over a time period.

Parameters
dtThe time period used for integration
accelerationThe Cartesian acceleration to be integrated
Returns
The resulting Cartesian twist after integration

Definition at line 145 of file CartesianAcceleration.cpp.

◆ operator* [3/3]

CartesianAcceleration operator* ( double  lambda,
const CartesianAcceleration acceleration 
)
friend

Scale a Cartesian acceleration by a scalar.

: All state variables in all their dimensions are scaled by the same factor.

Parameters
lambdaThe scaling factor
Returns
The reference to the scaled Cartesian state
Parameters
lambdaThe scaling factor
accelerationThe Cartesian acceleration to be scaled
Returns
The scaled Cartesian acceleration

Definition at line 123 of file CartesianAcceleration.cpp.

◆ operator<<

std::ostream & operator<< ( std::ostream &  os,
const CartesianAcceleration acceleration 
)
friend

Overload the ostream operator for printing.

Parameters
osThe ostream to append the string representing the Cartesian acceleration to
accelerationThe Cartesian acceleration to print
Returns
The appended ostream

Definition at line 198 of file CartesianAcceleration.cpp.


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