6.9. FlockOfBirds — Retrieving values from an Ascension Flock of Birds motion tracker

The FlockOfBirds class communicates with an Ascension Flock of Birds motion tracker (http://www.ascension-tech.com/) via the serial port and provides the sensor values of the individual birds via slots.

Note: Currently, the class assumes that an extended range controller is used! (this means the position values have to be adjusted if you use the tracker without an extended range controller)

class FlockOfBirds(name = "FlockOfBirds", com_port = 0, baud_rate = 115200, timeout = 2.0, num_birds = 1, bird_mode = "p", hemisphere = "forward", auto_insert = True)

com_port specifies which COM port to use for the communication with the flock (0-based port number).

baud_rate is the baud rate to use.

timeout specifies a time span in seconds after which a RS232 operation fails.

num_birds is the number of birds to use (including the ERC which will be bird 1).

bird_mode selects what kind of data the birds will send. It can be either a string containing the mode for all birds or it can be a list of strings to select a mode for each individual bird. In the latter case, the list must hold one string for each bird. The mode string can be one of the values in the following table:

Mode Description
"p" Send only the position.
"a" Send only euler angles.
"m" Send only a rotation matrix.
"q" Send only a quaternion.
"pa" Send position and euler angles.
"pm" Send position and matrix.
"pq" Send position and quaternion.

hemisphere specifies in which hemisphere, centered about the transmitter, the sensor will be operating (see the Flock of Birds — Installation and Operation Guide). The values can be one of "forward", "aft", "upper", "lower", "left" and "right".

For each bird, the FlockOfBirds component creates the following four slots:

  • pos<n>_slot (Vec3Slot) – Position (in cm)
  • angle<n>_slot (Vec3Slot) – Euler angles
  • matrix<n>_slot (Mat3Slot) – Rotation matrix
  • quat<n>_slot (QuatSlot) – Quaternion

where <n> is the number of the bird (1-based). Not all of the slots are active at the same time. You can select which slot should carry the corresponding value via the bird mode.


To use the FlockOfBirds component the pySerial module has to be installed on your system.

Previous topic

6.8. ODEDynamics — Rigid body dynamics using the Open Dynamics Engine

Next topic

6.10. GnuPlotter — Plot values using Gnuplot

This Page