Close

NeuroBeast v2 walks, enables simple (and quantifiable) gait development

A project log for NeuroBytes

Build your own nervous system!

zakqwyzakqwy 05/27/2016 at 16:350 Comments

Firstly, the name isn't finalized. Any ideas? "NeuroBeast" is a bit lame IMHO.

Secondly, a clip of the latest iteration dragging a battery pack across the demo rug:

[Ingredients: Seventeen NeuroBytes v0.8 boards. Eight 9g servos. Eight 3D printed feet. One 3D printed chassis (single piece!). Eight 'shoes' made from cut up G3 Expedition Climbing Skins. One rechargeable cellphone battery pack. Lots of excitatory and inhibitory cables.]

Impetus

Joe and I have had a great time showing our patellar demo kit to thousands of people over the last six months: three Maker Faires, two school trials, two competitions, a number of conferences, and dozens and dozens of formal educator interviews. However, we've also realized that the setup has some inherent limitations; namely, once you understand the basic knee-jerk mechanism, the kit starts collecting dust on the shelf.

[image source: https://en.wikipedia.org/wiki/Patellar_reflex]

Our 3D printed models are a real hit at Maker Faires in particular, since we'll typically have the same 30-second conversation a few hundred times during the course of the day. But the bones aren't really modular--they only go together one way--and once you've made a few modifications (can-can line, etc), the setup stops being particularly interesting.

DSC_0007.JPG

[pretty cool at first, and then boooooring.... ]

So in addition to getting v09 stuff sorted (and generally figuring out how to scale beyond toaster oven quantities), we're trying to build out new models and accessories that make the NeuroBytes ecosystem a bit more interesting for long-term engagement. Hence, NeuroBeast, or whatever we end up calling this new creature.

Design

I wanted to build a platform with a number of independently controllable legs so that one could emulate the gaits found in metameric invertebrates such as centipedes. In very general terms, these arthropods move using a metachronal rhythm, meaning the legs move in a wave-like sequence when viewed from overhead as shown in this link. This type of robot isn't particularly novel; for example, the Harvard Microrobotics Lab produced a fascinating example at a much smaller scale:

[Yup, NeuroBeast has nothing on the Centipede Millirobot, but it should allow anyone to putz around with 'pede gaits.]

The chassis is made of a single 3D printed frame, designed to be printed in 4-5 hours with PLA and no support material on a hobby-grade setup. I used a Rostock Max with a heated build plate, but any 8" x 8" Cartesian RepRap should work too.

[Designed using Autodesk Fusion 360. Yes, I played around with FreeCAD for a solid week before switching over and the former is just not as capable or easy to use. I'm not a fan of using closed-source development tools but I'll make every effort to share this design, both in *.stl format and (hopefully) in model format. As usual, everything is released and covered under the terms of GPL v3.]

Each of the eight "legs" connects to a 3D printed "foot":

As you can see, I got really into compliant design. The feet are printed separately for two reasons: one, so that different "shoes" can be equipped to deal with different surfaces; and two, because printing the feet flat takes advantage of the filament directionality and greatly improves the consistency and printability of the springs.

The legs might be a bit tough to visualize in motion. If you look closely at the servo model that is superimposed on one of the legs, you can see that the servo is fitted with a double-sided horn. Each side of the horn handles one degree of freedom: the outbound end causes the leg to flex back and forth, while the inbound end revolves about a diagonal cam that makes the foot lift up and down:

[this video shows a single foot used for testing and iteration; getting the cam angle correct took a bit of hand-carving to get right.]

It's not a real 2-DoF setup because the two motions are inexorably linked, but the design does allow a walking gait with only one servo per leg (and thus, only one motor NeuroBytes board per leg as well). Also, it makes a super sweet clattering noise as seen in both videos (due to the servo horn scraping along the PLA ridges). Long-term durability is still an open question, but I've probably got half an hour or so on NeuroBeast v2 without any discernible cam wear or breakage.

The current "shoes" are actually a throwback to NeuroBeast v1, when I tried to build a platform that could move entirely by scootching (i.e. not lifting up its legs at all). I bought a section of climbing skin, an interesting material designed to attach to the bottom of skis and allow the user to climb mountains without taking off their skis. Climbing skins are based on seal skins that were used for the same purpose hundreds of years ago, although now skins are made of thousands of tiny, directional nylon bristles with a self-adhesive back. As you may recall from the previous iteration, NeuroBeast v1 wasn't able to get much traction relying on shoe directionality alone, but the design seems to work well on the demo rug combined with the slight foot lift exhibited by v2.

Study

As an example of the 'quantifiable gait development' I mentioned in the log title, I did a simple study comparing two neural circuits that drive NeuroBeast v2 with different patterns. From the o'l lab notebook, here is the experimental setup:

I studied two different gaits, shown in these whiteboard photos (reproduced from the notebook):

Gait A is analogous to a simplified centipede--as the first NeuroBytes board (labeled "S") sends out continuous pulses, each side sequentially actuates in parallel. Due to a software modification we made to support the patellar reflex (particularly the interneuron between the hamstring motor neuron and the sensory neuron), the inhibitory pulses have a shorter delay so the right side is a bit advanced compared to the left.

Gait B is a bit different; the pulses alternate between the left and the right side. The extra interneuron seen on the left side is mostly there because the standard stubby cables wouldn't reach without it. Due to the shorter inhibitory delay discussed above, this gait is a bit more chaotic than the first.

[note: the right side motor neurons are inhibited so the servos rotate the correct direction. This is a bit confusing since they're still really being 'excited', but it's a byproduct of the limitations of our actuators.]

And now, a video of Gait "A" on the test course, including the tissue box end marker:

My original hypothesis, as copied from my notebook:

Gait A arrives faster because the feet are closer to sync across spine (still slightly biased to right since excitatory signals are more delayed in motor mode). Gait B takes longer and arrives further off track.

And.... results:

TestTime (s)Offset (in.)
B1
64.3***
B266.4-7 3/4
B367.6-10
B466.8-11
B569.3-11 3/4
B665.8-9 3/4
A161.x+4 1/2
A259.4+7 1/2
A358.4***
A4[aborted][aborted]
A558.4***
A657.5***
A760.7+4 1/2
A860.2+5

A4 was aborted because I accidentally hit "stop" on the timer halfway through the test run. The stars in the "offset" column are me forgetting to stop the robot and measure its offset before picking it up, so that is lost data. I reset the timer on A1 before writing down the result and remembered "61", but can't recall the 10ths place so this one isn't included in calculations below. So yeah, a few data integrity issues caused by my own sloppiness, but the important thing is that I recorded it all.

GaitTime avg (s) +/- stdevOffset avg (s) +/- stdev
A59.1 +/- 1.2 s5.5 +/- 1.5 in.
B66.7 +/- 1.5 s-10 +/- 1.5 in.

So--in this limited test, there was a significant difference between the two gaits, both in terms of course completion time and typical deviation from the line. A few thoughts I jotted down yesterday (marked "concerns"):

Clearly more tests with more iterations of each are needed before drawing any real conclusions about the effects of the neural architecture on gait effectiveness. Having said that, this was still a fun exploration!

Discussions