00001 /* 00002 * prismatic_model.h 00003 * 00004 * Created on: Oct 21, 2009 00005 * Author: sturm 00006 */ 00007 00008 #ifndef PRISMATIC_MODEL_H_ 00009 #define PRISMATIC_MODEL_H_ 00010 00011 #include "rigid_model.h" 00012 00013 namespace articulation_models { 00014 00015 class PrismaticModel: public RigidModel { 00016 public: 00017 btVector3 prismatic_dir; 00018 00019 PrismaticModel(); 00020 00021 // -- params 00022 void readParamsFromModel(); 00023 void writeParamsToModel(); 00024 00025 size_t getDOFs() { return 1; } 00026 00027 V_Configuration predictConfiguration(geometry_msgs::Pose pose); 00028 geometry_msgs::Pose predictPose(V_Configuration q); 00029 M_CartesianJacobian predictHessian(V_Configuration q,double delta=1e-6); 00030 00031 bool guessParameters(); 00032 void updateParameters(std::vector<double> delta); 00033 bool normalizeParameters(); 00034 }; 00035 00036 } 00037 00038 #endif /* PRISMATIC_MODEL_H_ */