A Presentation by: Frank Kuo Nkiruka (Nikky) Chuka-Obah Keith Mayoral 07/28/2006 NESL - Ragobot Wars...

11
A Presentation by: Frank Kuo Nkiruka (Nikky) Chuka-Obah Keith Mayoral 07/28/2006 NESL - Ragobot Wars Click to edit Master title style

Transcript of A Presentation by: Frank Kuo Nkiruka (Nikky) Chuka-Obah Keith Mayoral 07/28/2006 NESL - Ragobot Wars...

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.

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.

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.

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.

• 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.

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.

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.

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.

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.

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.

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.

Any Questions???