Hi all, I'm very new to electronics, R/C mechanics or anything related to robotics but I know programming.
I've read many good articles by people here regarding GPS guided vehicles and I noticed one of the most important thing is the precise control of motor speeds and steering servo.
If I understand correctly, both ESC and quadrature encoders can control motor speed with precision but I noticed all of the GPS guided vehicle articles uses ESCs and no encoders so my question is
Are quadrature encoders (with proper code and motor driver) suitable for GPS guided robots and if so, what is the advantage and disadvantage of using quadrature encoders(with programming and motor driver ) over ESC to control a robot's speed? Is there a point of putting both on a robot?
Edit:
changed somethings to make my intent more clearer.
The steering mechanism plays also a good role. If you have a motor to spin the rear wheels and a servo to steer, you can get an almost straight travel, but with two wheels with differential drive and a castor wheel encoder or/and a compass are needed.
ESC can correct differential drive drifting by making a motor to spin slower than the other but needs a feedback to work. I’ve still to try encoders anyway:)
I just googled what castor wheel encoder and I never knew about encoder in the castor wheel is a good way to determine if a robot is stuck. I learned something new again
"but needs a feedback to work"
I’ve always assumed every motor under the control of ESC runs at the same speed automatically. Please correct me if I’m wrong?
If you go with two motors, a castor and differential drive, you need an encoder on each motor to get data about how each motor it’s spinning. If it’s going forward and the encoders say different values, it means the robot is steering left if the right encoder gets an higher value, or it’s steering right if left motor spin faster. Then you have to code the micro controller to raise or lower pwm until you get same value from both encoders.
An encoder on the castor wheel can say the speed of the robot, but not the direction. An encoder on the castor pivot can provide information about the direction(with some latency), but not the speed.
A digital compass it’s just another board wired to the micro controller, which can give data about orientation. It needs to be far from the electromagnetic interference to get reliable readings(a pc near 1m can make it point toward the pc).
Anyway motor drivers are blind about how it’s going the robot, the micro controller needs to have the code to understand sensors to get navigation data and then gives instructions to the motor driver
for dead reckoning, you will probably be diving into a game of frustration. Slippage and encoders are not friendly. I won’t go so far as to say you can’t do it. I will just say it will be difficult to make everything work reliably.
Two of the same type of Two of the same type of motors will have minor errors such that they won’t respond to voltage in the exact same way. That’s is, one will be faster than the other.
For RV vehicles where the human is controlling them, this doesn’t matter much because we can automatically correct the difference by sight.
An autonomous robot needs some feedback to make sure that the motor is going the proper speed.