Las tareas que requiere la misión deben permitir al robot recolectar objetos y reportar la...
-
Upload
chica-de-noia -
Category
Documents
-
view
221 -
download
0
Transcript of Las tareas que requiere la misión deben permitir al robot recolectar objetos y reportar la...
![Page 1: Las tareas que requiere la misión deben permitir al robot recolectar objetos y reportar la actividad actual. Recolectar Objetos La tarea de recolectar.](https://reader036.fdocuments.es/reader036/viewer/2022062322/5665b4721a28abb57c918571/html5/thumbnails/1.jpg)
Las tareas que requiere la misión deben permitir al robot recolectar objetos y reportar la actividad actual.
Recolectar Objetos
La tarea de recolectar objetos coloca al robot en un entorno junto con varios objetos que debe encontrar y transportar hacia un determinado lugar. Este problema es estudiado en varios trabajos basándose en el comportamiento que ciertos insectos muestran al encontrar comida y transportarla a su nido u hogar (home) [Kube1992, Kube1993, Mataric1994, Mataric1995, Mataric1997, Mataric1998, Werger1999]. También se ha estudiado por su similitud con tareas de recolección de rocas en planetas desconocidos [Brooks1989] o aplicaciones de limpieza [Parker1998, Jung1999].
Caso de estudio: recolección
Gonzalo Tejera, INCO, Universidad de la República del Uruguay
![Page 2: Las tareas que requiere la misión deben permitir al robot recolectar objetos y reportar la actividad actual. Recolectar Objetos La tarea de recolectar.](https://reader036.fdocuments.es/reader036/viewer/2022062322/5665b4721a28abb57c918571/html5/thumbnails/2.jpg)
El comportamiento de recolectar objetos se implementó a partir de varios comportamientos reactivos muy simples. Estos comportamientos utilizan reglas que evalúan los sensores y
determinan la potencia de los actuadores.
El comportamiento que recolecta objetos se basa en una máquina de estados, donde el estado indica el comportamiento activo y las transiciones se indican como predicados sobre los sensores. El comportamiento activo es
elegido para interactuar con el entorno.
![Page 3: Las tareas que requiere la misión deben permitir al robot recolectar objetos y reportar la actividad actual. Recolectar Objetos La tarea de recolectar.](https://reader036.fdocuments.es/reader036/viewer/2022062322/5665b4721a28abb57c918571/html5/thumbnails/3.jpg)
Comportamientos simples:
IrPorComida,
ExplorarZona,
RodearHorario,
RodearAntiHorarios,
MirarAlHome,
Empujar y
EvitarObstaculos.
Los predicados:
veoAlgo,
enZonaComida,
cercaDelHome,
fueraDeRumbo,
homeALaIzquierda,
comidaLaIzquierda,
comidaLaDerecha,
miroAlHome y
perpendicularAlHome.
![Page 4: Las tareas que requiere la misión deben permitir al robot recolectar objetos y reportar la actividad actual. Recolectar Objetos La tarea de recolectar.](https://reader036.fdocuments.es/reader036/viewer/2022062322/5665b4721a28abb57c918571/html5/thumbnails/4.jpg)
![Page 5: Las tareas que requiere la misión deben permitir al robot recolectar objetos y reportar la actividad actual. Recolectar Objetos La tarea de recolectar.](https://reader036.fdocuments.es/reader036/viewer/2022062322/5665b4721a28abb57c918571/html5/thumbnails/5.jpg)
El comportamiento recolectar objetos obtiene de los sensores la siguiente información:
valor de sensores infrarrojos del robot Khepera,
posición y dirección del robot Khepera en el mundo,
posición de los objetos (centro de la zona de recolección) y
posición del home,
y debe controlar en todo momento los dos motores del robot.
![Page 6: Las tareas que requiere la misión deben permitir al robot recolectar objetos y reportar la actividad actual. Recolectar Objetos La tarea de recolectar.](https://reader036.fdocuments.es/reader036/viewer/2022062322/5665b4721a28abb57c918571/html5/thumbnails/6.jpg)
Predicado veoAlgo
. ( ) _( )
true i sensoresKhepera i UMBRAL RUIDOveoAlgo sensoresKhepera
false en otro caso
Predicado enZonaComida
( , )
( ( , ) _ )
enZonaAlimento posRobot posAlimento
distancia posRobot posAlimento CERCA ALIMENTO
Predicado cercaDelHome
( , )
( ( , ) _ )
cercaDelHome posRobot posHome
distancia posRobot posHome CERCA HOME
![Page 7: Las tareas que requiere la misión deben permitir al robot recolectar objetos y reportar la actividad actual. Recolectar Objetos La tarea de recolectar.](https://reader036.fdocuments.es/reader036/viewer/2022062322/5665b4721a28abb57c918571/html5/thumbnails/7.jpg)
Predicado fueraDeRumbo
( , , )
( ( , , ) _ )
( ( ,
alineado puntoAlinear posRobot dirRobot
anguloEntre puntoAlinear posRobot dirRobot DIF ANGULO
anguloEntre puntoAlinear
, ) _ )posRobot dirRobot DIF ANGULO
( , , ) ( , , )fueraDeRumbo posHome posRobot dirRobot alineado posHome posRobot dirRobot
![Page 8: Las tareas que requiere la misión deben permitir al robot recolectar objetos y reportar la actividad actual. Recolectar Objetos La tarea de recolectar.](https://reader036.fdocuments.es/reader036/viewer/2022062322/5665b4721a28abb57c918571/html5/thumbnails/8.jpg)
darAccion(in double sensoresIR[8], out double actuadores[2])
const double pesos[2][8]begin for iterAct=0 to 1 actuadores[iterAct]=pesos[iterAct][0] for iterSens=0 to 7 do actuadores[iterAct] + = sensores[iterSens]*pesos[iterAct][iterSens] end endend
Comportamiento EvitarObstáculos
![Page 9: Las tareas que requiere la misión deben permitir al robot recolectar objetos y reportar la actividad actual. Recolectar Objetos La tarea de recolectar.](https://reader036.fdocuments.es/reader036/viewer/2022062322/5665b4721a28abb57c918571/html5/thumbnails/9.jpg)
darAccion(in double posRobot[2],in double dirRobot,
in posMirar, out double actuadores[2])
const double ERR_ANGULO, VEL_GIRO, VEL_DETENIDObegin if abs(anguloEntre(posMirar,posRobot,dirRobot))>ERR_ANGULO actuadores[0]=VEL_DETENIDO+VEL_GIRO actuadores[1]=VEL_DETENIDO-VEL_GIRO else actuadores[0]=VEL_DETENIDO actuadores[1]=VEL_DETENIDO endend
Comportamiento MirarA
![Page 10: Las tareas que requiere la misión deben permitir al robot recolectar objetos y reportar la actividad actual. Recolectar Objetos La tarea de recolectar.](https://reader036.fdocuments.es/reader036/viewer/2022062322/5665b4721a28abb57c918571/html5/thumbnails/10.jpg)
Comportamiento IrPorComida
![Page 11: Las tareas que requiere la misión deben permitir al robot recolectar objetos y reportar la actividad actual. Recolectar Objetos La tarea de recolectar.](https://reader036.fdocuments.es/reader036/viewer/2022062322/5665b4721a28abb57c918571/html5/thumbnails/11.jpg)
Comportamiento RodearHorario
darAccion(in double sensoresIR[8], out double actuadores[2])
const double VEL_IZQ_DOBLAR_IZQ, VEL_DER_DOBLAR_IZQ, VEL_IZQ_DOBLAR_DER, VEL_DER_DOBLAR_DER, VEL_IZQ_GIRAR, VEL_DER_GIRAR, VEL_AVANCE const double DEBO_ABRIRME, MIN_DEBO_CERRARME, MAX_DEBO_CERRARMEbegin if (sensoresIR[4]>DEBO_ABRIRME) actuadores[0] = VEL_IZQ_DOBLAR_IZQ actuadores[1] = VEL_DER_DOBLAR_IZQ else if (sensoresIR [5]<MAX_DEBO_CERRARME)&& (sensoresIR [5]>MIN_DEBO_CERRARME) actuadores[0] = VEL_IZQ_DOBLAR_DER actuadores[1] = VEL_DER_DOBLAR_DER else if (sensoresIR [5]<=MIN_DEBO_CERRARME) actuadores[0] = VEL_IZQ_GIRAR actuadores[1] = VEL_DER_GIRAR else actuadores[0] = VEL_AVANCE actuadores[1] = VEL_AVANCE endend
![Page 12: Las tareas que requiere la misión deben permitir al robot recolectar objetos y reportar la actividad actual. Recolectar Objetos La tarea de recolectar.](https://reader036.fdocuments.es/reader036/viewer/2022062322/5665b4721a28abb57c918571/html5/thumbnails/12.jpg)
Comportamiento Empujar
darAccion(in double sensoresIR[8], out double actuadores[2])
const double VEL_AVANCE, AJUSTE, UMBRAL_DERECHObegin if (sensoresIR[2] + sensoresIR[3])>UMBRAL_DERECHO) actuadores[0] = VEL_AVANCE actuadores[1] = VEL_AVANCE else if (sensoresIR[2] < sensoresIR[3]) actuadores[0] = VEL_AVANCE actuadores[1] = VEL_AVANCE+AJUSTE else actuadores[0] = VEL_AVANCE+AJUSTE actuadores[1] = VEL_AVANCE endend
![Page 13: Las tareas que requiere la misión deben permitir al robot recolectar objetos y reportar la actividad actual. Recolectar Objetos La tarea de recolectar.](https://reader036.fdocuments.es/reader036/viewer/2022062322/5665b4721a28abb57c918571/html5/thumbnails/13.jpg)
![Page 14: Las tareas que requiere la misión deben permitir al robot recolectar objetos y reportar la actividad actual. Recolectar Objetos La tarea de recolectar.](https://reader036.fdocuments.es/reader036/viewer/2022062322/5665b4721a28abb57c918571/html5/thumbnails/14.jpg)
![Page 15: Las tareas que requiere la misión deben permitir al robot recolectar objetos y reportar la actividad actual. Recolectar Objetos La tarea de recolectar.](https://reader036.fdocuments.es/reader036/viewer/2022062322/5665b4721a28abb57c918571/html5/thumbnails/15.jpg)