X-Git-Url: https://git.llucax.com/z.facultad/75.68/celdas.git/blobdiff_plain/02829c0a943fc03f7b6c85d18d2d210395f05086..651df9d4bd2ec484ec71c80d7dd2165d7cf4290e:/trunk/src/main.cpp diff --git a/trunk/src/main.cpp b/trunk/src/main.cpp index 3076aa1..ea0826e 100644 --- a/trunk/src/main.cpp +++ b/trunk/src/main.cpp @@ -5,6 +5,16 @@ // void CMiEntorno::inicializar() { + // Inicializo el Entorno + datos.add("robot.sensor_adelante", 1) ; + datos.add("robot.sensor_atras", 0) ; + datos.add("robot.sensor_derecha", 0) ; + datos.add("robot.sensor_izquierda", 0) ; + datos.add("robot.avanzo_adelante", 0) ; + datos.add("robot.avanzo_atras", 0) ; + datos.add("robot.avanzo_derecha", 0) ; + datos.add("robot.avanzo_izquierda", 0) ; +/* // Inicializo el Entorno datos.add("robot.avanzo_en_x", 0) ; // old datos.add("robot.avanzo_en_y", 0) ; @@ -14,11 +24,22 @@ void CMiEntorno::inicializar() datos.add("robot.sensor_2", 0) ; datos.add("robot.sensor_3", 0) ; datos.add("robot.sensor_4", 0) ; // new +*/ } void CMiEntorno::actualizar() { + datos.find("robot.avanzo_adelante") = 0 ; + datos.find("robot.avanzo_atras") = 0 ; + datos.find("robot.avanzo_derecha") = 0 ; + datos.find("robot.avanzo_izquierda") = 0 ; + datos.find("robot.sensor_adelante") = 0 ; + datos.find("robot.sensor_atras") = 0 ; + datos.find("robot.sensor_derecha") = 0 ; + datos.find("robot.sensor_izquierda") = 0 ; + +/* datos.find("robot.sensor_1") = sensor_1 ; datos.find("robot.sensor_2") = sensor_2 ; datos.find("robot.sensor_3") = sensor_3 ; @@ -27,7 +48,7 @@ void CMiEntorno::actualizar() datos.find("robot.avanzo_en_x") = avanzo_en_x?1:0 ; datos.find("robot.avanzo_en_y") = avanzo_en_y?1:0 ; datos.find("robot.avanzo_en_z") = avanzo_en_z?1:0 ; - +*/ } @@ -87,6 +108,7 @@ int main(int argc, char* argv[]) t3.datos_finales.add ("robot.sensor_3", ANY) ; */ +/* // Inicializo las teorias CTeoria t1("Avanzar_X_1", "AvanzarX", 1, 1) ; t1.datos_iniciales.add ("robot.sensor_1", ANY) ; @@ -113,6 +135,7 @@ int main(int argc, char* argv[]) t2.datos_finales.add ("robot.sensor_3", ANY) ; t2.datos_finales.add ("robot.sensor_4", ANY) ; + a.teorias.add(t1.nombre.c_str(), t1) ; a.teorias.add(t2.nombre.c_str(), t2) ; // OLD a.teorias.add(t3.nombre.c_str(), t3) ; @@ -125,38 +148,136 @@ int main(int argc, char* argv[]) std::cout << " .datos_finales:\n" << t2.datos_finales << "\n"; #endif // DEBUG - +*/ + + // Inicializo las teorias + CTeoria t1("Avanzar", "avanzar", 1, 1) ; + 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 t2("Retroceder", "retroceder", 1, 1) ; + 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 t3("Derecha", "derecha", 1, 1) ; + 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 t4("Eludir.1", "derecha", 1, 1) ; + 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, &t1) ; + a.teorias.add(t2.nombre, &t2) ; + a.teorias.add(t3.nombre, &t3) ; + a.teorias.add(t4.nombre, &t4) ; +#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 + // Inicializo el SA delete a.p_entorno; a.p_entorno = e; - // Obtengo un plan CIndiceMagico datos_finales; - a.m_datos_finales.add ("robot.avanzo_en_x", 1) ; - a.plan(); - for (unsigned i=0; idatos, datos_finales, plan, p) ; + for (int i = 0; i < 3; ++i) + { -// for (unsigned i=0; i