2 motors on robot -- how can I save the movement history?

Click For Summary
SUMMARY

The discussion focuses on saving the movement history of a car robot equipped with two motors that follow a black line. The user proposes recording the speed of each motor every 100 milliseconds to calculate the distance traveled using the formula Δdistance = velocity * Δtime. However, the discussion highlights that this method may lead to significant cumulative errors in position estimation, particularly if each 100ms step has a 1mm error, potentially resulting in a 200mm deviation after 20 seconds. The user suggests utilizing Excel for data processing and curve fitting to improve accuracy.

PREREQUISITES
  • Understanding of basic kinematics and motion equations
  • Familiarity with motor speed measurement techniques
  • Knowledge of error propagation in measurements
  • Proficiency in using Excel for data analysis and curve fitting
NEXT STEPS
  • Implement motor speed tracking using Arduino or Raspberry Pi
  • Research methods for error correction in robotic navigation
  • Learn about advanced data processing techniques in Excel
  • Explore alternative algorithms for trajectory estimation in robotics
USEFUL FOR

Robotics enthusiasts, hobbyists building line-following robots, and engineers interested in motion tracking and data analysis techniques.

Barhemo
Messages
3
Reaction score
0
hello,
I have a car robot with 2 motors which follows a black line.
I want to save the track which the car follows.
I can get the speed of each motor every.
I thought about saving the 2 motor speeds every 100msec and then figure from this the track.
Any ideas how I can do it?
 
Last edited:
Physics news on Phys.org
Velocity = Δdistance/Δtime
so
Δdistance = velocity * Δtime

So you can work out how far each wheel (d1 and d2) has moved in Δtime=100mS.

Using that information you can estimate the radius and angle of any turn. See diagram..

Radius.jpg


More calculations are needed to work out the new position relative to the old position.

This will not give very accurate results because any error will be compounded.
 
  • Like
Likes Barhemo
Correction: Sin(angle) = 0.5 (d1-d2)/S
 
  • Like
Likes Barhemo
Thank you its a very nice idea.
 
Beware what I said..

CWatters said:
This will not give very accurate results because any error will be compounded.

Expect very large errors. If each 100mS step has a 1mm error then after 10 seconds the position could be out by 100mm. 20 seconds = 200mm etc.
 
I think it should be possible to use Excel to process the data and do curve fitting to plot the track.
 
I found more accurate solution
@CWatters
upload_2015-6-23_20-35-0.png
 

Similar threads

  • · Replies 4 ·
Replies
4
Views
1K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 12 ·
Replies
12
Views
3K
  • · Replies 16 ·
Replies
16
Views
4K
Replies
19
Views
4K
  • · Replies 2 ·
Replies
2
Views
4K
  • · Replies 5 ·
Replies
5
Views
6K
Replies
8
Views
3K
Replies
13
Views
3K
  • · Replies 12 ·
Replies
12
Views
11K