Skip to content

Commit

Permalink
Starts report project part 2 chapter
Browse files Browse the repository at this point in the history
  • Loading branch information
franciscoengenheiro committed Apr 23, 2024
1 parent 0b4ac45 commit 79c2d78
Show file tree
Hide file tree
Showing 9 changed files with 66 additions and 14 deletions.
5 changes: 2 additions & 3 deletions iasa49428/iasa_agente/src/lib/ecr/estimulo.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,11 @@
class Estimulo(ABC):

"""
Define a informação que é extraída de uma percepção, de forma a ser utilizada na ativação de comportamentos. Vários estimulos podem ser ativados por uma única percepção.
Define a informação que é extraída de uma percepção, de forma a ser utilizada na ativação de respostas. Vários estimulos podem ser ativados por uma única percepção.
"""

@abstractmethod
def detectar(self, percepcao):
"""
A deteção de um estimulo consiste em extraír informação relevante de uma percepção (e.g., intensidade).
"""

Binary file added report/figures/agente-prospetor.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added report/figures/agente-reativo-comportamento.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified report/out/main.pdf
Binary file not shown.
7 changes: 7 additions & 0 deletions report/src/bibliography.bib
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,13 @@ @misc{isel:iasa:slides:intro-eng-soft-parte-3
note = "[Online; accessed April 23, 2024]",
}

@misc{isel:iasa:slides:arq-agentes-reativos-parte-1,
author = "{Luis Morgado}",
title = "{Arquitetura de Agentes Reativos - Parte 1}",
year = {2024},
note = "[Online; accessed April 23, 2024]",
}

@article{freecodecamp:state-machines,
author = "{Eddie Jaoude}",
title = "{State Machines: Basics of Computer Science}",
Expand Down
2 changes: 1 addition & 1 deletion report/src/chapters/02_context.tex
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ \section{Arquiteturas de Agente}\label{sec:arquiteturas-agente}

\begin{itemize}
\item \textbf{Reativo}: Associado a um paradigma comportamental, é caracterizado por associações diretas entre perceções e ações.
A finalidade deste modelo é a concretização de objetivos implícitos, presentes nas associacões estímulo-resposta;
A finalidade deste modelo é a concretização de objetivos implícitos, presentes nas associacões estímulo-resposta (i.e., as ações são diretamente ativadas em função das perceções);
\item \textbf{Deliberativo}: Associado a um paradigma simbólico, é caracterizado pela existência de um módulo de deliberação que se situa entre a perceção e a ação.
É neste módulo que ocorre o raciocínio e a tomada de decisão, com base em objetivos explícitos;
\item \textbf{Híbrido}: Combinação dos modelos reativo e deliberativo, com o objetivo de tirar partido das vantagens que cada um oferece.
Expand Down
2 changes: 1 addition & 1 deletion report/src/chapters/03_project-part1.tex
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ \chapter{Projeto - Parte 1} \label{ch:projeto-parte1}

Para tal, foi necessário definir uma arquitetura de software que permitisse a implementação dos diferentes subsistemas de forma independente e modular, seguindo as diretrizes (i.e., métricas (ver secção~~\ref{subsec:metricas}) e princípios (ver secção~\ref{subsec:principios})) que garantem a qualidade da arquitetura.

Associado à elaboração da arquitetura de software, foi necessário definir um processo de desenvolvimento de software (ver secção~\ref{sec:processo-de-desenvolvimento-de-software}) que permitisse a implementação dos diferentes subsistemas de forma progressiva, através de diferentes níveis de abstracção (i.e., modelo, arquitetura e implementação).
Associado à elaboração da arquitetura de software, foi definido um processo de desenvolvimento de software (ver secção~\ref{sec:processo-de-desenvolvimento-de-software}) que permitisse a implementação dos diferentes subsistemas de forma progressiva, através de diferentes níveis de abstracção (i.e., modelo, arquitetura e implementação).

A implementação da biblioteca foi feita com base na consulta e compressão de diagramas UML e de sequência de forma a garantir a correta implementação dos diferentes subsistemas.

Expand Down
64 changes: 55 additions & 9 deletions report/src/chapters/04_project-part2.tex
Original file line number Diff line number Diff line change
@@ -1,13 +1,59 @@
\chapter{Projecto - Parte 2}\label{ch:projeto-parte2}

Este é o capítulo de testes.
É possível forçar a inclusão de todas as referências com~\cite{*}.
Nesta fase do projeto, o objetivo foi criar um sistema autónomo inteligente capaz de se movimentar num espaço com dimensões fixas onde existem obstáculos e alvos.
A finalidade do agente prospetor é recolher os alvos e evitar os obstáculos presentes no ambiente (ver figura~\ref{fig:agente-prospetor}).

Modo de matemática em texto $x = ma^2$ e em equação (duas formas):
\[
x = ma^2
\]
\begin{figure}[H]
\label{fig:agente-prospetor}
\begin{center}
\resizebox{100mm}{!}{\includegraphics{../figures/agente-prospetor}}
\end{center}
\caption{Representação visual desta fase do projeto.}
\end{figure}

\begin{equation}
x = ma^2
\end{equation}
\section{Agentes Reativos}\label{sec:agentes-reativos}

Na secção da arquitetura de agentes (ver secção~\ref{sec:arquiteturas-agente}), foi referido que uma arquitetura reativa é caracterizada pela associação direta entre a perceções e ações.

Inerente a esta arquitetura, está o conceito de mecanismo de reação.
Este mecanismo apresenta os seguintes componentes:

\begin{itemize}
\item \textbf{Estímulo}: Define a informação que é extraída de uma percepção, de forma a ser utilizada na ativação de uma resposta.
Vários estímulos podem ser ativados por uma única perceção.
Estão regularmente associados a um parâmetro de intensidade.
\item \textbf{Resposta}: Representa a geração de uma resposta a estímulos, inerentemente ligada a uma ação a ser executada e à sua respetiva prioridade.
Além de poder ser ativada por um estímulo, uma resposta pode ser ativada diretamente por uma percepção, de forma a garantir restrições de ativação (guardas) se necessário.
\item \textbf{Reação}: Associa estímulos a respostas.
\end{itemize}

Um agente reativo é composto por um conjunto de reações, que devem ser organizadas de forma modular em módulos comportamentais designados por comportamentos.
Isto permite as reações internas do agente sejam encapsuladas, facilitando a sua manutenção e escalabilidade.

Um comportamento (ver figura~\ref{fig:agente-reativo-comportamento}) define um módulo comportamental associado a um agente reativo. Encapsula um conjunto de reações relacionadas entre si, possivelmente com uma sequência temporal, de forma a atingir um ou ou mais objetivos (e.g., evitar obstáculos, recolher alvos, etc). Associado a um objetivo podem existir sub-objetivos.

\begin{figure}[H]
\label{fig:agente-reativo-comportamento}
\begin{center}
\resizebox{100mm}{!}{\includegraphics{../figures/agente-reativo-comportamento}}
\end{center}
\caption{Módulo comportamental de um agente reativo.
Retirado de~\cite{isel:iasa:slides:arq-agentes-reativos-parte-1}.}
\end{figure}

Tipos de Comportamento:

\begin{itemize}
\item \textbf{Comportamento Fixo}: Caracterizado por ter uma resposta fixa, pois gera uma ação em permanência;
\item \textbf{Comportamento Simples}: Reação;
\item \textbf{Comportamento Composto}: Agrega sub-comportamentos, ao qual está associado um mecanismo de seleção de ação de forma a determinar a ação a realizar em função das respostas dos mesmos).
\end{itemize}

Visto que, em comportamentos compostos, uma perceção pode ativar várias múltiplas reacções, as quais geram diferentes ações, é necessário definir mecanismos aos quais estão associados políticas de seleção de ação:

%\begin{itemize}
TODO

\section{Biblioteca ECR}\label{sec:biblioteca-ecr}

TODO

0 comments on commit 79c2d78

Please sign in to comment.