Go to the documentation of this file.00001 #include "darwin_kinematics_alg.h"
00002
00003 DarwinKinematicsAlgorithm::DarwinKinematicsAlgorithm(void):
00004 left_arm(LEFT_ARM),
00005 right_arm(RIGHT_ARM)
00006 {
00007 }
00008
00009 DarwinKinematicsAlgorithm::~DarwinKinematicsAlgorithm(void)
00010 {
00011 }
00012
00013 void DarwinKinematicsAlgorithm::config_update(Config& new_cfg, uint32_t level)
00014 {
00015 this->lock();
00016
00017
00018 this->config_=new_cfg;
00019
00020 this->unlock();
00021 }
00022
00023
00024 std::vector<double> DarwinKinematicsAlgorithm::get_left_arm_fk(std::vector<double> &angles)
00025 {
00026 return this->left_arm.get_fk(angles);
00027 }
00028
00029 bool DarwinKinematicsAlgorithm::get_left_arm_ik(std::vector<double> &position, std::vector<double> &init_angles,std::vector<double> &solution)
00030 {
00031 return this->left_arm.get_ik(position,init_angles,solution);
00032 }
00033
00034 void DarwinKinematicsAlgorithm::get_left_arm_upper_limits(std::vector<double> &upper)
00035 {
00036 this->left_arm.get_upper_limits(upper);
00037 }
00038
00039 void DarwinKinematicsAlgorithm::get_left_arm_lower_limits(std::vector<double> &lower)
00040 {
00041 this->left_arm.get_lower_limits(lower);
00042 }
00043
00044 std::vector<double> DarwinKinematicsAlgorithm::get_right_arm_fk(std::vector<double> &angles)
00045 {
00046 return this->right_arm.get_fk(angles);
00047 }
00048
00049 bool DarwinKinematicsAlgorithm::get_right_arm_ik(std::vector<double> &position, std::vector<double> &init_angles,std::vector<double> &solution)
00050 {
00051 return this->right_arm.get_ik(position,init_angles,solution);
00052 }
00053
00054 void DarwinKinematicsAlgorithm::get_right_arm_upper_limits(std::vector<double> &upper)
00055 {
00056 this->right_arm.get_upper_limits(upper);
00057 }
00058
00059 void DarwinKinematicsAlgorithm::get_right_arm_lower_limits(std::vector<double> &lower)
00060 {
00061 this->right_arm.get_lower_limits(lower);
00062 }
00063
00064