Abstract:
A method for recognizing the position of a wireless controller is applied to an interactive gaming device including a wireless controller, a main apparatus and a host. The main apparatus includes a first ultrasonic receiving module, a second ultrasonic receiving module and a third ultrasonic module which are arranged as a triangle shape. The wireless controller includes an ultrasonic transmitting module for sending an ultrasonic wave which is received by the ultrasonic receiving modules in order to obtain three ultrasonic wave transmission times. The main apparatus sends the ultrasonic wave transmission times to the host. The host calculates the ultrasonic wave transmission times and therefore recognizes the position of the wireless controller. When the wireless controller is moved, the host obtains plurality of coordinate values indicating the motion track of the wireless controller. The motion track of the wireless controller is shown in a display by monitoring the coordinate values.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    The present invention relates to an interactive gaming system, and more particularly to a method for recognizing position of a wireless controller of the interactive gaming system. 
         [0003]    2. The Related Art 
         [0004]    Nowadays, more and more people are amused by varieties of video games or computer games. Taking a computer game for example, conventionally, if a player wants to play the computer game, he firstly has to install game software in a host of a computer. The player controls the game process by peripherals of the computer, such as a mouse, a keyboard, a control handle or the like, all of which connect with the computer. 
         [0005]    The game process and game information are displayed to the player through a monitor and a speaker or other multimedia output devices. However, as continuous development of technology, interactive gaming devices are provided to the player accompanying with the game software. 
         [0006]    One example of the interactive gaming devices is disclosed in U.S. patent public No. 2007/0072674 issued Jan. 2, 2006. The interactive gaming device includes a host apparatus connected to a home-use TV receiver via a connection cord, a wireless controller for giving operation data to the host apparatus, and a pair of infrared markers provided on top of the TV receiver and on both sides of the TV receiver. 
         [0007]    Each infrared marker outputs infrared light forward. The host apparatus is connected to a receiving unit via a connection terminal. The receiving unit is used for receiving operation data that is wirelessly transmitted from the wireless controller. 
         [0008]    The wireless controller includes an operation section, an imaging information calculation section, a communication section and an acceleration sensor. The operation section includes a plurality of operation buttons defined in a housing of the wireless controller, which the player can use to perform the game process. 
         [0009]    The imaging information calculation section includes an infrared filter, a lens, an imaging element and an image processing circuit. The infrared filter allows only infrared light to pass therethrough. The lens collects the infrared light which has passed through the infrared filter and outputs the infrared light to the imaging element. The imaging element is a solid-state imaging device such as, a CMOS sensor or a CCD. 
         [0010]    The imaging element takes an image of the infrared light which has passed through the infrared filter and been collected by the lens, and generates image data. The image data is processed by the image processing circuit. The image processing circuit calculates the positions of the infrared markers in the taken image, and outputs coordinate sets to the communication section. 
         [0011]    The acceleration sensor detects acceleration in three axial directions of the wireless controller, i.e., the up-down direction, the left-right direction and the front-rear direction. The acceleration sensor allows the inclinations of the wireless controller in the three axial directions to be determined. In addition to the taken image mentioned above, the wireless controller determines the acceleration and inclination thereof via the acceleration sensor. 
         [0012]    The communication section includes a microcomputer, a memory, a wireless module and an antenna. The microcomputer receives the data which is output from the operation section, the acceleration sensor, and the imaging information calculation circuit and stores the data in the memory. The wireless module and the antenna transmit the data stored in the memory to the host apparatus by a wireless technology. The data includes the displacement direction, the inclination and the acceleration of the wireless controller. 
         [0013]    The host apparatus uses the receiving unit to receive the operation data from the wireless controller in a way of wireless transmission and executes the game process based on the obtained operation data. 
         [0014]    The interactive gaming device makes use of the imaging information calculation section to collect and calculate the positions of the two infrared markers. If the environment around the infrared markers brings infrared interference, the imaging information calculation section will not attain the positions of the two infrared markers exactly. Therefore, the game can&#39;t go on. 
         [0015]    Hence, an improved interactive gaming device is desired to overcome the shortcomings described above. 
       SUMMARY OF THE INVENTION 
       [0016]    An object of the present invention is to provide a method for recognizing the position of a wireless controller in a gaming system. The gaming system further includes a main apparatus, a host connected to the main apparatus and a display device connected to the host. The method is described as following. 
         [0017]    A first microcomputer sends a position instruction to a first communication module of the main apparatus. The first communication module modules the position instruction into position wireless signals and then sends out the position wireless signals. A second communication module of the wireless controller receives the position wireless signals and then demodulates the position wireless signals into the position instruction. The second communication module sends the position instruction to a second microcomputer of the wireless controller. 
         [0018]    The second microcomputer tests the position instruction and then orders an ultrasonic transmitting module sending out an ultrasonic wave. A first ultrasonic receiving module, a second ultrasonic receiving module and a third ultrasonic receiving module of the main apparatus receives the ultrasonic wave. The ultrasonic receiving modules are arranged as a predetermined triangle shape. 
         [0019]    The first microcomputer calculates transmission times of the ultrasonic wave and sends the transmission times to the host by a connection module of the main apparatus and a connection cord interconnected the connection module and the host. The host calculates beelines between the ultrasonic transmitting module of the wireless controller and the ultrasonic receiving modules of the main apparatus. The host calculates the coordinate of the wireless controller base on the beelines and given positions of the ultrasonic receiving modules. 
         [0020]    Therefore, the host can recognize the position of the wireless controller. The host can calculate plurality of coordinates of the wireless controller when the wireless controller is moved. Therefore, the host can produce motion tracks corresponding to the plurality of coordinates of the wireless controller. The host display the motion track of the wireless controller via the display device. 
         [0021]    The method further comprises following steps. The host calculates a first coordinate of the wireless controller. The host calculates a second coordinate of the wireless controller after a predetermined time. The host calculates a first motion speed of the wireless controller base on the beeline between the first coordinate and the second coordinate and the predetermined time. 
         [0022]    The host calculates a third coordinate of the wireless controller after the predetermined time. The host calculates a second motion speed of the wireless controller base on the beeline between the second coordinate and the third coordinate and the predetermined time. The host testes whether the first motion speed and the second motion speed are greater than zero in order to determining motion direction of the wireless controller. The host tests whether the second motion speed is greater than the first motion speed in order to determining acceleration status of the wireless controller. 
         [0023]    Furthermore, the host recognizes the motion direction and the acceleration of the wireless controller. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0024]    The present invention will be apparent to those skilled in the art by reading the following description of preferred embodiments thereof, with reference to the attached drawings, in which: 
           [0025]      FIG. 1  shows an interactive gaming system according to the present invention; 
           [0026]      FIG. 2  is a perspective view of a main apparatus of the interactive gaming system; 
           [0027]      FIG. 3  shows a circuit block diagram of the main apparatus and a circuit block diagram of a wireless controller in the interactive gaming system; 
           [0028]      FIG. 4  is a perspective view showing the relative position between a first ultrasonic receiving module, a second ultrasonic receiving module and a third ultrasonic receiving module of the main apparatus and the wireless controller of the interactive gaming system; 
           [0029]      FIG. 5  and  FIG. 6  are flow charts showing a first preferred embodiment of a method for recognizing the position of the wireless controller of the interactive gaming device by calculating the ultrasonic transmission times according to the present invention; 
           [0030]      FIG. 7  shows the relationship between the right-left position, the front-rear position and the up-down position; 
           [0031]      FIG. 8  is a flow chart showing a host of the interactive gaming system determining the acceleration of the wireless controller in three directions; and 
           [0032]      FIG. 9  is a flow chart showing the host of the interactive gaming system determining the acceleration of the wireless controller in three directions base via an acceleration sensor included in the wireless controller. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
       [0033]    With reference to  FIG. 1 , a method for recognizing the position of a gaming device is applied to an interactive gaming system  900 . The interactive gaming system  900  includes a main apparatus  1 , a wireless controller  2 , an electronic device  3  and a display device  4 . The main apparatus  1  is connected to the electronic device  3  such as a host of a computer or a gaming host via a connection cord. In this case, the electronic device  3  is a host of a computer. The host  3  is further connected to the display device  4 . In this case, the display device  4  is a monitor of the computer. 
         [0034]    Please refer to  FIG. 2  and  FIG. 3 . The main apparatus  1  includes a first microcomputer  10 , a first ultrasonic receiving module  11 , a second ultrasonic receiving module  12 , a third ultrasonic receiving module  13 , a first communication module  14  and a connection module  15 . The first ultrasonic receiving module  11 , the second ultrasonic receiving module  12  and the third ultrasonic receiving module  13  are defined on the main apparatus  1  respectively. 
         [0035]    Please refer to  FIG. 2 . The first ultrasonic receiving module  11  and the second ultrasonic receiving module  12  are on the same level and the distance between them is designated W. The third ultrasonic receiving module  13  is defined at the middle of the first ultrasonic receiving module  11  and the second ultrasonic receiving module  12 . The distance from the third ultrasonic receiving module  13  to the level defined by the first ultrasonic receiving module  11  and the second ultrasonic receiving module  12  is designated H. 
         [0036]    So obviously the first ultrasonic receiving module  11 , the second ultrasonic receiving module  12  and the third ultrasonic receiving module  13  are not at the same level and form a triangle shape therebetween. In the preferred embodiment, the value of the W is 20 centimeters, and the value of the H is 5 centimeters. 
         [0037]    Please refer to  FIG. 3 . The first ultrasonic receiving module  11 , the second ultrasonic receiving module  12  and the third ultrasonic receiving module  13  are connected to the first microcomputer  10  respectively, which can receive ultrasonic waves and transform the ultrasonic waves into electronic signals, and then transmit the electronic signals to the first microcomputer  10 . 
         [0038]    The first communication module  14  connects with the first microcomputer  10 . The first communication module  14  receives instructions from the first microcomputer  10  and modulates the instructions into wireless signals, and then sends out the wireless signals. The first communication module  14  can also receive the wireless signals from the wireless controller  2  and demodulate the wireless signals into instructions, and then transmit the instructions to the first microcomputer  10 . In this case, the first communication module  14  is a radiating module and the wireless signals are radio signals. 
         [0039]    The main apparatus  1  and the host  3  transmit data to each other via the connection module  15  connected to the first microcomputer  10  and the connection cord which interconnects the connection module  15  and the host  3 . 
         [0040]    Please refer to  FIG. 3  again. The wireless controller  2  includes a second microcomputer  20 , an ultrasonic transmitting module  21  and a second communication module  22 . The ultrasonic transmitting module  21  is defined on the housing of the wireless controller  2 . The ultrasonic transmitting module  21  is connected to the second microcomputer  20  and sends out an ultrasonic signal according to the instructions which are sent by the second microcomputer  20 . 
         [0041]    Therefore, the ultrasonic wave is received by the first ultrasonic receiving module  11 , the second ultrasonic receiving module  12  and the third ultrasonic receiving module  13  of the main apparatus  1 . The second communication module  22  connects with the second microcomputer  20 . The second communication module  22  receives instructions from the second microcomputer  20  and modulates the instructions into wireless signals, and then sends out the wireless signals. 
         [0042]    The second communication module  22  can also receives the wireless signals from the first communication module  14  of the main apparatus  1  and demodulates the wireless signals into instructions, and then transmits the instructions to the second microcomputer  20 . In this case, the second communication module  22  is also a radiating module which cooperates with the first communication module  14 . The wireless signals are also radio signals. 
         [0043]    Please refer to  FIG. 4  to  FIG. 7 . A first preferred embodiment of the method for recognizing the position of the wireless controller  2  in the interactive gaming system  900  is described as following: 
         [0044]    Step  1000 : The first microcomputer  10  sends a position instruction which means beginning to recognize the position of the wireless controller  2  to the first communication module  14 . The first communication module  14  receives the position instruction and modulates the position instruction into a position wireless signal and then sends out the position wireless signal. 
         [0045]    Step  1001 : When the first microcomputer  10  sends the position instruction to the first communication module  14 , the first microcomputer  10  obtains a start time which means that an ultrasonic wave is send out by the ultrasonic transmitting module  21  of the wireless controller  2 . 
         [0046]    Step  1002 : The second communication module  22  receives the position wireless signal and demodulates the position wireless signal into a position instruction, and then sends the position instruction to the second microcomputer  20 . The second microcomputer  20  receives and tests the position instruction. 
         [0047]    Step  1003 : If the position instruction is correct, the second microcomputer  20  orders the ultrasonic transmitting module  21  to send out an ultrasonic wave. 
         [0048]    Step  1004 : The first ultrasonic receiving module  11 , the second ultrasonic receiving module  12  and the third ultrasonic receiving module  13  respectively receive the ultrasonic wave sent by the wireless controller  2 . The transmission time of the ultrasonic wave to the three ultrasonic receiving modules  11 ,  12 ,  13  are labeled Ta, Tb, Tc respectively. 
         [0049]    Step  1005 : When the first microcomputer  10  detects that the first ultrasonic receiving module  11 , the second ultrasonic receiving module  12  and the third ultrasonic receiving module  13  receive the ultrasonic wave sent by the wireless controller  2 , the first microcomputer  10  obtains three end times which means that the ultrasonic wave has received by the first ultrasonic receiving module  11 , the second ultrasonic receiving module  12  and the third ultrasonic receiving module  13  respectively. The intervals between start time and three end times include transmission time of the wireless signal sent by the second communication module  22  and transmission time of the ultrasonic wave sent by the ultrasonic transmitting module  21 . Because the transmission speed of the wireless signal is more faster than the transmission speed of the ultrasonic wave, the transmission time of the wireless signal can be ignored. Therefore, the intervals between start time and three end times are seen as the transmission time of the ultrasonic wave to the three ultrasonic receiving modules  11 ,  12 ,  13  labeled Ta, Tb, Tc respectively. 
         [0050]    Step  1006 : The main apparatus  1  sends the time information Ta, Tb, Tc to the host  3  via the connection module  15  and the connection cord connected with the connection module  15  and the host  3 . 
         [0051]    Step  1007 : The host  3  calculates the beeline distances labeled Da, Db, Dc between the wireless controller  2  and the first ultrasonic receiving module  11 , the second ultrasonic receiving module  12 , the third ultrasonic receiving module  13  respectively according to the transmission characteristic of the ultrasonic wave after receiving the time information Ta, Tb, Tc. 
         [0052]    Step  1008 : The host  3  calculates a coordinate value as a virtual position of the wireless controller  2  in the three-axial space. In this case, the coordinate values of the first ultrasonic receiving module  11 , the second ultrasonic receiving module  12  and the third ultrasonic receiving module  13  are given. In this case, the coordinate value of the first ultrasonic receiving module  11  is designed to (X 1 , Y 1 , Z 1 ). The coordinate value of the second ultrasonic receiving module  12  is designed to (X 2 , Y 2 , Z 2 ). The coordinate value of the third ultrasonic receiving module  13  is designed to (X 3 , Y 3 , Z 3 ). Also, the beeline distances labeled Da, Db, Dc between the wireless controller  2  and the first ultrasonic receiving module  11 , the second ultrasonic receiving module  12 , the third ultrasonic receiving module  13  are given. The coordinate value of the wireless controller  2  is desired. In this case, the desired coordinate value of the wireless controller  2  is designed to (Xn, Yn, Zn). Therefore, the host  3  can calculate the desired coordinate value of the wireless controller  2  based on the given parameter and three functions as following: 
         [0000]        Da =√{square root over ((( Xn−X 1) 2 +( Yn−Y 1) 2 +( Zn=Z 1) 2 ))}{square root over ((( Xn−X 1) 2 +( Yn−Y 1) 2 +( Zn=Z 1) 2 ))}{square root over ((( Xn−X 1) 2 +( Yn−Y 1) 2 +( Zn=Z 1) 2 ))} 
         [0000]        Db =√{square root over ((( Xn−X 2) 2 +( Yn−Y 2) 2 +( Zn−Z 2) 2 ))}{square root over ((( Xn−X 2) 2 +( Yn−Y 2) 2 +( Zn−Z 2) 2 ))}{square root over ((( Xn−X 2) 2 +( Yn−Y 2) 2 +( Zn−Z 2) 2 ))} 
         [0000]        Dc =√{square root over ((( Xn−X 3) 2 +( Yn−Y 3) 2 +( Zn−Z 3) 2 ))}{square root over ((( Xn−X 3) 2 +( Yn−Y 3) 2 +( Zn−Z 3) 2 ))}{square root over ((( Xn−X 3) 2 +( Yn−Y 3) 2 +( Zn−Z 3) 2 ))} 
         [0053]    Step  1009 : The wireless controller  2  sends an ultrasonic wave once every thirty milliseconds. The host  3  calculates plurality of transmission times of the ultrasonic wave and therefore obtains plurality of coordinate values which are designed to (Xni, Yni, Zni) iε1, 2, 3 . . . , and indicate the motion track of the wireless controller  2 . The host  3  can calculate continuously moving speed value of the wireless controller  2  in X axis, Y axis and Z axis base on that the coordinate values of the wireless controller  2  is calculated once every thirty milliseconds. In this case, the moving speed value of the wireless controller  2  in X axis, Y axis and Z axis are respectively designed to (Sxi, Syi, Szi) iε1, 2, 3 . . . . 
         [0054]    Step  1010 : Please refer to  FIG. 7 . The host  3  tests the moving speed value of the wireless controller  2 . If the moving speed values of the wireless controller  2  are negative, the host  3  executes Step  1011 . If the moving speed values of the wireless controller are positive, the host  3  executes Step  1012 . 
         [0055]    Step  1011 : The host  3  determines that the wireless controller  2  moves right if the moving speed value of the wireless controller in X axis designed to Sxi is positive. The host  3  determines that the wireless controller  2  moves upwards if the moving speed value of the wireless controller in Y axis designed to Syi is positive. The host  3  determines that the wireless controller  2  moves forward if the moving speed value of the wireless controller in Y axis designed to Szi is positive. 
         [0056]    Step  1012 : The host  3  determines that the wireless controller  2  moves left if the moving speed value of the wireless controller in X axis designed to Sxi is negative. The host  3  determines that the wireless controller  2  moves downwards if the moving speed value of the wireless controller in Y axis designed to Syi is negative. The host  3  determines that the wireless controller  2  moves backward if the moving speed value of the wireless controller in Y axis designed to Szi is negative. 
         [0057]    Therefore, the host  3  produces motion tracks and motion speed of the motion tracks corresponding to the coordinate values and the moving speed values of the wireless controller  2  and displays the motion tracks via the monitor  4 . 
         [0058]    Please refer to  FIG. 8 . A second preferred embodiment of the method for recognizing the position of the wireless controller  2  in the interactive gaming system  900  which can determine the acceleration of the wireless controller  2  is described as following. The following described is an example of how acceleration of the wireless controller  2  in X axis are calculated. 
         [0059]    Step  1100 : The host  3  obtains a N-st coordinate value of the wireless controller  2  in X-axis which is designed to Xn. 
         [0060]    Step  1101 : The host  3  obtains a N+1-st coordinate value of the wireless controller  2  in X-axis which is designed to Xn+1. 
         [0061]    Step  1102 : The host  3  calculates the beeline between the N-st coordinate value designed to Xn and the N+1-st coordinate value designed to Xn+1 of the wireless controller  2 . The host  3  calculates a N-st moving speed of the wireless controller  2  based on the beeline and an ultrasonic wave sent by the wireless controller  2  once every thirty milliseconds, which is presented as Sxn. 
         [0062]    Step  1103 : The host  3  obtains a N+2-st coordinate value of the wireless controller  2  in X-axis which is designed to Xn+2. 
         [0063]    Step  1104 : The host  3  calculates the beeline between the N+1-st coordinate value designed to Xn+1 and the N+2-st coordinate value designed to Xn+2 of the wireless controller  2 . The host  3  calculates a N+1-st moving speed of the wireless controller  2  based on the beeline and an ultrasonic wave sent by the wireless controller  2  once every thirty milliseconds, which is presented as Sxn+1. 
         [0064]    Step  1105 : The host  3  testes the N-st moving speed value and the N+1-st moving speed value of the wireless controller  2 . If the N-st moving speed value and the N+1-st moving speed value of the wireless controller  2  are greater than zero, the host  3  executes Step  1106 . If the N-st moving speed value and the N+1-st moving speed value of the wireless controller  2  are smaller than zero, the host  3  executes Step  1107 . 
         [0065]    Step  1106 : The host  3  testes whether the N+1-st moving speed value of the wireless controller  2  is greater than the N-st moving speed value of the wireless controller  2 . If the N+1-st moving speed value of the wireless controller  2  is greater than the N-st moving speed value of the wireless controller  2 , the host  3  executes Step  1108 . If the N+1-st moving speed value of the wireless controller  2  is smaller than the N-st moving speed value of the wireless controller  2 , the host  3  executes Step  1109 . 
         [0066]    Step  1107 : The host  3  testes whether the N+1-st moving speed value of the wireless controller  2  is greater than the N-st moving speed value of the wireless controller  2 . If the N+1-st moving speed value of the wireless controller  2  is greater than the N-st moving speed value of the wireless controller  2 , the host  3  executes Step  1110 . If the N+1-st moving speed value of the wireless controller  2  is smaller than the N-st moving speed value of the wireless controller  2 , the host  3  executes Step  1111 . 
         [0067]    Step  1108 : The host  3  determines that the wireless controller  2  moves right and is accelerated in X-axis. 
         [0068]    Step  1109 : The host  3  determines that the wireless controller  2  moves right and is decelerated in X-axis. 
         [0069]    Step  1110 : The host  3  determines that the wireless controller  2  moves left and is decelerated in X-axis. 
         [0070]    Step  1111 : The host  3  determines that the wireless controller  2  moves left and is accelerated in X-axis. 
         [0071]    Therefore, the host  3  produces motion tracks and acceleration of the motion tracks corresponding to the coordinate values and the moving speed values of the wireless controller  2  and displays the motion tracks via the monitor  4 . 
         [0072]    Please refer to  FIG. 3  and  FIG. 9 .  FIG. 9  shows a flow chart of a third preferred embodiment of the method for recognizing the position of the wireless controller  2  in the interactive gaming system  900 . In this embodiment, the wireless controller  2  further comprises an acceleration sensor  23  connected to the second microcomputer  20 . The acceleration sensor  23  can detect the acceleration of the wireless controller  2  in X-axis, Y-axis and Z-axis. The detecting process is presented as following: 
         [0073]    Step  1200 : The acceleration sensor detects the acceleration values of the wireless controller  2  in X-axis, Y-axis and Z-axis. 
         [0074]    Step  1201 : The second microcomputer  20  obtains the acceleration values of the wireless controller  2  from the acceleration sensor  23  and then sends out the acceleration values to the second communication module  22 . The second communication module  22  modulates the acceleration values into wireless signals and then sends out the wireless signals. 
         [0075]    Step  1202 : The first communication module  14  of the main apparatus  1  receives the wireless signals from the wireless controller  2  and demodulates the wireless signals into the acceleration values. 
         [0076]    Step  1203 : The first microcomputer  10  obtains the acceleration values of the wireless controller  2  and then sends the acceleration values to the host  3  via the connection module  15  and the connection cord interconnected the connection module  15  of the main apparatus  1  and the host  3 . The Host  3  determines the acceleration of the wireless controller  2  in X-axis (step  1204 ), Y-axis (In step  1205 ) and Z-axis (In step  1206 ) respectively. 
         [0077]    Step  1204 : The host  3  tests whether the acceleration value of the wireless controller  2  is positive in X-axis. If the acceleration value of the wireless controller  2  is positive in X-axis, the host  3  executes step  1207 . If the acceleration value of the wireless controller  2  is negative in X-axis, the host  3  executes step  1208 . 
         [0078]    Step  1205 : The host  3  tests whether the acceleration value of the wireless controller  2  is positive in Y-axis. If the acceleration value of the wireless controller  2  is positive in Y-axis, the host  3  executes step  1209 . If the acceleration value of the wireless controller  2  is negative in Y-axis, the host  3  executes step  1210 . 
         [0079]    Step  1206 : The host  3  tests whether the acceleration value of the wireless controller  2  is positive in Z-axis. If the acceleration value of the wireless controller  2  is positive in Z-axis, the host  3  executes step  1211 . If the acceleration value of the wireless controller  2  is negative in Z-axis, the host  3  executes step  1212 . 
         [0080]    Step  1207 : The host  3  determines that the wireless controller  2  moving right. 
         [0081]    Step  1208 : The host  3  determines that the wireless controller  2  moving left. 
         [0082]    Step  1209 : The host  3  determines that the wireless controller  2  moving upwards. 
         [0083]    Step  1210 : The host  3  determines that the wireless controller  2  moving downwards. 
         [0084]    Step  1211 : The host  3  determines that the wireless controller  2  moving forward. 
         [0085]    Step  1212 : The host  3  determines that the wireless controller  2  moving backward. 
         [0086]    Therefore, the host  3  produces motion tracks corresponding to the acceleration values of the wireless controller  2  and displays the motion tracks via the monitor  4 . 
         [0087]    As described above, the first ultrasonic receiving module  11 , the second ultrasonic receiving module  12  and the third ultrasonic receiving module  13  of the main apparatus  1  respectively receive the ultrasonic wave sent by the ultrasonic transmitting module  21  of the wireless controller  2 . The first microcomputer  10  calculates the transmission time of the ultrasonic wave and sends the transmission time to the host  3  via the connection module  15 . Therefore, the host  3  calculates the position and the moving speed of wireless controller  2  based on the transmission time of the ultrasonic wave sent by the wireless controller  2 . 
         [0088]    Furthermore, the acceleration sensor  23  of the wireless controller  2  detects the acceleration of the wireless controller  2 . The second microcomputer  20  obtains the acceleration from the acceleration sensor  23  and sends the acceleration to the main apparatus  1  via the second communication module  22 . The main apparatus  1  receives the acceleration of the wireless controller  2  by the first communication module  14  and sends the acceleration to the host  3  via the connection module  15 . 
         [0089]    Therefore, the host  3  compares the acceleration of wireless controller  2  detected by the acceleration sensor  23  and the moving speed of the controller  2  which is calculated according to the transmission time of the ultrasonic wave for increasing recognizing rate. 
         [0090]    Furthermore, the present invention is not limited to the embodiments described above; various additions, alterations and the like may be made within the scope of the present invention by a person skilled in the art. For example, respective embodiments may be appropriately combined.