You are on page 1of 5
Figs. ODOMETRY Abstract The lab is composed of making some design changes to the previous robot to implement an Odometry system that provides a robot's position and orientation. The robot is required to move autonomously in a square trajectory on a 3x3 grid wooden field. Using a light sensor, a simple correction is made to improve the odometer results and display values relative to the defined origin. The objective is to make the display values as accurate as possible to the physically measured readings. Group: 22 Tanbin Tahsin Chowdhury Michel Abdelnour Design Evaluation Four main components make up the robot: the two motors, the EV3 brick and a light sensor. Everything is held together using arrangements of pillars. The light sensor and motors are connected to the brick via ethernet cables. The purpose of the light sensor is to detect grid lines and correct the odometer. The odometer's y position value is corrected by taking difference between the light sensors calculated position and the nearest grid line. Similarly, when the light sensor crosses a vertical grid line, x position of the robot is corrected. The light sensor gives the count of number of lines it has detected and multiplying that with the length of each tile, the robot is able to understand every time it crosses three squares, thus the robot rotates in 2 90-degree angle. This is, implemented by a formula that uses the width and the radius of the wheels to determine the number of turns needed to travel 91.44 cm and then rotate in a 90-degree angle, hence through this procedure the Square driver makes the robot complete the square trajectory. Fig:1.2 The odometer in the robot shows the number of turns both wheels make and uses Tacho-count to determine the position of x and y. Moreover, it measures the angle of rotation, which is then used to determine the position of the robot by comparing the angle of the initial position and current position. When theta goes to 360 degrees, it would wrap to zero and vice-versa. ‘The Flow chart below illustrates it: Sen ren) Move wheels Detect the grid lines ‘Take values from Tacho meter ene Correct the values of X and Y Test Data Odometer without correction: Odometer Odometer reading Starting Starting Final Final FX-SX_FY-SY_ Error reading fory x(sx) (SY) X(FX) (FY) for x 046-067-139 102-17 a7 3.63) ost “13.9 115-119 2.76| oss 032-139 92-126 47 4s7| 0.16 05-139 134-124 0s 252| 04-042 13.9 129-136 1 3.83] o4s 058-139 125-127 1a 2.88| 03-025 13.9 93-25 46 3A 5.16] 035-017-139 24) -a2|—as|__-2.6) 2.69] 06 04-139 131-125 08 31 2m 0.67 07-139 119-129 235i 3.10] Table: 1.0 Odometer with correction: Odometre OMe starting Starting Final__FinalY x fers even Mal in ty RSX FYSY Error 113-139 oa| -37[ 17] 02] 23) 2.04 47139 a) 27) 417) 12) 23 3.50 136-139 94 135-136 0D 0.70 137-139 94-14-8725 AB 178 125 139 ‘oa[ -a7[ 12s] 22) al 3.03 117-139 94 129-17 a 2a) 1.80 “139-139 o4| -117| 139/22] a5) 0.08 B4 139 $4 135) B44 1.85 412-139 94-1478 1122218 192 138-139 94 1279-138 11a 141 Table: 1.1 Test Analysis Euclidean distance error is calculated in the tables Mean Standard Deviation Odometer X with Correction _| -13.29 119 Odometer X without Correction | 0.465 0.159 Odometer ¥ without correction | -0.441 0.165 Odometer Ywith correction _| -12.98 1.16 Error with correction 181 0.99 Error without correction 3.43 0.96 Table 12 The value of standard deviation of X and Y with correction is larger compared to without correction Moreover, the standard deviation of error without correction is lower than with correction. This indicates that the readings found from odometer are not correct enough Reasons for variations * A few things can be modifying the center point as well as parallelism of the wheels from that point. The assumption of the wheels being parallel and equidistant from the center point of the robot and having the same radius over time may not be true because the tires of the wheels can stretch and contract, changing the radius, and also the axels of the wheels can flex. * The assumption of the robot being proficient of sampling the wheels tachometer swiftly, and the motion of the wheels is constant between trials. The error in the X position is expected to be smaller for the following reason: The error in the Y-axis is smaller than X-axis. This maybe because of the drifting of wheels on the floor. Therefore, the error due to this drift adds more in X, since the Y value comes before X. The lower standard deviation of Y also implies the same thing. Observation and Conclusion Error observed in the odometer without correction is not acceptable for larger distances. The most notable source of error was the angle of rotation (theta) being calculated incorrectly by the odometer. Hence, the robot will deviate from its path if it travels larger distances, e.g., 5 times 3 by 3 grid's distance. Error is also observed to increase proportionally to the distance travelled, therefore, it can be resolved that error grows linearly with respect to travel distance, Further Improvements Preventing robot's wheels from slipping: Qa) Decreasing the speed and acceleration, especially when the robot is making a turn. When moving too fast, it is difficult for the robot to have a good grip to the surface. Decreasing the acceleration means the rotation of the wheels will be slower allowing a better grip to the surface. Theta Correction: Qb) Two sensors can be positioned parallel to each other to correct the angle shown by the odometer. If the robot travels perpendicular to a grid line, those two sensors will pass the grid line at the same time thus give us the correct value of the angle. Otherwise, the robot will measure the time difference between the two sensors crossing the line, and calculate the angle by that difference. Provided only one sensor, one way to correct the angle would be to know the distance between two lines. The robot constantly measures the distance between the line it crossed and the next one. Using these values, theta can be corrected by performing the following trigonometric identity. Know Distance 39 =—___Anow Distance _ °°S° = Distance measured by the robot

You might also like