Thursday, November 11, 2010

Lab Session 9 : differential driven car


Date: 11. November 2010
Duration of activity: 4 hours
Group members participating : Michal Owsinski, Michaël Ludmann, Guillaume Depoyant


I. Objectives and summary

II. Navigation


In our lab 9 session we used our lego 9797. The first experiment was to test the differential drive by using the pilot class.

So as to sample some values and get the relative error of the robot during the navigation, we set a track making a loop in order to measure the difference between the starting point and the finish point. The robot was suppose to draw a square by driving forward for 40 cm then turn 90 (pilot.rotate function) 4 times. (as you can see on the video below).



So far, the accuracy wasn't obviously reliable. This mainly due to the friction, the wheels and the error of the measure concerning the structure of the robot (diameter of the wheels, space between the wheels and the small third wheel) they all caused a drift (small errors that add up into large errors is called a drift) [1]. That's why from there, we analysed the line that the robot drew during the running: we measured the angle and applied a linear correction in our code in order to make the 90° turn "reliable"(in the code, we had to increase the value by 4 degrees since the actual turn was 86°).


After this modification, we ran another test, and the results were better that what we could expect according to the error (approcimatively 1,5cm) that we had the first time. But obviously our solution doesn't solve the problem with the error completely. When we will change the turn from fx. 90° to 150° we need to make another test to include the new error value.




This operation gave us a "better" precision, nevertheless, we have to be aware that this improvement is relative: on a larger scale, those errors would be unacceptable. On small distance, the errors can be reduced but still, the accuracy is not as good as a system working with absolute coordinates.







III. Navigation while avoiding objects


IV. Improved navigation


V. References

[1], Brian Bagnall, Maximum Lego NXT Building Robots with Java Brains, Chapter 12, Localization, p.297 - p.298.

No comments:

Post a Comment