Introduction
Let's imagine we are billionaires. Every self respected billionaire must have a yacht . A robot yacht is exactly what we would now build.
The modern yachts are custom build for a luxury life. They could have a bathroom, bedroom with a nice view, living room, kitchen and even a room for play.
What would you like to have on the board of your yacht? Why?
All of this of course has a price. If we are slightly less rich billionaires we would take a yacht starting at about $200,000. And the price could go up indefinitely. There is a rumor that the most expensive yacht is for over $4,000,000,000 dollars. It was made with more than 100,000 tons of gold and platinum - two of the most expensive materials on earth. There are walls made from real tyrannosaur rex bones and diamonds each costing 45 million dollars. Luckily, we are also billionaires and we could afford all of this. We would leave up to you to decide if you need a wall full of tyrannosaur Rex bones.
Construction and Theory
To use our yacht for great adventures, we would first have to build it. We are not in fact billionaires, and we would have to build the yacht on our own. But at the end we would have a yacht! Think what would you add to your yacht to make cooler than the rest of the yachts~
Robotics Supreme - LEGO Mindstorms EV3 yacht robot
The name comes from the worlds most expensive yacht, History Supreme, purchased for around 5 billion US dollars form an anonymous Malaysian buyer.
Robotics Supreme is a robot made to resemble a yacht. For that purpose it is made to look very long and its front comes to one point. It uses two large motors with tyres to move. On the front it also has a color sensor, placed so the robot can follow a line. On the back it has a Gyro sensor, so that it can turn correctly.
After building the robot, close the box to keep the desk clear.
- Gather all the parts from the desk and put them back in the box.
- Close the box and move it aside so it's out of your way.
Programming and Theory
As we are not that rich, but very clever, we've added a GPS system connected to a robot, that could automatically control our yacht while we are having fun on it.
GPS is an abbreviation for Global Positioning System. It uses satellites provided mostly by the military and it allows us to get a precise location of where we are.
Because it is difficult to connect a LEGO robot with a satellite, our GPS, along with the automatic control will be a line on the floor. We would use a color sensor to follow it.
That's right. The robot makes a sharp turn when it bumps into something or when it is pushed! By using the Gyro block we can detect a big change in the angle of the robot.
Gyro sensor - Wait - change block
We are already familiar with the Gyro sensor and we know how to use it with the Wait Block and wait for a comparison to return true. But what is the other setting ('change') of the block doing?
Similar to the option to compare, the option for change has two modes:
- Angle - the robot waits for the Gyro sensor to detect a change in the angle, by default 10 degrees. This change could be in both directions - the angle could increase by 10 degrees or decrease by 10 degrees. Of course, you can configure the block to wait specifically for increase or decrease.
-
Rate - the robot waits for the Gyro sensor to detect a change in the speed in which it is turning, by default 10 degrees per second. This change could be in both directions - the angle could increase by 10 degrees or could decrease. Of course the sensor could be configured to wait only for one of them.
These blocks are very useful to detect diversions from the right path. If someone hits the robot, the rate of turn will change a lot! Of course, you can find other solutions!
Apart from the alarm we should also add a block to stop the line following program. In this way we could control the boat by hand or with the help of another program. For this we would use a new block from an entirely new section of the EV3-G software. This block is the block for an stop of the program.
Stop program block in EV3-G
Probably you've noticed that in the dark-blue section with blocks there is one block, that looks like a complete opposite to the block for starting the program. What is this block doing? How should we use it?
The block is quite simple in what it does. It stops the program. These block has no settings.
When and how could we use this block? The main purpose of this block is make the program stop when it can not stop on its own. For example, it could be used in an endless loop that should stop when a condition occurs. The same applies for all the other blocks that could block the program. Further more if the robot makes a mistake and goes in a wrong direction, we could use this block to stop the whole program.
As the block is used to stop the program, there could be nothing after the block. Because of this there is a peculiarity when the stop block is used with a loop or a Switch Block - we should put a parallel thread and connect it with the block.

Became an integral part of the main lesson
По пътя виждаме бели китове! О не, те ни бутат в случайни посоки! В нова програма, програмирайте Яхтата ни да засича когато някой я удари или ритне и да издава звук.
Tasks to finish a class
- Take pictures and make videos of your robots
- Disassemble and arrange the robot
- Arrange your workplace
- It is important to arrange the electronics of the robots on the cover of the box.
- Wind up the programming cable so that it is assembled.
- Put the robot cables next to the electronics.
- Wind up the mouse cable around the mouse.
- Wind up the cable of the laptop charger in a way that your teacher will show you.
- When you turn off the computer, leave it next to the robot box.
- Turn off all programs on your computer
- Exit FLLCasts
- Shut down your computer
- Put your chair under the desk.