MyoBanding under Quarantine

Hello World!


Whelp, like all of us, I am currently stuck at home! Things have been a bit crazy lately so I haven’t posted in a while, but I figured that I should join the ranks of the many internet denizens who are creating things for people to do while they are stuck inside. Honestly, I’m a programmer so the shelter in place order that California has issued is not hard to comply with. As one of my coder friends told me recently, our lives are basically quarantine already.

I’ve been trying to keep Oneloop as functional as possible under the circumstances, which is difficult when we don’t have access to the enormous test drive that is currently in Chevron labs. Basically, in the lab we have a very large stand that contains a very heavy wheel. If you want to test a motor, you attach it to the test stand and make it turn the wheel. If you want to test brakes, you use a motor to turn the wheel and then try to brake it. There is a smaller test that we could easy carry out of Chevron Labs, but it’s very sketchy. It might give incorrect data, and if the motor is faster than we expected there is the small but existing chance that the wheel will fly off and hit somebody which would be very bad. So we are trying to make do without the test stand, but it’s going to be hard!

a halbach array
A halbach array

Our pod will be going at such a speed that standard brakes, where disks clamp the sides of the I beam that our pod will be riding on, would melt the brakes. So instead, we will be using a halbach array which is an long array of magnets that you can see to the right. The magnets are moved near the I beam which creates eddy currents and slow the pod down. The breaks team is working on researching eddy breaks, which are basically a form of breaks that use eddy currents generated by strong magnets as friction. As I said before, this is pretty cutting-edge stuff so much of the work they are doing is very experimental. It would be easier to use friction breaks, but unfortunately in our case that would just melt everything.

The propulsion team is running analysis on the fringe effects and magnetic field strength of the linear induction motor we will be using. Basically, they will be making sure that running a LIM in the middle of our pod doesn’t cause any of the other systems to screw up. The LIM generates a magnetic field which could potentially mess up many of the other subsystems which also use electricity and magnetism.

The power team, which really consists of one (awesome) member, is still working on their inverter. An inverter is a device that changes direct current (DC) to alternating current (AC). They're important because batteries like the one we are going to have on the pod utilize DC, while the pod needs AC to run properly. Thankfully, the power team will actually be able to get a lot done since their single member has access to a bunch of engineering stuff at home.

Finally, the business team is trying to figure out the mess that is the UC Davis team account system! Why do we have four accounts, none of which are the variety that allows us to have tax-deducible donation? I don’t know! Hopefully that will be fixed very soon. In addition they are going to try to give us sponsorships. So while we are shut down for the time being, we all have stuff to do!

Recently, the controls team had to run into Bainer hall to get an oscilloscope and a power supply. I was able to get us in, and I also used this opportunity to take the MyoBand and Raspberry Pi starter kit out of BEAR labs so I would be able to do research on them from home. Unfortunately, I discovered that the Raspberry Pi itself had been removed from the box! After going home and emailing the professor, it turned out that a grad student had set up the Pi for a project, and then didn’t end up using it. So I went back a second time to grab it and will hopefully soon be setting things up!

As of now, I can use the MyoBand on my computer, and have a rough understanding of how to code it in C++. Basically, the MyoBand communicates to the computer through bluetooth. You sync it up with your arm so that it can detect if your hand is in a fist, waving to the right or left, or open. The code is quite simple, and just gives you a MyoBand object that has various data associated with it. So if you have a MyoBand named myo, myo.pose tells you the gesture. The data about where the user is moving their wrist is stored in a vector object, and the position of the band (defined with roll, pitch, and yaw) is in an object called a quaternion which I have never worked with before! It’s easy enough to understand after a bit of tinkering.

The next step will be getting the MyoBand to talk to the pi, and hopefully I’ll be able to make it so that LEDs light up depending on the position of your hand. This will be hard because the Pi uses and operating system called Raspbian, and the MyoBand development kit only works on Windows or macOS! So I’ll have to connect it through some other way — I’m not sure yet. I considered downloading Windows onto the Pi, which can be done, but Raspbian is likely much more similar to the actual environment that the space suit hand will be in so I don’t think I will. Eventually, I will be working with the raw muscle impulses to create new gestures, but that won’t be for a while most likely.

May you be ever victorious in your indoor endeavors!