Revision f7954788 src/server/eye_motion_generator.cpp
| src/server/eye_motion_generator.cpp | ||
|---|---|---|
| 82 | 82 |
//! calculate joint targets |
| 83 | 83 |
void EyeMotionGenerator::calculate_targets() {
|
| 84 | 84 |
// use the target values for a faster response |
| 85 |
float neck_pan_now = joint_interface_->get_target_position(JointInterface::ID_NECK_PAN); |
|
| 86 |
float neck_tilt_now = joint_interface_->get_target_position(JointInterface::ID_NECK_TILT); |
|
| 85 |
float neck_pan_now = 0.0; |
|
| 86 |
float neck_tilt_now = 0.0; |
|
| 87 |
|
|
| 88 |
if (use_neck_target_instead_of_position_eye) {
|
|
| 89 |
// position calc based on target |
|
| 90 |
neck_pan_now = joint_interface_->get_target_position(JointInterface::ID_NECK_PAN); |
|
| 91 |
neck_tilt_now = joint_interface_->get_target_position(JointInterface::ID_NECK_TILT); |
|
| 92 |
} else {
|
|
| 93 |
// position calc based on real position |
|
| 94 |
neck_pan_now = |
|
| 95 |
joint_interface_->get_ts_position(JointInterface::ID_NECK_PAN).get_newest_value(); |
|
| 96 |
neck_tilt_now = |
|
| 97 |
joint_interface_->get_ts_position(JointInterface::ID_NECK_TILT).get_newest_value(); |
|
| 98 |
} |
|
| 87 | 99 |
|
| 88 | 100 |
// calculate target angles for the eyes |
| 89 | 101 |
// right eye is dominant -> direct output |
| ... | ... | |
| 99 | 111 |
// tilt |
| 100 | 112 |
float eye_tilt_target = requested_gaze_state_.tilt - (neck_tilt_now); |
| 101 | 113 |
|
| 102 |
if (0) {
|
|
| 103 |
eye_pan_r_target = 0.0; |
|
| 104 |
eye_pan_l_target = 0.0; |
|
| 105 |
eye_tilt_target = 0.0; |
|
| 106 |
} |
|
| 107 |
|
|
| 108 | 114 |
// check and take care of limits |
| 109 | 115 |
eye_pan_l_target = limit_target(JointInterface::ID_EYES_LEFT_LR, eye_pan_l_target); |
| 110 | 116 |
eye_pan_r_target = limit_target(JointInterface::ID_EYES_RIGHT_LR, eye_pan_r_target); |
Also available in: Unified diff