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.