• The Theory

    x86 FanBoy06/01/2016 at 11:30 0 comments

    So, before we jump into testing, let's just talk theory for a bit.

    In asking around online about how you could get this thing to walk, people suggested numerous ideas.

    "Rotate each leg forwards one at time then rotate them all backwards simultaneously."

    "It can be done. Might be goofy and involve lots of shuffling, but it can be done.
    One option:
    >Shift all four servos forward to stick bot's ass out and get more weight on the back feet
    >Spread feet slowly; rears will grip and fronts will slide
    >Shift weight to front feet by angling legs backwards some (while maintaining spacing)
    >Scoot legs inward again; rears will slide while fronts grip"

    Then there was...

    "Put slippery material on one part of each foot, grippy material on another. Then you can set friction based on the leg angle."

    ...which is interesting. I was trying to see how to get it to walk as is, without modifying it (cheating), but this brought up a good thought.

    Why not put some kind of slanted bristles, angled rubber, whatever you may want, so you can push the feet forwards without any grip, but when you push them back they grip.

    A fault here is they may not be able to go backwards, but if you where to put grips on the edges, around a slippery middle, you could grip or loosen going either forwards or backwards.

    This is semi important, because it's how the student was able to make his bot walk (without any grips).

    By pulling the first two feet backwards, then madly flinging the back feet from front to back, whenever the back feet pushed the bot forwards it would slide, but when they pulled backwards the front feet would act as a grip.

    Wanna reverse? Just spin the front feet around the other way, or just reverse the roles.

    It's not quite walking, but it is funny to watch.

    [Insert video here]

    Anyway, once I get the software basics down I'll see how many of these I can try.

  • The Build

    x86 FanBoy06/01/2016 at 11:07 0 comments

    So let's just dive into it. Here's how the build of the first unit went.

    I ordered 9 gram and 3.7 gram servos, four of each. I have plans for another four servo bot design, bipedal, so I thought I'd better save the stronger servos for that one. Plus, I wanted this little guy to be as cute and small as possible.

    We got 4x 3.7G servos, a mini breadboard, a Arduino Pro Micro, some scrap foam board, and a few nails. What more could you need?


    First step was to peel off those pesky stickers from the servos and stick them end-to-end with hotglue:

    Next, glue the servo pairs to the base of the mini breadboard. It's gonna be the core of the project:

    And, just because I couldn't help myself:

    Vroom Vroom!

    Okay, back to serious.

    Next up I separated the Positive and ground wires from the signal...

    Joined all the positive and negative leads together...

    And soldered on the original female connector from the servo plug. Then soldered into it a small nail, letting me connect the plugs into the breadboard as if they were male jumper leads. I try not to waste much in my projects.

    I then soldered in a nail to all the female signal wires, and plugged them all into the breadboard.

    I loaded up a quick program to set all the servos to their midpoint, attached the horns, and was ready to start designing the legs.

    "Designed" is perhaps a bit of an overstatement, they're just rectangles in inkscape with rounded corners (apple plz no sue) a little wider than the servo horns.

    With everything in place, time to glue!

    And a prettier picture:

    I think I'll leave this log at that, and touch on the software a bit later on.

    This thing's ripe to have more stuff added, a battery would be a good start so it's not just tethered like in a boston dynamics video the whole time (see two pics above), it's also about the perfect size for a 8266. It'd be fun to get this thing hosting a webserver you could control it from, but that comes later.

  • The Insparation

    x86 FanBoy06/01/2016 at 10:18 0 comments

    Little bit of backstory.

    So, at my work (a high school) I was helping out a student with a rather peculiar robot.

    (First and foremost he gave his permission for me to talk about and photograph it. He seemed happy at the though it inspired a staff member so much, so that's nice and out of the way.)

    What drew me to this bot was it's utter simplicity, to the point where it doesn't look like it could function.

    It is a sheet of foamboard with four servos hotgued on, and on each servo's horn a small cutout of foamboard for a leg.

    No knees.

    At first I saw this as an error, then I quickly realized it was an awesome challenge.

    Despite the original not having knee joints, probably because of a lack of understanding on the students point, it was still able to shuffle around rather nicely, and, eventually, the student got it walking pretty well (if not while looking goofy as a drunk puppy), but that's for a later log.

    (Insert "I have no [knees] and I must [something] joke here)

    Anyway, so intrigued by the thought of getting a design like this working I ordered a bunch of servos to build one myself.

    Ultimately, there are two questions this project asks:

    What's the best way to get a robot with four servos, each connected to one and only one leg, to walk? As in you could take the robot above and load software onto it to get it walking, without modifying it physically.

    Secondly, what's the best way to build a walking robot with only four servos?

    The first is a nice thought experiment, really gets you thinking and testing, the second is a nice answer to the current pricing of robots.

    The parts alone for a Poppy robot are over $10k. You can buy a pepper for under $2k. What's the fun in this? Sooner or later robots will just be flat featureless disks that scoot along our floors. Oh wait.

    Anyway, I just think limiting the amount/quality of servos while maintaining the same controllable movement is a nice way to start off designing cheap legged robots.