|
|
Namespaces | |
| namespace | arondto |
| namespace | atan2 |
| namespace | constants |
| namespace | gaze_ik |
| This file is part of ArmarX. | |
Classes | |
| struct | GazeControllerStatus |
| Periodic report of the low-level gaze controller's residual. More... | |
| interface | GazeControllerStatusListener |
| struct | GazeResidual |
| How far the gaze currently is from a target. More... | |
| class | StatusReporter |
| Collects the gaze residual on the control side and reports it on a topic. More... | |
Typedefs | |
| using | Target = ::armarx::view_selection::gaze_targets::GazeTarget |
Functions | |
| GazeResidual | computeGazeResidual (const Eigen::Vector3f ¤tGazeDirection, const Eigen::Vector3f &targetDirection, float targetDistance) |
| The gaze residual, in a form that means the same thing for every controller variant. | |
| GazeResidual computeGazeResidual | ( | const Eigen::Vector3f & | currentGazeDirection, |
| const Eigen::Vector3f & | targetDirection, | ||
| float | targetDistance ) |
The gaze residual, in a form that means the same thing for every controller variant.
Taking two directions rather than a robot node keeps the optical axis convention out of here: each variant supplies its gaze ray using the convention it already works in – atan2 rebuilds it from its own yaw/pitch parametrization, gaze_ik takes the axis of the virtual prismatic joint that is its gaze ray. Thresholds set on the result are therefore portable between them.
Degenerate input (a target at the gaze origin, or a zero-length direction) yields a zero residual rather than NaN.
| currentGazeDirection | Where the robot is looking. Need not be normalized. |
| targetDirection | Where the target is. Need not be normalized. |
| targetDistance | Distance to the target [mm]. |
Definition at line 10 of file gaze_residual.cpp.
Here is the call graph for this function:
Here is the caller graph for this function: