|
THS
|
Robots /
Question 4 Data4. How accurate is the Drive Direct command? Can you verify the accuracy of the velocity and radius that you use as an input? Find a way to accurately measure both. What does RADIUS and VELOCITY mean to the Create in this context? I can think of at least three interpretations from the Create's point of view--you should experimentally determine what it means. Don't presume that your logical idea of radius and velocity are the radius and velocity used by the Create, PROVE IT! USE SOME NICE DIAGRAMS!! Objective: The objective of this experiment is to experimentally determine what the input values of velocity and radius mean to the robot. In the diagram below, the robot is represented by the circle with squares, each square being a wheel; the light blue circle on the back represents where I later placed my marker. The yellow, green, and red lines are the possible radii and circumferences that the robot could use. The green represents a radii measured to the center of the robot while the other two represent radii to either wheel. The three different interpretations of velocity come from the three different meanings of radii. Velocity (distance/time) could be based on the distance traveled in a circle (making it tangential velocity) with a radius measured to the center of the robot or with with a radius measured to a wheel. ![]() Hypothesis: For the Drive command, the radius is measured from the center of the circle the robot creates to the center of the robot. The velocity is calculated based on the radius measured from the center of the robot to the center of the circle the robot creates. Materials
Procedure To measure the radius and time at the same time, I first attached a marker to the center of the back of the robot. This marker was taped on using masking tape so that the marker was touching the floor enough to leave a line when the robot was moving. I put the robot marker contraption on a large piece of paper taped down to the floor. I then decided to insert a constant velocity throughout this experiment: 100 mm/sec. I picked radii of 0mm, 50mm, 100mm, 200mm, 250mm, and 300mm for a broad range of results and with three trials each to ensure the best accuracy possible. I entered 128 131 137 0 100 _ _ (the last 2 blanks varied with the different radii that I entered). For example for a radius of 200mm the command would be 128 131 137 0 100 0 200. The first number turns it on, second puts it in safe mode, next tells it to drive, next two are the velocity speed bits, and the last two are the radius bits. As it was turning, I tried my best to keep tangled wires out of the robot's way. I timed it as it went around one complete circle. After this was done, I marked where the wheels were by reaching under the robot and marking the outside of the wheels with a pencil. I tried to do all this without moving the robot. Then the center of the robot is exactly 1/2 the distance between the wheels. (If you look at the actual robot the center is the middle pin in the front row of the DB-25). I then found the center of the circle by using a carpenter's square and drew a square with the sides tangent to the circle. I then connected the corners and drew diagonals. Where they crossed was the center. To find the radius I measured the distance from the center of the robot to the center of the circle. I also took the distance from the center of the circle to the outer wheel and from the center of the circle to the inner wheel just in case. (The data table below only contains the distance from the center of circle to center of robot because the other measurements are lengthy and aren't really relevant.) Data
Conclusion Based on the very small percent error for the radius measurement (all under 7%), the radius input is very accurate for how the robot actually turns. This percent error is more likely from human error than from robot error. The velocity, on the other hand is not quite so accurate. The velocity appears to be getting more accurate as the radius increases. I couldn't easily experiment with a larger radius due to the measurements of the paper the robot had to draw on. Since the input radius can go larger, to 2000mm, the velocity may become more accurate if the pattern continues that my data produced. The velocity had to be based on a radius measured from the center of the circle to the center of the robot even though I had a huge error margin on some of these trials. The circumference of the circle that the smaller wheel makes is alot smaller (it would be like subtracting about 140 mm from the radius) than the circumference of the center. The outer wheel makes a much larger circle than both (about 140 mm increase in the radius from the radius of the circle the center makes). The error margins using either of those two would have been even greater. I conclude that the radius is measured from the center of the robot to the center of the circle it drives around (the green line in the diagram) and the velocity is based on this radius. The radius is consistently fairly accurate while the tangential velocity becomes more accurate as the radius is increasing. There were many opportunities for error during this experiment. The markers wobbled a little when the robot was moving and didn't draw perfect circles. The robot was driving on a paper surface which may have affected the traction of the wheels. Also while driving, although I tried my best to keep them out of the way, tangled wires did sometimes slow down the robot. Then there are the small areas for error such as measurements being off as a result of human error (this is especially true for the times; my reaction time is included in the time calculations for each trial). Many different errors could have and probably did distort the data values of this experiment. |