Described is a human-machine interface which guarantees the real-time control of a binocular robotic head. Furthermore, a stereo video streaming transmission with low latency is presented.
This hands-free interface is implemented exclusively with open source software on a Linux-based Real-time Operating System. The control and video architecture satisﬁes also the demands of recent sophisticated tele robotics for ﬂexibility and expandability.
The functions of the stereo vision system are separated into video streaming and motion control and are both implemented with the use of two host computers. The ﬁrst host computer is called Mobile Mechatronic Unit (MMU), and is placed on the mobile platform where the stereo vision head is operating. The second host computer comprises the Mobile Control Unit (MCU) which is placed on the remote control center. There, the remote operator wears the HMD with the attached headtracker.
The demand for high multimedia performance and real-time motion control is realized by a computer structure consisting of two high performance computers with RT-Linux operating system for the MMU and MCU host computers.
However, the two main tasks of the video streaming and the motion control are performed in different kernel layers due to their different requirements.
The RT-Linux operating system was chosen in order to ensure that the different operation and communications loops occur at deterministic rates, and that safety critical tasks are performed reliably.
The two host computers are connected together with a wireless high speed network. The communication protocol between the computers uses a higher level abstraction, built on top of sockets, meeting the requirements for low latency and priority handling.
In order to assess the effect of the operating system latency, an I/O stress test was run as a competing background load while running the control commands.
With this background running, a thread fetched the CPU clock-count and issued a control command, which caused the interrupt; triggered by the interrupt, an interrupt handler (another thread) got the CPU clock-count again and cleared the interrupt.
Iterating the above steps, the latency, the difference of the two clock-count values, was measured. On standard Linux kernel, the maximum latency was more than 400 msec, with a large variance in the measures. In the stereo vision system implementation in RT-Linux kernel the latency was signiﬁcantly lower with maximum latency less than 30msec and very low variation.
To read this external content in full, download the paper from the author archive. http://cdn.intechweb.org/pdfs/10557.pdf