Hands-on experience is always good, especially in science classes, where it sometimes can be hard to tie the theory with the practice. In this sense, experiments with robots are especially helpful to see the application of engineering, programing, and physics rules.
The robot experiments are always exciting and entertaining, while at the same time challenging. The problem posed to us on the first day of classes was to assemble a robot from Lego kit. Nothing special, yet the task turned out to be not that trivial. Some people looking around, and some, who had an experience with Lego before, quickly building the car. Once assembled, the robot looked like a disproportional supermarket cart. To bring it life was another task given to us in the next class.
With little knowledge of Lab VI programming language and logical circuits, we in teams had to program the robot to go in circles of a given diameter. Some of us who had some programming background undertook to help the other members of our groups to accomplish the challenge. The “while” loop kept the logic circuit operating until the wheels rotated the needed amount of turns. The robot was quite sophisticated as it had a sensor, which could read the total angle the drive wheels rotated. Also, each of the two drive wheel seemed to be powered by a separate engine, as you could program power supplied to each wheel to be different. Even though our car stubbornly resisted all our efforts to make it work, the programming part taught us some programming skills and gave us a glimpse of what logic circuits look like.
The second part of the exercise with the robot was to compile the given code and make the robot go by inputting time and power that should be applied to engines. Then by computing the total revolutions made by the wheels (total angle made by each wheel divided by 360 degrees) and multiplying the result by circumference of the wheel, we found the distance the car went. Dividing the distance by time, we obtained the velocity of the car. We also measured the distance the car went manually to check the correctness of the result calculated through sensor readings. The sensor readings turned out to be accurate with minor errors. The total angles that each wheel turned were different in every launch, and that could be noticed literally, because the car did not go straight but instead a little rightwards. We checked the power inputs for both wheels to be the same several times, but it seemed as if some other calibration error was intervening in the work of the robot. We also noticed that a two times increase in the time input did not always lead to the corresponding two times change in the distance. The first time we launched the robot with low power, the change in time from 1 second to 2 seconds led exactly to what we expected: two times increase in the distance. Yet the other two times we launched the robot with higher power levels, the distance for 2 seconds was a little smaller than two times the distance for 1 second. We attributed this to the fact that the first times we launched the robot at a small power level, it did not take time for it to reach its constant speed, and so the time it took him to accelerate was negligible. But for the second and third trials with higher power levels, it actually took some time for the robot to speed up, so in the 1st second it went a little less than it did in the 2nd second, when it actually reached the full constant speed. The assumption we made when hypothesizing that doubling the time would lead to doubling of the distance was that the robot was always moving at a constant velocity, when indeed it took him some time to accelerate.
After all, the experience working with the robot was a wonderful way to learn new skills, as well as apply and practice our knowledge in physics and programming. Also, working in groups on this assignment allowed many of us to get to know each other.
Great blog! I like how you provided the reasons for the miscalculations in your experiment. Some of your explanations, like for your discrepancies in the change in distance related to your time, even helped me understand some of my data as well. Obviously we are not professional engineers so there will be mistakes and faulty data.