Info
In this design challenge we have to create a robot that can follow a black line, that twists and turns throughout our workspace, using a light sensor. Using the light sensor will be how the robot knows where the black line is located. It reads the changes in reflected light level along the edge of the black and white surface. To do this, we also need to create the correct program for it to follow. This would tell the robot and light sensor to turn off one motor if the light sensor reads darker than the set value. Then, to make the robot stay on the line it will also have to turn off the other motor when the light sensor reads lighter than the set value. This would be done using a split in the program, as well as a way to make the program keep replaying continuously.
Also in this challenge there are three parts. First, we have to create a robot that works following the line for any distance. This task in the challenge is easily done by putting together a NXT robot and connecting a light sensor to it. Then, we have to make the robot go around the full distance. With this more challenging task I believe we would have to make a more compact design, since our first one had the motors attached to either side of the NXT. Finally, we have to create a robot that does this at the greatest speed we can. In this task we are also trying to beat the other design groups in our class. After creating a compact robot with the wheels close together, it all comes down to the programming. In the beginning everyone starts off with the simple program telling the robot to turn one motor off and keep the other on when seeing a specific dark or lightness of a line, and vice versa. This is fine at first, but during this task we will all be working at trying to make our robot go around the track at the fastest speed. My idea to make this work is to create a program that depending on which color ground it is seeing, to still keep both motors running, only one at a slower pace than the other. The exact power levels I am not sure of, but that is the challenge that I am going to have to keep testing, with trial and error, until our robot is going in the straightest line possible, rather than a zig-zag motion. The straighter that we can make our robot follow the line in will also create it to go faster, because it would be moving in a much more direct route.
Also in this challenge there are three parts. First, we have to create a robot that works following the line for any distance. This task in the challenge is easily done by putting together a NXT robot and connecting a light sensor to it. Then, we have to make the robot go around the full distance. With this more challenging task I believe we would have to make a more compact design, since our first one had the motors attached to either side of the NXT. Finally, we have to create a robot that does this at the greatest speed we can. In this task we are also trying to beat the other design groups in our class. After creating a compact robot with the wheels close together, it all comes down to the programming. In the beginning everyone starts off with the simple program telling the robot to turn one motor off and keep the other on when seeing a specific dark or lightness of a line, and vice versa. This is fine at first, but during this task we will all be working at trying to make our robot go around the track at the fastest speed. My idea to make this work is to create a program that depending on which color ground it is seeing, to still keep both motors running, only one at a slower pace than the other. The exact power levels I am not sure of, but that is the challenge that I am going to have to keep testing, with trial and error, until our robot is going in the straightest line possible, rather than a zig-zag motion. The straighter that we can make our robot follow the line in will also create it to go faster, because it would be moving in a much more direct route.
Definitions
initialize (vb): to set (variables, counters, switches, etc.) to their starting values at the
beginning of a program or subprogram.
beginning of a program or subprogram.
Prototype 1
Our first prototype was successful. This design was able to turn round corners, as well as perpendicular corners. Even with this, we still need to create a robot that can do this at a greater speed. Our ideas for the next design is to find a way to place the wheels as close together as possible. This would make the robot be able to still turn these corners while going at a greater speed.
Prototype 2
We decided to scrap our first prototype and make a completely different robot design. This robot has the wheels placed underneath with the NXT bot connected at an angle. This format makes it so the robot is compact and can maneuver with ease. Also, we have a swivel wheel in the back to help keep the robot following the black line while its going in its back and forth motion. We still need to make the robot go faster, but I believe we will keep this design and instead try changing the program.
Prototype 3
For our final design we added wheels on both sides of the robot. We thought this would give the robot more power to turn corners and make it easier to do this. Other than the wheels, we kept our robot the same. For the last part in this design challenge we got our robot to move at a speed of 0.471 ft/sec or 5.653 in/sec.
Compare/Contrast
From the beginning program to our final, more advanced one there are many differences. In everyone's starting program we made one wheel stop completely, while the other side was still going, when above or below a certain amount of light level. This went for both sides of the robot, working for both wheels depending on what the light sensor indicated. Then when starting to accomplish part three we had to make the robot go at an even faster speed. To do this we would have to make the robot move in a more straight, direct line, which would have to be done by keeping both motors running, only at different speeds. To do this in the program we found a way to only slow down one motor while the other one is still traveling at the top speed. This also went for both wheels of our robot depending on what the light sensor indicated. This helped us get our final faster speed of 0.471 ft/sec (also 5.652 in/sec).
Program
Line Bot
movie_0002.wmv | |
File Size: | 995 kb |
File Type: | wmv |