the present invention generates an image of a teacher &# 39 ; s motion in the same frame of reference as that of a student , providing a more effective method of learning than previous systems . the present invention provides an immediate and direct comparison in space and time of the teacher &# 39 ; s and student &# 39 ; s trajectories . the present invention requires no video cameras and therefore is continuously recording data regardless of the location of the sensor . thus , the sensors need not be located in areas &# 34 ; visible &# 34 ; to the camera to record data , as in other systems . fig1 illustrates the primary components of a motion learning system in accordance with the present invention . a programmable host computer 12 includes a keyboard 14 , a mouse 15 , a monitor 10 , volatile memory 11 , and permanent memory 13 including floppy drives , hard drives and cd - rom . a motion sensing device 15 is in communication with the computer 12 and is preferably a commercially available polhemus ™ system which includes a motion processing unit 16 , transmitter 18 , and sensor 20 . the sensor 20 is attached to the object in motion , for example , a ping - pong paddle 22 . software operating on the computer 12 continually monitors the sensor 20 position and orientation data generated at the motion processing unit 16 and updates an image of the object 22 in motion on the monitor 10 . the user controls the software with the keyboard 14 and mouse 15 . the first step for training is to acquire a motion sequence from a teacher who is preferably an expert at performing that particular motion . the sensor 20 is placed on an appropriate part of the teacher &# 39 ; s limb or on the implement in motion for example , a racquet . if the teacher is a tennis professional , the sensor would be placed on the handle of the tennis racquet and / or his forearm . the transmitter 18 is placed within range of the teacher . the sensor 20 receives the signals generated by the transmitter 18 during the motion sequence . at each sampling interval , the motion processing unit 16 determines the position and orientation of the sensor 20 in relation to the transmitter 18 , and forwards the data to the computer 12 , where it is processed and stored in memory 11 , 13 . the student , using the same sensor arrangement , tries to imitate the teacher &# 39 ; s motion sequence spatially and temporally . the computer 12 displays a graphic image of the student &# 39 ; s trajectory on the monitor 10 alongside the previously stored trajectory of the teacher . thus , the student receives immediate feedback in real - time during each motion . if the student &# 39 ; s motion involves contact with a moving or stationary object represented on the monitor 10 , the computer 12 provides knowledge of the resulting trajectory of the object . an example is shown in fig2 which provides an illustration of what a student would view on the monitor 10 for learning the motion of striking a ping - pong ball 28 with a paddle 26 . in this example , the student learns to strike a computer generated virtual ping - pong ball 28 with a virtual paddle 26 , sending the ball 28 to the center of a target 30 with a desired speed . the ball 28 is presented on the monitor 10 , projected from an initial position with an initial velocity . when the paddle 26 strikes the ball 28 , the resulting trajectory of the ball 28 is derived from simple dynamics equations and is displayed on the monitor 10 . the resulting trajectory may include the spin and translational motion imparted on the ball . the teacher &# 39 ; s paddle 24 is displayed in the same frame of reference as the student &# 39 ; s paddle 26 and thus , the student can imitate the teacher &# 39 ; s motions in real - time with the system providing immediate feedback of the student &# 39 ; s progress . the software allows the student to control the speed of the teacher ranging from slow motion up to real - time . by operating in slow motion , a student can pay attention to detail where needed . the software can slow down the resulting trajectory of the stricken ball so the student can see exactly where the ball hits the racquet . several teachers can be made available to a student so that a student can learn a motor skill from several points of view . in many applications , a student learns most efficiently from a teacher whose skill is slightly superior to that of the student rather than from an expert . initially , a student may select a teacher having basic skills , and increase the teacher &# 39 ; s skill level as the student progresses . the software can intervene when a student repeatedly fails to strike the ball or hit the target . upon repeated failures , the software may reduce the skill level of the teacher , allowing the student to refocus on the basics , providing immediate feedback to the student who can immediately correct the imperfections causing failure . referring again to fig1 in a preferred embodiment , the computer 12 is a pc with graphics capability . the pc should be of a type which interfaces with the polhemus device or a similar motion sensing device . the polhemus sensor is a commercially available six degree of freedom absolute position and orientation sensor having a transmitter 18 with three orthogonally - disposed antennas and a sensor 20 with three orthogonally - disposed coils . the transmitter 18 periodically emits a low frequency electromagnetic wave pulse from each antenna . the pulses emitted from the transmitter 18 induce current in the sensor 20 coils . the relative strength of the current induced in each coil depends on the distance of the sensor 20 coil from the transmitter and the orientation of the sensor 20 relative to the transmitter 18 . the motion processing unit 16 calculates the position and orientation of the sensor 20 relative to the transmitter 18 based on the current induced in the sensor 20 coils . position and orientation data is periodically transferred from the motion processing unit 16 to the computer 12 . as illustrated in fig3 there are two coordinate systems associated with the polhemus device . the first is the coordinate system of the transmitter 18 , which is fixed in space . the second is the coordinate system of the polhemus sensor 20 which is free to move in three dimensional space . position and orientation information of the sensor &# 39 ; s 20 reference frame relative to the transmitter &# 39 ; s 18 reference frame is provided by the polhemus motion processing unit 16 . this information is stored in the form of a 1 × 6 vector : ## equ1 ## where x sensor , y sensor , and z sensor represent the displacement of the sensor 20 relative to the transmitter 18 along the three principle axes ; and ψ , θ , and φ , are the azimuth , elevation , and roll orientations of the sensor 20 relative to the transmitter 18 . azimuth is defined as the rotation of the x and y coordinates about the z - axis . elevation is defined as the rotation of the rotated z and x coordinates about the rotated y - axis . roll is defined as a rotation of the rotated x and z coordinates about the x - axis . an experimental system reduced to practice by the inventors includes a commercially available polhemus isotrack ii sensor . this sensor has a working range of 1 . 5 meters with an accuracy of 2 . 5 mm and 0 . 75 degrees . the sensor is capable of tracking a single object at a sample rate of 60 hz , or two objects simultaneously at 30 hz . an improved version manufactured by polhemus is capable of tracking a single object at a 120 hz sample rate or four objects simultaneously at 30 hz . the improved version is more precise with an expanded range of operation . other sensor technologies , including optical tracking sensors , are available commercially and are compatible with the present invention . in the experimental system , data from the polhemus motion processing unit 16 is transmitted through an rs - 232 serial port to the pc 12 at 38 . 4k baud rate . software running on the pc 12 uses a buffered interrupt driven communication protocol which insures that no data is lost . the pc employed in the experimental system is an ibm ™ compatible with an intel ™ 486 sx ™ processor having two megabytes of random access memory and a super - vga monitor . the inventors developed the software in c language and assembly language using a c ++ compiler . an optimized graphics library developed in assembly language by the inventors generates a three - dimensional model of the object held by the user during the training session . the experimental system produces approximately 60 frames per second resulting in high quality animation . the images are rendered in 256 colors with 640 by 480 pixel resolution . a standard illumination model is used for realistic three - dimensional rendering . the experiment conducted by the inventors involved learning the motion of striking a ball with a ping - pong paddle . as shown in fig2 on the monitor 10 , the subject sees a ball 28 projected in the direction of the paddle 26 . the goal is to strike the ball , sending it into the center of the target 30 . the paddle 26 is displayed on the monitor 10 without the arm or the body of the subject . since the polhemus ™ device provides orientation information , it takes only a single sensor to fully define the motion of a rigid body , such as a paddle . additional sensors may be added for providing a model of the arm or a stick figure of the body . the experiment focused on the resulting trajectory of the ball 28 , which completely determines the outcome in ping - pong . by only showing the paddle , the subject is forced to concentrate on the most important part of the movement which is to be learned . the subject develops his own strategy for coordinating the rest of his body to achieve that desired endpoint trajectory . the experimental system has three modes of operation : practice , training , and feedback . as illustrated in fig4 the experiment starts in practice mode wherein the student can practice movements and become familiar with the experimental environment . in practice mode , as the student 50 moves a real ping - ping paddle 22 having a polhemus sensor 20 mounted thereon , he views the response of the virtual paddle 52 on the monitor 10 . initially , no ball is generated on the monitor 10 allowing the student 50 to become familiar with moving the paddle . when the student 50 is adequately prepared , he can instruct the computer to generate virtual balls 28 on the monitor 10 for the student to strike with the virtual paddle 52 , with the goal being to send the virtual ball 28 to the center of the target 30 provided on the monitor 10 . a baseline performance for the student 50 is measured , and patterns of motion for the student 50 are recorded . as illustrated in fig5 the next stage of the experiment is training mode wherein a teacher &# 39 ; s paddle 58b is provided on the monitor 10 and executes a movement which sends the virtual ball 28 into the target 30 . the student &# 39 ; s 50 goal in training mode is to follow the motion of the teacher &# 39 ; s paddle 58b with the student &# 39 ; s virtual paddle 56b . the student is not striking the virtual ball 28 in this mode , but rather is imitating the teacher &# 39 ; s movement as the teacher &# 39 ; s paddle 58b strikes the virtual ball 28 . initially , the teacher &# 39 ; s paddle 58b is shown in slow motion moving from an initial location 58a to a final location 58b so that the student 50 can practice the trajectory of the movement alone . gradually , the speed of the teacher &# 39 ; s paddle 58b is increased to real - time and the student 50 , having learned the trajectory , can concentrate on the velocity of the movement . as the student &# 39 ; s 50 ability to imitate the teacher improves , the computer automatically increases the speed of the teacher &# 39 ; s motion . the experimental system can detect those portions of the student &# 39 ; s trajectory which contained the largest deviation from the teacher &# 39 ; s trajectory . on subsequent presentations , those portions are emphasized with graphics in slow motion , focusing the attention of the student 50 to segments of the motion sequence not yet properly learned . this feature replaces the verbal comments of a coach watching a trainee and informing the trainee what he did wrong . following the training mode , the student returns to practice mode and the student again performs a practice trial so that his progress may be monitored . a series of virtual balls are again presented to the student . following a predetermined number of practice trials , the system switches to feedback mode . as illustrated in fig6 in feedback mode , the student &# 39 ; s 50 recorded movements 56a - b are played back superimposed on the teacher &# 39 ; s movements 58a - b . the segments of the student &# 39 ; s 56b trajectory that deviated from the teacher &# 39 ; s 58b trajectory are emphasized 60 . the software can display feedback after every practice trial or after a predetermined number of practice trials and that number can be adapted depending on the performance of the student 50 . students 50 will typically reach a performance plateau . after performing well for several trials , a student may thereafter perform poorly for several consecutive trials . those intervals when the student 50 repeatedly misses the target 30 are an appropriate time to switch to training mode or feedback mode . an experiment was conducted to assess the effect of training mode on a student &# 39 ; s performance . each student began with forty practice trials during which a baseline performance was recorded . performance was measured by the average score of the trials , the center of the target being eight points , decreasing one point for each outer ring . next , the system switched to training mode wherein the student imitated the teacher &# 39 ; s motion forty times . the teacher &# 39 ; s motion began at a slow speed and gradually increased to real - time . next , the system returned to practice mode and sent another forty balls while monitoring student performance . the results for students that demonstrated an improvement in performance after training mode are summarized in fig7 . the average score for each trial before ( dark shading ) and after ( light shading ) training is represented for each student . these data demonstrate that training mode has an effect both on students who performed badly initially , for example , students 1 , 4 , and 5 ; and on students who performed reasonably well initially , for example , students 6 , 12 , and 13 . both groups demonstrated substantial improvement . some students did not improve after training mode as shown in fig8 . students 1 and 2 never hit the target so it is not known what the results would have been if more trials and more training were given . students 4 and 6 were not affected by training , while the performance of students 3 and 5 decreased . the teacher &# 39 ; s trajectory used for students 3 , 4 , 5 and 6 was that of an expert player . later , the teacher &# 39 ; s trajectory was changed to a lower skill level , or that of an intermediate , and each student thereafter improved with training . the effects of training on a student may be improved by providing a range of teacher skill levels as described above . fig9 is a flow chart of the experimental system demonstrating the closed - loop nature of the system . as the user 70 moves the object 72 , the motion sensor 72 detects the motion and sends position and orientation information 76 about the object to the pc 80 . the pc is operating in either practice , training , or feedback mode and depending on the mode of operation , sends an image 82 to a monitor 84 . the monitor 84 provides visual feedback 86 to the user 70 so the user can determine which improvements to make in his motions 72 . fig1 a and 10b are a flow chart of the experimental system software . the program begins with a calibration of the sensor position with respect to the transmitter 100 . the three dimensional work space is drawn including the ball and the target 102 . the sensor position and orientation is read 104 and a three dimensional model of the subject &# 39 ; s racquet is drawn according to the sensor position and orientation 106 . next , the ball is given an initial velocity 108 . if the student is in practice mode 110 , the sensor position and orientation is read and recorded in a file 112 . a three dimensional model of the student &# 39 ; s racquet is drawn and the ball position is updated 114 . if the student &# 39 ; s racquet did not hit the ball 116 , then the sensor position and orientation is updated and recorded 112 and the model of the student racquet and ball position are updated 114 . when the ball comes in contact with the racquet 116 , the dynamics of the impact and the ball &# 39 ; s acceleration are calculated 118 and updated on the screen 120 . if the ball did not yet come in contact with target 122 , the position of the ball is again updated 120 . upon the ball &# 39 ; s impacting the target 122 , a score is calculated and given to the student 124 and the process again repeats 110 . if the student is in training mode 110 , a teacher &# 39 ; s trajectory is read from the file 126 and a three dimensional model of the teacher &# 39 ; s racquet is drawn 128 . the student &# 39 ; s sensor information is read and a three dimensional model of the student racquet is drawn and the ball position updated 130 . depending on the user selected update speed , the position of the teacher &# 39 ; s racquet is updated 132 and until the teacher &# 39 ; s trajectory is complete 134 , the position of the student &# 39 ; s racquet and the teacher &# 39 ; s racquet are continually updated . upon completion of the teacher &# 39 ; s trajectory 134 , a correlation score of the student &# 39 ; s and teacher &# 39 ; s movements is calculated and given to the student 136 . the process repeats from there 110 . an alternative approach to forming a teacher &# 39 ; s motion is to record movements of the student and then program the computer to predict a trajectory that would be successful at sending the ball into the target in a manner which is similar to the student &# 39 ; s motion . using a teacher trajectory derived from the user instead of a prerecorded teacher trajectory , a student can learn from and improve his own style of movement instead of being forced into a motion that may be unnatural for the student . another approach to forming a teacher &# 39 ; s motion involves self teaching wherein several trial motions of the student are recorded until at least one motion provides the desired results . the computer selects the motion sequence with the best results , and that sequence is used to train the student . in an alternative embodiment , a sensor may be mounted on a teacher &# 39 ; s paddle , as well as on a student &# 39 ; s paddle . both the student &# 39 ; s and teacher &# 39 ; s movements may be displayed on the monitor in real - time . in this way , a student may learn from a live teacher , in addition to a teacher &# 39 ; s movements stored in memory . while this invention has been particularly shown and described with references to preferred embodiments thereof , it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims . for example , the present invention may be used for learning the motion responding to a moving object , for learning the motion of striking a stationary object , and for learning motions which do not involve objects external to the student &# 39 ; s body . motions which involve striking moving objects include : striking a moving ball with a racquet as in ping - ping , tennis , racquet ball , and squash ; striking a moving ball with a blunt object as in baseball and cricket ; striking a moving ball with a part of the body as in handball ; receiving and catching moving objects as in baseball and football . motions which involve placing a stationary object in motion include slapping a hockey puck , driving a golf ball , shooting a basketball , and kicking a football . motions which involve no objects external to the body include walking , skiing , and conducting an orchestra . the present invention has application in medicine for training motorically impaired patients to relearn motor skills . the motion to be learned may involve something as simple as opening a door , or more complicated actions such as writing with a pen or walking . the present invention also has application in industry , for example , training a worker to lift heavy objects in a safe manner . also , a worker may be trained on demanding assembly work . the present invention is compatible with a wide range of position and orientation sensor technologies , which may include wireless sensor systems . the present invention is intended not only for learning motions which require only a single sensor as in the ping - pong example described above , but is also intended for more complicated motions which may require a plurality of sensors . for example , if a ping - pong player was concerned about not only the motion of the paddle , but also of the motion of his elbow , shoulder , and torso in moving the ping - pong paddle , then sensors may be added to those locations and his motion analyzed and compared to a teacher whose motion was recorded using a similar array of sensors . depending on the motion to be learned , the present invention may produce better results with a large screen television , or a projection television rather than a computer monitor .
in an apparatus and method for teaching motor skills to a human subject , learning by a student is based upon imitation of a teacher &# 39 ; s motion . the teacher &# 39 ; s motion is sensed by a motion sensing device , is digitized by a computer , and is then recorded in non - volatile computer memory . the computer generates an image sequence of the teacher on the computer display for the student to view and imitate . the same motion sensing device used to record the teacher &# 39 ; s movement records the student &# 39 ; s movement and the computer creates an image sequence on the display corresponding to the student &# 39 ; s movement , simultaneously providing an image sequence of the teacher &# 39 ; s movement . the training of the student is based upon displaying the pre - stored teacher &# 39 ; s motion on the screen . the student &# 39 ; s task is to imitate the teacher &# 39 ; s movement . this process is repeated until the teacher &# 39 ; s and student &# 39 ; s trajectories match well in space and time .