00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef _JMA_ACA_H_
00017 #define _JMA_ACA_H_
00018
00019 #include "jma_aca_structs.h"
00020
00021 int search
00022 (
00023 JMA_Roadmap_Tree* tree,
00024 int local_planner( double[], double[] ) ,
00025 int goal_func( double[] )
00026 );
00027
00028 void explore
00029 (
00030 JMA_Roadmap_Tree* tree,
00031 const double distance_func( const double[], const double[] ),
00032 const int random_path_proc( const int, const int, const int, const JMA_Configuration, const JMA_Configuration* )
00033 );
00034
00035 void init_roadmap_tree
00036 (
00037 JMA_Roadmap_Tree* tree,
00038 const int n_dof,
00039 const int n_embryos,
00040 const JMA_Configuration init_conf,
00041 const double distance_func( const double[], const double[] ),
00042 const int random_path_proc( const int, const int, const int, const JMA_Configuration, const JMA_Configuration* )
00043 );
00044
00045 void update_roadmap_tree(
00046 JMA_Roadmap_Tree* tree,
00047 const double distance_func( const double[], const double[] )
00048 );
00049
00050 void generate_new_embryo
00051 (
00052 JMA_Roadmap_Tree* tree,
00053 const int id_landmark,
00054 const int id_embryo,
00055 const double distance_func( const double[], const double[] ),
00056 const int random_path_proc( const int, const int, const int, const JMA_Configuration, const JMA_Configuration* )
00057 );
00058
00059 void compute_embryo_distance
00060 (
00061 JMA_Roadmap_Tree* tree,
00062 JMA_Configuration* embryo,
00063 double distance_func( double[], double[] )
00064 );
00065
00066 void get_ids_path(
00067 JMA_Roadmap_Tree *tree,
00068 int landmark_id,
00069 int list_ids[],
00070 int *n_landmarks
00071 );
00072
00073 int get_n_ancestors(
00074 JMA_Roadmap_Tree *tree,
00075 int landmark_id
00076 );
00077
00078 int simplify_ids_trajectory(
00079 JMA_Roadmap_Tree *tree,
00080 int list[],
00081 int n_nodes,
00082 int ptp_collision( double[], double[] ),
00083 int new_list[],
00084 int *new_n_nodes
00085 );
00086
00087 void print_roadmap_tree(JMA_Roadmap_Tree*);
00088
00089 void print_node(JMA_Node,int);
00090
00091 #endif