a presentation by: frank kuo nkiruka (nikky) chuka-obah keith mayoral 07/28/2006 nesl - ragobot wars...
TRANSCRIPT
![Page 1: A Presentation by: Frank Kuo Nkiruka (Nikky) Chuka-Obah Keith Mayoral 07/28/2006 NESL - Ragobot Wars Click to edit Master title style](https://reader036.vdocuments.us/reader036/viewer/2022070401/56649f205503460f94c392ec/html5/thumbnails/1.jpg)
A Presentation by:
Frank Kuo
Nkiruka (Nikky) Chuka-Obah
Keith Mayoral
07/28/2006
NESL - Ragobot Wars
Click to edit Master title style
![Page 2: A Presentation by: Frank Kuo Nkiruka (Nikky) Chuka-Obah Keith Mayoral 07/28/2006 NESL - Ragobot Wars Click to edit Master title style](https://reader036.vdocuments.us/reader036/viewer/2022070401/56649f205503460f94c392ec/html5/thumbnails/2.jpg)
Test Cart - completed
Complete wiring of the test cart• Completed testing on desktop
• Complete communication with LabVIEW (usb, RS-232)
• Installed onto test cart computer
• Tested LabVIEW program with common emitter amplifier
![Page 3: A Presentation by: Frank Kuo Nkiruka (Nikky) Chuka-Obah Keith Mayoral 07/28/2006 NESL - Ragobot Wars Click to edit Master title style](https://reader036.vdocuments.us/reader036/viewer/2022070401/56649f205503460f94c392ec/html5/thumbnails/3.jpg)
Embedded C Programming
Familiarizing with Embedded Programming (1 week)• ATMEL STK500 Test Board
• ATMEGA128 Microcontroller (8-bit controller)
• Program in C, convert to .hex, load program into controller
• Basic assignments:
– Read from switches, blink LEDs, use CPU clock to blink LEDChunk of code from program
//Turning lights on with switches
DDRB=0xff; //all bits of portB are output
DDRA=0x00; //all bits of portA are input
while(1){
PORTB=PINA; //read portA and write to portB, portA are switches
}
// Toggle lights with switch
DDRB=0x01; // LSB as output
EICRA=0x03;
EICRB=0x00;
EIMSK=0x01; // external interrupt mask register set to INT0
EIFR=0x01;
sei(); // enable global interrupts - SREG=0x80;
while(1); // processing to wait for interrupt
![Page 4: A Presentation by: Frank Kuo Nkiruka (Nikky) Chuka-Obah Keith Mayoral 07/28/2006 NESL - Ragobot Wars Click to edit Master title style](https://reader036.vdocuments.us/reader036/viewer/2022070401/56649f205503460f94c392ec/html5/thumbnails/4.jpg)
• Problems: First fried board, figuring out syntax, re-installing AVR components, cygwin
• Goal: learn embedded C programming to program LCD on ragobot
Embedded C Programming
![Page 5: A Presentation by: Frank Kuo Nkiruka (Nikky) Chuka-Obah Keith Mayoral 07/28/2006 NESL - Ragobot Wars Click to edit Master title style](https://reader036.vdocuments.us/reader036/viewer/2022070401/56649f205503460f94c392ec/html5/thumbnails/5.jpg)
Review
Design
•User connects to ragoworld through a java applet.
•Applet sends data to java application to parse
•Application sends valid requests to SOSserver through a TCP socket connection
•SOSserv radios the commands to Ragobots in the Ragoworld and reports back to application and user.
![Page 6: A Presentation by: Frank Kuo Nkiruka (Nikky) Chuka-Obah Keith Mayoral 07/28/2006 NESL - Ragobot Wars Click to edit Master title style](https://reader036.vdocuments.us/reader036/viewer/2022070401/56649f205503460f94c392ec/html5/thumbnails/6.jpg)
Review
Design
•User connects to ragoworld through a java applet.
•Applet sends data to java application to parse
•Application sends valid requests to SOSserver through a TCP socket connection
•SOSserv radios the commands to Ragobots in the Ragoworld and reports back to application and user.
![Page 7: A Presentation by: Frank Kuo Nkiruka (Nikky) Chuka-Obah Keith Mayoral 07/28/2006 NESL - Ragobot Wars Click to edit Master title style](https://reader036.vdocuments.us/reader036/viewer/2022070401/56649f205503460f94c392ec/html5/thumbnails/7.jpg)
What’s been done…
• Communication between Applet and Server• In Java,
– Both sides use PrintWriter and BufferedReader streams to send strings containing data/commands.
– Data/commands are received in separate threads and parsed to allow for unexpected packets.
![Page 8: A Presentation by: Frank Kuo Nkiruka (Nikky) Chuka-Obah Keith Mayoral 07/28/2006 NESL - Ragobot Wars Click to edit Master title style](https://reader036.vdocuments.us/reader036/viewer/2022070401/56649f205503460f94c392ec/html5/thumbnails/8.jpg)
What’s been done…
• SOS – Cygwin (a Linux-like env. for Windows)– Necessary to run SOSserv program on the SOS
server mote– Still need to find out how Cygwin detects USB port…
• Patrick has already coded some java to send ragobots commands…
• Just created a java class to run console commands to hopefully run Cygwin and SOSserv from the java application
SOS server
![Page 9: A Presentation by: Frank Kuo Nkiruka (Nikky) Chuka-Obah Keith Mayoral 07/28/2006 NESL - Ragobot Wars Click to edit Master title style](https://reader036.vdocuments.us/reader036/viewer/2022070401/56649f205503460f94c392ec/html5/thumbnails/9.jpg)
Problems left to fix…
• Bugs always pop up when merging GUI code with communication code
• Formatting applet
• Getting the applet to run on our test web server without getting security/null pointer exceptions.
• Figuring how to make SOSserv work in a non-linux environment (/dev/USB01)
• Non-fatal annoying bugs
![Page 10: A Presentation by: Frank Kuo Nkiruka (Nikky) Chuka-Obah Keith Mayoral 07/28/2006 NESL - Ragobot Wars Click to edit Master title style](https://reader036.vdocuments.us/reader036/viewer/2022070401/56649f205503460f94c392ec/html5/thumbnails/10.jpg)
Relevance to CENS
• Remote control functionality-Just one possible application
– Control robot in the field from the comfort of your own home!
– Use on-board sensors to sense things un-sensed ever before in the sensible world!
– Paired with Ragodoc it can recharge and head out without having to come home for a battery change
![Page 11: A Presentation by: Frank Kuo Nkiruka (Nikky) Chuka-Obah Keith Mayoral 07/28/2006 NESL - Ragobot Wars Click to edit Master title style](https://reader036.vdocuments.us/reader036/viewer/2022070401/56649f205503460f94c392ec/html5/thumbnails/11.jpg)
Any Questions???