Welcome to Synthiam!

The easiest way to program the most powerful robots. Use technologies by leading industry experts. ARC is a free-to-use robot programming software that makes servo automation, computer vision, autonomous navigation, and artificial intelligence easy.

Get Started
Asked — Edited

For Rich

I noticed that you had a nice script for Navigation with the Sonars and IRs.

Why not go a step further and make it a SMART Navigation system?

You could do that by two more steps. (use confidence and Random number selection)

First you set confidence levels from zero to three, or even as high as zero to 15.

Next you store the previous move. And use it to know if you are moving in the correct direction.

After that you have done most of it, you check the confidence level for the move you are about to make. If it is High, you make the move. If it is low, you use a random number to select a different move and go through the whole process again.

After trial and error, the robot becomes more intelligent after each move. Then he will KNOW by Learning experiences which way to go.

I have never gotten this to work 100%, but it is possible. I am just not a great programmer. But , you seem to be good enough to pull this off.

I would love to see this machine become more intelligent and actually have the capabilities to Learn.


Upgrade to ARC Pro

ARC Early Access will give you immediate updates and new features needed to unleash your robot's potential!

AI Support Bot
Related Content
United Kingdom
@Rex, Tony's (toymaker) has explained it well enough so once I have understood the logic it shouldn't be too difficult a task to put it in place somehow. The main issue is working out the X,Y coordinates of the robot and it's direction. If those details are known and sensor reading accurate a map can be made easily. But it does all come back to the robot position and direction as far as I can see.

I think the subject for this thread needs changing, it's far from "For Rich" now, or more to the point, I'm sure I'm not the only one who can help here:)
Rich, I tried to change the title but,it would not let me. sorry.

United Kingdom
@rgordon, The EZ-B (which is a great robot controller), was never designed really to link with encoders and most of the hackable toys do not have encoders anyway (Bigtrak being the exception but with lower resolution encoders).

Volume occupancy mapping is a great way to get a robot to find a docking charger, and for general autonomous navigation, but as I said earlier you need really good (and accurate) odometry. For this on our EZ1 (development robot) and EZ:2 (production robot), we are developing a custom locomotion drive controller based on a PIC microcontroller that will handle all the encoder operations and motor control for the EZ-B via an I2C link. These new robots will also have a second PIC for all the head electronics/mechanics so again this will take a lot of mundane operations away from the EZ-B and both these microcontrollers will also greatly reduce the I/O overhead on the EZ-B itself. At some point in the future when our EZ robots are fully developed and ready for retail we will make available these sub-boards so EZ-B users will be able to add these functions to their own robots. DJ has said he will support this new EZ-B based robot range and even produce custom controls, we are really pleased to be working with the EZ-Robot team.

@moviemaker, yes I had all those books to, with the Rodney and Buster robots! I have had some involvement with a number of robotic publications/books. The great robotic hobbyist author Gordon McComb credited me as "Tony Ellis a real life Q if I ever meet one" when I assisted on his (still brilliant) book "The Robot Builders Bonanza", I can really recommend this book.
I have all of those books and I built the Rodney robot. I LOVE Blankenship's program in figure 16-4. It has A.I. really built into it. Too bad it is only Basic. That is really a powerful amount of code.
United Kingdom
Hi Moviemaker, thats really neat to hear from someone that actually made a Rodney robot! I would really like to hear how it went and did you take it to Gamma class intelligence? Do you still have the robot or any pictures.
I did everything Exactly How David Heiserman said. I was about 90% complete. Several of my buddies told me that it would not work as directed in the book. So, I called up David Heiserman and asked him. I think he told me that it would not work but I could purchase a factory made one that would work. It was a Rodney package that was fancied up. So, at that time, I purchased two RB5-X robots. One had an arm and the other did not. All they did was go around and run into things and say "Excuse me!" and navigate around things. They were cool looking , but nothing special. The same was for my Hero1 robot, nothing special. My Novag by Gavon chess playing robot played a good game of chess, but that was all. I have tried to get the robots to demonstrate gamma activity, but it sees it only works in theory. It SHOULD work. It all makes sense. But, I haven't seen it. Andy at Parallax built a Boe-bot that had the Gamma software installed. It was in ASM language. Several weeks were spent on the experiments but, the robot did not show many signs of A.I. I recently bought a QBO robot only to be disappointed in it. You have to program it in C++ and Python or it won't do anything. All of the things in the demo videos are not included in the purchase. It has potential, but you almost have to have a Doctorate in Computer Science in order to do anything with it. There were only two robots in my past that has been close. One was the Leaf project and the other the EZ-B which does rings around the Qbo.

It has been very depressing. I was hoping to see Singularity before I died. But, it looks like it is very very far away.

There was some work in Sweden that was centered around evolution in robots and that work turned out pretty well. Robots evolved and did some pretty neat stuff. I had gotten out of robotics for 12 years to let the computers catch up and be fast enough to do something useful. But, they are STILL not as fast as I would like them. Intel has 100 core cpus out there, but they won't release them.

The EZ-B has been the ONLY platform that has come up with anything close to doing MOST of the things I want done.

I guess I will get off of my soapbox now.

United Kingdom
@moviemaker I am sorry to hear that Ai experiences have been dissapointing for you, but it seems you have owned some increadible robots!

I hope that maybe I will be able to help you at some point as we are looking at using our Ai core with the EZ1 and EZ:2 robots and as you like the EZ-B, then this could mean that you get to use our Ai in your own robots.

With me the Ai bug started in 1969 when I first saw 2001 a Space Odyssey, from then onward I was determined to make an Ai like HAL9000, and its taken me 40 years to produce a self learning Ai and there is still much work to do! There is a lot of info on our Ai (and robots) in the July/August 2011 edition of Robot magazine, if you interested I can send you a copy of the article?

A great friend of mine is Guile Lindroth Filho from Guile 3D who you probably know produced the Ai Denise he and his team have done some amazing work on virtual humans!

As I said I have studied Ai for over 40 years, but I do not think we will see the singularity in the next 20 years, but I am pretty sure it may happen maybe within 30 years.
Ah, I think in 2001 Hal got paranoid and tried to kill everyone then lost it's mind. *sick* Hope we're not heading in this direction. Please install an off button. ;)
United Kingdom
The three laws of robotics would take over, we are safe:)
Ya know , I'm not really all that worried about the three laws of robotics , more like suggestions.... Like a speed limit;)

I have also had Denise for quite some time. She works GREAT for me. She did not work for Thomas, I don't know why.

I am a subscriber to Robot Magazine, but you can still send me the article if you wish. I would like that. I am also looking hard at your new robot to be released. But, my wife says "No More Robots!" So, I don't know how it will end up. But, please tell me more.



United Kingdom
There is a reason I now put an OFF switch on the front of every big robot that I develop, this is because the first large programmable robot that I made (Herbie) in 1979 malfunctioned and went nuts causing some damage to my home at that time. This was before I started to use microprocessors and microcontrollers, so the only way I could figure out to make a programmable robot was with tone decoding and storing the tones on a stereo cassette. At this time there was a neat chip available the NE567 phase locked loop which could be set with a very narrow center frequency, in Herbie there was a bank of them set to different center frequencies (tones), One tone would make the robot move forward, another left etc. The robot was programmed with a stereo cassette recorder connected to the RF transmitter that I built for the job. Pressing the required buttons the transmitter would send out the tone for the movement or arm control, and the duration of the tone was the amount of movement that the robot did. At the same time as these tones are being generated they are also being recorded on the cassette tape, so once the robot had been taught to do something, I just had to place him back in his charging pod then rewind the tape and insert it in the tape player in its body a press play and it then would follow the same tone instructions that it had been taught. But I made a BIG mistake with the design, and thought I would be clever and use the RF link to turn the robot on/off (sleep mode), while this worked ok for some time the large DC motors that the robot used for locomotion where very (RF) noisy and I had to use a "delta" configuration of suppression capacitors on each motor to reduce the wideband RF noise that the motors emitted. The problem occurred when one of the sets of suppression capacitors failed and basically when the motor was running it filled the local area with wideband RF noise which the robots receiver also picked up and saw the noise as tones which effectively made the robot go completely berserk! Herbie was 5foot tall built in aliminium and was very heavy (using car batteries), so this robot careering around out of control did damage to wallpaper, a coffee table and even dented the thin skinned door to the room it was in. I was in panic chasing it around to get the back undone and pull the main drive fuse.

There are more details of Herbie on Cyberneticzoo http://cyberneticzoo.com/?p=2280

Mel and Chris, I have emailed you the Robot magazine article on our robots and Ai development.
Thanks Toymaker. So from what I am reading is... you are going to be making possibly some kind of add on module to add to the EZB controller? Awesome thanks again for the article. Chris
I will probably be asking more questions because I just bought another EZB.

I am going to revisit a previous post for Rich to think about:

Now, Moving more into the subject of Self-Awareness. I was recently reading Scientific America when i noticed some articles on a very different way of doing programming.

It said that Scientist had made their robots self-aware. The way that they did it was:

Program the robot like you do normally.
Preform an action after you have made a decision.
Think about what choice you have made.
Give yourself a score. You have either did well or made a mistake.
The score will be graded, so the highest score is what you are looking for.
They called it dividing it into two parts, the regular part and the new part that does
nothing but "Think about what you have Thought about."
They said by doing this it is like a human brain, two virtual hemispheres and a
Algorithm connecting the two by generalizing and evolving.

This sort-of reminded me of a system that used Confidence levels after actions. each action would bump UP the CLevel or bring down the FLevel. Next time it made a choice, it would not make the same mistakes, Making the robot smarter the longer it operated.

It is very hard for me to put into words. If you had such an Algorithm it would be nice. This could be put on the wait list , maybe.

Hope that this helped.

United Kingdom
I get the general idea, I think. But the thing with robots is, we can always program them not to make mistakes:) Not quite as fun to watch though... kinda like having a newborn baby that can walk.
by mistake, I meant like it was running into a wall and it learned not to go in that direction. Each time it would bump into the wall it would lower it's confidence level until it was zero. From that point on, if you told it to go in the direction of the wall, it would know already not to go there and choose another direction with more confidence. It would not be a mistake per say, just a way to Learn what NOT to do under different circumstances.
United Kingdom
I know what you are getting at.

Take the ping roam script for an example. Remove the part where it knows which way to turn based on the sensor readings. Now we add in code to make it choose a random direction based on previous results, but while it does that it still records the sensor readings and checks confidence. To start with it will be bumping in to walls (unless it is lucky with it's guesses) but as it goes on it will learn that a high reading on the left will have a lower confidence if turning left and a higher for turning right, so it will eventually turn right more often...

Wow that is hard to explain, I may not have even explained it right... I guess the only way to explain properly is by making such a script...

But, like i said, we can program the robot not to make mistakes. If you want to. But mistakes make it seem more alive in my opinion:) I like mistakes :D
Someone once said that "Every Mistake is an opportunity to Learn something." and Bob Ross made a lot of "Happy Mistakes" in his paintings. I used to teach and I would tell my students not to be afraid to make mistakes. In fact, go out and make as many as you can in order to learn. They liked that.