Shop OBEX P1 Docs P2 Docs Learn Events
Snake Bot — Parallax Forums

Snake Bot

AmitAmit Posts: 27
edited 2005-11-11 21:27 in BASIC Stamp
I am attempting to build a robotic snake for school but being a mechanical person I am somewhat at a loss of what to do for the electronics.· My system contains 14 body segments and one head segment.· Each body segment contains 2 servos and 13 sensors (they can be multiplexed if necessary).· In order to control this and collect all the data, I expect to have a processor for each body segments as well as for the head.· Right now I expect the head module to collect and send up to 8 bytes of unique data·to/from each body processor.· At all times the segments also need to maintain control of their servos.·
·
I am looking at the BS2P the SX and the Javalin versus a separate processor, likely a PIC16 or some close variety.· Though I am not certain, initial testing suggests that I may need interrupt capability and possibly communication buffers.· My main concern is communication.· I will be running the system between 10-20Hz and do not want the system to hang because a segment has not received its updated commands.· Is it possible to get bidirectional communication working between 15 Stamps?· Can anyone suggest a good processor, resources or provide other bits of wisdom?

Thanks in advance!

-Amit

Comments

  • metron9metron9 Posts: 1,100
    edited 2005-11-11 19:39
    You mean 10-20 Mhz?

    You have 15 body segments and 2 servos for each segment you can controll all of this with one stamp using buffers for additional io lines (many posts on adding output and input output pins in this forum.

    Seems to me your servos would not all be moving at the same time for a snake as each segment cascades to the next one but i would say you need more power than the basic stamp 2 unless you can read your sensors and update data during the pause phase of the servo driving routine. Not saying with some really good logic a bs2 could not be used to do this but not knowing how much data and what kind of sensors you are planning to use makes that determination impossible.
  • Ryan ClarkeRyan Clarke Posts: 738
    edited 2005-11-11 19:43
    What are you using for power? If your power is onboard, it seems like it would be VERY heavy...

    Ryan

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Ryan Clarke
    Parallax Tech Support

    RClarke@Parallax.com
  • metron9metron9 Posts: 1,100
    edited 2005-11-11 20:04
    After thinking about it a bit, i dont think just having 2 servos on a segment will do the job. Snakes have small grippers on hundreds of points along their belly that grip the substrate beneth them as their body squiggles. I think just moving segments would not move the snake forward without some kind of system like that.

    I would invision 30 or so micro motors with tiny wheels along the bottom of 30 segments that each have perhaps a 15 degree movement sideways, cascading the motors from front to back a small power surge on each one might give you a snake like movement as each motor wheel would pull the remaining sections forward till a few sections were at 15 degrees and then as the motors cascade to the back of the snake the front sections would pile up in the S type curves you are looking for.

    Pure speculation of course off the top of my head.
  • Ryan ClarkeRyan Clarke Posts: 738
    edited 2005-11-11 20:06
    Have you seen the 'snake bot' that has rectangular body segments with dual treads on all four sides of each segment?


    Ryan

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Ryan Clarke
    Parallax Tech Support

    RClarke@Parallax.com
  • AmitAmit Posts: 27
    edited 2005-11-11 20:12
    Each segment would only need to send/receive data between itself and the head about 10-20 times per second.· That is not to say that the local control loop would running at that speed, just that the updated parameters would come at about 10-20Hz.

    "i would say you need more power than the basic stamp 2 unless you can read your sensors and update data during the pause phase of the servo driving routine."·· From what I understand the Javalin can output a PWM signal in parallel with other tasks.· If this is true then it seems like an attractive quality.· Is this true for the SX as well?

    As for the data, it will mostly be unsigned·1byte·from potentiometers, strain gages and current sensors.

    The power will be onboard.· I will be using High Discharge Li-Po 330mAH batteries.· They are fairly light (~30g).· Each segment is about .6lbs total.· I expect to have a run time of about·5-10 minutes from full charge if running at full speed.
  • AmitAmit Posts: 27
    edited 2005-11-11 20:48
    Snakes do use the friction between themselves and the ground when there are not objects in the environment to push off of. However if there are then they push off of them in such a way that they propel themselves along their desired trajectory. I will be attempting to mimik this aspect of their behavior therefore the servos should be adaquate.

    I have seen the one with treads. I believe that the one you are referring to is the OmniTread being done at UMich Ann Arbor. Their robot is very interesting in that it has a unique design and is very powerful and stable. I was trying to get something though that is smaller and lighter. Also one of my goals is to imitate snake locomotion as closely as possible. While treads or wheels do have their benefits, they are less biomimetic.
  • Paul BakerPaul Baker Posts: 6,351
    edited 2005-11-11 20:50
    Amit said...

    From what I understand the Javalin can output a PWM signal in parallel with other tasks.· If this is true then it seems like an attractive quality.· Is this true for the SX as well?
    Yes it is.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·1+1=10
  • Paul BakerPaul Baker Posts: 6,351
    edited 2005-11-11 21:27
    One thing to consider if you decide to go the multi-processor route is cost. @ $90 apeice the javalin will be an expensive solution, compared to <$10 per SX, something to consider.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·1+1=10
Sign In or Register to comment.