Adapts the tracked end points of the operator to the robot's body proportions. More...
#include <motion_adaption.h>
Adapts the tracked end points of the operator to the robot's body proportions.
Definition at line 52 of file motion_adaption.h.
Definition at line 57 of file motion_adaption.cpp.
Definition at line 172 of file motion_adaption.cpp.
void MotionAdaption::adapt | ( | ) |
This method consists of a hierarchy of all private methods of this class. Each method gets called, if the previous method has finished successfully.
Definition at line 182 of file motion_adaption.cpp.
bool MotionAdaption::adaptElbows | ( | ) | [private] |
The elbows are placed inside the arm planes at the intersection of the circles around the hands and elbows. Their radii are given by the upper and lower arm lengths. If arms are not completely stretched the normal vectors of the arm planes are used to chose among the two possible solutions. Further additions are made to handle small calculation errors, such as assuming stretched arms, when they are very close to stretched.
Definition at line 310 of file adapt_transforms.cpp.
bool MotionAdaption::adaptHands | ( | ) | [private] |
The hands are placed at their scaled positions. The orientation is added manually in the way that the hands are aligned along the elbow. The plane normals are also used to define their orientation.
Definition at line 405 of file adapt_transforms.cpp.
bool MotionAdaption::adaptHead | ( | ) | [private] |
Simple adaption of the operator's head transformation, which only applies the orientation of the operator's torso to the goal transformation; the position is a constant offset from the reference frame
Definition at line 88 of file adapt_transforms.cpp.
bool MotionAdaption::adaptShoulders | ( | ) | [private] |
A constant offset from the reference frame defines the position of the shoulders. Their orientation is calculated based on the position of the elbows and hands. Therefore arm planes are calculated for both arms, which contain the elbows and hands.
Definition at line 177 of file adapt_transforms.cpp.
bool MotionAdaption::adaptTorso | ( | ) | [private] |
Simple adaption of the operator's torso transformation, which only applies the orientation of the operator's torso to the goal transformation; the position is the same as the reference frame
returns always true
Definition at line 76 of file adapt_transforms.cpp.
bool MotionAdaption::adaptTransforms | ( | ) | [private] |
Contains the hierarchy of methods for adapting the several end points of the upper body.
Definition at line 42 of file adapt_transforms.cpp.
bool MotionAdaption::getTransforms | ( | ) | [private] |
Retrieves transforms from the operator's torso to the upper body end points hands, elbows, shoulder, head and the transform from the torso's reference frame to the torso.
Definition at line 41 of file get_transforms.cpp.
void MotionAdaption::publishData | ( | ) | [private] |
Deprecated! Publishes the goal frames as messages. Not used anymore.
Definition at line 41 of file publish_msgs.cpp.
bool MotionAdaption::scaleUserHandsAndElbows | ( | ) | [private] |
First part of the more complicated adaptions of the hands: This method scales the position of the hands and elbows using both the body proportions of the operator and the robot.
Definition at line 117 of file adapt_transforms.cpp.
void MotionAdaption::setGoals | ( | ) | [private] |
In this last step of motion adaption all goal frames (hands, elbows, head and torso) are manually aligned with the robot's convention.
Definition at line 40 of file set_goals.cpp.
bool MotionAdaption::setRefFrame | ( | ) | [private] |
Sets the reference frame on the robot needed for the adaption of the operator's transforms.
Definition at line 41 of file set_ref_frame.cpp.
ros::Time MotionAdaption::calc_time [private] |
Definition at line 67 of file motion_adaption.h.
double MotionAdaption::elbow_x_ [private] |
Definition at line 260 of file motion_adaption.h.
double MotionAdaption::elbow_y_ [private] |
Definition at line 260 of file motion_adaption.h.
tf::Vector3 MotionAdaption::head_goal_rot_vec_ [private] |
Definition at line 198 of file motion_adaption.h.
tf::Transformer MotionAdaption::internal_tf [private] |
Definition at line 66 of file motion_adaption.h.
bool MotionAdaption::l_elbow_extended_ [private] |
Definition at line 265 of file motion_adaption.h.
tf::Vector3 MotionAdaption::l_elbow_goal_rot_vec_ [private] |
Definition at line 201 of file motion_adaption.h.
tf::Vector3 MotionAdaption::l_hand_goal_rot_vec_ [private] |
Definition at line 202 of file motion_adaption.h.
double MotionAdaption::limb_length_ [private] |
Definition at line 260 of file motion_adaption.h.
Definition at line 266 of file motion_adaption.h.
ros::NodeHandle MotionAdaption::nh_ [private] |
Definition at line 154 of file motion_adaption.h.
ros::NodeHandle MotionAdaption::nh_private_ [private] |
Definition at line 154 of file motion_adaption.h.
geometry_msgs::PoseStamped MotionAdaption::pose_ [private] |
Definition at line 172 of file motion_adaption.h.
ros::Publisher MotionAdaption::pub_head_pose_ [private] |
Definition at line 167 of file motion_adaption.h.
Definition at line 170 of file motion_adaption.h.
Definition at line 171 of file motion_adaption.h.
Definition at line 168 of file motion_adaption.h.
Definition at line 169 of file motion_adaption.h.
Definition at line 166 of file motion_adaption.h.
tf::Quaternion MotionAdaption::quat_ [private] |
Definition at line 255 of file motion_adaption.h.
tf::Quaternion MotionAdaption::quat_adjust_ [private] |
Definition at line 255 of file motion_adaption.h.
bool MotionAdaption::r_elbow_extended_ [private] |
Definition at line 265 of file motion_adaption.h.
tf::Vector3 MotionAdaption::r_elbow_goal_rot_vec_ [private] |
Definition at line 199 of file motion_adaption.h.
tf::Vector3 MotionAdaption::r_hand_goal_rot_vec_ [private] |
Definition at line 200 of file motion_adaption.h.
tf::Vector3 MotionAdaption::ref_frame_rot_vec_ [private] |
Definition at line 196 of file motion_adaption.h.
double MotionAdaption::robot_arm_length_ [private] |
Definition at line 258 of file motion_adaption.h.
std::string MotionAdaption::robot_base_str_ [private] |
Definition at line 184 of file motion_adaption.h.
double MotionAdaption::robot_head_height_ [private] |
Definition at line 257 of file motion_adaption.h.
std::string MotionAdaption::robot_head_str_ [private] |
Definition at line 187 of file motion_adaption.h.
std::string MotionAdaption::robot_l_elbow_str_ [private] |
Definition at line 192 of file motion_adaption.h.
std::string MotionAdaption::robot_l_hand_str_ [private] |
Definition at line 193 of file motion_adaption.h.
std::string MotionAdaption::robot_l_shoulder_str_ [private] |
Definition at line 191 of file motion_adaption.h.
double MotionAdaption::robot_lower_arm_length_ [private] |
Definition at line 258 of file motion_adaption.h.
std::string MotionAdaption::robot_r_elbow_str_ [private] |
Definition at line 189 of file motion_adaption.h.
std::string MotionAdaption::robot_r_hand_str_ [private] |
Definition at line 190 of file motion_adaption.h.
std::string MotionAdaption::robot_r_shoulder_str_ [private] |
Definition at line 188 of file motion_adaption.h.
std::string MotionAdaption::robot_ref_torso_str_ [private] |
Definition at line 185 of file motion_adaption.h.
double MotionAdaption::robot_shoulder_heigth_ [private] |
Definition at line 257 of file motion_adaption.h.
double MotionAdaption::robot_shoulder_width_ [private] |
Definition at line 257 of file motion_adaption.h.
double MotionAdaption::robot_shoulder_x_offset_ [private] |
Definition at line 257 of file motion_adaption.h.
std::string MotionAdaption::robot_torso_str_ [private] |
Definition at line 186 of file motion_adaption.h.
double MotionAdaption::robot_upper_arm_length_ [private] |
Definition at line 258 of file motion_adaption.h.
Definition at line 160 of file motion_adaption.h.
Definition at line 230 of file motion_adaption.h.
Definition at line 251 of file motion_adaption.h.
Definition at line 250 of file motion_adaption.h.
Definition at line 249 of file motion_adaption.h.
Definition at line 248 of file motion_adaption.h.
Definition at line 247 of file motion_adaption.h.
Definition at line 253 of file motion_adaption.h.
Definition at line 252 of file motion_adaption.h.
Definition at line 245 of file motion_adaption.h.
Definition at line 244 of file motion_adaption.h.
Definition at line 246 of file motion_adaption.h.
Definition at line 243 of file motion_adaption.h.
Definition at line 157 of file motion_adaption.h.
Definition at line 239 of file motion_adaption.h.
Definition at line 238 of file motion_adaption.h.
Definition at line 237 of file motion_adaption.h.
Definition at line 236 of file motion_adaption.h.
Definition at line 235 of file motion_adaption.h.
Definition at line 241 of file motion_adaption.h.
Definition at line 242 of file motion_adaption.h.
Definition at line 240 of file motion_adaption.h.
Definition at line 233 of file motion_adaption.h.
Definition at line 232 of file motion_adaption.h.
Definition at line 234 of file motion_adaption.h.
Definition at line 231 of file motion_adaption.h.
Definition at line 227 of file motion_adaption.h.
Definition at line 225 of file motion_adaption.h.
Definition at line 223 of file motion_adaption.h.
Definition at line 224 of file motion_adaption.h.
Definition at line 218 of file motion_adaption.h.
Definition at line 220 of file motion_adaption.h.
Definition at line 222 of file motion_adaption.h.
Definition at line 221 of file motion_adaption.h.
Definition at line 219 of file motion_adaption.h.
Definition at line 228 of file motion_adaption.h.
Definition at line 229 of file motion_adaption.h.
Definition at line 205 of file motion_adaption.h.
Definition at line 215 of file motion_adaption.h.
Definition at line 216 of file motion_adaption.h.
Definition at line 217 of file motion_adaption.h.
Definition at line 212 of file motion_adaption.h.
Definition at line 213 of file motion_adaption.h.
Definition at line 214 of file motion_adaption.h.
Definition at line 209 of file motion_adaption.h.
Definition at line 210 of file motion_adaption.h.
Definition at line 211 of file motion_adaption.h.
Definition at line 206 of file motion_adaption.h.
Definition at line 207 of file motion_adaption.h.
Definition at line 208 of file motion_adaption.h.
Definition at line 204 of file motion_adaption.h.
tf::Vector3 MotionAdaption::torso_goal_rot_vec_ [private] |
Definition at line 197 of file motion_adaption.h.
double MotionAdaption::user_arm_length_ [private] |
Definition at line 259 of file motion_adaption.h.
std::string MotionAdaption::user_head_str_ [private] |
Definition at line 177 of file motion_adaption.h.
std::string MotionAdaption::user_l_elbow_str_ [private] |
Definition at line 182 of file motion_adaption.h.
std::string MotionAdaption::user_l_hand_str_ [private] |
Definition at line 183 of file motion_adaption.h.
std::string MotionAdaption::user_l_shoulder_str_ [private] |
Definition at line 181 of file motion_adaption.h.
std::string MotionAdaption::user_r_elbow_str_ [private] |
Definition at line 179 of file motion_adaption.h.
std::string MotionAdaption::user_r_hand_str_ [private] |
Definition at line 180 of file motion_adaption.h.
std::string MotionAdaption::user_r_shoulder_str_ [private] |
Definition at line 178 of file motion_adaption.h.
double MotionAdaption::user_shoulder_height_ [private] |
Definition at line 259 of file motion_adaption.h.
double MotionAdaption::user_shoulder_width_ [private] |
Definition at line 259 of file motion_adaption.h.
std::string MotionAdaption::user_torso_str_ [private] |
Definition at line 176 of file motion_adaption.h.
double MotionAdaption::user_upper_arm_length_ [private] |
Definition at line 259 of file motion_adaption.h.
tf::Vector3 MotionAdaption::vec_elbow_hand_ [private] |
Definition at line 262 of file motion_adaption.h.
tf::Vector3 MotionAdaption::vec_helper_ [private] |
Definition at line 262 of file motion_adaption.h.
tf::Vector3 MotionAdaption::vec_l_elbow_hand_valid_ [private] |
Definition at line 264 of file motion_adaption.h.
tf::Vector3 MotionAdaption::vec_l_shoulder_elbow_valid_ [private] |
Definition at line 263 of file motion_adaption.h.
tf::Vector3 MotionAdaption::vec_normal_ [private] |
Definition at line 262 of file motion_adaption.h.
tf::Vector3 MotionAdaption::vec_r_elbow_hand_valid_ [private] |
Definition at line 264 of file motion_adaption.h.
tf::Vector3 MotionAdaption::vec_r_shoulder_elbow_valid_ [private] |
Definition at line 263 of file motion_adaption.h.
tf::Vector3 MotionAdaption::vec_shoulder_elbow_ [private] |
Definition at line 262 of file motion_adaption.h.
tf::Vector3 MotionAdaption::vec_shoulder_hand_ [private] |
Definition at line 262 of file motion_adaption.h.
double MotionAdaption::wait_for_tf_ [private] |
Definition at line 163 of file motion_adaption.h.
std::string MotionAdaption::world_ref_frame_str_ [private] |
Definition at line 175 of file motion_adaption.h.
double MotionAdaption::x_adapt_ [private] |
Definition at line 260 of file motion_adaption.h.
double MotionAdaption::x_norm_ [private] |
Definition at line 260 of file motion_adaption.h.
double MotionAdaption::y_adapt_ [private] |
Definition at line 260 of file motion_adaption.h.
double MotionAdaption::y_norm_ [private] |
Definition at line 260 of file motion_adaption.h.
double MotionAdaption::z_adapt_ [private] |
Definition at line 260 of file motion_adaption.h.
double MotionAdaption::z_norm_ [private] |
Definition at line 260 of file motion_adaption.h.