1 / 20

Programming Robots using Java

Programming Robots using Java. Community Partners Program Penn State Harrisburg December 10, 2008 Jane S. Kochanov. Welcome. School of Business Administration B.S. in Information Systems College of Information Sciences and Technology B.S. in Information Sciences and Technology

Télécharger la présentation

Programming Robots using Java

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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.htmlhttp://marsrovers.jpl.nasa.gov/mission/spacecraft_surface_rover.html

  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 www.totalvac.com

  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. http://www.cnn.com/2005/TECH/ptech/06/02/roborior.ap/

  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 http://www.aethon.com

  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 Motorclass: • 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 Soundclass: • 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 1 - 20000 Hz given by Frequency. The tone is played for Duration: to play 1 second, use 100. 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.

  19. LEGO Java Operating System Buttonclass: • 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

More Related