In the previous part of the video lesson we showed how imprecise a chain LEGO Mindstorms robot could be if its positioning does not rely on sensors, but only on the use of move block. In this tutorial we will show the same thing, but using robot on tires.
- # 42
- 30 Sep 2013
To learn how to align precisely check out this videos:
- How to align to a line (Episode 29)
- How to solve Senior Solutions Woodworking, Similarity, Gardening, Stove and Ball game in one run (Episode 28)
They will give you the knowledge to use light sensors accurately and position the robot precisely on the field.
Yesterday we showed you that it is nearly impossible to position yourself correctly on the field using these chains and today we will continue with another example. Again it is impossible to position correctly on the field every time precisely using tires.
Again we will start from the project that we developed in episode 38. It was the DistanceMove project. So we take the DistanceMove project.
It takes a little while for the EV3 Software to load it. Okay we will remove all the other Blocks that are not needed. And we are left only with the DistanceMove. Now I would like to do the same experiment. Move the robot forward for 300mm with power of the 75. Then : Copy -> Paste Move the robot backward again 300mm. Then forward and then backward.
And we will cheek the difference of the position every time we run the robot. Let's see how it works. We start by positioning the robot on this Black Line here. Aligning manually. Now we run the program of moving forward-backward, forward-backward. And we will track the end position.
The robot in this case has an end position - right here. I'll mark this with this tape.
And I will again run the program.
As you can see there is about 5mm difference from the first end position and the second end position. And in the second case the robot is over the tape. Let's continue with a more complex move. I will delete these Blocks here.
This time let's include a turn. I would like the robot to move forward, then do a steering. Steer right with the value of 50 and steer for 2 rotations. And then again move forward 300mm with the power of 75. Let's see how it works. Again we align the robot directly on this Black Line - here. And we run our DistanceMove project.
Okay, let's mark the end position of our robot. Again using tape.
It's right here.
Run it again - from the same staring point.
Wow - it seems we have a great difference. Probably I'm not starting it on the same point - let's do it again.
It's aligned here to this tape and to the Black Line. Start it.
That is the final position of the robot.
Let's align it again - to the tape and to the Black Line. Start it.
As you can see there is a probably 5mm or 6mm difference. Currently the robot is here, but on the first run it was actually - here. The next test will include gathering of some component. I will remove the DistanceMove - here. Let's move forward for a 150mm then we are doing a right turn - with the value of 50 for 1 rotation. Then we are doing some movement to gather something - 100mm forward. And then 100mm backward -75. Because we are returning back to base we would like to move in the opposite direction. We copy our Block, but move with the power of -50. This will do the opposite of the first turn. And as a result we are moving a 150mm backward. So we are returning back to base. And we will measure the differences of the position for the different runs. Let's now see the result of our program. We position the robot here on this corner.
So that it is on the same place every time. And we run our program.
As you can see this is the end position of the robot - Let's mark it with tape.
And we will start the robot again.
This time it's much more precise, probably it's just a coincidence. Let's do it again.
As you can see on the third run we have almost a centimeter of difference from the position of the first run and the position of the third run. Truth be told it is interesting to see how this program will behave if we reduce the power of the motors. So currently it's 75% of the maximum power. Let's reduce it to 25% - everywhere.
Download and we will see how it works. I will again align our robot to the Back Line of the corner that is here. So we can start at the same position every time. Run our program, but this time it will be much slower with the power of 25%.
As you can see because the power is smaller the robot returns almost exactly the same position. As we started. Now let's do a second try.
Align - run.
Okay we have some very good results. As a conclusion it is probably possible to align yourself precisely on the field without sensors and borders. Just using motors and rotations, but you would have to move very slowly to be precise. Because if you are not moving very slowly you saw the differences that the robot makes. You can of of course find this program under the materials section of this video. I will save the project as WrongPosition.
Tell us if you are facing other problems with the robot and we will build other videos so that we could help you!