Table of Contents
Yarp
https://github.com/robotology/yarp/releases
Questa pagina introduce solo gli elementi di Yarp server usati dal software client iSpike
iSpike utilizza un protocollo testuale per comunicare con Yarp
http://wiki.icub.org/yarpdoc/yarp_without_yarp.html
This is a YARP port. Here are the commands it responds to: * Gives a description of this port d Signals the beginning of input for the port's owner do The same as "d" except replies should be suppressed ("data-only") q Disconnects i Interrupt parent process (unix only) r Reverse connection type to be a reader /port Requests to send output to /port !/port Requests to stop sending output to /port ~/port Requests to stop receiving input from /port a Signals the beginning of an administrative message ? Gives this help
Nota: il nome del canale /port non è un numero di una porta di rete (end-point) ma ad ogni canale /port corrisponde una certa porta di rete.
Yarp utilizza il modello client/server. Il server è un server dei nomi di canali. (name server)
Yarp name server utilizza la porta 10000 da cui si possono ricevere e inviare i comandi per i diversi assi dei controller dei diversi motori. Oppure si può usare una diversa porta per comunicare con il proprietario del canale di comunicazione del singolo motore.
Lato server
creare un canale di comunicazione (port) /root
$ yarp server
Creare un canale dove attende comandi
yarp read /read
Lato client
(telnet)
$ CONNECT foo $ yarp name list
registration name /motor/command:i ip 127.0.0.1 port 10032 type tcp
$ yarp name query /write
registration name /write ip 127.0.0.1 port 10012 type tcp *** end of message
d
r
q