Construit un nouvel UObject Receveur, correspondant au périphérique Receiver de Webots. Le paramètre "NodeName" correspond à la valeur du champs "Name", dans le noeud Receiver de Webots.
Retourne une variable Urbi correspondant à la donnée dans le packet en tête de la file de réception. Un receveur Urbi peut uniquement recevoir des données d'un Emetteur Urbi, car l'emetteur envoie des données correspondant à des variables Urbi. Celui ci inclu les données plus des informations sur le type des données envoyés, de manière a ce que le receveur puisse ensuite reconstruire les variables Urbi recues en lisant les données et les informations de type. Si l'emetteur Urbi est en mode données brutes ("raw mode"), le receveur ne sera pas capable de reconstruire les variables Urbi à partir des données envoyes. Veuillez vous reporter a la documentation Webots pour plus d'information sur le périphérique receveur.
Cette fonction utilise la fonction de Webots suivante:
const void *receiver_get_data (DeviceTag receiver);
Efface le packet en tete de la file de reception. Le prochain paquet sur la file (s'il y en a un) devient le nouveau paquet de tête.
Cette fonction utilise la fonction de Webots suivante:
void receiver_next_packet (DeviceTag receiver);
Permissions: lecture, écriture.
Type: float.
Domaine: {0,1}
Description: Cet attribut vous permet d'activer ou de désactiver le périphérique Receveur. Par défaut il est à 1, ce qui signifie que le Receveur est activé. Si vous lui donnez la valeur 0, il le désactivera.
Pour activer ou désactiver le périphérique nous utilisons les fonctions de Webots suivantes:
void receiver_enable (DeviceTag receiver, unsigned short ms); void receiver_disable (DeviceTag receiver);
La fréquence donnée à la fonction "enable" correspond à la fréquence du controlleur URBI (renseignée dans le champs "controllerArgs" du fichier .wbt).
Permissions: lecture, écriture.
Type: float.
Description: Canal de réception. Normalement un receveur ne peut recevoir de paquets uniquement des emetteur qui emettent sur le même canal que lui reçoit. Cependant si vous assignez la valeur -1 à "channel", alors le receveur écoutera simultanément sur tous les canaux.
Obtenu et assigné avec les fonctions de Webots suivantes:
void receiver_set_channel (DeviceTag receiver, int channel); int receiver_get_channel (DeviceTag receiver);
Permissions: lecture.
Type: float.
Description: Nombre d'octets de données dans le paquet en tête de la file de réception. Comme ce sont des variables Urbi qui sont envoyées, le receveur a besoin d'informations sur le type de la variable afin de pouvoir la reconstruire correctement. Donc la valeur de l'attribut "dataSize" est généralement plus grande que la taille de la donnée brute (puisque donc il y a: la donnée brute + les informations de type).
Obtenu avec la fonction de Webots suivante:
int receiver_get_data_size (DeviceTag receiver);
Permissions: lecture.
Type: liste de 3 float.
Description: Vecteur unitaire qui indique la direction de l'emetteur en fonction du système de coordonnées du receveur. Les trois composantes du vecteur correspondent respectivement aux composantes "x", "y" et "z" du vecteur de direction de l'emetteur.
Obtenu avec la fonction de Webots suivante:
const float *receiver_get_emitter_direction (DeviceTag receiver);
Permissions: lecture.
Type: float.
Description: Nombre de paquets de données présents dans la file de reception.
Obtenu avec la fonction de Webots suivante:
int receiver_get_queue_length (DeviceTag receiver);
Permissions: lecture.
Type: float.
Description: Force du signal au moment ou le dernier paquets a été transmit. La force du signal est égale à l'inverse du carré de la distance entre l'emetteur et le receveur. En d'autre termes: s = 1 / r^2 ou s est la force du signal et r la distance entre l'emetteur et le receveur.
Obtenu avec la fonction de Webots suivante:
float receiver_get_signal_strength (DeviceTag receiver);