Control Libraries 7.4.0
|
Class to represent a Twist in Dual Quaternion space. More...
#include <DualQuaternionTwist.hpp>
Public Member Functions | |
DualQuaternionTwist (const std::string &name, const std::string &reference="world") | |
Constructor with name and reference frame provided. | |
DualQuaternionTwist (const DualQuaternionTwist &state) | |
Copy constructor of a DualQuaternionTwist. | |
DualQuaternionTwist (const std::string &name, const Eigen::Vector3d &linear_velocity, const Eigen::Vector3d &angular_velocity, const Eigen::Vector3d &position, const std::string &reference) | |
Construct a DualQuaternionTwist from a position given as a vector of coordinates, a linear and an angular velocities. | |
const Eigen::Vector3d & | get_position () const |
Getter of the position attribute. | |
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. | |
void | set_linear_velocity (const Eigen::Vector3d &linear_velocity) |
Setter of the linear_velocity. | |
void | set_angular_velocity (const Eigen::Vector3d &angular_velocity) |
Setter of the angular_velocity. | |
void | set_position (const Eigen::Vector3d &position) |
Setter of the position. | |
void | operator= (const DualQuaternionState &q) |
Overload the = operator to create a twist from a DualQuaternionState. Note that the linear velocity will be computed from the value of the dual and the current position. | |
void | initialize () |
Initialize the DualQuaternionPose to a zero value. | |
const DualQuaternionTwist | copy () const |
Return a copy of the DualQuaternionTwist. | |
Public Member Functions inherited from state_representation::DualQuaternionState | |
DualQuaternionState () | |
Empty constructor. | |
DualQuaternionState (const std::string &name, const std::string &reference="world") | |
Constructor with name and reference frame provided. | |
DualQuaternionState (const DualQuaternionState &state) | |
Copy constructor. | |
DualQuaternionState (const std::string &name, const Eigen::Quaterniond &primary, const Eigen::Quaterniond &dual, const std::string &reference="world") | |
Construct a DualQuaternion from two quaternions. | |
const Eigen::Quaterniond & | get_primary () const |
Getter of the primary attribute. | |
const Eigen::Quaterniond & | get_dual () const |
Getter of the dual attribute. | |
void | set_primary (const Eigen::Quaterniond &primary) |
Setter of the primary attribute. | |
void | set_dual (const Eigen::Quaterniond &dual) |
Setter of the dual attribute. | |
DualQuaternionState & | operator*= (const DualQuaternionState &q) |
Overload the *= operator. | |
const DualQuaternionState | operator* (const DualQuaternionState &p) const |
Overload the * operator. | |
const DualQuaternionState | conjugate () const |
compute the conjugate of the current DualQuaternion | |
const DualQuaternionState | copy () const |
Return a copy of the DualQuaternionState. | |
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. | |
SpatialState & | operator= (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. | |
State & | operator= (const State &state) |
Copy assignment operator that has to be defined to the custom assignment operator. | |
const StateType & | get_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::VectorXd &data) |
Set the data of the state from an Eigen vector. | |
virtual void | set_data (const std::vector< double > &data) |
Set the data of the state from a std vector. | |
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. | |
virtual void | reset () |
Reset the object to a post-construction state. | |
operator bool () const noexcept | |
Boolean operator for the truthiness of a state. | |
Friends | |
std::ostream & | operator<< (std::ostream &os, const DualQuaternionTwist &state) |
Overload the ostream operator for printing. | |
Additional Inherited Members | |
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. | |
Class to represent a Twist in Dual Quaternion space.
Definition at line 10 of file DualQuaternionTwist.hpp.
|
explicit |
Constructor with name and reference frame provided.
name the name of the state
reference the name of the reference frame
Definition at line 4 of file DualQuaternionTwist.cpp.
state_representation::DualQuaternionTwist::DualQuaternionTwist | ( | const DualQuaternionTwist & | state | ) |
Copy constructor of a DualQuaternionTwist.
Definition at line 9 of file DualQuaternionTwist.cpp.
|
explicit |
Construct a DualQuaternionTwist from a position given as a vector of coordinates, a linear and an angular velocities.
Definition at line 12 of file DualQuaternionTwist.cpp.
const DualQuaternionTwist state_representation::DualQuaternionTwist::copy | ( | ) | const |
Return a copy of the DualQuaternionTwist.
Definition at line 36 of file DualQuaternionTwist.cpp.
|
inline |
Getter of the angular_velocity attribute.
Definition at line 101 of file DualQuaternionTwist.hpp.
|
inline |
Getter of the linear_velocity attribute.
Definition at line 97 of file DualQuaternionTwist.hpp.
|
inline |
Getter of the position attribute.
Definition at line 93 of file DualQuaternionTwist.hpp.
|
virtual |
Initialize the DualQuaternionPose to a zero value.
Reimplemented from state_representation::DualQuaternionState.
Definition at line 30 of file DualQuaternionTwist.cpp.
void state_representation::DualQuaternionTwist::operator= | ( | const DualQuaternionState & | q | ) |
Overload the = operator to create a twist from a DualQuaternionState. Note that the linear velocity will be computed from the value of the dual and the current position.
Definition at line 24 of file DualQuaternionTwist.cpp.
|
inline |
Setter of the angular_velocity.
Definition at line 111 of file DualQuaternionTwist.hpp.
|
inline |
Setter of the linear_velocity.
Definition at line 105 of file DualQuaternionTwist.hpp.
|
inline |
Setter of the position.
Definition at line 117 of file DualQuaternionTwist.hpp.
|
friend |
Overload the ostream operator for printing.
os | the ostream to happend the string representing the state to |
state | the state to print |
Definition at line 41 of file DualQuaternionTwist.cpp.