2: Obstacle course
In teams of two, you will design algorithms using flowcharts to create an automated, driverless vehicle that can navigate an obstacle course. You will then adapt your code to use a touch sensor and an ultrasonic sensor to complete the same course, and make comparisons between the solutions.
This challenge features a sequence of turns that the robot must perform in order to get to the “end” of the course. The robot must begin at the starting point and get to the goal area by completing turning and forward movement behaviours. The robot must not cross any lines.
Task description
You will need to complete all the following sections as part of your collaborative presentation:
1. Traverse course
Traverse the course without using any sensors.
- Design a flowchart for the automated, driverless vehicle to reach the goal.
- Working code with comments.
- Validation video.
2. Wall detection with touch sensor
Use a touch sensor to detect the boundaries (walls) of the course while moving.
- Design a flowchart for the automated, driverless vehicle to reach the goal using a touch sensor.
- Working code with comments.
- Validation video.
3. Wall detection with ultrasonic sensor
Use an ultrasonic sensor to detect the boundaries (walls) of the course while moving.
- Design a flowchart for the automated, driverless vehicle to reach the goal using an ultrasonic sensor.
- Working code with comments.
- Validation video.
4. Connection to our world
Discuss the following questions:
- What differences were there between the touch and ultrasonic sensors in relation to your code and the driverless vehicle? Explain.
- How do modern vehicles use these two sensors?
To Be Successful
- Use appropriate protocols when taking photos/videos of others.
- Acknowledge sources appropriately including source of graphics.
- Plan and implement consistent and logical navigation.
- Include hyperlinks to navigate the presentation.
- Reference sources appropriately.
- Complete all 3 sections of this task including questions.
- Work collaboratively with your partner.
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