Development of 3D Positioning Scheme by Integration of Multiple Wiimote IR Cameras

A Wiimote 3D localization scheme has been developed for smart living or computer animation applications. This scheme utilizes a pair of Wiimotes to form a stereo vision and a kinematics relation is established to extract the 3D position of objects by using geometric transformation. However, due to the limitation in pixel resolution, the positioning resolution deteriorated at larger sensing distance. Therefore, a dual Wiimotes 3D scheme is also proposed for further improving the performance at the foundation of the single Wiimote 3D localization. By adding another Wiimote pair at the opposite side, we can expand the positioning range and reduce the positioning error with larger sensing distance. The experimental results indicate that this scheme is effective in achieving the above mentioned goals. With properly integration with this scheme, It is expected that applications such as positioning of indoor mobile robots and human motion capture for animations could achieve a better performance.


Introduction
Accurate position sensing is a fundamental task on indoor mobile robot navigation (1) . With positioning information in hand, navigation, control, coordinated motion, and subsequent task planning can be realized and applied to indoor mobile robots. Typical localization techniques utilizing different kinds of sensors such as inertial units (2) , ultrasonics (3) , and vision cameras (4) have been proposed. However, in view of integrated assessment with respect to cost, resolution, and signal reliability, an unflawed positioning technique has not been achieved. For cost effective concern and fair localization resolution, IR localization scheme is another possible choice (5) . In particular, IR-based Wiimote has already been developed for many applications beyond its original TV game design (6) . A typical Wiimote, as shown in Fig. 1, contains a Bluetooth chip for wireless data transmission and a built-in CMOS Image Sensor (i.e., Wiimote camera), which is able to detect up to four IR LEDs with visual angles of approximately 45⁰ (X) and 35⁰ (Y) to form a sensing zone with a resolution of 1024×768 pixels, as schematically shown in Fig. 2. It also has tracking ability with a sampling rate around 100 Hz. According to its fixed ratio of displayed pixel length to sensing distance, it has served as an alternative choice for indoor localization sensors. In our previous studies, Gu and Chen utilized Wiimotes to establish an accurate 2D localization system for indoor mobile robot control (6) . However, all of those previous works were focused on 2D localization only. No complete Wiimote-based 3D localization schemes are reported.
3D indoor localization technique has been constantly required for robot attitude control and computer animation applications. Traditionally, the cost of 3D localization systems are high and it requires to take cost, positioning accuracy, and sensing range into consideration for determining the adequate selection.. Based on the previous work, we believe that Wiimote should be a cost-effective carrier for developing 3D localization scheme suitable of indoor applications. In this work, based on the previous research in Wiimote-based 2D positioning system, we developed a low cost 3D localization system (7,8) . In comparison with previous Wiimote 2D localization schemes [ref 6], the 3D localization scheme utilizes a pair of Wiimote camera shown in Fig. 3 to establish a stereo vision system for providing extra position information in sensing distance. Although the Wiimote 3D localization scheme has demonstrated its applicability in robot attitude tracking in our previous work [ref 7], the scheme is also showed its weakness on sensing range and resolution. The Wiimote 3D localization system requires two Wiimote cameras to work simultaneously and thus the overlapped portion of the sensing zones of those two Wiimote cameras is the feasible sensing space. Due to its limitation in view angles, this workspace is usually not sufficient. Meanwhile, due to the fixed pixel resolution, the positioning resolution becomes inferior with a larger sensing distance. One possible solution is to deploy multiple Wiimote pair elements for both increasing sensing zone and positioning resolution. Here, in this work, we incorporate another pair of Wiimotes on the opposite side and develop dual Wiimote 3D localization system to extend the sensing space and simultaneously reduce the positioning error. By demonstrating the feasibility, this work also serves as the first step to realize the above mentioned concept.  The article thus presents the development of the original and the improved dual Wiimote 3D localization schemes. In Section II, the technical detail of Wiimote 3D localization is introduced and the kinematics for Wiimote 3D positioning scheme is also developed by geometric relations. The single Wiimote 3D localization, dual Wiimote 3D localization, and related positioning experiments are then developed in Sections III and IV, respectively. Finally, Section V discusses the conclusion of this work and its contribution to 3D localization.

Wiimote 3D Localization Scheme
For developing single Wiimote 3D localization, a Wiimote pair containing two CMOS camera must be used for building stereo vision. Fig. 4 shows the schematic plot of the single Wiimote 3D localization system. When the IR LED is in the overlapped zone, both Wiimotes detect the pixel coordinate of the IR LED.
In together with kinematic relationships, the position of this IR LED can be found. Specifically, as plotted in Fig. 5, the goal of the 3D localization scheme is to find the position of the IR LED (i.e., D X , D Y , and D Z ) from the readout of these Wiimotes. Here, we define the central position of the front end of two Wiimotes as the origin of the coordinate. The distance between Wiimotes (D W ) needs to be determined in advance. A D W of 30 cm is chosen for the subsequent development as a compromise between sensing space size and localization resolution. From Fig. 5, it can be seen that these two Wiimotes and the IR LED form a triangle (red dot line). By calculating the three side lengths and the angles, the horizontal position (D X ), vertical position (D Y ), as well as the distance between Wiimotes and the IR LED (D Z ), can be determined as As shown in Fig. 6, based on the detected pixel coordinate (X, Y) of the IR LED and the geometric setting, it is possible to calculate the visual angles  WX1 ,  WX2 , and  WY from geometry as where (X 1 , Y 1 ) and (X 2 , Y 2 ) are the pixel coordinates detected by the Wiimotes. Referring to Fig. 5, it can obtain  X1 ,  X2 , and  Y by the following equations:   As mentioned previously, the single Wiimote 3D scheme suffers problems from both sensing zone and resolution aspects. Adding extra pairs of Wiimotes should improve its performance while the cost is still manageable. Here, a dual Wiimote 3D scheme is implemented for improving the performance of the original scheme and as the first step for developing multiple Wiimote 3D scheme in the future. Notice that for dual or future multiple Wiimote 3D scheme, the kinematic relations are exactly the same with the original 3D scheme. However, an additional coordinate transformation is required to convert the position obtained w.r.t. the corresponding local coordinates to the global coordinate. This may require additional data communication and decision works.

Realization of Wiimote 3D Localization
Here the development and experimental demonstration of the fundamental Wiimote 3D localization is presented as the basis for addressing the subsequent improvements. The following will state the details of the facility, the software, and the experimental results respectively.

Experimental setup
The overall test setup for realizing the single Wiimote 3D localization is shown in Fig. 8. For wireless communication, an Arduino card (UNO) is hired to transmit the signal obtained from both CMOS camera to the computer. A D w of 30 cm is chosen as the distance between the two CMOS Image Sensors. An IRLED mounted on a 2-axis Yokogawa linear servomotor is used to generated a pre-defined path for evaluate the performance of the 3D Localization. Two generated trajectories, square and saw-tooth, are hired for performing the evaluation. The detail information on these trajectories are shown in Table 1.

Software interface
For visualizing the general localization results, a human-machine interface with real-time monitoring capability is implemented for displaying the obtained position from the Wiimote 3D scheme by LabVIEW shown in Fig. 9. In this interface, information for each CMOS camera about its pixel coordinate can be displayed immediately as well as the final calculated 3D localization coordinate. This interface also allows users to adjust essential geometric and calibration parameters for improving the performance..

Experimental results
The localization performances are shown in Fig. 10. It can be seen that for both square and saw-tooth trajectories, the prediction from 3D Wiimote scheme agree relatively well with the real data. However, it also reveals that the localization accuracy becomes inferior as the sensing distance (i.e., Z) increases due to the limitation of pixel spatial resolution. Based on the result, it can be concluded that the Wiimote 3D scheme is feasible and also exhibit excellent results for a sensing distance less around 100 cm. For sensing distance above 150cm, the resolution is deteriorated due to pixel resolution. Although this scheme can still be used for low precision applications, further scheme modification for increasing the spatial resolution should be investigated. Based on the conclusion and requirement, a modified dual Wiimote 3D scheme is implemented and will be addressed in Section IV.

Dual Wiimote 3D localization
Based on the single Wiimote 3D localization, another pair of Wiimote 3D localization is added at the opposite side to form the dual Wiimote 3D localization system. Detail concept, setup, and experimental results for dual Wiimote 3D localization are addressed in this section.

Dual Wiimote 3D localization basic concept
As addressed previously, the basic concept is to utilize another pair of Wiimotes located at the opposite direction. This guarantee the sensing distance never exceeds a reasonable range of either pair of Wiimotes. Fig. 11 schematically illustrates the shows the scheme of the dual Wiimote 3D localization. Two pairs of CMOS cameras are used and the data are transfer to the host computer via wired communication for essential computations. Since there are two reported positions, an additional decision system is thus required for choosing the most appropriate result. In the future, an additional coordinate transform program should be added for converting the individual localization results under a unified global coordinate. Fig. 11. The dual Wiimote 3D localization scheme.

Information Decision
As mentioned earlier, the dual Wiimote 3D localization will report two results from the two pairs of CMOS cameras. Theoretically, after coordinate transformation, the reported data will be the same after projecting to the global coordinate. However, due to different sensing distance, these two results have different performance. An information decision must be made to choose one of them. Fig. 12 illustrates the overall measurement and decision flow. Initially, one it must be ensured that the two pairs of CMOS cameras work properly by calibration and the IRLED can be seen by both through the entire motion period. Then, both CMOS camera pairs detect the position simultaneously and two positions w.r.t. its corresponding local coordinate are computed. Based on the calculated sensing distances, the system will automatically pick up the one with a smaller sensing distance as the position of the IRLED. Occasionally, there might be only one position calculated when the IRLED cannot be completely seen by a pair of CMOS camera. This could possibly occur when the IRLED moves too close to a particular CMOS pair. Under such a circumstance, this only available data is thus the final result. Meanwhile, a man-machine interface developed based on LabVIEW is shown in Fig. 13 for better representing the localization results.

Experimental results
Two pairs of Wiimote 3D localization are placed at near the both ends of the Yokogawa linear servo motor. Again, an IRLED is placed on the linear motor, which is programmed to perform 2D motions with square path and saw-tooth trajectories as that used for evaluating the performance of single Wiimote 3D scheme. The dual Wiimote 3D experimental results are shown in Fig. 14. In comparison with the results of single Wiimote 3D scheme shown in Figure 10, the dual Wiimote 3D localization scheme exhibit a far more consisted results and the spatial resolution is much better.. The maximum positioning errors in X and Z directions are ±1cm and ±3cm, respectively. On the other hand, based on the results shown in Fig. 10, the maximum positioning errors of the single iimote 3D scheme in X and Z directions are ±1cm and ±6cm, respectively. This shows the ability of the dual Wiimote 3D localization system for improving the accuracy in 3D localization.

Discussion and Conclusion
The development of Wiimote 3D localization realizes the CMOS cameras of Nintendo Wiimote, which is cheap and compact in comparison with other image sensors. Although the original single Wiimote 3D localization scheme has shown its ability as an effective 3D positioning system, it suffers from the limitations in both the sensing area and spatial resolution. In this work, a dual Wiimote 3D scheme is proposed to further improve the performance. Without changing any technical detail, the extra pair of CMOS cameras indeed improves the positioning accuracy significantly. In the future, it is possible to further increase the number of Wiimote-pair to cover the entire living space and allow each location to be seen by at least two pairs of CMOS camera. By such an approach, a true 3D localization system to cover the entire living space should be achievable. Although this approach requires many Wiimote CMOS cameras, it is still cost effective by comparing with other 3D positioning sensors. We believe that this simple while effective 3D localization scheme should have great potential on applications such as indoor robots monitoring or human motion captures in the future.