1: Follow the line

In teams of two, design algorithms using flowcharts to create an automated, driverless vehicle that can:

  • stop at a line,
  • follow a line, and
  • travel between two lines.

Explore how an automated vehicle might be guided along a road or track and how line detection could be used to save lives. Design ways to improve driving safety by helping to prevent drivers from falling asleep and causing an accident.

EV# vehicle following a line

Task Description

You will need to complete all the following sections as part of your collaborative presentation:

  1. Drive and stop at a line
    1. Design a flowchart for the automated vehicle to stop at a line.
    2. Working code with comments
    3. Validation video
  2. Following a line
    1. Design a flowchart for the automated, driverless vehicle to follow a line.
    2. Working code with comments
    3. Validation video
    4. Explain how an automated vehicle might be guided along a road or track.
    5. Once the wheeled robot is following the line, can it be improved to behave more like a car (i.e., move in a straight line rather than a wiggle)?
  3. Detecting lane changes
    1. To simulate what could happen if a driver falls asleep while driving, your robot could sound an alarm signal when it crosses the line. Program your robot to perform this function. Add you working code with comments.
    2. What can happen if a driver falls asleep while driving?
    3. How can we detect when a driver is falling asleep?
    4. How could you improve your program?
  4. Extension
    Simulate a vehicle’s behaviour at traffic lights by having their wheeled robot respond to a series of green and red signals. Placing the code inside a loop allows for the possibility of multiple “traffic lights” along a track. Use the technic beams available in the EV3 core set to simulate green and red lights. Place the beams on the table so the Color Sensor can detect them while rolling over them.

To Be Successful

  • Appropriate protocols when taking a photos/videos of others.
  • Acknowledge sources appropriately including graphics
  • Plan and implement consistent and logical navigation
  • Include hyperlinks to navigate the presentation
  • Reference sources appropriately
  • Complete at least all items of first 3 parts of this task.

Learning Behaviours

This task provides the following opportunities to develop and demonstrate the Learner Behaviours:

Driven
Engages in Python coding challenges with persistence and learns from their mistakes and willingly completes the extension activities.
Curious
Explores and tests ideas by asking questions, researching and through trial and error when learning new skills or developing solutions
Collaborative
Works in teams to solve problems and create new information. Willingly shares new skills and knowledge and assists others and seeks assistance from peers.
Connected
Connects programming constructs and data structures to real life applications and is able to explore and discuss issues and ethical implications of their solution
Flexible Thinker
Applies new knowledge and skills to solve problems and is able to adapt and recognize patterns in other solutions
Disciplined
Motivated learner who demonstrates initiative by following a project management process to complete a project