4 double CMiEntorno::AvanzarX()
11 double CMiEntorno::AvanzarY()
18 double CMiEntorno::AvanzarZ()
25 CMiEntorno::CMiEntorno():
26 avanzo_en_x(true), avanzo_en_y(true), avanzo_en_z(true)
28 // Inicializo el Entorno
29 datos.add("robot.avanzo_en_x", 1) ;
30 datos.add("robot.avanzo_en_y", 1) ;
31 datos.add("robot.avanzo_en_z", 1) ;
33 datos.add("robot.sensor_1", 0) ;
34 datos.add("robot.sensor_2", 0) ;
35 datos.add("robot.sensor_3", 0) ;
39 void CMiEntorno::actualizar()
41 datos.find("robot.sensor_1") = sensor_1 ;
42 datos.find("robot.sensor_2") = sensor_2 ;
43 datos.find("robot.sensor_3") = sensor_3 ;
45 datos.find("robot.avanzo_en_x") = avanzo_en_x?1:0 ;
46 datos.find("robot.avanzo_en_y") = avanzo_en_y?1:0 ;
47 datos.find("robot.avanzo_en_z") = avanzo_en_z?1:0 ;
52 struct CMiTeoria1: CTeoria< CMiEntorno >
54 CMiTeoria1(CMiEntorno& e):
55 CTeoria< CMiEntorno >("Avanzar_X_1", 1, 1, e)
57 datos_iniciales.add ("robot.sensor_1", 0) ;
58 datos_finales.add ("robot.avanzo_en_x", 1) ;
62 entorno.avanzo_en_x = true ;
67 struct CMiTeoria2: CTeoria< CMiEntorno >
69 CMiTeoria2(CMiEntorno& e):
70 CTeoria< CMiEntorno >("Avanzar_Y_1", 1, 1, e)
72 datos_iniciales.add ("robot.sensor_2", 0) ;
73 datos_finales.add ("robot.avanzo_en_y", 1) ;
77 entorno.avanzo_en_y = true ;
82 struct CMiTeoria3: CTeoria< CMiEntorno >
84 CMiTeoria3(CMiEntorno& e):
85 CTeoria< CMiEntorno >("Avanzar_Z_1", 1, 1, e)
87 datos_iniciales.add ("robot.sensor_3", 0) ;
88 datos_finales.add ("robot.avanzo_en_z", 1) ;
92 entorno.avanzo_en_z = true ;
98 int main(int argc, char** argv)
102 CSistemaAutonomo< CMiEntorno > a(e) ;
105 // Inicializo las teorias
106 a.teorias.add("teoria1", new CMiTeoria1(e)) ;
107 a.teorias.add("teoria2", new CMiTeoria2(e)) ;
108 a.teorias.add("teoria3", new CMiTeoria3(e)) ;
113 CIndiceMagico<CTeoria< CMiEntorno >* >* p_plan ;
114 CIndiceMagico<t_dato> datos_finales ;
116 datos_finales.add ("robot.avanzo_en_x", 1) ;
118 p_plan = a.new_plan(datos_finales, p) ;
120 for (int i=0; i<p_plan->count(); i++)
121 std::cout << (*p_plan)[i]->nombre << std::endl ;