EV3 basics course. Precise motor programming for competitions (part 7)

The way you move the robot is always imprecise. Don't TRY to fight with this. Programming motors for competitions like the FIRST LEGO League (FLL) or World Robotics Olympiad (WRO) is not very different from programming the motors in the STEM classes. But there are a few things you should have in mind. 

  • #134
  • 03 Oct 2015
  • 5:50


Again. Moving the robot is imprecise. Take it as a given and don't try to work on this. If you use only the motors and the rotations set to the motor to position the Mindstorm robot on a field then you would always fail. 

It is nearly impossible to program a LEGO Mindstorms robot do a couple of moves and turns and arrive at the same position every time. 


The correct way is to use sensors. The problem is that the precise position of the robot depend on the wheels, the motors, the battery, the balance, the surface on which the robots work, and many other things. 

Check out the following playlist for more detailed solutions:

Positioning on a competition field with EV3 and NXT robot

Pricese motor control EV3-G program

EV3-G program for precise motor control of the LEGO Mindstorms EV3 robots


In the previous videos of the series we did a general introduction on how you move the robot, with 2 motors and how you control these motors. In today's video we'll talk about how to use this knowledge for competition when you have different robots, for example, this here is a competition robot, so it's kind of more complex robot and when you're on a competition, it doesn't matter which competition, you have to follow some certain principles and we did many videos like 20 videos about positioning yourself, aligning and these are the things you must know when you go to a competition with a robot.

First, at the competition, no matter the competition, and even more general, the way you move the robot is always imprecise and that's a rule. Let's see this. Let's build a program that moves the robot forward, then turn and then move forward and what you'll see is that even though we'll start at the same position every time we'll arrive at a different position at the end. And there will be small differences and this will be only after three movements: forward, turn, forward. Now imagine if you have more movements, but let's first see the simple movement. I will now program the robot to move.

I would like to move with both motors forward and these are motor A and motor D, for one rotation, then I would like to turn with motor A, again, for half rotation or let's keep it one and a half rotations. So that you can see it well on the camera. And then move again forward, with a Tank block on A and D and move for one rotation. Let's see how the robot moves. Let's now measure how imprecise, actually the whole movement is. I will take a marker and I'll mark the starting position of the robot.

Here and here. I have the starting position of the robot.

These two black lines and I will now position the robot.

And let's start the program.

Now we mark the final position of our third wheel. which is somewhere here.

I hope you can see it on the camera. And we do the same thing again. We start from the same initial position.

And as you can see there is a small difference between the position last time and the position now. It's 3 or 4 mm. It's not a very big difference but it's significant for only 3 movements. So, move, turn, move. And this is something repeatable so you'll get to a different place each time.

What I'm trying to tell you here is that it is very unwise to rely only on the movement of the motors when you are at a competition or even generally. There are different solutions to this. First, you can align to different borders. Second, you can program the robot, so it aligns to lines. And following below the video you can find a whole playlist with different videos on how to solve this problem for competition robot.

Check out the playlist and then we'll continue with tasks on how do you prepare for competition and positioning on a competition.

Courses and lessons with this Tutorial

This Tutorial is used in the following courses and lessons

Image for EV3 Basic Course. Introduction to robot programming, construction and sensor use
  • 38
  • 193:26
  • 30
Image for Build and Move
  • 8
  • 0
  • 13
  • 3d_rotation 2