Concetti base

Concetti base

Questa pagina presenta concetti importanti da comprendere quando si legge la documentazione di Aseba.

Aseba

Tecnicamente, Aseba è una architettura basata su eventi per il controllo distribuito, in tempo reale di robot mobili. E' arientata a robot multi processore o gruppi di unità monoprocessore, reaeli o simulate. Il cuore di aseba è una macchina virtuale leggera, piccola a sufficienza per girare su microcontrollori. Con Aseba programmiamo i robot con un linguaggio semplice per l'utente utilizzando un ambiente di sviluppo del codice integrato e confortevole.

Nodi

In Aseba, ci possono essere diversi robot o robot con unità centrali di processamento multiple in esecuzione sulla stessa rete.
Questa rete può essere software (TCP), hardware (CAN), o un misto di entrambe. Ciascun processore nella rete esegue una piccola macchina virtuale ed è chiamato nodo. Ciascun nodo ha il suo proprio tab in Aseba Studio, consentendo di programmare indipendentemente ciascun nodo, ma con possibili interazioni attraverso gli eventi.

Eventi

Aseba è un ambiente di programmazione ad eventi, il che significa che gli eventi scatenano l'esecuzione del codice ad essi associato in maniera totalmente asincrona. Gli eventi hanno un identificatore e un "carico utile" opzionale (informazioni associate all'evento che possono essere lette dal codice). I nodi Aseba possono scambiare eventi e questi possono essere di due tipi.

  • Gli eventi che i nodi Aseba scambiano nella rete Aseba sono chiamati eventi globali.
  • Gli eventi che sono interni ad un nodo sono chiamati eventi locali. Un esempio di eventi locali sono quelli emessi da un sensore che fornisce un aggiornamento sui dati.

Se è stato definito del codice in grado di gestire un evento, questo viene eseguito quando il corrispondente evento viene riconosciuto.
Il codice può anche emettere eventi, che possono scatenare l'esecuzione di codice di un altro nodo o abilitare la comunicazione verso un programma esterno. Per avviare l'esecuzione del codice relativo quando viene emesso un evento, gli script non devono essere bloccanti e quindi non devono contenere loop infiniti.Per esempio nel contesto della robotica là dove tradizionalmente il programma di controllo avrebbe eseguito un qualche processamento all'interno di un loop infinito, uno script Aseba esegue il processamento all'interno del codice legato a un evento generato da un sensore.

Cosa leggere ora?

Potreste essere interessati a leggere:

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License