libmove3d  3.13.0
/home/slemaign/softs-local/BioMove3D-git/graspPlanning/include/gpWorkspace.h
00001 
00002 #ifndef GP_WORKSPACE_H
00003 #define GP_WORKSPACE_H
00004 
00010 
00013 class gpSAHandInfo
00014 {
00015   public:
00016    double q1min, q1max;
00017    double q2min, q2max;
00018    double q3min, q3max;
00020    double length1, length2, length3;
00021 
00022    gpSAHandInfo();
00023 };
00024 
00025 extern int gpSAHfinger_forward_kinematics(double length1, double length2, double length3, double q1, double q2, double q3, p3d_vector3 position, p3d_vector3 normal);
00026 
00027 extern int gpSAHfinger_outer_workspace(double length1, double length2, double length3, double dq, std::vector<gpVector3D> &points, std::vector<gpVector3D> &normals);
00028 
00029 extern int gpDraw_SAHfinger_outer_workspace(gpSAHandInfo data, double dq);
00030 
00031 extern int gpSAHfinger_workspace(double length1, double length2, double length3, double dq, std::vector<gpVector3D> &points);
00032 
00033 extern int gpSAHfinger_workspace_approximation(gpSAHandInfo data, double dq, double dr, unsigned int nb_spheres_max, std::vector<gpSphere> &spheres);
00034 
00035 extern void svdcmp(float **a, int m, int n, float w[], float **v);
00036 
00037 extern void p3d_mat3SVD(p3d_matrix3 M, p3d_matrix3 U, p3d_vector3 S, p3d_matrix3 V);
00038 
00039 extern void p3d_mat4SVD(p3d_matrix4 M, p3d_matrix4 U, p3d_vector4 S, p3d_matrix4 V);
00040 
00041 extern int gpSAHfinger_jacobian(double length1, double length2, double length3, double q1, double q2, double q3, p3d_matrix3 J);
00042 
00043 extern int gpSAHfinger_main_force_direction(p3d_matrix4 Twrist, gpHand_properties &handProp, double q[4], int finger_index, p3d_vector3 direction);
00044 
00045 // extern int gpSAHfinger_manipulability_ellipsoid(double length1, double length2, double length3, double q1, double q2, double q3);
00046 
00047 extern int gpDraw_SAHfinger_manipulability_ellipsoid(p3d_rob *robot, gpHand_properties &hand_properties, int finger_index, int handID= 0);
00048 
00049 extern int gpDraw_reachable_points(p3d_rob *robot, p3d_rob *object, gpHand_properties &handProp);
00050 
00051 #endif
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines