joint_vel_limits.h
Go to the documentation of this file.
00001 /*
00002  * avoid_joint_limits.h
00003  *
00004  *  Created on: Sep 23, 2013
00005  *      Author: dsolomon
00006  */
00007 /*
00008  * Software License Agreement (Apache License)
00009  *
00010  * Copyright (c) 2013, Southwest Research Institute
00011  *
00012  * Licensed under the Apache License, Version 2.0 (the "License");
00013  * you may not use this file except in compliance with the License.
00014  * You may obtain a copy of the License at
00015  *
00016  *   http://www.apache.org/licenses/LICENSE-2.0
00017  *
00018  * Unless required by applicable law or agreed to in writing, software
00019  * distributed under the License is distributed on an "AS IS" BASIS,
00020  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00021  * See the License for the specific language governing permissions and
00022  * limitations under the License.
00023  */
00024 
00025 #ifndef JOINT_VEL_LIMITS_H_
00026 #define JOINT_VEL_LIMITS_H_
00027 
00028 #include "constrained_ik/constraint.h"
00029 #include <vector>
00030 
00031 namespace constrained_ik
00032 {
00033 namespace constraints
00034 {
00035 
00038 class JointVelLimits: public Constraint
00039 {
00040 public:
00041     JointVelLimits();
00042     virtual ~JointVelLimits() {};
00043 
00048     virtual Eigen::MatrixXd calcJacobian();
00049 
00055     virtual Eigen::VectorXd calcError();
00056 
00061     virtual bool checkStatus() const { return limited_joints_.size() == 0; }
00062 
00068     virtual void init(const Constrained_IK* ik);
00069 
00073     virtual void reset();
00074 
00079     virtual void update(const SolverState &state);
00080 
00084     double getWeight() {return weight_;};
00085 
00089     void setWeight(const double &weight) {weight_ = weight;};
00090 
00091 protected:
00092     std::vector<int> limited_joints_;  // list of joints that will be constrained
00093     Eigen::VectorXd jvel_, vel_limits_;    // joint velocity
00094     double weight_, timestep_;
00095 
00096 };
00097 
00098 } /* namespace constraints */
00099 } /* namespace constrained_ik */
00100 #endif /* JOINT_VEL_LIMITS_H_ */


constrained_ik
Author(s): Chris Lewis , Jeremy Zoss , Dan Solomon
autogenerated on Mon Oct 6 2014 00:52:26