Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Precision of motors question

Status
Not open for further replies.

2camjohn

Member
OK This is my first time in the robotics section, so be gentle with me :oops: :?


I want to build a robot with a simple skid steering system which responds to simple commands such as "go forward 1 metre" "turn right 45 degrees". Its position in a room will be mapped by a computer which is controling the robot.

I am quite confident with the microelectronics side of things.


My Robot will need to move around in a room collecting data for up to 24 hours.
My question is:
Will normal servo type motors (like **broken link removed**) have sufficient precision for what I need?

Or will I have to use stepper motors?

I can imagine that lack of precision will be cause compound error. (ie if my command "go forward 1metre" only results in the robot going forward 99cm then after a "go forward 10metres" command it will be out by 10cm

Is there any other common ways of getting around this?

Thanks
John
 
2camjohn said:
Or will I have to use stepper motors?

I can imagine that lack of precision will be cause compound error. (ie if my command "go forward 1metre" only results in the robot going forward 99cm then after a "go forward 10metres" command it will be out by 10cm

Is there any other common ways of getting around this?

Stepper motors are usually used, due to their accuracy of rotation, a servo is good for accurate movement only through part of a circle, not if modified for full rotation (a potentimeter can only turn so far!).

If using a DC motor, or a modified servo, you need to generate index pulses from the wheels, so you can count how far it's travelled.

But with both stepper motors or DC motors (with position feedback) you don't have any exact idea of where it is, or which way it's pointing. Inaccuracies in the drive train and skidding will both lose it's absolute position.

You need someway that it can positively locate itself in a known area, which isn't going to be easy! - or restrict it's area of travel, so errors don't add up too much.

There are a number of stepper driver 'toys' used in schools, they work quite well over a reasonably small area - but, as you rightly said, after 10m it's likely to be quite a way out.
 
2camjohn said:
OK
Thanks Nigel, plenty for me to digest there.


Ill have a think and post back here.

For a test, try it yourself!.

Find a nice flat and level area, mark a starting point, then close your eyes.

Try walking 5 steps forward, turn 90 degrees, 5 steps forward, turn 90 degrees, 5 steps forward, turn 90 degrees, and 5 more steps forward. This 'should' bring you back to exactly where you started :lol:
 
2camjohn said:
OK This is my first time in the robotics section, so be gentle with me :oops: :?


I want to build a robot with a simple skid steering system which responds to simple commands such as "go forward 1 metre" "turn right 45 degrees". Its position in a room will be mapped by a computer which is controling the robot.

I am quite confident with the microelectronics side of things.


My Robot will need to move around in a room collecting data for up to 24 hours.
My question is:
Will normal servo type motors (like **broken link removed**) have sufficient precision for what I need?

Or will I have to use stepper motors?

I can imagine that lack of precision will be cause compound error. (ie if my command "go forward 1metre" only results in the robot going forward 99cm then after a "go forward 10metres" command it will be out by 10cm

Is there any other common ways of getting around this?

Thanks
John
john , you could use an encoder wheel to mark the distance..
this would be attached to an extra wheel on your robot..
 
For skid steering, accuracy is very poor. For straight line, there is a small difference in speed based on voltage, motor temp, etc.

You cannot run your device very long without new feedback about your position. Even an encoder which reads velocity accurately will get off a bit due to turns and it won't be good for more than a few passes.

Cheap and easy way to move around a room is a tape line (black line on white floor) that it can optically follow.
 
Status
Not open for further replies.

Latest threads

Back
Top