Beginners: please read this post and this post before posting to the forum.
0 Members and 1 Guest are viewing this topic.
input of a three axis accelerometer, gyro, and temperature sensor (included in the gyro), to figure out how to avoid walls.
I want to program into the robot as little as possible, ie not telling it that values less than 3000 for the motor will make it go backward. However this creates a problem of a massive amount of choices for it to make, the motor and turning values go from 2000-4000 roughly so around 4,000,000 possible combinations.
I'm a bit confused . . . accelerometers, gyros, and temperature sensors are useless for avoiding walls . . .
Oh and learning can be done on a microcontroller. The limitation isn't the processor speed, its the time it takes for a robot to physically complete an action and memory to record what happens.
However, I don't want to code it like that. I want to code it as general as possible, so I could teach it things.
Quote from: Commanderbob on April 14, 2009, 04:38:44 PM However, I don't want to code it like that. I want to code it as general as possible, so I could teach it things.then what language do you want to code it in?
No it will learn that whatever it did before smashing into the first wall is bad and will not do that again.
i can understand if it uses a wall sensor for that but if it uses a gyro/accel to read this it will only be able to see the negative spikes once its too late.
Quote from: Razor Concepts on April 14, 2009, 05:00:31 PMNo it will learn that whatever it did before smashing into the first wall is bad and will not do that again.There in lies the problem. I am not sure how to make it realise what led up to the event of hitting the wall. Was it something it just did, or something that happened a few minutes ago?I was thinking of storing the scans form the past few minutes, finding trends in them, saving those trends as bad, then if it hits a wall again compare the trends to see if some are similar.
That's the basics of it. The problem is recognising what in the recorded events led to the crash. If anyone has any suggestions on how to do this I might actually make some working code .
I want to make a robot that takes input from its surroundings via ultrasonic and Sharp IR sensors. I then want it to use this information with the input of a three axis accelerometer, gyro, and temperature sensor (included in the gyro), to figure out how to avoid walls.
Quote from: Admin on April 14, 2009, 12:19:34 AMI'm a bit confused . . . accelerometers, gyros, and temperature sensors are useless for avoiding walls . . .What I want it to do is use the accelerometer and gyro (more the accelerometer) to determine when it hit the wall. There should be a rather large spike of negative acceleration when the wall is hit. I then want it to figure out what it did that caused it to hit the wall and avoid that.I know it is easy to avoid walls, but I want it to learn how to avoid walls. However, I don't want to code it like that. I want to code it as general as possible, so I could teach it things.
Comanderbob, I'm thinking that you'll first have to clearly define the "problem" your robot is going solve and use it's performance as a positive feedback and hitting a wall as a negative one. Otherwise, if you program your robot just to avoid walls, it will quickly solve this problem and devise world's best wall avoiding algorithm - staying on the spot.
At the very least, the goal should be to always move in a straight line, I think. That way the robot should never stop and do nothing.
Commanderbob: Perhaps you would want to simulate algorithms on a PC before using them on your robot. You can simulate and repeatedly set up scenarios for your algorithm testing. (Something like robotbasic.org might help)
I know it is easy to avoid walls, but I want it to learn how to avoid walls. However, I don't want to code it like that. I want to code it as general as possible, so I could teach it things.