Pages: 1 [2]   Go Down
Author Topic: artificial intelligence robot.  (Read 1616 times)
0 Members and 1 Guest are viewing this topic.
Phoenix, Arizona USA
Offline Offline
Faraday Member
**
Karma: 39
Posts: 5557
Where's the beer?
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

i am preparing my coding now onward. i just ordered a robot chassis on ebay and i am waiting till it arrive  smiley-wink. here is a piece of my code below.

What you coded is not artificial intelligence - it's also not an expert system. It is merely a simplified decision tree of sorts to potentially avoid obstacles based on what the sensor(s) report.

There is no self-learning involved in the decision tree; it will always make the same decisions given the same inputs.

I am not saying that such code can't work - I am just saying it is not artificial intelligence. An artificial intelligence algorithm - if it were implemented - would actually behave quite poorly at first. The robot would blunder into things, wouldn't be able to get "un-stuck", etc. But over time, it should be able to learn how to avoid obstacles (with only the occasional blunder).

Now - that isn't to say that eventually, it wouldn't "evolve" the same rules that you (as a programmer) could hard code into the system in the beginning. What it might do, though, is come up with a far better set of rules that would work for most cases. Then again, it might not - it might actually evolve a set of rules that are sub-optimal (this is called "getting stuck in a local minima").

I am not sure what it is you are wanting to implement; a simple set of rules for obstacle avoidance, like you have coded (note - I didn't review the code enough to know if your code will actually work as you intend it to) - or if you are wanting a robot to self-learn those rules by blundering around and figuring out the rules itself...
Logged

I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.

Offline Offline
Newbie
*
Karma: 0
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

yes  cr0sh i agree you but could you please post me an better link to know more about AI. even though i search in google i am unable to find a proper one  smiley-eek-blue
Logged

Phoenix, Arizona USA
Offline Offline
Faraday Member
**
Karma: 39
Posts: 5557
Where's the beer?
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

yes  cr0sh i agree you but could you please post me an better link to know more about AI. even though i search in google i am unable to find a proper one  smiley-eek-blue

The thing is, your not going to find much on simply googling "artificial intelligence" - it would be like expecting to learn how to program in C++ by googling "computer science" (not the greatest analogy, but good enough for now I think).

If you really want to learn about artificial intelligence - you'll need a foundation to work from, and you'll need to put in the work. I posted a couple of links to courses via Coursera and Udacity. Take a look at those, and maybe also other coursework those organizations offer. Neither course will be easy (although I found the Coursera ML Class to be easier than the Udacity class) - you will need to have good grounding in statistics, probabilities, and linear algebra to make headway and understanding. Each course takes about 6 to 8 weeks to complete (working a few hours each evening, plus some extra on weekends).

Once you have that understanding, then you can start looking into machine learning concepts outside that scope, plus topics on neural networks and such. I have to also say that the Udacity course, while the more difficult of the two, will give better understanding on how to relate artificial intelligence and machine learning concepts to a robot - since that is the point of the course, to teach you how to "build" a self-driving vehicle - it is after all taught by the guy behind google's self-driving car.

There is so much information out there on such a vast and wide array of topics under the "artificial intelligence" umbrella; many of them relate to robotics, but you have to understand and have that foundation to know how they relate. Also - much information is only available in book form, so you may want to build your library.

Also - you may want to check out this Udacity course as well:

https://www.udacity.com/course/cs271

It was first released as a Stanford class back in 2011 as well (I took it but had to drop out about halfway through due to personal issues). When it was taught then, you had to get this book for the class - which is a great book to learn from (it's a textbook, though - so realize that if you get a recent edition, expect to pay a lot of money):

"Artificial Intelligence: A Modern Approach"

http://aima.cs.berkeley.edu/

Finally - though these books should be considered "dated" - I like to recommend them; they are mainly an example of something now known as "subsumption architecture". At the time (late 1970s - early 1980s) which was before Rodney Brook's machines - the author was just playing around with some interesting "homebrew" technology of sorts. In the end, his machine that he named "Rodney" became this robot, which was sold for a while for educational purposes:

http://www.rbrobotics.com/Products/RB5X.htm

Anyhow - the author's name is "David L. Heiserman" - his books are:

Build Your Own Working Robot - #841 (ISBN 0-8306-6841-1), HB, © 1976
How to Build Your Own Self-Programming Robot - #1241, (ISBN 0-8306-9760-8), HB, © 1979
Robot Intelligence...with experiments - #1191, (ISBN 0-8306-9685-7), HB, © 1981
How to Design & Build Your Own Custom Robot - #1341, (ISBN 0-8306-9629-6), HB, © 1981
Projects in Machine Intelligence For Your Home Computer - #1391, (ISBN 0-8306-0057-4), HB, © 1982
Build Your Own Working Robot - The Second Generation - #2781, (ISBN 0-8306-1181-9), HB, © 1987

Note that all of these are long out-of-print - if you want to read them, you'll have to purchase them used or find another source. They are very interesting to read, and give a great idea about the "state-of-the-art" in hobbyist robotics for the time period. Virtually all the examples contained in those books could be easily re-created using an Arduino and a simple robotics platform (heck, you could probably do most of it with the Arduino Robot). But again, they shouldn't be thought of as teaching "modern techniques of artificial intelligence" - they need to be looked at and understood with hindsight from today's understanding and knowledge (that's also one of the problems with AI - being able to know what "old stuff" is still relevant, and what isn't).

Logged

I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.

Offline Offline
Newbie
*
Karma: 0
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You are an awesome buddy thanks a lot man  smiley-wink smiley-wink smiley-wink smiley-wink smiley-wink smiley-wink smiley-wink
Logged

the land of sun+snow
Offline Offline
Faraday Member
**
Karma: 159
Posts: 2895
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Subsumption architecture, that cr0sh mentioned, is probably the most popular programming scheme for small robots. There are 2 classic books on this by Joe Jones. The first one has much material on both building the hardware and also writing subsumption code [it's all in C], and although a little old it's still the best introductory book, AFAIAC. Things haven't changed a lot since then, in regards small hobbyist robots, except that now you can buy a lot more hardware kits. The 2nd book goes more deeply into software and sensor issues.

http://www.amazon.com/Mobile-Robots-Inspiration-Implementation-Second/dp/1568810970

http://www.amazon.com/Robot-Programming-Practical-Behavior-Based-Robotics/dp/0071427783

The single most important aspect to building a successful robot is to have several different kinds of sensors that complement each other, as single sensors tend to be too unreliable.
Logged

Pages: 1 [2]   Go Up
Jump to: