by Rolf Adelsberger and Gerhard Tröster
We present our wireless solution to device synchronization, control and real-time feedback for small and light-weight Inertial Measurement Units, (IMUs). The controller is implemented on a smartphone. We base a custom application layer on the protocol layer implemented on a low-power radio chip by ANT+TM. Our system is capable of synchronized (< 15 μsec) control of an arbitrary number of sensors (ETHOS), streaming data for real-time visualization and it reduces power consumption compared to other approaches.
Multi-device sensor systems often introduce the problem of synchronizing multiple data streams, as sub-millisecond accuracy is often needed. Synchronizing multiple sensors at run-time is a complex task. After data acquisition, offline synchronization by correlation analysis between two data streams solves the problem. Two IMUs, for instance, can be synchronized if there are shared features in some of the data signals. However, for statistically independent data sources this approach is not feasible. In this situation, a physical connection can help by providing a synchronization signal. Synchronization between two identical devices via wireless communication consumes a lot of power and requires an advanced network protocol. Our solution uses a single smartphone to control an arbitrary number of IMUs (ETHOS Sensors ).
Controlling Sensors via ANT+TM
We use small, light-weight IMUs that feature on-device storage . An ANT+TM-capable network chip takes care of the wireless communication. ANT+TM defines a data source, ie a sensor, as a master device. An aggregator, such as a smartphone, collects data and is dubbed slave in this setting. The network chip uses a TDMA-like adaptive isochronous network technology for communication.
An embedded device's energy scarcity is exacerbated by the requirements of wireless communication. Our sensor nodes draw current from 300 mAh Li-Ion batteries; hence, power awareness was crucial during the development. Deployment of the devices in master mode is suboptimal for two main reasons: Constantly sending data, even if not used by an aggregator, wastes energy: not only does the cost of wireless communication add to the power budget, but also the increased load on the operating system uses more power since a node cannot go to sleep. Further, frequent collisions on the physical layer at high transmission rates with multiple master devices would not only reduce the throughput of the network: Retransmissions also impact the real-time data processing of an aggregator and thus aggravate the problem of power scarcity. These considerations motivated our solution. We configured the sensors to slaves: they do not emit data packages on their own, but listen to new packages on the channel. On the other hand, our aggregator device - an X-Peria S by Sony - assumes the role of a master: in idle mode it emits heartbeat packages that are received by any sensor device tuned to a common radio frequency.
In addition to this network-layer connection, we also implemented a simple application layer: A user of the system can control all or specific nodes with a set of commands. Each node is configured to a node ID - a simplistic equivalent of an IP-address. The master emits either broadcast or addressed packages. A sensor node only reacts to a network package if that package either is a broadcast package or if the destination ID of the package matches the node's ID. There is one command to start sampling. The same operating system (firmware) runs on each sensor node. Network communication is handled by an interrupt service routine with highest priority.
In fact, every other software interrupt is overwritten by the network-stack interrupts. This way, we can ensure that each node receives the commands at virtually the same time: the micro-controller of our sensor boards features fixed-overhead interrupt handlers.
For 100 iterations we started the sampling on 10 rigidly connected sensor nodes, exposed all of them to a common peak in acceleration and calculated the maximal inter-node offset between any two sensor nodes. The mean offset was 12μ sec. A user can select a sensor to stream its data to the aggregator: the GET DATA command requests data packages from an addressed sensor node. The ANT+TM-protocol allows slave devices to reply to a master device in the same time slot. We exploit this feature to implement real-time data streaming: in streaming mode the master sends addressed packages to one device which replies with packages containing the requested sensor data.
We have shown that multiple types of wearable devices can be combined into a sensor system to create something more powerful than a mono-cultural system. By carefully programming the software modules wireless synchronization can be as accurate as 12 μsec.
 H. Harms et al: “ETHOS: Miniature orientation sensor for wearable human motion analysis” in proc. of IEEE Sensors conference, IEEE, 2010.
Federal Institute of Technology Zurich, ETHZ, Switzerland