Shop OBEX P1 Docs P2 Docs Learn Events
Robot help /need to make it smarter / using a BS2Sx — Parallax Forums

Robot help /need to make it smarter / using a BS2Sx

floodhoundfloodhound Posts: 45
edited 2007-07-13 15:13 in BASIC Stamp
Does any one know an algorithm for processing data on a robotic device. I need some one to direct me in a type of data decision making process. I designed a robot as viewed in the completed projects section but i wish for a more in depth type of logic or a type of primitive of artificials2sx.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My web site -- > www.floodhound.com <-- take a look if you like

Comments

  • Mike GreenMike Green Posts: 23,101
    edited 2007-07-12 06:15
    You've done a nice job so far. What you have is the platform (wheels, motors, batteries, IR sensor and tilt/pan head) and some basic "here I am, what do I do next?" sort of logic. The next step up in complexity is a sort of "where am I now?" modelling of space. For that, you have several choices ... You can use "dead reckoning" with corrections based on landmarks encountered. You estimate direction and distance travelled based on what your robot "thinks" is its orientation and speed. You look for known landmarks in some kind of internal map and, as you approach where you expect a landmark (like a chair) to be, the robot scans its environment, locates the direction and distance to the landmark when in range, and makes a correction to its orientation and speed, perhaps keeping a table of corrections or adjusting the coefficients in a formula use to compute where it is based on starting position, time, direction, and speed.

    You could have two modes ... an exploration mode where nothing is known about the space and new landmarks are discovered ... and a patrol mode where the robot covers the space, expecting landmarks to be found in approximately the same location each cycle, but makes small corrections as described above.
  • floodhoundfloodhound Posts: 45
    edited 2007-07-12 19:57
    Mike

    That is exactly what I have in mind ( two modes); however I am not sure how I am to do this. I am currently considering an interface of Rover and PC via a wireless link. Since I am a seasoned programmer in Visual Basic I would map all the input values and tell the rover times to do things etc.

    Also I am building a “feeding station” for it to plug into to recharge.

    Any ideas of how I am to structure the array of information would greatly be appreciated. I love mathematics but not sure of an effective

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    My web site -- > www.floodhound.com <-- take a look if you like
  • Mike GreenMike Green Posts: 23,101
    edited 2007-07-12 23:16
    Probably the best way to store a map would be to use EEPROM.· It's much harder to do this with a BS2sx since you have to have routines in each "slot" to get/put values if you want to use most of the "slot" for data.· It would be better to either switch to a BS2px which has the STORE command or to stick with the BS2sx and add an SPI type external memory using 4 I/O pins.· Ideally, you could get a Ramtron FRAM which would let you write repeatedly without worrying about wearing out the memory location and you wouldn't need to wait for the EEPROM to finish writing.

    If you use a "slot", you would have a 2K space which would provide a 64 x 32 grid capable of storing 8 bits of information about each spot (like what's there, how high is it, how big an object does it seem to be, does it seem to contiguous with the adjacent spots, etc.)

    If you use a FRAM, you might be able to have an even larger space.
    ·
  • DgswanerDgswaner Posts: 795
    edited 2007-07-13 04:26
    take a look at this thread http://forums.parallax.com/forums/default.aspx?f=15&p=1&m=197436 we are working on the exact system that you are talking about. we are still in the "brain storming" phase of the project but in about a month I plan on putting all my effort into this concept. I currently have a robot that preforms basically as yours does, just a different form.

    I'm wrapping up a few projects before I start on the mapping project. Your more than welcome to join our efforts if you wish. Mike I'm sure you could build this in your sleep but your welcome also.

    We are planning on using a prop for this project and we "think" it can handle it all on board the bot. regardless I think this project needs a PC based map builder and I think it would be cool to have a real time map viewer of where the bot thinks it is. "hint" "hint"

    Mike if a propeller was used what would you recommend as a data storage method? EEPROM?

    Floodhound if you don't want to join our efforts or you want to take it your own direction I'd love to have open communication about this so we both don't make the same mistakes and can build from each other success.

    Good luck.

    DG

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    A complex design is the sign of an inferior designer. - Jamie Hyneman, Myth Buster
  • Mike GreenMike Green Posts: 23,101
    edited 2007-07-13 06:02
    dgswaner,
    If you were using a Prop, I'd suggest an SD card with a cache for the current section of the map in hub ram. You could certainly use EEPROM, but an SD card would allow you to have a LOT of storage and it would be readable and writable on a PC. The SD card has internal buffering, so it would allow you to dump a block and let the SD card controller do the actual writing and any "wear leveling" of physical sectors. You could pre-allocate a file so the blocks are contiguous which would simplify and speed up access since you would only need to look up the file information once during initialization and could use absolute block numbers from then on.
  • WhitWhit Posts: 4,191
    edited 2007-07-13 14:05
    DG,

    Thanks for the link back to the other thread. This is an interesting discussion. I love reading about what you guys are working on - even if it is over my head at times (well, most of the time).

    Floodhound - good luck moving your bot to a new level.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Whit+


    "We keep moving forward, opening new doors, and doing new things, because we're curious and curiosity keeps leading us down new paths." - Walt Disney

    Post Edited (Whit) : 7/13/2007 2:18:22 PM GMT
  • floodhoundfloodhound Posts: 45
    edited 2007-07-13 15:13
    Oh thanks i would love to get my hands dirty on this topic. I need a day or so to look over the work on. This is getting exciting.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    My web site -- > www.floodhound.com <-- take a look if you like
Sign In or Register to comment.