In this video we are solving Senior Solutions missions: Stove, Gardening, Similarity recognition, Ball game and Wood Working. We will make step-by-step of everything we do on the FLL field.
- 30 Jun 2013
We would use a LEGO Mindstorms NXT robot for accomplishing the missions.
Take a look at Episode 29 to become more familiar with how the robot is aligning to a line.
- Ball Game
- You could find the instructions for building the robot in Episode 13
- source code of the program written in NXT-G.
- the block for alining to a line.
In this video I would like to show you how to solve part of the FIRST LEGO League Senior Solution missions and I will make a step by step explanation of each move I make. The missions that I'm going to solve today are: the WOODWORKING, the STOVE, GARDENING, SIMILARITY RECOGNITION, and the BALL GAME. It took me about 4 hours to solve the missions to this state. They are not solved perfectly which is exactly the point. In the next video I will show you how to improve the current program so that the missions are solved 99% of the time. Now lets take a look at the final solution.
The current missions are categories as Deliver, Active Lever, Push/Pull both of them, Passive Lever and Collaboration. You can find more about the categories that we are using at Fll Casts in the lessons for “Pre-Missions-Analis” The robot that I am using is described in the lesson for “Building a competition robot”. You can also find the instruction for building the robot below the video. One of the mistakes teams make is solving every mission from base. This will not allow you to collaborate inside the team. It is much better to have a separation when a group of you is working on part of the field for example I’m working on this part of the field and another team player is working on another part of the field. In the current lessons I am working in the center of the field and I am starting from this green line here. It is not very important how we get to the line. What is important is that once we get there we could solve all of the missions. Our first task is to align the robot to the green line. This one here. This will be the starting position, which makes sure we do the mission in the same way every time. I will use a block that I have previously prepared for aligning to black and green lines. And in one of the next videos we would go into details of how to implement it. The block is called AlignWithDirection.
This block accepts one parameter which sets the direction of alignment here TRUE means align FORWARD and false means align BACKWARD. For the current program I will just set the robot to align forward. Lest that a look at the result.
Now that the robot is already aligned to the green line I would like to move the chair below the table. For this I will make a right turn with the robot, and then return back to the starting position. Returning always to the starting position makes the robot much more stable and the robot behavior will be more consistent. Let’s take a look. I have prepared a new my block and its called LeaveChair. If we take a look at the logic of this my block - LeaveChair. We can see that it is just a right turn and a left turn. Let’s add some comments. This here is the right turn. And this here is the left turn. Let’s take a look at how the robot behaves.
As we have left the chair and the flowers below the table. Our next mission is to do the similarity. For this I have prepared a new my block, but the logic is the following. We do a left turn, get to the similarity mission model. Then put the lever down. Do a small shake with this lever,and put the lever up and return again to the starting position. And after we return back to the starting position we again align to the green line. Let’s take a look at this.
So we have the LeaveChair, then we will do the Align. AlignWithDirection. And after aligning with direction we have prepared a block called Similarity. And the Similarity block is as follow : We do the left turn then putting the lever down. Then moving the robot a little bit. Putting the lever up and returning back to an initial position. And after we return to the initial position we should again align to the green line in a forward direction.
And this is the logic of all our programs. We are aligning to a line - we are doing a mission. Let’s see how the robot behaves.
Our next mission is to bring the flowers to the garden. For this we are already aligned on the green line. Then we will do a small right turn then a left turn. And then we will go almost forward until we reach the green line here. We will again align to this line and leave the flowers in the garden. After we leave the flowers to the garden we return back to the green line and try to align to it. Let’s do the program.
Okay we have the AlignWithDirection. The next mission is TakeAndLeaveFlowers. We have prepared a new block. And that is the logic of TakeAndLeaveFlowers. We take the flowers from the table then we align to the green line. Align to the left green line.
Then these four blocks here we put the flowers in the garden. And at the end we again algin to the green line. Algin to the green line. Let’s see how it works.
Now there are only two missions left on this part of the field that we are currently working on. The first one is the stove. The one right here. We are already aligned to this green line. We will turn the robot a little bit to the right and then align it to the black line. It is very useful for this mission then we will put the lever down, move the robot to the left put the lever up and this will do the stove mission. As for the programing part. Let me check. We have prepared two blocks. The first one is called AlignForStove. It is a separate mission because we must the robot a little bit. Let’s open this block. We must turn the robot to the right and then align to the black line. So this here is turning the robot. Turn the robot to the right. And then align. The second block is the one called do the stove.
DoStove. And it looks like: moving the robot a little bit to the right putting the lever down, then to the left putting the lever up. And as a result we are again aligning to the black line. Of course you can take a look at the source code of the program. And all the blocks are below the video. Let’s take a look at how this works.
The last mission for today is the collaboration mission right here. As you notice we don’t have the border on our field and this makes the whole mission element a little bit more fragile, but I will just describe the logic. We take the robot and align it to this black line here. And then we do a 180 degrees turn. So that the robot pushes this lever right here. And in this way we do the missionn. As for the programing.
We have the last block that is called GoToBalls. The logic is as it follows we align the robot to the black line. All of these blocks. Then we do a small calibration and I will get into details in the next video. And as a result we do a 180 degrees turn with the robot which pushes the lever and one of the balls will fall. Let’s see how it works.