bsBlog

McGoon Begins

by on May.19, 2015, under Uncategorized

Howdy!

I promised to go over the three levels of AI we are going to be working on, but just a couple house cleaning items before that…

Please keep in mind that we are going to be discovering together.  I am not building, testing, debugging, and etcetera, ahead of time, we will be going through it all together.  So, if you are looking for a flawless tutorial, this ain’t it, but if you are looking to discover, make mistakes, learn, and have fun, you may like it here.

If you missed it I added an additional disclaimer to the bottom of the main page, so you might want to take a quick peek.

Back To Our Regularly Scheduled Program

The three levels of AI we are going to be working on, at least in the beginning, all have to do with moving.  Let’s face it, a robot that can’t move has limited use, where one that can run around can REALLY get into trouble.  Peavy covers this pretty well (see the first post for the reference), but I am going to go ahead and repeat it (my words, his information) just in case you don’t subscribe to Servo Magazine.

As a precursor to the level definitions we need movement definitions.  There are 9 basic patterns for the type of robot we are going to build:

  1. Stop – both drive wheels stopped
  2. Left Forward – Left motor forward, right stopped
  3. Left Reverse – Left reverse, right stopped
  4. Right Forward – Right motor forward, left stopped
  5. Forward – Both motors forward
  6. Counterclockwise – Left motor reverse, right motor forward
  7. Right Reverse – Right motor reverse, left motor stopped
  8. Clockwise – Left motor forward, right reversed
  9. Reverse – Both motors in reverse

Why are these patterns important?  Because they are the basis or McGoon’s “thinking.”  Like most things, McGoon will hopefully get smarter as we go along, but he is going to start at Alpha level intelligence.  Alpha Level is basically trying movements from the list at random until it achieves its goal.  Oops, I forgot to tell you about the goal, didn’t I…  The goal is movement, but only movement with magnitude.  By magnitude I mean “actually getting somewhere.”  If you look at the list above the only movements that really get somewhere are forward and reverse, all of the others either don’t move or just go in circles.  Beta Level remembers the successful attempts for a motion pattern and when in that pattern again, it tries the successful ones again.   When they work, it increases the “confidence” level, if it fails it decreases the level.  When it hits a motion pattern that has no movement records, it goes back to Alpha level behavior and picks at random.  Gamma Level will try several high confidence level movements from other motion patterns when it has no records for its current motion pattern before reverting back to Alpha level behavior.

So, to paraphrase; Alpha – random from a set list, Beta – Learn what works and apply in known circumstances before reverting to random, Gamma – Learn what works and apply it in both known and unknown circumstances before reverting to random.

Well, there it is…  Your five minute introduction to basic Artificial Intelligence as it applies to robotics. Doesn’t it make you feel all warm inside. 😛

That’s it for today, but next we talk about, and if there is time start building, the hardware to support this lovely AI Software we are going to write.

Until next time, Be Safe and call your mom, she worries.


Leave a Reply

You must be logged in to post a comment.

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Blogroll

A few highly recommended websites...

    Archives

    All entries, chronologically...