]> git.llucax.com Git - z.facultad/75.68/celdas.git/blob - trunk/src/main.cpp
Encontré el bug hijoderemilputa!!! Mea culpa, mea culpa, mea culpa...
[z.facultad/75.68/celdas.git] / trunk / src / main.cpp
1
2 #include "main.h"
3 #include <iostream>
4
5 //
6 void CMiEntorno::inicializar()
7 {
8         // Inicializo el Entorno
9         datos.add("robot.avanzo_en_x", 0) ;
10         // old datos.add("robot.avanzo_en_y", 0) ;
11         // old datos.add("robot.avanzo_en_z", 0) ;
12
13         datos.add("robot.sensor_1", 0) ;
14         datos.add("robot.sensor_2", 0) ;
15         datos.add("robot.sensor_3", 0) ;
16         datos.add("robot.sensor_4", 0) ; // new
17 }
18
19
20 void CMiEntorno::actualizar()
21 {
22         datos.find("robot.sensor_1") = sensor_1 ;
23         datos.find("robot.sensor_2") = sensor_2 ;
24         datos.find("robot.sensor_3") = sensor_3 ;
25         datos.find("robot.sensor_4") = 20 ; // new
26
27         datos.find("robot.avanzo_en_x") = avanzo_en_x?1:0 ;
28         datos.find("robot.avanzo_en_y") = avanzo_en_y?1:0 ;
29         datos.find("robot.avanzo_en_z") = avanzo_en_z?1:0 ;
30
31         
32 }
33
34
35
36 //
37 int main(int argc, char* argv[])
38 {
39         //
40         CMiEntorno*                     e = new CMiEntorno;
41         CSistemaAutonomo                a ;
42
43         e->inicializar() ;
44
45 /* OLD
46         // Inicializo las teorias
47         CTeoria t1("Avanzar_X_1", "AvanzarX", 1, 1) ;
48         t1.datos_iniciales.add ("robot.sensor_1", 0) ;
49         t1.datos_iniciales.add ("robot.sensor_2", ANY) ;
50         t1.datos_iniciales.add ("robot.sensor_3", ANY) ;
51         t1.datos_iniciales.add ("robot.avanzo_en_x", ANY) ;
52         t1.datos_iniciales.add ("robot.avanzo_en_y", ANY) ;
53         t1.datos_iniciales.add ("robot.avanzo_en_z", ANY) ;
54         t1.datos_finales.add ("robot.avanzo_en_x", 1) ;
55         t1.datos_finales.add ("robot.avanzo_en_y", ANY) ;
56         t1.datos_finales.add ("robot.avanzo_en_z", ANY) ;
57         t1.datos_finales.add ("robot.sensor_1", ANY) ;
58         t1.datos_finales.add ("robot.sensor_2", ANY) ;
59         t1.datos_finales.add ("robot.sensor_3", ANY) ;
60
61         CTeoria t2("Avanzar_Y_1", "AvanzarY", 1, 1) ;
62         t2.datos_iniciales.add ("robot.sensor_1", ANY) ;
63         t2.datos_iniciales.add ("robot.sensor_2", 0) ;
64         t2.datos_iniciales.add ("robot.sensor_3", ANY) ;
65         t2.datos_iniciales.add ("robot.avanzo_en_x", ANY) ;
66         t2.datos_iniciales.add ("robot.avanzo_en_y", ANY) ;
67         t2.datos_iniciales.add ("robot.avanzo_en_z", ANY) ;
68         t2.datos_finales.add ("robot.avanzo_en_x", 0) ;
69         t2.datos_finales.add ("robot.avanzo_en_y", 1) ;
70         t2.datos_finales.add ("robot.avanzo_en_z", 0) ;
71         t2.datos_finales.add ("robot.sensor_1", ANY) ;
72         t2.datos_finales.add ("robot.sensor_2", ANY) ;
73         t2.datos_finales.add ("robot.sensor_3", ANY) ;
74
75         CTeoria t3("Avanzar_Z_1", "AvanzarZ", 1, 1) ;
76         t3.datos_iniciales.add ("robot.sensor_1", ANY) ;
77         t3.datos_iniciales.add ("robot.sensor_2", ANY) ;
78         t3.datos_iniciales.add ("robot.sensor_3", 0) ;
79         t3.datos_iniciales.add ("robot.avanzo_en_x", ANY) ;
80         t3.datos_iniciales.add ("robot.avanzo_en_y", ANY) ;
81         t3.datos_iniciales.add ("robot.avanzo_en_z", ANY) ;
82         t3.datos_finales.add ("robot.avanzo_en_x", 0) ;
83         t3.datos_finales.add ("robot.avanzo_en_y", 0) ;
84         t3.datos_finales.add ("robot.avanzo_en_z", 1) ;
85         t3.datos_finales.add ("robot.sensor_1", ANY) ;
86         t3.datos_finales.add ("robot.sensor_2", ANY) ;
87         t3.datos_finales.add ("robot.sensor_3", ANY) ;
88 */
89
90         // Inicializo las teorias
91         CTeoria t1("Avanzar_X_1", "AvanzarX", 1, 1) ;
92         t1.datos_iniciales.add ("robot.sensor_1", ANY) ;
93         t1.datos_iniciales.add ("robot.sensor_2", ANY) ;
94         t1.datos_iniciales.add ("robot.sensor_3", ANY) ;
95         t1.datos_iniciales.add ("robot.sensor_4", ANY) ;
96         t1.datos_iniciales.add ("robot.avanzo_en_x", ANY) ;
97         t1.datos_finales.add ("robot.avanzo_en_x", ANY) ;
98         t1.datos_finales.add ("robot.sensor_1", ANY) ;
99         t1.datos_finales.add ("robot.sensor_2", ANY) ;
100         t1.datos_finales.add ("robot.sensor_3", ANY) ;
101         t1.datos_finales.add ("robot.sensor_4", ANY) ;
102
103         // Inicializo las teorias
104         CTeoria t2("Avanzar_X_2", "AvanzarX", 1, 1) ;
105         t2.datos_iniciales.add ("robot.sensor_1", ANY) ;
106         t2.datos_iniciales.add ("robot.sensor_2", ANY) ;
107         t2.datos_iniciales.add ("robot.sensor_3", ANY) ;
108         t2.datos_iniciales.add ("robot.sensor_4", ANY) ;
109         t2.datos_iniciales.add ("robot.avanzo_en_x", ANY) ;
110         t2.datos_finales.add ("robot.avanzo_en_x", ANY) ;
111         t2.datos_finales.add ("robot.sensor_1", ANY) ;
112         t2.datos_finales.add ("robot.sensor_2", ANY) ;
113         t2.datos_finales.add ("robot.sensor_3", ANY) ;
114         t2.datos_finales.add ("robot.sensor_4", ANY) ;
115
116         a.teorias.add(t1.nombre.c_str(), t1) ;
117         a.teorias.add(t2.nombre.c_str(), t2) ;
118         // OLD a.teorias.add(t3.nombre.c_str(), t3) ;
119
120         
121         // Inicializo el SA
122         delete a.p_entorno;
123         a.p_entorno = e;
124
125
126         // Obtengo un plan
127         double p = 1 ;
128         CIndiceMagico<CTeoria> plan ;
129         CIndiceMagico<t_dato> datos_finales;
130
131         a.m_datos_finales.add ("robot.avanzo_en_x", 1) ;
132         a.plan();
133         for (unsigned i=0; i<a.m_plan.count(); i++)
134                 std::cout << a.m_plan[i].nombre.c_str() << std::endl ;
135
136  
137 //      datos_finales.add ("robot.avanzo_en_x", 1) ;
138
139 //      a.planificar (a.p_entorno->datos, datos_finales, plan, p) ;
140
141 //      for (unsigned i=0; i<plan.count(); i++)
142 //              std::cout << plan[i].nombre.c_str() << std::endl ;
143
144
145         // Ejecuto el plan
146 //      a.ejecutar(plan) ;
147
148
149         return 0 ;
150 }
151
152