• Challenges

    Shifty03/30/2014 at 06:35 0 comments


    Information Challenges:

    Not a lot of information is widely available for pneumatic cylinders and the Arduino (or at least none that I have found, please leave a comment if you know of anything other than a simple demo project).  There are a couple of projects I found on YouTube but a lot of them never went very far or are just the basics (which I can use to get started).

    I hope to change all of that by releasing all the entire project as Open Source/Open Hardware for anyone to recreate, and/or modify.

    Workspace Challenges:

    I live in a small apartment on Long Island, NY and so I have a few neighbors with only a small paper-thin wall between us.  So my work will have to take place at reasonable hours of the day (ie: 5pm-8pm on weekdays, 12pm-8pm on weekends).  This will prevent me from doing a lot of hardware testing late at night (my best coding time, as I am sure you are familiar with) and will slow down my progress.  I am employed by a company that is about 10min. away from my apartment, and as a small company I wear quite a few hats and tend to work more than 40hrs/week, so my rate of progress will probably be slower than I would have liked.  That being said, this project is going to take months if not years so I am OK with this as it allows me to reflect on what I have accomplished that day, and allow me to update this project log.

    Software/Hardware Challenges:

    So a lot of walking gaits for robots are so called: static movement algorithms, in which the robot is always balanced, but that is not how we walk, so I will choose the active dynamic movement algorithms (Passive dynamic movement uses the inertia of the robot to make the walking gait), which I will have to write myself.

    My control program will need some sort of feedback to get the right "muscle memory" to stand up and walk, which will probably be some sort of potentiometer along with an accelerometer(already have) and gyroscope, since it is cheaper than a flow meter and/or some sort of position sensor.

    This HackADay article on hacking a laser measurement system might be valuable for determining distance to objects and/or the ground, which will probably provide useful for control.

  • Battleplan

    Shifty03/29/2014 at 23:32 0 comments

    Well as much as I would love to just buy everything all at once, that seems unfeasible based on my budget and probably isn't a wise idea in case I cannot finish the project.

    So I must come up with a battleplan to tackle this monster of a project.


    1.  Create the battleplan (this list)

    2. (Small) purchase of some components for testing

    • Air compressor & tank
    • Pneumatic Cylinders (single and double-acting cylinders)
    • Solenoids (something like this)
    • Arduino (have that, and the Intel Galileo if needed)
    • Transistor (before I had a relay board but apparently a TIP120 Transistor is all I need to fire the solenoid)

    3. Hardware Setup & Programming

    • Wire everything up
      • Should be pretty basic. Arduino -> relay -> solenoid -> pneumatic cylinders
    • Start programming!
      • Simple test case of extending and retracting a single pneumatic cylinder
      • Work on two cylinders at once and see if there is a noticeable lag between starting and stopping
      • Add more and more cylinders until Arduino cannot handle it or I run out of cylinders.
    • Testing and feasibility study(can this work?, do I have enough power and speed on the Ardunio? that sort of stuff)

    4. Purchase more components

    5. Integrate components into overall testing setup

    6. Start working on design of robot

    • Where do the pneumatic cylinders go
      • Why should it go there and not over there?
    • How will the robot keep its balance?
      • Accelerometer? Gyroscope? Both? Multiple?
    • Size of the robot?
      • Probably around adult-sized, so I can work on it easier and I don't have to worry as much about smaller more expensive components
    • Feet
      • This is going to require a lot of experimentation. I don't like the flat footed (literally and figuratively) nature of most robots, so we will have to design a new foot, with a ball for a heel and a split both length-wise and wide-wise(better control just at the feet)
    • Arms
      • Does it need arms? (probably)
    • Hands? 
      • Probably later since they are difficult and require smaller and more expensive components and aren't needed for walking and moving.  Although they would help save the robot if it falls but I may just use some sort of counter-balance system for that
    • Torso
      • In a perfect world a lot of the control components and air compressor and supply would go there but the compressor and supply will be off-robot in the beginning.

    7. More to come and more to be updated as the projects starts rolling

  • Why Pneumatics?

    Shifty03/29/2014 at 23:32 0 comments

    Why Pneumatics instead of servos?

         Servos are great.  You can buy high-torque ones and fast ones and they are relatively easy to program since they are repeatable (go at this speed to this angle) and work great when doing calculations.


         They are too repeatable and they are too easy to program. I know it doesn't make sense, don't you want it to be easy to program?  Yes and no.  Yes because then development is easier but no because they also don't represent our muscles all too well.  Only muscle memory or reaching the maximum stretch/contraction of a muscle/ligament/tendon allow us to have repeatable actions, and this comes with time and repetition, and is still off by a little bit.  So pneumatics really fit better when talking about muscles/tendons/ligaments.  

         Now this isn't to say I won't use servos at all in my design, on the contrary I can see a number of uses already in my head for them, such as move the head around, possibly used for the leg-to-hip assembly and possibly a weight mass in the torso of the robot to better counter-act or accentuate the movements of the robots.

    What about McKibben Artificial Muscles?

         Sure, I could use McKibben Artificial Muscles, but they are expensive to buy and if I make them myself (which is apparently pretty easy to do) they may not be exactly the same and lead to more programming complications.  

          Wait, didn't you want them not to be repeatable?  Yes, but I also don't want to spend years on the programming side of this (although it may take that long anyways) trying to figure out the differences between the muscles on either side of the robot.  Also they tend to wear out faster than a regular pneumatic cylinder.