Title: MindStorms Robot
1MindStorms Robot
Learning to Program with Robots
2What is MindStorm Robots?
- Designed to introduce students to programming,
logical thinking, teamwork, and project-based
learning
3Lego Robots
4Robot Construction
- Choose your robot design from the following
list - Hank
- Minerva
- Mushi Mushi 7
- Trusty
- TankBot
5Robot Construction
Steps
- Choose a partner to work together as a team.
- Choose your robot design.
- Establish team member roles.
- Inventory Mind Storm tackle box parts placement.
- Create your robot according to the design plan.
6Steps
Robot Construction
- Examine Course Rules
- Program Mind Storm Robot to run course.
- Complete test run of course.
- Finalize Mind Storm Robot programming.
7Course Rules
8TankBot Demonstration
9TankBot Demonstration
Peg Connector (J)
10Full Bushing
TankBot Demonstration
24 tooth gear wheel
112x8 plate with holes
TankBot Demonstration
2x4 plate w/holes
1x4 Plate
12Gear Motor
24 tooth gear wheel
TankBot Demonstration
2x8 plate w/holes
2x2 brick
13RCX
Connector Pegs
TankBot Demonstration
1x8 brick
1.5 Connection Pegs
14Full Bushings
TankBot Demonstration
16 tooth gear wheel
Rims
Caterpillar Belts
Connecting leads
15Programming
- 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.
16Programming the Robot Constructors
- 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
- _at_param left the left motor
- _at_param right the right motor
- /
- public Robot(Motor left, Motor right)
-
- leftMotor left
- rightMotor right
-
17Method to Move Robot Forward
- 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()
-
18Method to Move Robot Backwards
- 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()
-
19Method to Turn Robot to the Right
- 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_at_parm numMillisecs
the number of milliseconds to turn
20Method to Spin the Robot to the Right
- Method to spin the robot right
- _at_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()
-
21Method to Spin Robot to the Left
- Method to spin the robot left
- _at_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()
-
22Method to Turn Robot to the Left
- 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_at_ param numMillisecs
the number of milliseconds
23Method to Zig-Zag the Robot
- Method to zig-zag the robot turn left and then
right _at_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()
-
24Main Method
- 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")
-
-
25Download Your Program to the RCX
Infra-Red receiver must face IR Tower
26Have Fun!