- CTeoria t1("Avanzar_X_1", "AvanzarX", 1, 1) ;
- t1.datos_iniciales.add ("robot.sensor_1", 0) ;
- t1.datos_iniciales.add ("robot.sensor_2", ANY) ;
- t1.datos_iniciales.add ("robot.sensor_3", ANY) ;
- t1.datos_iniciales.add ("robot.avanzo_en_x", ANY) ;
- t1.datos_iniciales.add ("robot.avanzo_en_y", ANY) ;
- t1.datos_iniciales.add ("robot.avanzo_en_z", ANY) ;
- t1.datos_finales.add ("robot.avanzo_en_x", 1) ;
- t1.datos_finales.add ("robot.avanzo_en_y", ANY) ;
- t1.datos_finales.add ("robot.avanzo_en_z", ANY) ;
- t1.datos_finales.add ("robot.sensor_1", ANY) ;
- t1.datos_finales.add ("robot.sensor_2", ANY) ;
- t1.datos_finales.add ("robot.sensor_3", ANY) ;
-
- CTeoria t2("Avanzar_Y_1", "AvanzarY", 1, 1) ;
- t2.datos_iniciales.add ("robot.sensor_1", ANY) ;
- t2.datos_iniciales.add ("robot.sensor_2", 0) ;
- t2.datos_iniciales.add ("robot.sensor_3", ANY) ;
- t2.datos_iniciales.add ("robot.avanzo_en_x", ANY) ;
- t2.datos_iniciales.add ("robot.avanzo_en_y", ANY) ;
- t2.datos_iniciales.add ("robot.avanzo_en_z", ANY) ;
- t2.datos_finales.add ("robot.avanzo_en_x", 0) ;
- t2.datos_finales.add ("robot.avanzo_en_y", 1) ;
- t2.datos_finales.add ("robot.avanzo_en_z", 0) ;
- t2.datos_finales.add ("robot.sensor_1", ANY) ;
- t2.datos_finales.add ("robot.sensor_2", ANY) ;
- t2.datos_finales.add ("robot.sensor_3", ANY) ;
-
- CTeoria t3("Avanzar_Z_1", "AvanzarZ", 1, 1) ;
- t3.datos_iniciales.add ("robot.sensor_1", ANY) ;
- t3.datos_iniciales.add ("robot.sensor_2", ANY) ;
- t3.datos_iniciales.add ("robot.sensor_3", 0) ;
- t3.datos_iniciales.add ("robot.avanzo_en_x", ANY) ;
- t3.datos_iniciales.add ("robot.avanzo_en_y", ANY) ;
- t3.datos_iniciales.add ("robot.avanzo_en_z", ANY) ;
- t3.datos_finales.add ("robot.avanzo_en_x", 0) ;
- t3.datos_finales.add ("robot.avanzo_en_y", 0) ;
- t3.datos_finales.add ("robot.avanzo_en_z", 1) ;
- t3.datos_finales.add ("robot.sensor_1", ANY) ;
- t3.datos_finales.add ("robot.sensor_2", ANY) ;
- t3.datos_finales.add ("robot.sensor_3", ANY) ;
-
- a.teorias.add(t1.nombre.c_str(), t1) ;
- a.teorias.add(t2.nombre.c_str(), t2) ;
- a.teorias.add(t3.nombre.c_str(), t3) ;
-
-
- // Inicializo el SA
- a.p_entorno = (CEntorno*)(&e) ;
+ CTeoria* pt1 = new CTeoria("Avanzar", "avanzar", 1, 1) ;
+ CTeoria& t1 = *pt1;
+ t1.datos_iniciales.add ("robot.sensor_adelante", 0) ;
+ t1.datos_iniciales.add ("robot.sensor_atras", ANY) ;
+ t1.datos_iniciales.add ("robot.sensor_derecha", ANY) ;
+ t1.datos_iniciales.add ("robot.sensor_izquierda", ANY) ;
+ t1.datos_iniciales.add ("robot.avanzo_adelante", ANY) ;
+ t1.datos_iniciales.add ("robot.avanzo_atras", ANY) ;
+ t1.datos_iniciales.add ("robot.avanzo_derecha", ANY) ;
+ t1.datos_iniciales.add ("robot.avanzo_izquierda", ANY) ;
+ t1.datos_finales.add ("robot.sensor_adelante", ANY) ;
+ t1.datos_finales.add ("robot.sensor_atras", ANY) ;
+ t1.datos_finales.add ("robot.sensor_derecha", ANY) ;
+ t1.datos_finales.add ("robot.sensor_izquierda", ANY) ;
+ t1.datos_finales.add ("robot.avanzo_adelante", 1) ;
+ t1.datos_finales.add ("robot.avanzo_atras", 0) ;
+ t1.datos_finales.add ("robot.avanzo_derecha", 0) ;
+ t1.datos_finales.add ("robot.avanzo_izquierda", 0) ;
+
+ CTeoria* pt2 = new CTeoria("Retroceder", "retroceder", 1, 1) ;
+ CTeoria& t2 = *pt2;
+ t2.datos_iniciales.add ("robot.sensor_adelante", ANY) ;
+ t2.datos_iniciales.add ("robot.sensor_atras", 0) ;
+ t2.datos_iniciales.add ("robot.sensor_derecha", ANY) ;
+ t2.datos_iniciales.add ("robot.sensor_izquierda", ANY) ;
+ t2.datos_iniciales.add ("robot.avanzo_adelante", ANY) ;
+ t2.datos_iniciales.add ("robot.avanzo_atras", ANY) ;
+ t2.datos_iniciales.add ("robot.avanzo_derecha", ANY) ;
+ t2.datos_iniciales.add ("robot.avanzo_izquierda", ANY) ;
+ t2.datos_finales.add ("robot.sensor_adelante", ANY) ;
+ t2.datos_finales.add ("robot.sensor_atras", ANY) ;
+ t2.datos_finales.add ("robot.sensor_derecha", ANY) ;
+ t2.datos_finales.add ("robot.sensor_izquierda", ANY) ;
+ t2.datos_finales.add ("robot.avanzo_adelante", 0) ;
+ t2.datos_finales.add ("robot.avanzo_atras", 1) ;
+ t2.datos_finales.add ("robot.avanzo_derecha", 0) ;
+ t2.datos_finales.add ("robot.avanzo_izquierda", 0) ;
+
+
+ CTeoria* pt3 = new CTeoria("Derecha", "derecha", 1, 1) ;
+ CTeoria& t3 = *pt3;
+ t3.datos_iniciales.add ("robot.sensor_adelante", ANY) ;
+ t3.datos_iniciales.add ("robot.sensor_atras", ANY) ;
+ t3.datos_iniciales.add ("robot.sensor_derecha", 0) ;
+ t3.datos_iniciales.add ("robot.sensor_izquierda", ANY) ;
+ t3.datos_iniciales.add ("robot.avanzo_adelante", ANY) ;
+ t3.datos_iniciales.add ("robot.avanzo_atras", ANY) ;
+ t3.datos_iniciales.add ("robot.avanzo_derecha", ANY) ;
+ t3.datos_iniciales.add ("robot.avanzo_izquierda", ANY) ;
+ t3.datos_finales.add ("robot.sensor_adelante", ANY) ;
+ t3.datos_finales.add ("robot.sensor_atras", ANY) ;
+ t3.datos_finales.add ("robot.sensor_derecha", ANY) ;
+ t3.datos_finales.add ("robot.sensor_izquierda", ANY) ;
+ t3.datos_finales.add ("robot.avanzo_adelante", 0) ;
+ t3.datos_finales.add ("robot.avanzo_atras", 0) ;
+ t3.datos_finales.add ("robot.avanzo_derecha", 1) ;
+ t3.datos_finales.add ("robot.avanzo_izquierda", 0) ;
+
+
+ CTeoria* pt4 = new CTeoria("Eludir.1", "derecha", 1, 1) ;
+ CTeoria& t4 = *pt4;
+ t4.datos_iniciales.add ("robot.sensor_adelante", 1) ;
+ t4.datos_iniciales.add ("robot.sensor_atras", ANY) ;
+ t4.datos_iniciales.add ("robot.sensor_derecha", 0) ;
+ t4.datos_iniciales.add ("robot.sensor_izquierda", ANY) ;
+ t4.datos_iniciales.add ("robot.avanzo_adelante", ANY) ;
+ t4.datos_iniciales.add ("robot.avanzo_atras", ANY) ;
+ t4.datos_iniciales.add ("robot.avanzo_derecha", ANY) ;
+ t4.datos_iniciales.add ("robot.avanzo_izquierda", ANY) ;
+ t4.datos_finales.add ("robot.sensor_adelante", 0) ;
+ t4.datos_finales.add ("robot.sensor_atras", ANY) ;
+ t4.datos_finales.add ("robot.sensor_derecha", ANY) ;
+ t4.datos_finales.add ("robot.sensor_izquierda", ANY) ;
+ t4.datos_finales.add ("robot.avanzo_adelante", 0) ;
+ t4.datos_finales.add ("robot.avanzo_atras", ANY) ;
+ t4.datos_finales.add ("robot.avanzo_derecha", 1) ;
+ t4.datos_finales.add ("robot.avanzo_izquierda", ANY) ;
+
+
+ a.teorias.add(t1.nombre, pt1) ;
+ a.teorias.add(t2.nombre, pt2) ;
+ a.teorias.add(t3.nombre, pt3) ;
+ a.teorias.add(t4.nombre, pt4) ;
+#ifdef DEBUG
+ std::cout << "Agrega teoria: " << t1 << "\n";
+ std::cout << "\tdatos_iniciales:\n" << t1.datos_iniciales << "\n";
+ std::cout << "\tdatos_finales:\n" << t1.datos_finales << "\n";
+ std::cout << "Agrega teoria: " << t2 << "\n";
+ std::cout << "\tdatos_iniciales:\n" << t2.datos_iniciales << "\n";
+ std::cout << "\tdatos_finales:\n" << t2.datos_finales << "\n";
+ std::cout << "Agrega teoria: " << t3 << "\n";
+ std::cout << "\tdatos_iniciales:\n" << t3.datos_iniciales << "\n";
+ std::cout << "\tdatos_finales:\n" << t3.datos_finales << "\n";
+ std::cout << "Agrega teoria: " << t4 << "\n";
+ std::cout << "\tdatos_iniciales:\n" << t4.datos_iniciales << "\n";
+ std::cout << "\tdatos_finales:\n" << t4.datos_finales << "\n";
+#endif // DEBUG