As my blog posts near their end, I thought that it might be nice to take some time to explain a bit about how the hand electronics and code work. This post should give the reader a fair bit of information about what the code actually does, and may briefly touch on how the electronics work with the code. I want this post to be pretty thorough, so if you have any questions or want anything clarified by the end, feel free to ask in the comments!
It’s been two weeks since my last post, and a great deal has happened since then. Most notably, the second version of the handstand has been constructed and set up. Take a look at the video below for a quick demonstration of that and the new and improved debug program (The thing graphing data on my laptop). In the video I demonstrate the new debug program screen, the hand opening and closing with the EMG system, and all of the hand functions that are currently loaded: pinch, peace sign, rock sign, and two types of finger wave. Most of the functions are placeholders, but they’re still fun to see.
In preparing for a meeting with the hand’s recipient to test the EMG controls that I’ve developed, I’ll be spending the next day or two building a new test platform. The platform will contain all of the necessary electronics for the hand, a space for batteries, and five servos. Even though we’re not going to be using servos in the final version of the hand, they are still very easy to use and will suffice for tests. Keep an eye on GitHub over the next few weeks as I update and add multi-emg servo control code. My hope is to get a setup built with three EMGs and independently activated, servo controlled fingers by the end of this month.
This new test platform will be much more aesthetically pleasing than the old “HandStand v1.0”, seen here in a slightly disassembled state:
The new stand, “HandStand v2.0”, will be made from either laser-cut acrylic, or CNC-cut Aluminum. I look forward to posting pictures of it upon completion!
There are four things that I have to do in the next few months:
1. Order motors and potentiometers and modify (“hack”) the hand to use them.
2. Set up a meeting with the recipient of the hand (to test EMGs).
3. Begin printing a new hand on the FormLabs printer.
4. Commit the code to GitHub
Oh, hey, that last one’s done! Continue reading
I’ll start with the good news: the control system for the hand is in a very good place. All of the tests that I’ve done so far have worked very well, and I have some rudimentary hand control code working. The prototype control system is basically done — it just has to be implemented.
That’s the bad news. We do not (as of yet) have a mechanical, motor-driven hand that I can link to the control system that I’ve been developing. All this means is that I’ll have a lot of work in the weeks ahead. This increase in workload will probably make the blog more interesting! (More content!) Or less? It will depend entirely on how much you like mechanics, design, and engineering. Read on for some basic information about the next few months.
The past week has been a successful one in terms of getting the hand to actually *do* something. I’ve gotten the hand to move a finger (specifically, the index finger), which is a pretty big step forward in the project overall. Check out the video below!
I succeeded this week in my goal of getting the servo to activate 100% of the time through use of the Muscle Sensor, and was also able to read different muscles independently of one another! Check out the video below (it’s pretty cool!), and read on for more information.
The week started off with my rewriting all of the Arduino and sensor code for the MSK, after forgetting to save and losing the code that I did have. (Not such a big deal, as it was only 30 lines or so that needed to be rewritten.) I rewrote the code to have more features than the old code did, like the ability to write custom angles to the servo, and the ability to modify default values (e.g. Change what angle the servo gets set to if the sensor is triggered.) I also restructured the code to use methods instead of having everything running in the main loop. Ultimately, losing those thirty or so lines was probably a good thing. Of course, I expect that I’ll have to rewrite the code a few more times before the end of this project, whether it’s to allow for the control of multiple servos or to simply remove debug functions. Continue reading
The week began on a high note with the arrival of the Muscle Sensor Kit v3 (MSK) from Advancer Technologies, a sensor that would allow me to gather EMG data from muscle movements. Although there was a brief period at the beginning of the week when things were looking down for the idea of an EMG-based control system, everything was sorted out by Friday and a control system had been chosen! (And a rather silly human error had been discovered…)
Unfortunately, this past week has been very slow for the hand project because I’ve been sick with the flu. Despite my absence, progress has still been made – thanks to shipping companies! In a few days, (or maybe even tomorrow!) the first electromyographic test circuit should arrive at Westtown, and I’ll be able to begin experimenting with EMG signals.