Society of Robots - Robot Forum

Mechanics and Construction => Mechanics and Construction => Topic started by: Joseph Thurlow on August 07, 2015, 08:07:45 PM

Title: Servo or geared motor with encoder?
Post by: Joseph Thurlow on August 07, 2015, 08:07:45 PM
I am looking at building a robot that can map it's surroundings by using both ultrasonic sensors and motors that can track the distance it has gone. Would a servo or geared motor with an encoder be better for this?
The distance measuring just has to be accurate to the nearest centimeter. 

Does the weight of a robot affect how many degrees a servo turns each pulse?
How accurate would a servo be in measuring the distance a robot has gone?
Would a geared motor with an encoder be more accurate than the servo?
Title: Re: Servo or geared motor with encoder?
Post by: cyberjeff on August 08, 2015, 05:17:13 AM
Servos can be of two types.

The standard servo has a potentiometer that measures at what degree the servo is. Such servos can only rotate so far before they ht the stops. Typically this is less than half a turn, although there is one that will do 7 turns.

A continuous rotation servo has the pot disabled, as such it's speed varies with pulse width, but it will lose position accuracy since it has no position feedback. That pretty much takes servos out of the running for your project.

Very few robots steer the same way that car would as such when they turn at least one of the wheels will skid a bit as it it turns. It will be difficult to get 1 cm accuracy due to that, and for that matter other factors.

All ultrasonic  distance detectors have a beam width, even the narrow beam ones will be fairly wide, as such you will probably only get the distance to the nearest large reflection that is within the beam width. For a  very narrow beam you will need something like lidar.

You have a tough project.

Kinect can map the enviornment, but I doubt that it will  have 1 cm accuracy and it would need at least a Raspberry Pi 2 to process.
Title: Re: Servo or geared motor with encoder?
Post by: Joseph Thurlow on August 14, 2015, 02:05:42 AM
If possible I could use a GPS module to work with the distance sensors. Would this work?

I've decided to use differential steering for my robot.
 
Thanks for the reply :)
Title: Re: Servo or geared motor with encoder?
Post by: ProgressiveAutomations on August 17, 2015, 03:18:12 PM
Getting a GPS module that is accurate to 1 cm will be very expensive.

Differential steering will make it a bit easier to track distance with a geared motor, but there will still be slipping problems.

Where about will you be travelling?  Indoors or outdoors?

Perhaps you could take ultrasonic readings of your environment a couple times per second, and by seeing how the reading change you can calculate how much you've moved.
Title: Re: Servo or geared motor with encoder?
Post by: markmac on August 30, 2015, 12:38:34 AM
I am planning a similar project and have decided to try the following setup:
2 standard NEMA 17 steppers driven by a CNC Grbl shield on an UNO running a hacked verion of Marlin. All that gets controlled by an Arduino Mega which now gets to hand off asynchronous control of the motors to the UNO and focus on sensor data and SLAM activities.
Title: Re: Servo or geared motor with encoder?
Post by: Joseph Thurlow on September 04, 2015, 02:15:49 AM
ProgressiveAutomations - Wow, I thought GPS were very accurate. So then if expensive GPS modules are accurate to 1 cm, how accurate would be the average GPS?
I plan on using the robot indoors so slipping wouldn't be a big problem.
I also plan on having at least three ultrasonic sensors on my robot.

markmac - Hmm sounds interesting, if you can, please keep me updated on how your robot progresses. What sensors do you plan on using for it?

Thank you both for your help.

Anybody know what sensors a robot would need for me to be able to track it on a computer relatively accurately?


   
Title: Re: Servo or geared motor with encoder?
Post by: Aswinth Raj on September 30, 2015, 04:44:53 AM
Hi, ;)
I worked on a much more similar project, I approached it a bit different. I will explain what I did, this might help you.

Stick a piece of magnet to your wheels, place a hall effect sensor to the nearest position of the wheel. Each time the wheel completes one rotation, your hall sensor will be triggered once. count the number of triggering to know the distance travelled, reverse it to get back to original positron :)