In the early design stages, motion capture was thought of only in terms of numerical integration techniques. It quickly became apparent that this method had a large source of error and is much more difficult to implement than orientation tracking (g-field observation). Given the tools that we used, we both feel that the project was very successful. By using a simple tri-axis system, we were able to reconstruct motion and body orientation on a relatively accurate (although primitive) level. Considering the extremely difficult process of accurately recreating position from numerical integration, we are very happy with our results in the area as well. Although the system is not perfect, nor does it precisely reconstruct motion, the general idea – properly representing velocity and position in the proper direction – works very well. Future research and development would combat this problem. We both feel that these problems could be overcome if coefficients of motion were introduced to help reconstruct motion. These coefficients are shown below.
Equation (17): Equations of Motion with Correction Coefficients
An additional fix for a more expensive project can be the incorporation of a greater number of sensors of motion tracking. In essence, we attempted to model a 6-degrees of freedom system (x, y, z, phi, theta, psi) using only three axes. Although we were able to solve most of these problems with relatively positive results. Incorporating additional sensors like inertial gyroscopes (which are expensive) could greatly increase accuracy for many of the numerical integration techniques and provide more accurate information for other types of motions.
Although this project showed a particular implementation of the motion capture algorithm, this system – and it’s tracking algorithm can be used for many different applications. This project showed applications in biomechanical analysis and human recording. This project also has applications in computer-interface as orientation as well as velocity/position changes can be observed accurately using both techniques.
It would have been nice to be able to model more points, as the major limitation was the bandwidth of the RS-232 connection. In a more professional application, a USB or (preferably) a wireless communication protocol (bluetooth or 802.11) could be used so that the user is disconnected completely from the computer. Also, a more powerful A/D converter could be used to sample at greater frequencies with greater precision. With higher sampling frequencies, many of the problems inherit to numerical integration techniques would be reduced.
The only industry standard used was the RS-232 communications standard, the details of which were all handled by the MAXIM IC RS-232 chip (Max233A), the Atmel Microcontroller, and the PC. Hence, we did not have to worry about conforming to the standard, as we did not directly deal with the low-level serial communication protocol.
We borrowed several portions of code for our project. Below are intellectual property listings:
- Professor Bruce Land – Serial Communication Code on the Mega32 [bl1]
- Rama Hoetzlein – GameX graphics engine and basic 3D modeling code [g1]
- Microsoft – Serial Communication Code from MSDN [m1]
A great portion of our theory and basic operational procedures came from the paper “Sourceless Human Body Motion Capture” by David Fontaine, Dominique David and Yanis Caritu [a1]. We would like to thank their research as it helped make this project possible. It was also interesting to observe their outcomes as they used a more sophisticated system (and got much better results).
There may be patent opportunities in our project in terms of computer interface. Because our algorithm can observe orientation and motion for any general movement, then interfacing these motions uniquely (for instance a keyboard, mouse, or other type of interface) could be a patent opportunity.
We took the following actions during project development to ensure the project was consistent with the IEEE Code of Ethics:
1. To accept responsibility in making engineering decisions consistent with the safety, health and welfare of the public, and to disclose promptly factors that might endanger the public or the environment;
Throughout this design, we have made decisions in the human interface to ensure that there is no susceptibility of injury due to electrical shock or overheating of components.
As in The Case of the Killer Robot it would be unethical and unwise to use this tracking device in system-critical hardware, as well as precision hardware. The error (especially due to numerical integration) is too great. It would never be advised to use the device for such an action.
2. To avoid real or perceived conflicts of interest whenever possible, and to disclose them to affected parties when they do exist;
We have not interfered with any conflicts of interest, as we have linked all borrowed ideas and code in our references and specifically listed them. Additionally, we have listed all of our results along with the code and circuit diagrams to allow for complete reconstruction of this project based solely upon this document.
3. To be honest and realistic in stating claims or estimates based on available data;
We have shown that our system works moderately well for g-observation techniques and have shown the direct error and reasons why there is so much uncertainty in numerical integration techniques. We have – by no means – tried to cover any problem up.
4. To reject bribery in all its forms;
We took no bribe to do this
project – nor would we have accepted any.
5. To improve the understanding of technology, its appropriate application, and potential consequences;
We tried to preset a thorough investigation of the
motion capture/orientation-tracking algorithm.
Most specifically, we have discussed in great detail how to improve the
responsiveness of numerical integration.
In effect, we have increased the knowledge of the subject matter. Throughout this document, we have also tried
to provide example applications and potential ideas. In our analysis of the algorithm we used, any decision that had
noticeable consequences was discussed and evaluated.
6. To maintain and improve our technical competence and to undertake technological tasks for others only if qualified by training or experience, or after full disclosure of pertinent limitations;
We developed our technical competence in imbedded programming, hardware design (most specifically hardware prototyping), and graphical programming for this project. Additionally, we have both gained great insight into signal analysis of human body motion.
7. To seek, accept, and offer honest criticism of technical work, to acknowledge and correct errors, and to credit properly the contributions of others;
Wherever our algorithm fell short of perfection or did not meet our expectations it is specifically stated. The development of this algorithm was a dynamic process that grew from fixing problems in a consecutive manner. We have pointed to contributions by any other source throughout our work.
8. To treat fairly all persons regardless of such factors as race, religion, gender, disability, age, or national origin;
This is never an issue, as we
firmly believe in equality in all its forms.
9. To avoid injuring others, their property, reputation, or employment by false or malicious action;
Avoiding injury requires that we adhere to safety issues in hardware design for our project. Moreover, we have placed a feedback loop on the application software for improper body movement in a hope to notify a user when pain may be soon or have already occurred.
10. To assist colleagues and co-workers in their professional development and to support them in following this code of ethics.
As a member of a large class, whenever we see a fellow student in distress or question, help was provided if the person was open to comments.
There really aren’t any legal considerations. This project adheres to all standards and safety requirements. A professional product would require enclosure of all circuitry as well as a warning label for exposure and water contact.