Shop OBEX P1 Docs P2 Docs Learn Events
My Follow Me HexCrawler 2.0 - Propeller Powered — Parallax Forums

My Follow Me HexCrawler 2.0 - Propeller Powered

norris56norris56 Posts: 69
edited 2006-12-15 21:56 in Robotics
Having mostly outgrown the Basic Stamp for my robot applications, I decided to upgrade my “Follow Me” HexCrawler to the new Propeller Chip. To keep construction simple I used the·PropSTICK. In addition to the Propeller chip the PropSTICK provides all the necessary support chips (like memory, 3.3 volt regulator, RS232, etc.) needed for a Propeller. All I needed to add was my “GaitPIC” for leg servo sequencing, a 10K resistor network used to interface to other 5 volt powered chips and a few connectors.
·
Like in the previous version of this robot I reused my Robot Sensor Array (RSA). It has 2 PIC microcontrollers. One processes the left/right IR proximity sensors while the other handles the Ping and the Thermal Array Sensor from Devantech. This array has 8 thermal sensors configured in a single row with an addition sensor for ambient temperature. The PIC reads these temperature values and performs the necessary signal processing. It can easily detect a person’s body heat. Its field of view is about 45 degrees. Also mounted on the RSA are 8 LEDs that indicate where the thermal sensor is registering heat. The Propeller communicates with the RSA using a simple 4 wire interface.
·
I ported the Basic Stamp code that I used in the original version to the Propeller Spin language. This proved to be a pretty simple port. It’s no surprise that the new Spin code is smaller and has proven to be more robust than the original PBASIC code.
·
The next step in this upgrade is to port the C code that now currently runs in the GaitPIC to Spin and have it run in its own Propeller Cog. This will eliminate the need for a separate microcontroller chip and will simplify the overall design.
·
The last phase of this project is to use my implementation of the behavior/subsumption architecture originally developed at MIT. The software is written using the Parallax Spin language. It consists of a set of reusable Spin objects that handle all the behavior/resource communication and arbitration. Each behavior and resource runs in its own cog and uses these objects to coordinate activity.
·
You can see some pictures, block diagram and the current Spin code at the following link:
·
http://share.crustcrawler.com/NorrisLabs/FollowMeHexCrawler/FollowMe.htm
·
··

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
You can’t mix matter and antimatter cold!

Steve Norris

Post Edited (norris56) : 11/10/2006 6:10:45 PM GMT
1024 x 681 - 118K
769 x 613 - 43K

Comments

  • norris56norris56 Posts: 69
    edited 2006-11-21 17:46
    Below are links to the source code for my HexCrawler Propeller walking engine that I used for my Follow Me HexCrawler.
    This is a reusable Spin object that you can use it for any Propeller-based HexCrawler applications.
    ·
    It is a port of the 'C' code from my HexCrawler GaitPIC which was based on the original PBASIC code written by Mike Gebhard.
    ·
    This object requires two Cogs. One is for the walking engine and the other is for the serial communications to the Parallax Servo Controller. The serial communications to the PSC runs at 38400 baud.
    ·
    To use this object simply include it in the OBJ section of your application code. Be sure to call the Start method first before you call any of the other methods.
    ·
    All the documentation is within the “GaitHex.spin” file. Put your Propeller editor into Documentation mode to read it. The “TextGaitHex.spin” file is a simple test harness and a good example on how to use the GaitHex object.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    You can’t mix matter and antimatter cold!

    Steve Norris
  • norris56norris56 Posts: 69
    edited 2006-12-15 21:56
    I've been receiving questions via email. I'll answer them here for all to see.

    As I mentioned above, I’m using the Thermal Array Sensor from Devantech. This array has 8 thermal sensors configured horizontally in a single row with an addition sensor for ambient temperature. The array has about a 42 degree field of view. Basically I consider anything greater than 2 degrees above ambient to be a potential heat source. By playing with this value you can tune the detector for the target you want to follow. In addition I also angle the array up by about 30 degrees so it will not detect a heater or a cat. To further distinguish targets I scan the array left to right and then right to left. If more than one heat source is detected I split the difference. I then turn the HexCrawler in this direction. If I lose the heat source I will spin the HexCrawler about 45 degrees in the last know direction of the heat source. Usually this results in the target being reacquired.

    What I loved about this project is the fact that you are using your body heat to essentially become a remote control for the robot. I also have a wheeled version of this robot. Because of its faster speed it’s a little more dynamic. It speeds up when you move away from and slows down as it gets closer.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    You can’t mix matter and antimatter cold!

    Steve Norris
Sign In or Register to comment.