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.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) ;
- // old datos.add("robot.avanzo_en_z", 0) ;
-
- datos.add("robot.sensor_1", 0) ;
- datos.add("robot.sensor_2", 0) ;
- datos.add("robot.sensor_3", 0) ;
- datos.add("robot.sensor_4", 0) ; // new
-*/
+ datos.add("robot.avanzo_izquierda", 0) ;
}
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 ;
- datos.find("robot.sensor_4") = 20 ; // new
-
- 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 ;
-*/
-
+ datos.set_val("robot.sensor_adelante", 0) ;
+ datos.set_val("robot.sensor_atras", 0) ;
+ datos.set_val("robot.sensor_derecha", 0) ;
+ datos.set_val("robot.sensor_izquierda", 1) ;
+ datos.set_val("robot.avanzo_adelante", 1) ;
+ datos.set_val("robot.avanzo_atras", 0) ;
+ datos.set_val("robot.avanzo_derecha", 0) ;
+ datos.set_val("robot.avanzo_izquierda", 0) ;
}
e->inicializar() ;
-/* OLD
- // Inicializo las teorias
- 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) ;
-*/
-
-/*
- // Inicializo las teorias
- CTeoria t1("Avanzar_X_1", "AvanzarX", 1, 1) ;
- t1.datos_iniciales.add ("robot.sensor_1", ANY) ;
- t1.datos_iniciales.add ("robot.sensor_2", ANY) ;
- t1.datos_iniciales.add ("robot.sensor_3", ANY) ;
- t1.datos_iniciales.add ("robot.sensor_4", ANY) ;
- t1.datos_iniciales.add ("robot.avanzo_en_x", ANY) ;
- t1.datos_finales.add ("robot.avanzo_en_x", 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) ;
- t1.datos_finales.add ("robot.sensor_4", ANY) ;
-
- // Inicializo las teorias
- CTeoria t2("Avanzar_X_2", "AvanzarX", 1, 1) ;
- t2.datos_iniciales.add ("robot.sensor_1", ANY) ;
- t2.datos_iniciales.add ("robot.sensor_2", ANY) ;
- t2.datos_iniciales.add ("robot.sensor_3", ANY) ;
- t2.datos_iniciales.add ("robot.sensor_4", ANY) ;
- t2.datos_iniciales.add ("robot.avanzo_en_x", ANY) ;
- t2.datos_finales.add ("robot.avanzo_en_x", ANY) ;
- t2.datos_finales.add ("robot.sensor_1", ANY) ;
- t2.datos_finales.add ("robot.sensor_2", ANY) ;
- 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) ;
-#ifdef DEBUG
- std::cout << "Agrega teoria " << t1.nombre << ":\n";
- std::cout << " .datos_iniciales:\n" << t1.datos_iniciales << "\n";
- std::cout << " .datos_finales:\n" << t1.datos_finales << "\n";
- std::cout << "Agrega teoria " << t2.nombre << ":\n";
- std::cout << " .datos_iniciales:\n" << t2.datos_iniciales << "\n";
- 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) ;
a.plan();
+
while (a.has_next_theory())
{
CTeoria* t = a.get_next_theory();
+ // Deberia ejecutar accion y actualizar entorno
if (a.validate_theory(t))
{
std::cout << "Valida\n";