An entertainment robot comprising: a plurality of transmission circuits, each transmission circuit comprising an infrared transmitter controlled by a respective data line; a plurality of infrared receivers; at least one processor to generate respective data signals for supply on each of the data lines of the infrared transmitters, each of the generated data signals for the infrared transmitters comprising a bit pattern identifying a respective one of the infrared transmitters and a bit pattern indicating a signal strength, wherein the at least processor is programmed to: receive data signals from an other entertainment robot via one or more of the plurality of infrared receivers, decode the received data signals to determine bit patterns indicating a set of signal strengths at which the received data signals were transmitted, decode the received data signals to determine bit patterns indicating a set of infrared transmitters of the other entertainment robot from which the received data signals were transmitted, and determine a distance and orientation of the other entertainment robot based on the determined bit patterns and the one or more of the plurality of infrared receivers, characterized in that each transmission circuit further comprises: a voltage-controlled current source to vary a current supplied to each infrared transmitter based on a voltage set on a power level signal line; and in that the entertainment robot further comprises: a controlled voltage source to set the voltage of the power level signal lines as one of a range of analog output voltages based on a digital control signal, wherein a value of the digital control signal is used to set the bit pattern indicating the signal strength in the generated data signals. a plurality of transmission circuits, each transmission circuit comprising an infrared transmitter controlled by a respective data line; a plurality of infrared receivers; at least one processor to generate respective data signals for supply on each of the data lines of the infrared transmitters, each of the generated data signals for the infrared transmitters comprising a bit pattern identifying a respective one of the infrared transmitters and a bit pattern indicating a signal strength, wherein the at least processor is programmed to: receive data signals from an other entertainment robot via one or more of the plurality of infrared receivers, decode the received data signals to determine bit patterns indicating a set of signal strengths at which the received data signals were transmitted, decode the received data signals to determine bit patterns indicating a set of infrared transmitters of the other entertainment robot from which the received data signals were transmitted, and determine a distance and orientation of the other entertainment robot based on the determined bit patterns and the one or more of the plurality of infrared receivers, characterized in that each transmission circuit further comprises: receive data signals from an other entertainment robot via one or more of the plurality of infrared receivers, decode the received data signals to determine bit patterns indicating a set of signal strengths at which the received data signals were transmitted, decode the received data signals to determine bit patterns indicating a set of infrared transmitters of the other entertainment robot from which the received data signals were transmitted, and determine a distance and orientation of the other entertainment robot based on the determined bit patterns and the one or more of the plurality of infrared receivers, characterized in that each transmission circuit further comprises: a voltage-controlled current source to vary a current supplied to each infrared transmitter based on a voltage set on a power level signal line; and in that the entertainment robot further comprises: a controlled voltage source to set the voltage of the power level signal lines as one of a range of analog output voltages based on a digital control signal, wherein a value of the digital control signal is used to set the bit pattern indicating the signal strength in the generated data signals.