Control Libraries 7.4.0
|
Class to represent a Pose in Dual Quaternion space. More...
#include <DualQuaternionPose.hpp>
Public Member Functions | |
DualQuaternionPose (const std::string &name, const std::string &reference="world") | |
Constructor with name and reference frame provided. | |
DualQuaternionPose (const DualQuaternionPose &state) | |
Copy constructor of a DualQuaternionPose. | |
DualQuaternionPose (const DualQuaternionState &state) | |
Copy constructor of a DualQuaternionPose from a DualQuaternionState. | |
DualQuaternionPose (const std::string &name, const Eigen::Vector3d &position, const Eigen::Quaterniond &rotation, const std::string &reference="world") | |
Construct a DualQuaternionPose from a position given as a vector of coordinates and a quaternion. | |
const Eigen::Vector3d | get_position () const |
Getter of the position attribute. | |
const Eigen::Quaterniond & | get_orientation () const |
Getter of the orientation from the primary. | |
void | set_orientation (const Eigen::Quaterniond &orientation) |
Setter of the orientation. | |
void | set_position (const Eigen::Vector3d &position) |
Setter of the psotion from a vector. | |
void | set_position (const Eigen::Quaterniond &dual) |
Setter of the position from a dual. | |
const DualQuaternionPose | conjugate () const |
compute the conjugate of the current DualQuaternionPose | |
const DualQuaternionPose | inverse () const |
compute the inverse of the current DualQuaternionPose | |
DualQuaternionPose & | operator*= (const DualQuaternionPose &q) |
Overload the *= operator. | |
const DualQuaternionPose | operator* (const DualQuaternionPose &p) const |
Overload the * operator. | |
DualQuaternionPose & | operator*= (const DualQuaternionState &s) |
Overload the *= operator. | |
const DualQuaternionPose | operator* (const DualQuaternionState &s) const |
Overload the * operator. | |
void | operator= (const DualQuaternionState &s) |
Overload the = operator with a DualQuaternionState. | |
void | initialize () |
Initialize the DualQuaternionPose to a zero value. | |
const DualQuaternionPose | copy () const |
Return a copy of the DualQuaternionPose. | |
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 | |
const DualQuaternionState | log (const DualQuaternionPose &state) |
Calculate the log of a dual quaternion. | |
std::ostream & | operator<< (std::ostream &os, const DualQuaternionPose &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 Pose in Dual Quaternion space.
Definition at line 10 of file DualQuaternionPose.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 DualQuaternionPose.cpp.
state_representation::DualQuaternionPose::DualQuaternionPose | ( | const DualQuaternionPose & | state | ) |
Copy constructor of a DualQuaternionPose.
Definition at line 9 of file DualQuaternionPose.cpp.
state_representation::DualQuaternionPose::DualQuaternionPose | ( | const DualQuaternionState & | state | ) |
Copy constructor of a DualQuaternionPose from a DualQuaternionState.
Definition at line 12 of file DualQuaternionPose.cpp.
|
explicit |
Construct a DualQuaternionPose from a position given as a vector of coordinates and a quaternion.
Definition at line 17 of file DualQuaternionPose.cpp.
const DualQuaternionPose state_representation::DualQuaternionPose::conjugate | ( | ) | const |
compute the conjugate of the current DualQuaternionPose
Definition at line 27 of file DualQuaternionPose.cpp.
const DualQuaternionPose state_representation::DualQuaternionPose::copy | ( | ) | const |
Return a copy of the DualQuaternionPose.
Definition at line 89 of file DualQuaternionPose.cpp.
|
inline |
Getter of the orientation from the primary.
Definition at line 142 of file DualQuaternionPose.hpp.
|
inline |
Getter of the position attribute.
Definition at line 138 of file DualQuaternionPose.hpp.
|
virtual |
Initialize the DualQuaternionPose to a zero value.
Reimplemented from state_representation::DualQuaternionState.
Definition at line 84 of file DualQuaternionPose.cpp.
const DualQuaternionPose state_representation::DualQuaternionPose::inverse | ( | ) | const |
compute the inverse of the current DualQuaternionPose
Definition at line 31 of file DualQuaternionPose.cpp.
const DualQuaternionPose state_representation::DualQuaternionPose::operator* | ( | const DualQuaternionPose & | p | ) | const |
Overload the * operator.
p | DualQuaternionState to multiply with |
Definition at line 52 of file DualQuaternionPose.cpp.
const DualQuaternionPose state_representation::DualQuaternionPose::operator* | ( | const DualQuaternionState & | s | ) | const |
Overload the * operator.
p | DualQuaternionState to multiply with |
Definition at line 70 of file DualQuaternionPose.cpp.
DualQuaternionPose & state_representation::DualQuaternionPose::operator*= | ( | const DualQuaternionPose & | q | ) |
Overload the *= operator.
q | DualQuaternion to multiply with |
Definition at line 41 of file DualQuaternionPose.cpp.
DualQuaternionPose & state_representation::DualQuaternionPose::operator*= | ( | const DualQuaternionState & | s | ) |
Overload the *= operator.
q | DualQuaternion to multiply with |
Definition at line 58 of file DualQuaternionPose.cpp.
void state_representation::DualQuaternionPose::operator= | ( | const DualQuaternionState & | s | ) |
Overload the = operator with a DualQuaternionState.
s | DualQuaternion to copy values from |
Definition at line 76 of file DualQuaternionPose.cpp.
|
inline |
Setter of the orientation.
Definition at line 146 of file DualQuaternionPose.hpp.
|
inline |
Setter of the position from a dual.
Definition at line 170 of file DualQuaternionPose.hpp.
|
inline |
Setter of the psotion from a vector.
Definition at line 162 of file DualQuaternionPose.hpp.
|
friend |
Calculate the log of a dual quaternion.
state | the dual quaternion to calcualte the log on |
Definition at line 94 of file DualQuaternionPose.cpp.
|
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 104 of file DualQuaternionPose.cpp.