Mobsya / aseba-target-thymio2

Thymio 2 firmware
8 stars 8 forks source link

motor real speed seems be not consistent between forward and backward and bias at zero speed. #25

Closed mbonani closed 4 years ago

mbonani commented 6 years ago

I am trying to calibrate the motors absolute speed so that Thymio go forward for the same time. I made a small calibration procedure with Thymio calculating the time to cross two line. It seems to work and got a consistent timing between robot. The problem is when you go backwards, for the same target speed the timing is little different 2% I already found a improvement in 15ad6415aa7f527e02ccce4f97192aab25fcba28 but it not solve the problem. It is more evident when you try to turn on spot. Time to make a full turn from right or left is different from 4 to 8 %. One thing is still that at motor target speed = 0 the reader speed value are not zero. This depend from Thymio but it is most time -2 -3 on left motor. This is something user often feedbacks. The noise on Vbat could not explain that, because I tested on wireless Thymio (we suppose it was the PC 5V noise one time) . For me there is a electronical or firmware problem on that,

davidjsherman commented 6 years ago

I am writing a program to evaluate odometry calculations, because there are considerable rounding errors. The odometry calculation needs tuned parameters (see notes in odometry module). This would be greatly simplified if the motor target and speed values were normalized.

It is interesting that you see a bias in the speed. Might it also be a rounding error, in the firmware?

I was expecting the motor.speed to be noisy but centered around motor.target, to use a trick like this note about dead reckoning. If the bias is systematic then I have to rethink that.

mbonani commented 4 years ago

last code (https://github.com/mbonani/aseba-target-thymio2/tree/motor-pid) seems to improve the motor control to be merge after testing.

mbonani commented 4 years ago

fix in V14