Mini Felix is a noisy and jittery fellow. Walking is ok, but doing animations with it is quite annoying. Instead I decided to assemble a new chassis using the latest design and use it to test the animation tool. At the same time I wanted to document the assembly so I can write a step-by-step tutorial. Putting it all together took about 4 hours and there are a couple of things I can do to improve the design to ease this process. Today I did the soldering and connected the servos and was able to start playing with the animation editor. More on that later.
I really like laser cutters. They are like a 2.5D copy machine. We have two in our fablab =). For this weeks project I worked on a design for a simple gift-card automata. First I got the dimensions and mechanics right using plywood, my bandsaw and a Dremel. Then I scanned the pieces and traced them in illustrator. Then I exported the vector file to the laser cutter. Our big Chinese cutter is not exactly a precision champion. It’s difficult to find the sweet spot between distance, power and speed to match the material. A rushed setup produced a somewhat charred result, but fine enough to test the assembly. If you want to give it a try download the vector files (ai, svg and dxf): WhyYouCry .
Right now the assembly require 3mm. wood dowels and eventually a bit of glue. I might revise the design to be a fully laser cut solution. Another enhancement could be to print and transfer graphics to the wood before it is cut (http://www.instructables.com/id/Image-Transfer-to-Wood/), you can of course just paint it afterward with acrylics.
If you make one, please tweet me a picture @RonaldXJT!
[Picture credits: Tommaso Ranzani]
One of the problems of soft robotics is that some tasks required a high a degree of precision. Knowing exactly where your end effector is crucial and being able to control the “stiffness” of the system is a plus when you need accuracy.
Today I stumbled upon a paper that has a novel approach to deal deal with this issues. It’s a bioinspired soft manipulator by Dr. Tommaso Ranzani (http://iopscience.iop.org/1748-3190/10/3/035008). The manipulator is consists of small segments of Silicone. Each segment has four chambers. Tree chambers are inflatable, and by controlling their air pressure, you can move the manipulator around. Pumping two at the same time move the manipulator toward the deflated one, pumping all tree, extends the manipulator. There is a 6 DOF sensor in each junction. By modeling the orientation of each junction and the length of the segments they can calculate the position of the tip.
So far nothing new. The genius is in the central chamber. This central chamber is filled with granular material (ex. coffee) and by controlling the pressure in this chamber they can controll the stiffness of the system.
It’s the same principle behind John Amend’s and Hod Lipson’s universal robotic gripper.
Lately there has been a renewed interest in the field of soft robotics. Big Hero has probably something to do with it =).
Anyway, Harvard Biodesign Lab released last year a soft robotics toolkit. Doing some sort of project with the kit has been on my radar since, but I haven’t had an specific idea. But today a small centipede decided to walk by and I took a short clip in order to get a better idea of how he moved. Trying to mimic the locomotion pattern could be an interesting project.
This animation tool can now control servos using socket.io and Johnny-Five and it’s actually quite fun! But it is far from production ready. I created a repo for the project: https://github.com/Traverso/go-johnny-go and I have already added a bunch of issues https://github.com/Traverso/go-johnny-go/issues. Nothing major, mostly debris from a rushed prof-of-concept coding spree.
The redesigned chassis is just a scaled down version of the current geometry, but I have to work on the casing for the electronics. There is not much space available for a Uno, a shield and a battery pack. If I lay the electronics down flat, Felix looses it’s slender figure and looks more like a turtle. Currently I’m working on a vertical arrangement, which gives him a unflattering hump, but he seems to prefer that.
Before I settle/refine the design, I have to test how it affects Felix balance during the gait.
One of the many gems in this project is the Animation library. It allows you to control one or more servos by defining small timed sequences called segments. A segment is basically a timeline.
To control the timing of your keyframes you define cue-points. Your keyframes define the position of a target (servo) at a given time.
When you recall your sequence the library automagically controls your servos and perform the described animation taking care of timing, interpolation and even easing for you.
I want to add some animation sequences to Felix. Teach him a few tricks.
But describing the coordinated movements of a set of 8 servos as cue points and rotations is tedious.
Instead i start working on a simple animation editor. The idea is that you edit segments while your board is connected so you can drag and position your servos in real time. In that way you can test/play your segments until you get your moves right.
The tool will let you combine multiple segments into animations and export an animation as a js file that you can add to your own project.
The video below shows my first attempt at an UI using PaperJS to implement the graphing and interaction.