Hardware

Orient2 Sensors, by David Yule

The Orient 2 sensors which we used to complete our system are compact devices used for calculating the positions and orientations of objects. These can be used in a variety of scenarios from film and animation to what we have used them for, as part of a Human-Computer interface device. There exist other ways of achieving the same goal, however they are not nearly as compact and robust. Traditional methods include Visual Detection which requires large amounts of data to be processed and suffers heavily when the object is obscured. Another method is joint angle sensors, however they inhibit free movement on the user. Orient2 sensors do not suffer from these problems.


An Orient2 Sensor (36mm x 28mm x 11mm)

Why are Orient2's better?

Hardware Specifications

Orient2 devices are also expandable via:

How do Orient2's estimate their position?

There are two ways by which Orient2's can capture their position:

Absolute Estimate - Calculated by observing the Earth's gravitional and magnetic field vectors.
Inertial Estimate - Calculated by integrating rate gyroscope data.

Firmware

There is a complementary quaternion orientation filter which runs at 256Hz. The fast update rate allows for precise and smooth tracking of objects. However the devices waste power as the radios are constantly on receieve mode (due to a lack of synchronisation). The wastage of power is hoped to be addressed in future firmware versions via a low power wake on radio mode which is supported by CC1100. To improve this further, the sensors will also go to a low power mode between samples.

The video below shows a recording made by Alex Young, the developer of Orient2.


ProSpeckz IIK, by Steven Truong

The ProSpeckz IIK (Programmable Speck using Zigbee radio) was used in the buttons system. It was developed at the University of Edinburgh by Steven Wong for developing applications for Speckled computing. There are few limitations of the ProSpeckz board, one is that the (green) battery life is fairly short and quite large; it nearly quadruples the size of the board, which is not useful for speckled computing. The board has no processer so this limits the capabilities of the board. Its main value is as a sensor to pass on data wirelessly.

Hardware specifications

prospeckz with battery

ProSpeckz Board with battery connected

Software

To develop on the ProSpeckz board you need to install the PSoC Designer and the PSoC Programmer. Programs are then developed using the PSoC developer and can be written in assembly (M8C) or C. The PSoC developer contains data sheets as shown below to assist in developing.

Datasheet

It is also simple to add new modules onto the ProSpeckz board. The image below shows the screen where you can place modules into their blocks and set up the interconnections within the board. There are 2 sets of blocks, the top 4 rows are digital blocks and the last 3 rows are analog blocks. Also on this screen in the bottom left corner where it says Port_0_0 etc, is the place where you can name and edit the devices you plug into the row of IO pins.

modules