«

»

May 03 2013

Print this Post

Motion Control

The current generation of consoles introduced motion controlled games to the main market. This blog entry is about the technical background of the three different motion controllers from Nintendo, Sony and Microsoft. For using this devices in the HIVE I have one restriction. The devices have to be usable on the PC. It is not possible to connect a console to the projector setup in the HIVE.

Wii Remote Plus

Figure 1: Wii Remote Plus (Resource: oscolator.net)

Nintendo, a company that has always been a trend setter in new and innovative gameplay possibilities released in 2006 the Wii. This console was the first ever console with a standard motion control device, which is called the Wii Remote. The Wii Remote is equipped with a 3 axis acceleration sensor ADXL330 from Analog Devices. Acceleration can be measured in x, y and z direction with an acceleration intensity between ±3.6g (gravity).

Additionally, the Wii Remote includes an infrared optical sensor from PixArt, which has a resolution of 1024×768, is updated with 100Hz and has a horizontal field of view of 45 degrees. The sensor uses the sensor bar, which consist of 10 infrared LEDs (5 at each side) to track the position of the TV. The tracking is done inside the hardware and the results are sent to the Wii via a Bluetooth connection. It is possible to calculate the distance between sensor bar and Wii Remote according to the distance of the left and right LEDs. The position of the infrared LEDs gives the Wii Remote the roll rotation.

The Wii Remote Plus uses an additional sensor for tracking rotation of the x and y axis. The gyroscope chip INVENSENSE™ IDG-600 is able to measure the angular rate of rotation.

The combination of accelerator, gyroscope and infrared optical sensor make it possible to track one to one movements. The Legend of Zelda: Skyward Sword shows what the Wii Remote Plus is capable of. Game functionalities like one to one sword fighting, accurate aiming, throwing bombs and balancing objects show how motion controls can perfectly be integrated into a game and create a unique, innovative gameplay experience.

The Wii Remote Plus can be connected with an additional accessory the Wii Nunchuk, which has an accelerometer chip of STMicroelectronics LIS3L02AL. The chip can measure acceleration intensity between ±2g.

The new Wii U also supports the Wii Remote Plus and all it accessories. The Wii Remote can be connected to the PC via Bluetooth. For integration into Unity the library UniWii can be used. Unfortunately, UniWii does not support Wii Motion Plus. An alternative is the Omicron-SDK. This SDK supports Wii Motion Plus. However, the integration of this SDK is not straight forward and some time is needed to get it working into Unity.

PlayStation Move

PlayStation Move Controller and PlayStation Eye (Resource: amazon.com)

The PlayStation Move controller is equipped with a three-axis accelerometer, a three-axis gyroscope and a magnetic field sensor. The accelerometer allows dragging acceleration in x, y and z direction. Roll, pitch and yaw rotation can be measured with the gyroscope and magnetic field sensor.

What makes the PlayStation Move controller unique is the possibility to calculate the exact position of the controller in 3D space. Therefore the controller is equipped with a glowing sphere. This sphere can be dragged from the PlayStation Eye camera. As long as the glowing sphere is inside the cameras field of view, the PS3 can calculate the exact position in 3D space according to the sphere position and size inside the camera picture. The camera has a field of view of 56º or 75º. The resolution of the camera is dependent on the used frame rate. With a frame rate of 60 frames per second the camera can capture pictures with a 640×480 resolution. With 120 frames per second only a resolution of 320×240 is possible. It is up to the developer to decide which resolution and frame rate is best suited for the game. Tracking of the sphere is done in software. The colour of the sphere can be set differently to give the user an additional feedback. The PlayStation Move sub-controller has no motion control sensors.

Technical Specifications PlayStation Eye: us.playstation.com

  • 4 channel audio input:16 bits/channel, 48kHz, SNR 90db
  • 56º or 75º Field of View zoom lens
  • 2.1 F-stop, <1% distortion, fixed focus (25cm to 8 at 75º FOV)
  • 640 x 480 at 60 frames/second
  • 320 x 240 at 120 frames/second
  • USB2 high-speed data transfer
  • Uncompressed video or optional JPEG compression

PlayStation 4 Eye (resrouce: sony.com)

PlayStation Eye can not only be used to track the position of PlayStation Move. It can also be used for face detection, face recognition and head tracking. Especially the technique head tracking is interesting to use to together with stereoscopic 3D. An informative presentation about PlayStation Move can be found at SCEE.

PlayStation Move will still be used for the upcoming PlayStation 4. With PlayStation Eye 4 there will be a new and improved version of PlayStation Eye, which will be a stereoscopic camera. The camera sensor has an increased field of view with an increased resolution. It is possible to capture pictures with a frame rate of up to 240 fps.

Technical Specifications PlayStation 4 Eye: kotaku.com

  • External Dimension Approx. 186mm x 27mm x 27mm (width x height x depth) (tentative)
  • Weight Approx. 183g (tentative)
  • Video Pixel (Maximum) 1280 x 800 pixel x 2
  • Video Frame Rate
    • 1280×800 pixel @ 60fps
    • 640×400 pixel @ 120fps
    • 320×192 pixel @ 240fps
    • Video Format RAW, YUV (uncompressed)
    • Lens Dual Lenses, F value/F2.0 fixed focus
    • Capture Range 30cm~∞
    • Field-of-View 85°
    • Microphone 4 Channel Microphone Array
    • Connection Type PS4 dedicated connector (AUX connector)
    • Cable Length Approx. 2m (tentative)

There are two ways to use PlayStation Move on the PC. The first option is the open source library MoveOnPC. It is also possible to use this library in Unity. However, it is not that easy to connect a PlayStation Move to the PC. Not every Bluetooth device is compatible with PlayStation Move and it can be very hard to get a connection working on Windows.

Another interesting option is Move.Me. Move.Me is a software server application for the PS3. PS3 acts as a PlayStation Move server and the PC gets the PlayStation Move data via network from the PS3. This application works really well and is easy to integrate into Unity. Only this PS Move Wrapper Package is needed for Unity to get Move.Me working into Unity. Move.Me is a great support from Sony to make it possible to use the PlayStation Move for applications on the PC.

Xbox Kinect and Kinect for Windows

Kinect (Resource: MSDN)

Kinect is not a controller, it is a motion tracking device. It consists of an infrared emitter, an infrared depth sensor, a colour sensor, a 3-axis accelerometer, a tilt motor and a microphone array. The IR Emitter emits infrared light beans. This light beans are reflected from the surfaces in the room where Kinect is setup and will be interpreted from the IR sensor to generate a depth picture. The colour sensor is a RGB camera. There are two different versions of Kinect. Xbox Kinect has a Colour Sensor and IR Depth Sensor resolution of 640×480 pixels with a frame rate of 30 frames per second. Data stream of the depth sensor is only transferred with a resolution of 320×240. Kinect for Windows has the option to set the resolution of the camera to 1280×960. However, the frame rate decreases to 12 frames per second. The depth sensor of both Kinect versions has a range between 0.8 m to 4.0 m. Kinect for Windows can be set to near range mode, which has a range between 0.4m to 3.0m.

Microsoft released an official SDK for Kinect, which makes Kinect the easiest to use motion control device for PC.

Conclusion

Today we have three different motion control devices we could use for motion controlled gaming.

Microsoft Kinect seems to have the best SDK. It is free and supported from Microsoft. But the Hardware is not responsive enough. A 30 fps video stream for interpretation of player movement is not enough to make precise controls.

Wii Remote Plus is a good solution for motion control. The acceleration and rotation of the controller can be tracked. Position tracking is only possible when Wii Remote points to the direction of the sensor bar.

Overall PlayStation Move seems to be the most promising device for my project. It provides position, acceleration and rotation of the controller. Additionally, with PlayStation Eye head tracking can be performed, which could be useful for the combination with stereoscopic 3D.

Permanent link to this article: http://www.markusrapp.de/motion-control/