Data structure representing the customized data type "COORD" in Flexiv Elements.
More...
#include <data.hpp>
|
| Coord (const std::array< double, kCartDoF/2 > &_position, const std::array< double, kCartDoF/2 > &_orientation, const std::array< std::string, 2 > &_ref_frame, const std::array< double, kSerialJointDoF > &_ref_q_m={}, const std::array< double, kMaxExtAxes > &_ref_q_e={}) |
| Construct an instance of Coord. More...
|
|
std::string | str () const |
|
|
std::array< double, kCartDoF/2 > | position = {} |
|
std::array< double, kCartDoF/2 > | orientation = {} |
|
std::array< std::string, 2 > | ref_frame = {} |
|
std::array< double, kSerialJointDoF > | ref_q_m = {} |
|
std::array< double, kMaxExtAxes > | ref_q_e = {} |
|
Data structure representing the customized data type "COORD" in Flexiv Elements.
- Warning
- Here [m] is used as the unit of length, whereas [mm] is used in Flexiv Elements. The conversion is automatically done when exchanging "COORD" data type with the robot via functions like Robot::ExecutePrimitive(), Robot::SetGlobalVariables(), Robot::global_variables(), etc.
Definition at line 377 of file data.hpp.
◆ Coord()
flexiv::rdk::Coord::Coord |
( |
const std::array< double, kCartDoF/2 > & |
_position, |
|
|
const std::array< double, kCartDoF/2 > & |
_orientation, |
|
|
const std::array< std::string, 2 > & |
_ref_frame, |
|
|
const std::array< double, kSerialJointDoF > & |
_ref_q_m = {} , |
|
|
const std::array< double, kMaxExtAxes > & |
_ref_q_e = {} |
|
) |
| |
|
inline |
Construct an instance of Coord.
- Parameters
-
[in] | _position | Sets struct member [position]. |
[in] | _orientation | Sets struct member [orientation]. |
[in] | _ref_frame | Sets struct member [ref_frame]. |
[in] | _ref_q_m | Sets struct member [ref_q_m]. Leave empty to use default values. |
[in] | _ref_q_e | Sets struct member [ref_q_e]. Leave empty if there's no external axis. |
Definition at line 387 of file data.hpp.
◆ str()
std::string flexiv::rdk::Coord::str |
( |
| ) |
const |
String representation of all data in the struct, separated by space
◆ orientation
std::array<double, kCartDoF / 2> flexiv::rdk::Coord::orientation = {} |
Orientation in terms of Euler angles in [ref_frame]. Unit: [degree]
Definition at line 405 of file data.hpp.
◆ position
std::array<double, kCartDoF / 2> flexiv::rdk::Coord::position = {} |
Position in [ref_frame]. Unit: [m]
Definition at line 402 of file data.hpp.
◆ ref_frame
std::array<std::string, 2> flexiv::rdk::Coord::ref_frame = {} |
Name of the reference frame "root::branch" represented as {"root", "branch"}. Refer to Flexiv Elements for available options. Some common ones are:
- World origin: {"WORLD", "WORLD_ORIGIN"}
- Current pose: {"TRAJ", "START"}
- A work coordinate: {"WORK", "WorkCoord0"}
- A global variable: {"GVAR", "MyCoord0"}
Definition at line 414 of file data.hpp.
◆ ref_q_e
std::array<double, kMaxExtAxes> flexiv::rdk::Coord::ref_q_e = {} |
Reference joint positions (linear or angular) of the external axes. Only effective on robots with redundant degrees of freedom and external axes. Unit: [m] or [degree]
- Note
- If the number of external axes \( n_e < kMaxExtAxes \), set the first \( n_e \) elements and leave the rest 0. Leave the whole array empty if there's no external axis.
Definition at line 426 of file data.hpp.
◆ ref_q_m
std::array<double, kSerialJointDoF> flexiv::rdk::Coord::ref_q_m = {} |
Reference joint positions of the robot manipulator. Only effective on robots with redundant degrees of freedom. Unit: [degree]
- Note
- Leave empty to use default values. However, this array cannot be empty if [ref_q_e] has values
Definition at line 420 of file data.hpp.
The documentation for this struct was generated from the following file: