fig1 is an overview diagram of a body motion tracking system 100 . in the embodiment shown in this figure , an end user 10 wears a motion tracking device 110 attached to a belt 112 . the belt 112 may be adjustable and feature a closure 114 ( e . g ., snap buttons , hook and loop fasteners , etc .) which can be adjusted as needed to secure the belt 112 around a waist of the user 10 . the belt 112 may have the motion tracking device 110 affixed to it permanently or temporarily ( e . g ., clipped on ). the device 110 itself features a processor 120 , a battery 130 , an imu ( s ) 140 , a memory 150 , and a communications adapter 160 . the device 110 also features a module of code stored in the memory 150 ( and executed by the processor 120 ) which monitors data collected by the imus 140 of the given device 110 and holds the device 110 in a low power mode until the imus 140 detect significant body movement for a monitored body area ( e . g ., the buttocks ) of an end user 10 . the low power mode preserves the battery &# 39 ; s 130 charge by running only basic tasks on the device 110 until more functions are needed . the threshold for what constitutes significant body movement may be determined by the module of code automatically based off body movement data collected for other users of the system 100 and refined over time using data collected by the device 110 to set the movement threshold . once the threshold is crossed ( e . g ., end user 10 is twerking , etc .) the processor of the device 110 switches from low power mode to using all components of the device 110 needed to monitor the dance moves of the user . once in monitoring mode , the device 110 will use as much power as needed to monitor and collected data about movement of the end user &# 39 ; s 10 body and transmit this data using the communications adapter ( s ) 160 . the device 110 utilizes the communication adapter ( s ) 160 ( e . g ., bluetooth , wi - fi , zigbee , etc .) to communicate with one or more computing devices 200 . these computing devices 200 may be any type of smartphone , personal computer , tablet , or other mobile device . the data transmitted from the tracking device ( or devices ) 110 monitoring a given end user 10 may collate and organize the data before transmission to aid in analysis by the system 100 . once the movement data is sent to a computing device 200 , a standalone or integrated application 210 may receive and analyze the data . such analysis may involve identifying the type of movement or dance being carried out by a user 10 based off the type of movement data collected automatically and then also tracking details about how the given user moves or dances . for instance , in the example shown , the system &# 39 ; s 100 motion tracking device 110 affixed to a belt 112 will sit in close proximity to an end user &# 39 ; s 10 hips and buttocks . the movement threshold for such a device is programmed to not track movement data for mundane or irrelevant movement ( e . g ., walking , running , swimming , etc .) but is triggered by specific , predefined movement data which corresponds to twerking , zumba ®, or another type of dance programmed to be identified by the system 100 . specifically , the imu ( s ) 140 may include a gyroscope , an accelerometer , magnetometer and other sensors . each of the gyroscope , accelerometer , and other imus measures a unique aspect of the body movement and collectively provide a broad array of data that comprise the predefined movement data for each dance recognized by the system 100 . in some embodiments , a single device 110 may include a plurality of imus 140 , while in other devices , the system 100 may include a first device 110 a having a first imu 140 a and a second device 110 b having a second imu 140 b . once a user starts moving in accordance with the predefined movement data , the device 110 tracks information regarding the dance session of the user 10 including data about speed , rhythm , duration , and other measurable aspects of the movement in the buttocks area . such data is then transmitted wirelessly from the device 110 to a computing device 200 of the user 10 such as a smartphone , a smartwatch , etc ., running the system &# 39 ; s 100 application which can report the data collected to end user &# 39 ; s in the form of easy to read reports as well as comparison with past personal bests and a ranking board of dance data collected from other users 10 utilizing other instances of the system 100 . the data collected and monitored by the system 100 may also be used to generate alerts ( e . g ., a user 10 has been twerking too long or too fast ) and may be combined with data from other biometric sensors ( e . g ., heart rate monitor ) to provide even greater detail about a given dance or movement . for example , with the inclusion of heart rate data along with movement data , an accurate calculation of calories burned per twerk session can be generated by the system 100 . fig2 is a decision tree of the module of code which determines if a body movement threshold has been crossed . as shown in fig2 , at a first step 301 , any movement data detected by an imu 140 of the system 100 is processed by the system 100 . at the next step 303 , the system 100 determines if the movement threshold has been crossed . if not , the system 100 , at step 305 , does not record the movement data and continues to monitor for movements which do cross the threshold . if the threshold is crossed , then the system 100 , at step 307 , does record that data and runs a movement classifying module of code ( step 309 , see fig3 ). fig3 is a decision tree of the system &# 39 ; s 100 movement classifying module of code . as shown in fig3 , at a first step 311 , movement data which is significant enough to trigger the predefined movement threshold ( shown in fig2 ) is received and processed by a processor ( the processor may be the processor 120 of the motion tracking device 110 shown in fig1 ). once processed , the system 100 determines , at step 313 , if the movement is known or unknown . known movements are identified by the system 100 as such based off predefined , distinct characteristics for a given dance or movement ( e . g ., twerking ). if such known movement is detected , the system 100 , at step 315 , will transmit this data to the system &# 39 ; s 100 application for further analysis and / or reporting . if the movement is not known by the system 100 , it will determine if the movement has stopped ( e . g ., if the sleep interval has passed ; step 317 ) and then request more data from the imu ( s ) 140 ( step 319 ) and repeat steps 311 - 319 until the movement has been identified or has ceased . an example of how the system 100 would carry out the decision trees discussed above is when an end user 10 is preparing to twerk . typically , twerking is part of a greater overall dance which involves movement of the whole body . as a user 10 moves their arms and legs , the tracker ( s ) 110 they are wearing will detect such movement , but such movement will not trigger the system 100 to begin collecting , classifying , and reporting this movement data because the system &# 39 ; s 100 movement threshold is not crossed by the arm and leg movement . alternatively , once a user begins moving their hips and buttocks , the threshold is surpassed and the system 100 will begin collecting and reporting data regarding these movements . if the data about hip and buttocks movements collected by the system 100 match up with predefined sets of data which define for the system 100 what constitutes “ twerking movement ” the system 100 will identify it as such and report it . additionally , if the system 100 does not recognize the hip and buttocks movement being detected , it can continue to monitor the movement until it matches up the data collected with an alternative matching data set ( e . g ., zumba ® instead of twerking ). such matching may be done in real time , with the system 100 referencing new movement data sets online if it is unable to identify the movement . practically , this would enable the system 100 to identify , track , and report on , for example , the newest internet dance craze without the need for an end user 10 to do anything but dance . fig4 is an illustration of a dual motion tracking device 110 harness 400 . as shown in fig2 , a first motion tracking device 110 a shown in fig1 may work in unison with a separate , second motion tracking device 110 b affixed to another portion of the end user &# 39 ; s 10 body . like the belt 112 shown in fig1 , this embodiment features an adjustable closure 114 and a tether 402 which connects the first and second tracking devices 110 a , 110 b together . the benefit in using more the one imu 140 ( in this embodiment at least two are used ) is that it provides additional data points for dance / movement identification . this helps prevent false positives in classifying a dance move . fig5 is an illustration of a smock 450 with an imbedded motion tracking device 110 . as shown in fig5 , the motion tracking device 110 of the system 100 may be intergraded or embedded into clothing . in this case , the device 110 acts as a closure for the smock 450 . fig6 is an illustration of a pair of shorts 475 with an imbedded motion tracking device 110 . as shown in fig6 , the motion tracking device 110 of the system 100 may be intergraded or embedded into clothing . in this case , the device 110 sits in the waist band of the shorts 475 . it should be noted that in the embodiments shown in fig5 - 6 only the tracking device 110 is imbedded within the clothing shown , but other system 100 functions may be incorporated into these garments ( e . g ., smart clothing with led displays , heart rate monitors , etc .). it should also be noted that various changes and modifications to the presently preferred embodiments described herein will be apparent to those skilled in the art . such changes and modifications may be made without departing from the spirit and scope of the present invention and without diminishing its attendant advantages .
a body movement tracking system featuring an inertial measurement unit , processor , communication adapter , and a memory coupled to the processor configured to store program instructions that , when executed by the processor , cause the processor to capture , identify , and report data related to a dance .