Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef SIMPLE_GRASP_PLANNER
00031 #define SIMPLE_GRASP_PLANNER
00032
00033 #ifdef __cplusplus
00034 extern "C" {
00035 #endif
00036
00037
00038 typedef struct
00039 {
00040 double x;
00041 double y;
00042 double z;
00043 }
00044 Point3D;
00045
00046 typedef struct
00047 {
00048 double sx; double sxy; double sxz;
00049 double syx; double sy; double syz;
00050 double szx; double szy; double sz;
00051 }
00052 CovariancePoint;
00053
00054 typedef struct
00055 {
00056 double alpha;
00057 double beta;
00058 double delta_max;
00059 }
00060 HandConfig;
00061
00062 #define MAX_TESTED_POSES 1000
00063
00064 typedef struct
00065 {
00066 int length;
00067 int min_score_index;
00068 double scores[MAX_TESTED_POSES];
00069 HandConfig configs[MAX_TESTED_POSES];
00070 }
00071 HandConfList;
00072 int InitSGP(Point3D* hand_points, int num, double table_z);
00073
00074 void setTableHeight(double table_z);
00075 double getTableHeight();
00076
00077 Point3D TransformPoint(Point3D hand, Point3D target, double alpha, double beta, double delta);
00078
00079 HandConfig GetGraspLM(Point3D* obstacle_list, CovariancePoint* obstacle_covs, int num,
00080 double offset_rot_z_side, double offset_ros_z_top);
00081
00082 HandConfList GetGraspList(Point3D* obstacle_list, CovariancePoint* obstacle_covs, int num,
00083 double offset_rot_z_side, double offset_ros_z_top);
00084
00085
00086 #ifdef __cplusplus
00087 }
00088 #endif
00089 #endif