240 likes | 424 Views
LeJOS Java for Lego RCX 2-12-2005 CJ Chung Associate Professor of Computer Science Director of Robofest Assistants Maurice Tedder Steven Kryskalla Rick Dudley. Agenda. 9:00 am - Introduction to LeJos Java Programming using Eclipse 9:15 am – Installation of Java, Eclipse, and LeJos
E N D
LeJOS Java for Lego RCX2-12-2005CJ ChungAssociate Professor of Computer ScienceDirector of RobofestAssistantsMaurice TedderSteven KryskallaRick Dudley
Agenda • 9:00 am - Introduction to LeJos Java Programming using Eclipse • 9:15 am – Installation of Java, Eclipse, and LeJos • 9:45 am – LeJOS Java Programming Workshop • 11:00 am – Mini Challenge • 11:45 am - Wrap-up
2 Million Dollar Prize, 2005 142 Miles, within 10 hours
Weaponized robot, also known as SWORDS in Iraq, Jan. 14, 2005 Many of the vehicles being developed will have some autonomy, meaning they'll navigate rough terrain, avoid obstacles and make decisions about certain tasks on their own The Pentagon's research arm, the Defense Advanced Research Projects Agency, also recently awarded contracts to aid research of robots that one day could be dropped into combat from airplanes
Your RJ (Roverbot Jr.) • Two motors • Left A • Right C • One light sensor on input port no. 1 • One touch sensor on input port no. 2 • One brain: H8 microprocessor, 16MHz
Why Java? • Write Once, Run Anywhere • AP CS A and AB using Java since 03-04 year • Pure OO (Object Oriented) language • Standardized • Free
Characteristics of Java • Simple: automatic memory allocation and garbage collection. # of language Construct is small. • Portable • Robust (Reliable): “exception handling” • Multithreaded • Interpreted • Distributed • Secure • Architecture Neutral • Dynamic: You can freely add methods in a class at runtime)
LeJOS for Lego • LeJOS [Ley-J-oss] • http://lejos.sourceforge.net • Replacement Firmware for Lego RCX brick – JVM for RCX • Size: 16KB • around 12 KB for user-programs • Download for Free • Can be thought of as J2ME (Java 2 Micro Edition) for smaller devices such as pagers, cell phones, and handheld PCs.
User Programs (12 KB) leJos JVM (16 KB) ROM (16 KB) LeJos Memory Map Routines for ROM (4 KB)
Advantages of using Java for Lego instead of NQC (or C++) • Pure Object Oriented. Enormous APIs • Floating point numbers: vital for navigation • Recursion • Threads • Simple Event Model • You can use custom made sensors, easily • Powerful networking APIs • Web control of your robot • Everything is for free • However, no Garbage collection yet (?)
How to Install LeJos programming environment • Using DOS • Start | Control Panel | System | Advanced | Environment Variables • Add c:\lejos\bin to the system PATH, if leJos was installed at c:\lejos • IDE • Eclipse: the best free Java tool • www.robofest.net resources button
Uploading JVM to RCX using DOS • Fast mode: lejosfirmdl –f • Slow mode: lejosfirmdl • It takes about one minutes • After the download, you should see a number on the LCD representing the battery voltage
Program 0 Program 1 Compile, Upload, and Run using DOS • Compile: lejosc <filename>.java • Upload: lejos <filename> • Press the green button • Uploading more than one program lejos <filename>,<filename>
Workshop Topics • Eclipse programming environment • Learning Java Basics with Lego RCX • Repetition – while and for • Decision – if, if else • Methods • Variables • Sensors • IR Packet Communications • Mini Challenge: a part of Robofest Challenge, RoboRelay
Robofest 2005 • Junior Division (5-9th) • Senior Division (9th-12th) • Exhibition Division • 13 regional competitions • Top winning teams to World Robofest at LTU on April 23. • MPC laptops to the best team for each division
Class Mission 1 • Do forever • Beep when the light sensor sees the bright light
Class Mission 2 • Go forward until the robot detects the edge of the white board. Stop at the edge of the board
Class Mission 3 • Go forward while counting N black lines. Stop right after the Nth black line
Mini Challenge (a part of Robofest Game) • Start when the lamp under the board is on • Follow the black line until it detects the end of the line (edge detection) • Turn around • Coming back to the home base • Stop when the bumper (touch senor) is hit