00001 /* 00002 * Software License Agreement (Apache License) 00003 * 00004 * Copyright (c) 2013, Southwest Research Institute 00005 * 00006 * Licensed under the Apache License, Version 2.0 (the "License"); 00007 * you may not use this file except in compliance with the License. 00008 * You may obtain a copy of the License at 00009 * 00010 * http://www.apache.org/licenses/LICENSE-2.0 00011 * 00012 * Unless required by applicable law or agreed to in writing, software 00013 * distributed under the License is distributed on an "AS IS" BASIS, 00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00015 * See the License for the specific language governing permissions and 00016 * limitations under the License. 00017 */ 00018 00019 00020 #ifndef BASIC_IK_H 00021 #define BASIC_IK_H 00022 00023 #include "constrained_ik/constrained_ik.h" 00024 #include "constrained_ik/constraints/avoid_joint_limits.h" 00025 #include "constrained_ik/constraints/goal_pose.h" 00026 00027 namespace constrained_ik 00028 { 00029 namespace basic_ik 00030 { 00031 00036 class Basic_IK : public Constrained_IK 00037 { 00038 public: 00039 Basic_IK(): goal_pose_(new constraints::GoalPose), avoid_joint_limits_(new constraints::AvoidJointLimits) 00040 { 00041 addConstraint(goal_pose_); 00042 addConstraint(avoid_joint_limits_); 00043 avoid_joint_limits_->setDebug(false); 00044 Eigen::Vector3d w_ori; 00045 w_ori << 1,1,1; 00046 goal_pose_->setWeightOrientation(w_ori); 00047 } 00048 ~Basic_IK() {}; 00049 00050 protected: 00051 00052 constraints::GoalPose* goal_pose_; 00053 constraints::AvoidJointLimits* avoid_joint_limits_; 00054 00055 }; // class Basic_IK 00056 00057 } // namespace basic_ik 00058 } // namespace constrained_ik 00059 00060 00061 #endif // BASIC_IK_H 00062