LAB 1: Differential Drive Vehicle

For this lab you will need to do the following:

    1) Build a differential drive vehicle & get familiar with ev3dev environment

      Using your EV3 Lego Kit construct a differential drive vehicle. Take photos of all design iterations and include in your report.
      Read/run sample codes and understand how they work (make sure that appropriate sensors/motors are connected).

    2) Error data collection & analysis

      Write a program to collect the following data:


      How does error accumulate in rotation and linear movements of your robot, as a function of the power applied to the robot motors? Add your answers to the report. Use these methods to collect data in parts 3 & 4.

    3) Perform the following shape movements

      Write a program that receives as input one of the following four shapes and performs the desired movement:


      Add a pen or pencil to your robot in such a way that you can draw the above shapes (line, rectangle, circle, figure-eight) when placing the robot over a sheet of paper. Draw each shape at least 3 times. What can be concluded and why? State your answer in the report and provide an error analysis of your results. Include photos of each drawn shape in the report.

    4) Implement a dead reckoning position controller on your robot


    5) Convert your differential drive vehicle into a Braitenberg vehicle

      Using light detecting sensors, implement the following behaviours in reaction to a light source on your robot:


      Include videos of your robot demonstrating each behaviour in your report.

    6) Final project planning

      Open the final project planning Google document shared with you and answer the question for lab 1. If you do not have access to the document, please speak with the TA.

Demo:

    Points 3, 4 and 5.

What to hand in:

    A tarfile electronically on eClass. The tarfile has to contain your implementations and any data you either measured or generated. Download the sample file structure to use as a template. Note: you do not need to include problem 6 in your report.

Extra Lab Notes