Servo question

I have been wondering about these servos my Octabot currently uses. They seem to be rather unreliable as far as moving to position and staying on a set course. The thing that happens is no matter what I do, I can not get the servos adjusted (in hardware or software) so Octabot stays on a straight course. I have properly centered the servos.

Are the Hitec HSR-1422CR servos more reliable and dependable than this? Will I be able to adjust for any differences between two of them and get my robot to stay on a straight course?

Would adding an SSC-32 to Octabot and controlling all servos (incuding motors) with it allow me to keep the bot on a straight course with the current servos?

8-Dale

You’ll have to refresh my memory. What servos are you currently using? No open loop motor/controller/continouos rotation servo will make the robot go perfectly straight. A stronger motor / servo etc. will be less problematic though. But you need to close the loop for perfection.

I ran into this problem with my BOE-bot. You need some type of feedback correction system since no two continuous rotation servos/ motors have the exact same RPM, not to mention wheel slipping, etc. Most rovers have sensors and use other things to adjust position. If the drive system is really out of alignment, there are simple corrections involving lookup tables which can make things better, but not perfect. To do “dead reckoning”, i.e. precise movement without knowledge of the environment, you need some kind of internal feedback sensors.

The wheel encoder kit from Parallax parallax.com/detail.asp?product_id=28107 uses IR diodes and detectors to sense the distance each wheel has traveled (reliant on the fact that the BOE-bot wheels have holes so there is a pattern of alternating light and dark) and adjust the signal to the servos accordingly, as to increase the precision of movement. Nubotics also has a similar setup, though they use 32 division wheel stickers for higher precision. They also have an optional processing unit to offload the encoder calculations. This is because they normally involve sine and cosine which is a real pain to do with an 8-bit microcontroller. Even with the appropriate algorithms, the amount of math involved is a bit much for a lower powered micro (like a BS2) to do alongside a bunch of other calculations. Your Atom will probably fair better. Parallax also recently released an FPU for the stamp, though I haven’t had time to play with that.

I doubt a different set of drive motors/ servos is going to do much. Changing the drive system so that it only uses one motor to go forward or back would fix this, but then you have to implement some more complex method of turning.

My robot came with a pair of Parallax continuous rotation servos, which I believe are made by GWS.

I know it won’t go perfectly straight, but I should be able to get a lot closer to straight than it goes right now. I’ve been thinking about adding an SSC-32, and will likely eventually go with two Open Servos for locomotion.

8-Dale

I understand this. However, I think my problem is a flaky servo on one side. The robot turns way more than a simple out of alignment problem should cause. You can see this pretty clear in the llatest video I posted on my website this morning. I just don’t think this turning is either emergent behavior or a simple alignment problem - I have tried adjusting the left/right side speeds in software without any real effect. The odd thing is sometimes Octabot actually can manage to go straight.

If I were going to go this route, I would definitely go with the Nubotics hardware, including the Wheel Commander.

If you watch my last video, I think you will see I probably have one flaky servo. Since I probably need to replace one servo, I’ll just go ahead and replace them both. Then I can experiemnt on the others with stuff like Open Servo. :slight_smile:

8-Dale

I’ve heard a lot of complaints about those servos. Assuming both of them are working properly, but from the sound if it they are not. The way to get the best results from a differentially steered servo bot… you test both servos in both directions. You slow down the faster servo to match the slowest one. In this way it should be possible to minimize the error. Note, this assumes that your operating the bot on a flat surface, there is no added friction on one side or the other, and the weight distribution is even.

This is what I am thinking also.

I have tried this a couple times, but it does not seem to have any effect. I am thinking the best thing I can do is replace both of these servos with a couple of the Hitec ones you sell. I will have more confidence in them. :smiley:

8-Dale