Download presentation
Presentation is loading. Please wait.
1
Programming Robots using Java
Community Partners Program Penn State Harrisburg December 10, 2008 Jane S. Kochanov
2
Welcome School of Business Administration
B.S. in Information Systems College of Information Sciences and Technology B.S. in Information Sciences and Technology B.S. in Security and Risk Analysis
3
Information Technology Grad’s
Business analysis consultant Business systems delivery specialist Certification and accreditation consultant Geospatial analyst GIS specialist Information systems engineer Information technology manager IT specialist IT threat and vulnerability manager Risk services consultant Security architecture analyst Software technology analyst Submarine warfare officer Systems integration associate Strategic architect Technology analyst Technology integration associate
4
http://marsrovers. jpl. nasa. gov/mission/spacecraft_surface_rover
5
Roomba Intelligent Floorvac Robotic Vacuum
Roomba 4100 Intelligent Floorvac Robotic Vacuum - Red. Dirt detection and infra-red cliff sensors. Auto adjusts to any floor surface 2-hour continuous cleaning Virtual wall for confining to designated area Rechargeable APS battery, 7-hour charger Measures 13 by 4 inches
6
Virtual Guard Dog It sports a digital camera, infrared sensors and videophone capability so absent homeowners can be notified of intruders. 280,000 yen ($2,600) contraption by Japanese robot maker Tmsuk Co. Ltd. and Sanyo Electric Co. Ltd.
7
Hospital Courier TUG 50 pounds Ferries linens, X-rays, drugs, food
Made by Pittsburgh-based Aethon Uses wireless radios to call elevators or open automatic doors
8
ASIMO Advanced Step in Innovative Mobility
Humanoid Robot built by Honda Introduced in November 2000 ASIMO video
9
Java as a Platform Sun Microsystem has different Java sizes (virtual machines sizes) for devices with different capabilities Java 2 Enterprise Edition (J2EE) for big machines Java 2 Standard Edition (J2SE) Java 2 Micro Edition (J2ME) designed for use with memory-constrained devices Mobile phones, pagers, PDA’s JavaCard which is 4KB
10
LEGO Mindstorms Robot Robot Kit includes:
RCX (Robotics Command Explorer) 2 Motors 2 touch sensors 1 light sensor USB infrared transmitter tower A “gazillion” lego parts to build a robot
11
LEGO Mindstorms Robot RCX runs on 6 AA batteries
When batteries are low, battery icon with an “X” across it will appear in the display 3 gray ports labeled 1, 2, 3 Sensor ports 3 black ports labeled A, B, C Motor ports
12
LEGO Mindstorms Robot 4 buttons On-Off
Run to execute and stop a loaded program Prgm to scroll through the loaded programs May load up to 5 programs at one time View allows you to view information on a sensor or motor
13
LEGO Mindstorms Robot Display Window
A little person standing or running Indicates that a program is loaded or running respectively To the right of the little person, a number indicating which of 5 programs will be active when the Run program is pressed To the left of the little person, the Software Watch Shows program being downloaded. It counts units of 100 bytes, so a 3 Kb program counts up to ~ 30 Shows the voltage level of the battery
14
LEGO Java Operating System
Provides a Java package to control the RCX: josx.platform.rcx.* Provides Java classes for working with the RCX features: Motors Sensors Display Sound Buttons IR tower
15
LEGO Java Operating System
TextLCD class: Uses the display to show text messages. This class uses a great deal of memory. The letters are approximations since the display was originally intended for numbers. print (“text”) - prints the text on the LCD. Only the first five letters are displayed.
16
LEGO Java Operating System
Motor class: Used to control the RCX output ports which control the motors. The class contains 3 static Motor instances, A, B, and C, which correspond to the 3 output ports. setPower(int) - sets the current power level of the motor from 0 to 7. backward( ) - moves the motor backwards. forward( ) - moves the motor forwards. stop( ) - stops the motor. reverseDirection( ) - no matter which way the motor is turning, it makes it turn the other way.
17
LEGO Java Operating System
Sound class: The robot is able to play sounds for different tasks you might want to program playTone(int Frequency, int Duration) - - plays a tone in the range Hz given by Frequency. The tone is played for Duration: to play 1 second, use It is truncated at 256, meaning that 2.56 seconds is the maximum duration possible.
18
LEGO Java Operating System
systemSound(true/false, int Code ) – plays one of the predefined tones. Code Sound Short beep 1 Double beep 2 Descending arpeggio 3 Ascending arpeggio 4 Long low beep; error sound 5 Quick ascending arpeggio
19
LEGO Java Operating System
Button class: Encapsules 3 RCX buttons View, Prgm, Run. You may call a static instance of each button using VIEW, PRGM, and RUN. waitForPressAndRelease( ) throws InterrupedException - wait until the button is released
20
Let’s Try Create a simple program together that:
Displays a word to the LCD Start one motor Start the other motor Play a descending arpeggio before the motors start Run until the RUN button is pressed
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.