CCA Oncilla

The class CCAOncilla sets up the oncilla resource nodes, the synchronizer and a proper default configuration, either local or remote (see below).

The interface opens a number of input ports to receive commands as well as output ports to send its current status.

Input ports to send commands to (currently eight ports, all JointAngles):

/oncilla/cmd/pos/lf/l1 (receiving a joint angle command for the L1 joint of the left fore leg)
/oncilla/cmd/pos/rf/l1 (receiving a joint angle command for the L1 joint of the right fore leg)
/oncilla/cmd/pos/lh/l1 (receiving a joint angle command for the L1 joint of the left hind leg)
...
/oncilla/cmd/pos/lf/l2 (receiving a joint angle command for the L2 joint of the left fore leg)
...

Output ports, that send the current robot status (currently eight ports, all JointAngles):

/oncilla/status/pos/lf/l1 (current joint angle of the L1 joint of the left fore leg)
/oncilla/status/pos/rf/l1 (current joint angle of the L1 joint of the right fore leg)
/oncilla/status/pos/lh/l1 (current joint angle of the L1 joint of the left hind leg)
...
/oncilla/status/pos/lf/l2 (current joint angle of the L2 joint of the left fore leg)
...

Local Interface

A local interface can be set up with:

// A 2 ms beat
BeatPtr heartbeat = PeriodicBeat::create(2); // 2 ms
// Instantiate the Oncilla representation in CCA
CCAOncilla oncilla = CCAOncilla(heartbeat, PortConfiguration::CCALocal);

An example for setting up and using the local interface can be found at Simple Sine Movement Component.

Remote Interface

A remote interface can be set up with:

// A 2 ms beat
BeatPtr heartbeat = PeriodicBeat::create(2); // 2 ms
// Instantiate the Oncilla representation in CCA
CCAOncilla oncilla = CCAOncilla(heartbeat, PortConfiguration::CCARemote);

To reduce the amount of data packages sent remotely over the network, it is recommended to use CCA Collectors and Splitters. An example for setting up and using the remote interface accordingly can be found at Simple Sine Movement in Python.

Table Of Contents

This Page