Lab Overview

Lego Kits:

Each team has been assigned a Lego EV3 Mindstorms kit. This kit must be returned with no missing pieces at the end of the course - so take care of it! Make sure you assign one member of your team to keep the robot safe each week. You will be given a package of new batteries with your kit. You will be responsible for any additional batteries needed. We will be using the Lego Mindstorms software, which comes with your kit, in addition to LeJOS. Lab computers in Tompkins 406 have this software installed and it is also recomended to install the software on your personal computers.

Tentative Lab Outline:

Week 1: Introduction, Team Assignments, Designing the Robot and software instalation.

Week 2: Lejos Intro: Obstacle avoidance behaviors with touch and IR sensor.

Week 3: Lejos Intro Part #2: Line-following with color sensor

Week 4: Project Introduction: Introduce the final project.

Week 5: Final project work.

Week 6: Final project work.

Week 7: Final project work.

Week 8: Final Project Presentations and Demos.


Week 1

Assignment Part 1 - Build the Robot

Use the building instructions in the Lego Mindstorms User Guide to finish building your first robot ready to be used in the next lab. Your robot should be designed so that you can write an obstacle avoidance behavior and a line following behavior. One of each type of sensor must be attached. Work together with your team!

Assignment Part 2 - Install Software

To do your assignments and your project, you can either use your personal computer or use the lab computers. Tompkins 406 also has the necessary software installed but you will have to do your assignments and project there. To install LeJOS software and the EV3 driver to your personal computer, use the installation guides for Windows or Mac OSX.


Week 2

Problem description

Given a wheeled robot, get the robot on the other side of an obstacle using touch/IR sensor

Expected behavior:

  • On activation, the robot starts moving in a straight line
  • When an obstacle is encountered the robot stops
  • Then the robot performs an obstacle avoidance strategy
  • Robot resumes going forward and performes obstacle avoidance again if an obstacle is encountered
  • The robot stops execution when the master presses a button on the EV3 brick

Assignment Part 1 - Obstacle Avoidance Program (Touch Sensor) with LeJOS

Using LeJOS, create a program that does obstacle avoidance using the touch sensor. Assume the obstacles are square boxes.

Assignment Part 2 - Obstacle Avoidance Program (Infrared Sensor) with LeJOS

Using LeJOS, create a program that does complete obstacle avoidance this time using the infrared sensor. Assume the obstacles are square boxes.

Submission

This is an individual assignment! You can talk with your team memebrs about the strategy but not how to write the code for it!

Submit your solution via git repository as instructed in class

  • Accept invitation
  • Push often
  • You must commit your intermediar work before class ends today. Final version due before class next week!
  • Demo during next lab or at the end of the lab if done.

Submit in your git repo in the readme

  • High Level Strategy (In plain English what do we want the robot to do)
  • Detailed Strategy (what are the desired robot capabilities and what are the components involved in each)
  • Pseudocode for your problem implementation

Week 3

Problem Statement

Using LeJOS, create a program that does line following. Given a black arc on a contrasting surface, your robot should be able to follow the line.

Assignment - Line Following Problem Analysis

Begin by placing the robot on the black line and assume you know what direction it will be running in, clockwise or counterclockwise.

Your assignment for today is to decompose this plroblem and write a strategy of implementing it. See the template provided.

Assignment - Line Following Implementation

As a team implement and test this assignment by next Friday

Submit

  • Submit your report as a .PDF file on Github BEFORE the end of the lab and bring a hard copy to the next lab. See the template provided.
  • You must commit your work on the team github repository that was created for you. Final version due before class next week! Be ready to demo in class next week
<

Week 4

You should continue to work as a team on the line following problem. This is DUE next week!!

Submit as a team

Submit the Java files (.java) on GitHUB BEFORE next lab and also be prepared to demo it during the lab.

Submit the final strategy report for line flollowing program on GitHUB BEFORE next lab.


Week 5

Project Introduction

Visit project tab for details

Stack and Switch Concepts

Notes found in Lecture 5. We will introduce the stack structure, review switch statemets and see how to use them together.

Assignment - Draft Solution

Carefully re-read, analyze, and become familiar with the project description with your team. Brainstorm strategies for tackling the maze. Draft your team's preliminary design, describing the sensors you will use, the algorithm for navigating the maze, ect. Submit your design via your team git repository before the next class.

As a team, choose a permanent team leader for the rest of the class. You are responsible to create tasks (before lab time) and update them during each lab. This is also the week when you can vote out a team member.


Week 6

Work on Project

Show your design that you worked on last class. Work on your project for the rest of lab.



Notes


Lecture 5