Two-level or bang-bang controller

When we looked at the simplest of distance controllers, we simply used a Wait block to tell the robot to stop. However, as we are tracking a line, our conditions relative to the line are constantly changing as the line may move straight or curve. The simplest controller is called a two-level or bang-bang controller. If the sensor measures a reading greater than the setpoint, the robot will curve to the left. If the sensor measures a reading less than the setpoint, the robot will drive to the right.

When you execute the program in the following screenshot, you will notice that the robot will follow a zigzag type of motion along the line:

In the program itself, you may notice that we read the value of the setpoint ...

Get Learning LEGO MINDSTORMS EV3 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.