Control Libraries 6.3.4
|
Class to define torques of the joints. More...
#include <JointTorques.hpp>
Public Member Functions | |
const Eigen::VectorXd & | get_positions () const =delete |
double | get_position (unsigned int joint_index) const =delete |
double | get_position (const std::string &joint_name) const =delete |
void | set_positions (const Eigen::VectorXd &positions)=delete |
void | set_positions (const std::vector< double > &positions)=delete |
void | set_position (double position, unsigned int joint_index) const =delete |
void | set_position (double position, const std::string &joint_name) const =delete |
const Eigen::VectorXd & | get_velocities () const =delete |
double | get_velocity (unsigned int joint_index) const =delete |
double | get_velocity (const std::string &joint_name) const =delete |
void | set_velocities (const Eigen::VectorXd &velocities)=delete |
void | set_velocities (const std::vector< double > &velocities)=delete |
void | set_velocity (double velocity, unsigned int joint_index) const =delete |
void | set_velocity (double velocity, const std::string &joint_name) const =delete |
const Eigen::VectorXd & | get_accelerations () const =delete |
double | get_acceleration (unsigned int joint_index) const =delete |
double | get_acceleration (const std::string &joint_name) const =delete |
void | set_accelerations (const Eigen::VectorXd &accelerations)=delete |
void | set_accelerations (const std::vector< double > &accelerations)=delete |
void | set_acceleration (double acceleration, unsigned int joint_index) const =delete |
void | set_acceleration (double acceleration, const std::string &joint_name) const =delete |
JointTorques () | |
Empty constructor. More... | |
JointTorques (const std::string &robot_name, unsigned int nb_joints=0) | |
Constructor with name and number of joints provided. More... | |
JointTorques (const std::string &robot_name, const std::vector< std::string > &joint_names) | |
Constructor with name and list of joint names provided. More... | |
JointTorques (const std::string &robot_name, const Eigen::VectorXd &torques) | |
Constructor with name and torque values provided. More... | |
JointTorques (const std::string &robot_name, const std::vector< std::string > &joint_names, const Eigen::VectorXd &torques) | |
Constructor with name, a list of joint names and torque values provided. More... | |
JointTorques (const JointTorques &torques) | |
Copy constructor. More... | |
JointTorques (const JointState &state) | |
Copy constructor from a JointState. More... | |
JointTorques & | operator= (const JointTorques &torques)=default |
Copy assignment operator that have to be defined to the custom assignment operator. More... | |
JointTorques & | operator+= (const JointTorques &torques) |
Overload the += operator. More... | |
JointTorques | operator+ (const JointTorques &torques) const |
Overload the + operator. More... | |
JointTorques & | operator-= (const JointTorques &torques) |
Overload the -= operator. More... | |
JointTorques | operator- (const JointTorques &torques) const |
Overload the - operator. More... | |
JointTorques & | operator*= (double lambda) |
Overload the *= operator with a double gain. More... | |
JointTorques | operator* (double lambda) const |
Overload the * operator with a double gain. More... | |
JointTorques & | operator*= (const Eigen::ArrayXd &lambda) |
Overload the *= operator with an array of gains. More... | |
JointTorques | operator* (const Eigen::ArrayXd &lambda) const |
Overload the *= operator with an array of gains. More... | |
JointTorques & | operator*= (const Eigen::MatrixXd &lambda) |
Overload the *= operator with a matrix of gains. More... | |
JointTorques | operator* (const Eigen::MatrixXd &lambda) const |
Overload the * operator with a matrix of gains. More... | |
JointTorques & | operator/= (double lambda) |
Overload the /= operator with a scalar. More... | |
JointTorques | operator/ (double lambda) const |
Overload the / operator with a scalar. More... | |
JointTorques | copy () const |
Return a copy of the JointTorques. More... | |
Eigen::VectorXd | data () const override |
Returns the torques data as an Eigen vector. More... | |
virtual void | set_data (const Eigen::VectorXd &data) override |
Set the torques data from an Eigen vector. More... | |
virtual void | set_data (const std::vector< double > &data) override |
Set the torques data from a std vector. More... | |
void | clamp (double max_absolute_value, double noise_ratio=0.) |
Clamp inplace the magnitude of the torque to the values in argument. More... | |
JointTorques | clamped (double max_absolute_value, double noise_ratio=0.) const |
Return the torque clamped to the values in argument. More... | |
void | clamp (const Eigen::ArrayXd &max_absolute_value_array, const Eigen::ArrayXd &noise_ratio_array) |
Clamp inplace the magnitude of the torque to the values in argument. More... | |
JointTorques | clamped (const Eigen::ArrayXd &max_absolute_value_array, const Eigen::ArrayXd &noise_ratio_array) const |
Return the torque clamped to the values in argument. More... | |
Public Member Functions inherited from state_representation::JointState | |
JointState () | |
Empty constructor for a JointState. More... | |
JointState (const std::string &robot_name, unsigned int nb_joints=0) | |
Constructor with name and number of joints provided. More... | |
JointState (const std::string &robot_name, const std::vector< std::string > &joint_names) | |
Constructor with name and list of joint names provided. More... | |
JointState (const JointState &state)=default | |
Copy constructor of a JointState. More... | |
JointState & | operator= (const JointState &state) |
Copy assignment operator that have to be defined to the custom assignment operator. More... | |
unsigned int | get_size () const |
Getter of the size from the attributes. More... | |
const std::vector< std::string > & | get_names () const |
Getter of the names attribute. More... | |
void | set_names (unsigned int nb_joints) |
Setter of the names attribute from the number of joints. More... | |
void | set_names (const std::vector< std::string > &names) |
Setter of the names attribute. More... | |
unsigned int | get_joint_index (const std::string &joint_name) const |
Get joint index by the name of the joint, if it exists. More... | |
const Eigen::VectorXd & | get_positions () const |
Getter of the positions attribute. More... | |
double | get_position (const std::string &joint_name) const |
Get the position of a joint by its name, if it exists. More... | |
double | get_position (unsigned int joint_index) const |
Get the position of a joint by its index, if it exists. More... | |
void | set_positions (const Eigen::VectorXd &positions) |
Setter of the positions attribute. More... | |
void | set_positions (const std::vector< double > &positions) |
Setter of the positions from std vector. More... | |
void | set_position (double position, const std::string &joint_name) |
Set the position of a joint by its name. More... | |
void | set_position (double position, unsigned int joint_index) |
Set the position of a joint by its index. More... | |
const Eigen::VectorXd & | get_velocities () const |
Getter of the velocities attribute. More... | |
double | get_velocity (const std::string &joint_name) const |
Get the velocity of a joint by its name, if it exists. More... | |
double | get_velocity (unsigned int joint_index) const |
Get the velocity of a joint by its index, if it exists. More... | |
void | set_velocities (const Eigen::VectorXd &velocities) |
Setter of the velocities attribute. More... | |
void | set_velocities (const std::vector< double > &velocities) |
Setter of the velocities from std vector. More... | |
void | set_velocity (double velocity, const std::string &joint_name) |
Set the velocity of a joint by its name. More... | |
void | set_velocity (double velocity, unsigned int joint_index) |
Set the velocity of a joint by its index. More... | |
const Eigen::VectorXd & | get_accelerations () const |
Getter of the accelerations attribute. More... | |
double | get_acceleration (const std::string &joint_name) const |
Get the acceleration of a joint by its name, if it exists. More... | |
double | get_acceleration (unsigned int joint_index) const |
Get the acceleration of a joint by its index, if it exists. More... | |
void | set_accelerations (const Eigen::VectorXd &accelerations) |
Setter of the accelerations attribute. More... | |
void | set_accelerations (const std::vector< double > &accelerations) |
Setter of the accelerations from std vector. More... | |
void | set_acceleration (double acceleration, const std::string &joint_name) |
Set the acceleration of a joint by its name. More... | |
void | set_acceleration (double acceleration, unsigned int joint_index) |
Set the acceleration of a joint by its index. More... | |
const Eigen::VectorXd & | get_torques () const |
Getter of the torques attribute. More... | |
double | get_torque (const std::string &joint_name) const |
Get the torque of a joint by its name, if it exists. More... | |
double | get_torque (unsigned int joint_index) const |
Get the torque of a joint by its index, if it exists. More... | |
void | set_torques (const Eigen::VectorXd &torques) |
Setter of the torques attribute. More... | |
void | set_torques (const std::vector< double > &torques) |
Setter of the torques attributes. More... | |
void | set_torque (double torque, const std::string &joint_name) |
Set the torque of a joint by its name. More... | |
void | set_torque (double torque, unsigned int joint_index) |
Set the torque of a joint by its index. More... | |
bool | is_compatible (const State &state) const |
Check if the state is compatible for operations with the state given as argument. More... | |
void | initialize () |
Initialize the State to a zero value. More... | |
void | set_zero () |
Set the JointState to a zero value. More... | |
void | clamp_state_variable (double max_absolute_value, const JointStateVariable &state_variable_type, double noise_ratio=0) |
Clamp inplace the magnitude of the a specific joint state variable. More... | |
void | clamp_state_variable (const Eigen::ArrayXd &max_absolute_value_array, const JointStateVariable &state_variable_type, const Eigen::ArrayXd &noise_ratio_array) |
Clamp inplace the magnitude of the a specific joint state variable for each individual joint. More... | |
JointState | copy () const |
Return a copy of the JointState. More... | |
virtual Eigen::VectorXd | data () const |
Returns the data as the concatenation of all the state variables in a single vector. More... | |
virtual void | set_data (const Eigen::VectorXd &data) override |
Set the data of the state from all the state variables in a single Eigen vector. More... | |
virtual void | set_data (const std::vector< double > &data) override |
Set the data of the state from all the state variables in a single std vector. More... | |
Eigen::ArrayXd | array () const |
Returns the data vector as an Eigen Array. More... | |
JointState & | operator+= (const JointState &state) |
Overload the += operator. More... | |
JointState | operator+ (const JointState &state) const |
Overload the + operator. More... | |
JointState & | operator-= (const JointState &state) |
Overload the -= operator. More... | |
JointState | operator- (const JointState &state) const |
Overload the - operator. More... | |
JointState & | operator*= (double lambda) |
Overload the *= operator with a double gain. More... | |
JointState | operator* (double lambda) const |
Overload the * operator with a double gain. More... | |
JointState & | operator*= (const Eigen::ArrayXd &lambda) |
Overload the *= operator with an array of gains. More... | |
JointState | operator* (const Eigen::ArrayXd &lambda) const |
Overload the * operator with an array of gains. More... | |
JointState & | operator*= (const Eigen::MatrixXd &lambda) |
Overload the *= operator with a matrix of gains. More... | |
JointState | operator* (const Eigen::MatrixXd &lambda) const |
Overload the * operator with a matrix of gains. More... | |
JointState & | operator/= (double lambda) |
Overload the /= operator with a scalar. More... | |
JointState | operator/ (double lambda) const |
Overload the / operator with a scalar. More... | |
double | dist (const JointState &state, const JointStateVariable &state_variable_type=JointStateVariable::ALL) const |
Compute the distance to another state as the sum of distances between each attribute. More... | |
std::vector< double > | to_std_vector () const |
Return the joint state as a std vector of floats. More... | |
Public Member Functions inherited from state_representation::State | |
State () | |
Empty constructor. More... | |
State (const StateType &type) | |
Constructor only specifying the type of the state from the StateType enumeration. More... | |
State (const StateType &type, const std::string &name, const bool &empty=true) | |
Constructor with name specification. More... | |
State (const State &state) | |
Copy constructor from another State. More... | |
virtual | ~State ()=default |
Virtual destructor. | |
State & | operator= (const State &state) |
Copy assignment operator that have to be defined to the custom assignment operator. More... | |
const StateType & | get_type () const |
Getter of the type attribute. More... | |
bool | is_empty () const |
Getter of the empty attribute. More... | |
void | set_empty (bool empty=true) |
Setter of the empty attribute. More... | |
void | set_filled () |
Setter of the empty attribute to false and also reset the timestamp. More... | |
const std::chrono::time_point< std::chrono::steady_clock > & | get_timestamp () const |
Getter of the timestamp attribute. More... | |
void | set_timestamp (const std::chrono::time_point< std::chrono::steady_clock > &timepoint) |
Setter of the timestamp attribute. More... | |
void | reset_timestamp () |
Reset the timestamp attribute to now. More... | |
const std::string & | get_name () const |
Getter of the name as const reference. More... | |
virtual void | set_name (const std::string &name) |
Setter of the name. More... | |
template<typename DurationT > | |
bool | is_deprecated (const std::chrono::duration< int64_t, DurationT > &time_delay) |
Check if the state is deprecated given a certain time delay. More... | |
virtual bool | is_compatible (const State &state) const |
Check if the state is compatible for operations with the state given as argument. More... | |
virtual void | initialize () |
Initialize the State to a zero value. More... | |
virtual void | set_data (const Eigen::VectorXd &data) |
Set the data of the state from a single Eigen vector. More... | |
virtual void | set_data (const std::vector< double > &data) |
Set the data of the state from a single std vector. More... | |
virtual void | set_data (const Eigen::MatrixXd &data) |
Set the data of the state from an Eigen matrix. More... | |
operator bool () const noexcept | |
Boolean operator for the truthiness of a state. More... | |
Static Public Member Functions | |
static JointTorques | Zero (const std::string &robot_name, unsigned int nb_joints) |
Constructor for the zero JointTorques. More... | |
static JointTorques | Zero (const std::string &robot_name, const std::vector< std::string > &joint_names) |
Constructor for the zero JointTorques. More... | |
static JointTorques | Random (const std::string &robot_name, unsigned int nb_joints) |
Constructor for the random JointTorques. More... | |
static JointTorques | Random (const std::string &robot_name, const std::vector< std::string > &joint_names) |
Constructor for the random JointTorques. More... | |
Static Public Member Functions inherited from state_representation::JointState | |
static JointState | Zero (const std::string &robot_name, unsigned int nb_joints) |
Constructor for a zero JointState. More... | |
static JointState | Zero (const std::string &robot_name, const std::vector< std::string > &joint_names) |
Constructor for a zero JointState. More... | |
static JointState | Random (const std::string &robot_name, unsigned int nb_joints) |
Constructor for a random JointState. More... | |
static JointState | Random (const std::string &robot_name, const std::vector< std::string > &joint_names) |
Constructor for a random JointState. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &os, const JointTorques &torques) |
Overload the ostream operator for printing. More... | |
JointTorques | operator* (double lambda, const JointTorques &torques) |
Overload the * operator with a scalar. More... | |
JointTorques | operator* (const Eigen::ArrayXd &lambda, const JointTorques &torques) |
Overload the * operator with an array of gains. More... | |
JointTorques | operator* (const Eigen::MatrixXd &lambda, const JointTorques &torques) |
Overload the * operator with a matrix of gains. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from state_representation::JointState | |
void | multiply_state_variable (const Eigen::ArrayXd &lambda, const JointStateVariable &state_variable_type) |
Proxy function that multiply the specified state variable by an array of gain. More... | |
void | multiply_state_variable (const Eigen::MatrixXd &lambda, const JointStateVariable &state_variable_type) |
Proxy function that multiply the specified state variable by an array of gain. More... | |
Eigen::VectorXd | get_state_variable (const JointStateVariable &state_variable_type) const |
Getter of the variable value corresponding to the input. More... | |
void | set_state_variable (const Eigen::VectorXd &new_value, const JointStateVariable &state_variable_type) |
Setter of the variable value corresponding to the input. More... | |
Protected Member Functions inherited from state_representation::State | |
void | set_type (const StateType &type) |
Override the state type. More... | |
Class to define torques of the joints.
Definition at line 10 of file JointTorques.hpp.
|
explicit |
Empty constructor.
Definition at line 6 of file JointTorques.cpp.
|
explicit |
Constructor with name and number of joints provided.
name the name of the state
nb_joints the number of joints for initialization
Definition at line 10 of file JointTorques.cpp.
|
explicit |
Constructor with name and list of joint names provided.
name the name of the state
joint_names list of joint names
Definition at line 20 of file JointTorques.cpp.
|
explicit |
Constructor with name and torque values provided.
name the name of the state
torques the vector of torques
Definition at line 14 of file JointTorques.cpp.
|
explicit |
Constructor with name, a list of joint names and torque values provided.
name the name of the state
joint_names list of joint names
torques the vector of torques
Definition at line 25 of file JointTorques.cpp.
state_representation::JointTorques::JointTorques | ( | const JointTorques & | torques | ) |
Copy constructor.
Definition at line 39 of file JointTorques.cpp.
state_representation::JointTorques::JointTorques | ( | const JointState & | state | ) |
Copy constructor from a JointState.
Definition at line 31 of file JointTorques.cpp.
void state_representation::JointTorques::clamp | ( | const Eigen::ArrayXd & | max_absolute_value_array, |
const Eigen::ArrayXd & | noise_ratio_array | ||
) |
Clamp inplace the magnitude of the torque to the values in argument.
max_absolute_value_array | the maximum magnitude of torque for each joint |
noise_ratio_array | if provided, this value will be used to apply a dead zone under which the torque will be set to 0 |
Definition at line 142 of file JointTorques.cpp.
void state_representation::JointTorques::clamp | ( | double | max_absolute_value, |
double | noise_ratio = 0. |
||
) |
Clamp inplace the magnitude of the torque to the values in argument.
max_absolute_value | the maximum magnitude of torque for all the joints |
noise_ratio | if provided, this value will be used to apply a dead zone under which the torque will be set to 0 |
Definition at line 132 of file JointTorques.cpp.
JointTorques state_representation::JointTorques::clamped | ( | const Eigen::ArrayXd & | max_absolute_value_array, |
const Eigen::ArrayXd & | noise_ratio_array | ||
) | const |
Return the torque clamped to the values in argument.
max_absolute_value_array | the maximum magnitude of torque for each joint |
noise_ratio_array | if provided, this value will be used to apply a dead zone under which the torque will be set to 0 |
Definition at line 146 of file JointTorques.cpp.
JointTorques state_representation::JointTorques::clamped | ( | double | max_absolute_value, |
double | noise_ratio = 0. |
||
) | const |
Return the torque clamped to the values in argument.
max_absolute_value | the maximum magnitude of torque for all the joints |
noise_ratio | if provided, this value will be used to apply a dead zone under which the torque will be set to 0 |
Definition at line 136 of file JointTorques.cpp.
JointTorques state_representation::JointTorques::copy | ( | ) | const |
|
overridevirtual |
Returns the torques data as an Eigen vector.
Reimplemented from state_representation::JointState.
Definition at line 120 of file JointTorques.cpp.
JointTorques state_representation::JointTorques::operator* | ( | const Eigen::ArrayXd & | lambda | ) | const |
Overload the *= operator with an array of gains.
lambda | the gain array to multiply with |
Definition at line 89 of file JointTorques.cpp.
JointTorques state_representation::JointTorques::operator* | ( | const Eigen::MatrixXd & | lambda | ) | const |
Overload the * operator with a matrix of gains.
lambda | the matrix to multiply with |
Definition at line 100 of file JointTorques.cpp.
JointTorques state_representation::JointTorques::operator* | ( | double | lambda | ) | const |
Overload the * operator with a double gain.
lambda | the gain to multiply with |
Definition at line 80 of file JointTorques.cpp.
JointTorques & state_representation::JointTorques::operator*= | ( | const Eigen::ArrayXd & | lambda | ) |
Overload the *= operator with an array of gains.
lambda | the gain array to multiply with |
Definition at line 84 of file JointTorques.cpp.
JointTorques & state_representation::JointTorques::operator*= | ( | const Eigen::MatrixXd & | lambda | ) |
Overload the *= operator with a matrix of gains.
lambda | the matrix to multiply with |
Definition at line 95 of file JointTorques.cpp.
JointTorques & state_representation::JointTorques::operator*= | ( | double | lambda | ) |
Overload the *= operator with a double gain.
lambda | the gain to multiply with |
Definition at line 75 of file JointTorques.cpp.
JointTorques state_representation::JointTorques::operator+ | ( | const JointTorques & | torques | ) | const |
Overload the + operator.
torques | JointTorques to add |
Definition at line 62 of file JointTorques.cpp.
JointTorques & state_representation::JointTorques::operator+= | ( | const JointTorques & | torques | ) |
Overload the += operator.
torques | JointTorques to add |
Definition at line 57 of file JointTorques.cpp.
JointTorques state_representation::JointTorques::operator- | ( | const JointTorques & | torques | ) | const |
Overload the - operator.
torques | JointTorques to subtract |
Definition at line 71 of file JointTorques.cpp.
JointTorques & state_representation::JointTorques::operator-= | ( | const JointTorques & | torques | ) |
Overload the -= operator.
torques | JointTorques to subtract |
Definition at line 66 of file JointTorques.cpp.
JointTorques state_representation::JointTorques::operator/ | ( | double | lambda | ) | const |
Overload the / operator with a scalar.
lambda | the scalar to divide with |
Definition at line 111 of file JointTorques.cpp.
JointTorques & state_representation::JointTorques::operator/= | ( | double | lambda | ) |
Overload the /= operator with a scalar.
lambda | the scalar to divide with |
Definition at line 106 of file JointTorques.cpp.
|
default |
Copy assignment operator that have to be defined to the custom assignment operator.
torques | the state with value to assign |
|
static |
Constructor for the random JointTorques.
robot_name | the name of the associated robot |
joint_names | list of joint names |
Definition at line 53 of file JointTorques.cpp.
|
static |
Constructor for the random JointTorques.
robot_name | the name of the associated robot |
nb_joints | the number of joints for initialization |
Definition at line 49 of file JointTorques.cpp.
|
overridevirtual |
Set the torques data from an Eigen vector.
the | torques data vector |
Reimplemented from state_representation::JointState.
Definition at line 124 of file JointTorques.cpp.
|
overridevirtual |
Set the torques data from a std vector.
the | torques data vector |
Reimplemented from state_representation::JointState.
Definition at line 128 of file JointTorques.cpp.
|
static |
Constructor for the zero JointTorques.
robot_name | the name of the associated robot |
joint_names | list of joint names |
Definition at line 45 of file JointTorques.cpp.
|
static |
Constructor for the zero JointTorques.
robot_name | the name of the associated robot |
nb_joints | the number of joints for initialization |
Definition at line 41 of file JointTorques.cpp.
|
friend |
Overload the * operator with an array of gains.
lambda | the array to multiply with |
Definition at line 174 of file JointTorques.cpp.
|
friend |
Overload the * operator with a matrix of gains.
lambda | the matrix to multiply with |
Definition at line 180 of file JointTorques.cpp.
|
friend |
Overload the * operator with a scalar.
lambda | the scalar to multiply with |
Definition at line 168 of file JointTorques.cpp.
|
friend |
Overload the ostream operator for printing.
os | the ostream to append the string representing the state |
state | the state to print |
Definition at line 153 of file JointTorques.cpp.