ROS Package: duckietown_protocols¶
The duckietown_protocols package contains all the protocols that are needed for multi-robot interaction. For example,
they match a semantic meaning to the different patterns of colors and blinking of LEDs. For the multi-robot system to
work is important that every robot and every container inside each robot uses the same set of protocols (i.e. same
version of dt-ros-commons.
Protocols¶
LED protocol¶
It defines three main points: the intensity to be used by LEDs, the channel ordering (channel_order) of each type of robot (using LEDs)
and the actual LED_protocol. The latter has a dict of colors defined as [R,G,B] triplets, where each entry ranges from
0 to 1. This triplets are then reordered using the channel_order dependant on the robot type. The LED_protocol also
specifies a set of fixed frequencies (Nyquist frequency). Afterwards a set of signals is defined, in which
each signal name has:
color_mask: specifies to which LEDs to modify the colorcolor_list: specifies which color should each LED have (one value means all of them)frequency_mask: in case of blinking LEDs, specifies which ones should blinkfrequency: pointer to the predefined frequencies, assigning one to each signal