Skip to content

Sobre

Esse tópico aborda a framework do nosso software para o NAO. Os capítulos passam por diversos aspectos numa abordagem "de cima para baixo" com uma visão geral, depois detalhando cada parte do sistema. Aqui está uma lista dos capítulos:

  • Estrutura de diretórios: Explica a estutura de pastas do repositorio.
  • Entry Point: Inicia a abordagem top-down do sistema, explicando o ponto de entrada do programa na função main.
  • Runtime: Como a runtime faz a conexão entre os módulos do sistema?
  • Cyclers: O que são os cyclers (ciclos de execução) e como eles rodam os diferentes nós?
  • Nós: O que são os nós e como eles são implementados?
  • Bases de dados e Tipos: Como os dados são compartilhados entre cyclers e a framework?
  • Parâmetros: Como os parâmetros são passados para os nós pela framework?
  • Comunicação: Do que se trata e como é feita a comunicação entre framework e nós?
  • Interface com Hardware: Como o hardware é abstraído para a framework?
  • Comunicação entre threads: Quais conceitos existem para permitir uma comunicação thread-safe entre os subcomponentes?
  • Filtragem: Como a filtragem de dados é feita na framework e como ela se comporta num software multi-thread?
  • Macros: Quais macros são usadas para facilitar o desenvolvimento e como eles funcionam?
  • Tratamento de erros: Como a framework lida com erros e exceções, e como devo implementar?

A framework provê os principais aspectos necessários para o desenvolvimento de um software para o NAO. Ele tem uma arquitetura modular que permite facil desenvolvimento e substituição de nós. A framework consiste de quatro componentes fundamentais:

  • Runtime: Encapsula todos os subcomponentes, instanciando e inicializando eles.
  • Interface com Hardware: Abstrai o hardware do NAO, permitindo a comunicação com os sensores e atuadores.
  • Cyclers: Cicla entre os nós, processa dados do hardware e gera saídas.
  • Comunicação: Permite a comunicação entre o framework e outros recursos, como arquivos, nós e redes.

Diagrama do Framework