MindStorms Robot

Post on 09-Jan-2016

45 views 0 download

Tags:

description

MindStorms Robot. Learning to Program with Robots. What is MindStorm Robots?. Designed to introduce students to programming, logical thinking, teamwork, and project-based learning. Lego Robots. Robot Construction. Choose your robot design from the following list: Hank Minerva - PowerPoint PPT Presentation

Transcript of MindStorms Robot

Learning to Program with Learning to Program with RobotsRobots

Designed to introduce students to programming, logical thinking, teamwork, and project-based learning

Choose your robot design from the following list:

Hank

Minerva

Mushi Mushi 7

Trusty

TankBot

1. Choose a partner to work together as a team.

2. Choose your robot design.

3. Establish team member roles.

4. Inventory Mind Storm tackle box parts placement.

5. Create your robot according to the design plan.

Steps:

Steps:

6. Examine Course Rules

7. Program Mind Storm Robot to run course.

8. Complete test run of course.

9. Finalize Mind Storm Robot programming.

Peg Connector (J)

Full Bushing

24 tooth gear wheel

2x8

plat

e with

hol

es

1x4 Plate

2x4 plate w/holes

Gear Motor

2x2 brick

2x8 plate w/holes

24 tooth gear wheel

RCX Connector

Pegs

1.5 Connection Pegs

1x8 brick

Rims

Full Bushings

16 tooth

gear wheel

Connecting

leads

Caterpillar Belts

The key to programming your Robot is to determine how to solve the problem followed by writing down the logical steps to accomplish your goal.

import josx.platform.rcx.*;public class Robot{ ///////////// fields ////////////// private Motor leftMotor =

Motor.A; private Motor rightMotor =

Motor.C; private int powerLevel = 7;

///////////// Constructor //////// /** Constructor take takes no * arguments */ public Robot() {}

/** * Constructor that takes the

left * motor and right motor * @param left the left motor * @param right the right

motor */ public Robot(Motor left, Motor

right) { leftMotor = left; rightMotor = right; }

Method to make the robot go forward for the passed amount of time (in milliseconds)

public void forward(int numMillisecs) throws Exception{ leftMotor.setPower(powerLevel); rightMotor.setPower(powerLevel); leftMotor.forward(); rightMotor.forward(); Thread.sleep(numMillisecs); leftMotor.flt(); rightMotor.flt(); }

Method to make the robot go backward for the passed amount of time (in milli-seconds)

public void backward(int numMillisecs) throws Exception { leftMotor.setPower(powerLevel); rightMotor.setPower(powerLevel); leftMotor.backward(); rightMotor.backward(); Thread.sleep(numMillisecs); leftMotor.flt(); rightMotor.flt(); }

public void turnRight(int numMillisecs)

throws Exception { leftMotor.setPower(powerLevel); leftMotor.forward(); rightMotor.stop(); Thread.sleep(numMillisecs); leftMotor.flt(); }

Method to turn the robot to the right for the passed number of milliseconds@parm numMillisecs the number of milliseconds to turn

Method to spin the robot right

@param numMills the number of

milliseconds

public void spinRight(int numMills) throws Exception { leftMotor.setPower(powerLevel); leftMotor.forward(); rightMotor.setPower(powerLevel); rightMotor.backward(); Thread.sleep(numMills); rightMotor.flt(); leftMotor.flt(); }

Method to spin the robot left

@param numMills the number of

milliseconds

public void spinLeft(int numMills) throws Exception { rightMotor.setPower(powerLevel); rightMotor.forward(); leftMotor.setPower(powerLevel); leftMotor.backward(); Thread.sleep(numMills); rightMotor.flt(); leftMotor.flt(); }

public void turnLeft(int numMillisecs) throws Exception { rightMotor.setPower(powerLevel); rightMotor.forward(); leftMotor.stop(); Thread.sleep(numMillisecs); rightMotor.flt(); }

Method to turn the robot to the left for the passed number of milliseconds@ param numMillisecs the number of milliseconds

Method to zig-zag the robot turn left and then right @param numMills the number milliseconds

public void zigZag(int numMills) throws Exception { leftMotor.setPower(powerLevel); rightMotor.setPower(powerLevel); leftMotor.forward(); Thread.sleep(numMills); rightMotor.forward(); Thread.sleep(numMills); leftMotor.flt(); rightMotor.flt(); }

public static void main(String[] args) { try { Robot robot = new Robot(); robot.forward(3000); robot.spinLeft(3000); TextLCD.print("done"); } catch (Exception ex) { TextLCD.print ("error"); } }

Infra-Red receiver must face IR Tower