The inspiration for this particular project was that we wanted to get familiar with using a new way to interact with a machine. After looking at the possible prizes we picked this project as it would be a good way to learn while working towards a prize.
What it does
Model Motion is a Lua script that can be loaded onto any machine. Using intuitive arm motions and positions, the script allows the user to adjust the view on a model in SAP 3D Visual Enterprise Viewer. This includes being able to rotate it on both x and y axis along with zooming capabilities all at the flick of a wrist.
How we built it
The team initially started with two possible technologies in mind - the Leap Motion and the Myo Armband. We soon realized that while the Leap Motion offers better precision as it tracks each finger individually, it was not suited for the environment in which it would be deployed and additional glove-wear confused it's tracking algorithm. Additionally, the project did not require the level of precision that the Leap Motion offered. However, the Myo Armband can be worn comfortably and is durable making it perfect for the environment. Another befit of using the Myo Armband is that it has a few recognized motions that won't get confused with each other but can be combined in sequences to perform powerful tasks. It also offered us just the right amount of control over the model in the modelling software. With this in mind, some of the team members began playing around with the Armband to figure out which motions work best and which motions would be intuitive to control the on-screen model while the other members read the documentation for the Armband. Next, the team came together to design the interface after which the team began programming.
Challenges we ran into
The biggest challenge the team ran into was figuring out how to write the software that dictated which motions did what on screen. Here the team had several options. The team could use an Object Oriented Programming Language such as Java or C++ to make a Myo project, use Unity to build the models and take gestures from the Armband in through Unity and manipulate the model in the Unity software, or use the Lua scripting language to make a short script that dictated what each motion mapped to on the host computer. The team decided to go with the last option as it was a small file that could be run on any machine with the Myo drivers installed and it provided the necessary mouse functions to view the model without having to change the software the model is displayed in making things easier for the end user. Another challenge we ran into was that a team members became very ill shortly after the hackathon began. This was particularly troublesome as the member is usually the team lead and the team's best coder.
Accomplishments that we're proud of
As a team we were very proud of the project as a whole as we overcame the challenges we faced even though it was the first hackathon some of us had participated in.
What we learned
This project taught the team more than just how to program for the Armband. It taught us methods of picking out how to implement something (a new way to vote on something and rapidly reduce methods that were inferior). Additionally, we learnt to think about the environment that our product would be used in alongside the clients needs to pick the correct hardware.
What's next for Model Motion
Add functionalities to make the software more interactive.