blob: b0f3e2d5f3ee4ad51f7f458e447b6f03f8bb4cab (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
// -*- C++ -*-
// $Id$
//=============================================================================
/**
* @file SA_POP_Demo.cpp
*
* This file contains the main() function for the SA-POP demo.
*
* @author John S. Kinnebrew <john.s.kinnebrew@vanderbilt.edu>
*/
//=============================================================================
#include <iostream>
#include "SA_POP_Types.h"
#include "SA_Builder.h"
#include "UserInput.h"
#include "TaskMapFileIn.h"
#include "SANet/SANetFileIn.h"
#include "LogScreenOut.h"
int main (int argc, char* argv[])
{
SA_POP::SA_Builder builder;
SANet::SANetFileIn sanet_in;
SA_POP::TaskMapFileIn tm_in;
std::string sanet_filename = "";
std::string tm_filename = "";
// Get filenames from user.
std::cout << "Task Network file: ";
// sanet_filename = "../examples/output1.xml";
// sanet_filename = "../examples/SPACE.san.xml";
// sanet_filename = "../examples/test_graph1.san.xml";
std::cin >> sanet_filename;
std::cout << "Task Map file: ";
// tm_filename = "../examples/SPACE.tm.xml";
// tm_filename = "../examples/test_graph.tm.xml";
std::cin >> tm_filename;
SA_POP::Goal goal;
goal.goal_id = "UserSpecifiedGoal ID";
goal.name = "User specified goal";
goal.abs_times.clear ();
goal.rel_times.clear ();
goal.goal_conds.clear ();
goal.start_window = std::make_pair (0, 0);
// Get goal.
SA_POP::CondID goal_id;
SA_POP::Utility goal_util;
std::cout << "Goal condition ID: ";
std::cin >> goal_id;
std::cout << "Goal utility: ";
std::cin >> goal_util;
goal.goal_conds.insert (std::make_pair (goal_id, goal_util));
try {
sanet_in.build_net (sanet_filename, &builder);
tm_in.build_task_map (tm_filename, &builder);
} catch (std::string e) {
std::cerr << "ERROR while building task network and task map from files:";
std::cerr << std::endl;
std::cerr << e;
} catch (...) {
std::cerr << "UNKNOWN ERROR while planning." << std::endl;
}
SA_POP::Planner *planner = 0;
try {
planner = builder.get_planner ();
SA_POP::LogScreenOut screen_out (std::cout);
planner->add_out_adapter (&screen_out);
planner->plan (100, goal);
} catch (std::string e) {
std::cerr << "ERROR while planning:" << std::endl;
std::cerr << e;
delete planner;
} catch (...) {
std::cerr << "UNKNOWN ERROR while planning." << std::endl;
delete planner;
}
delete planner;
//****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP
std::cout << "Enter any character to end program: ";
char temp_;
std::cin>>temp_;
//****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP****TEMP
return 0;
}
|