Haihui: Implemented WebCam project and integrated with
Java application
The overall system architecture is as the following:
We successfully connected a Logitech QuickCam Pro 3000 to Apple
Macintosh PowerMac and iBook.
After installed QuickCam Pro driver for Mac OS X from http://webcam-osx.sourceforge.net/,
I downloaded the QuickTime for Java SDK from http://developer.apple.com/sdk/index.html#QTJava.
I changed SGCapture2Disk example so that that the SGCapture application
will send captured JPEG data via UDP to the Rcx Remote Controller Java Application
while storing the data to the disk as a QuickTime movie at the same time.
Please see the following screen shot.
Note: I didn't try to install the QT for Java on Windows machine.
It may work.
Then I started the Java Remote Controller application and start
the SGCapture2Disk
recording so that the SGCapture2Disk Java application will send
the data via UDP to the remote controller. We successfully received the
compressed JPEG data and display correctly at 5 frame/second at 160x120
resolution. Please see the following screen shot.
Issues solved previously(chronically):
Haihui&Xuejun: Downloaded and
Installed LNPD under Linux 2.4.18
We downloaded and compiled LNPD code successfully. Though
initially we had some difficulties to run the LNPD due to the limitation
of access priviledges because LNPD will try to change some UART settings.
Haihui:
Found and fixed a bug in LNPD:
It seems that LNPD can not configure 16550A UART chip correctly.
In the original code, it recommends executing "setserial /dev/ttyS0
uart 16450" on the machine with 16550A UART chip. So later when LNPD
initializes the TTY connection with RCX, it will treat 16550A chip
as 16450 chip. It does NOT work with machines in the OS lab which have
16550A UART chips inside. It seems that we can skip this step in the
LNPD code.
Haihui:
changed project webpages with frames.
Now the project webpage seems more organized.
Haihui&Xuejun: Discussed the
communication packet protocol
We discussed the control protocol between RCX and PC.
Xuejun: completed
the design of legOS program for receiving control commands and sending
current rover status
Xuejun: implemented the modules for motor control,
command receiving and tested motor control module
Haihui &Xuejun: Completed the design of control communication
protocol
Haihui: Implemented a prototype Java Swing
GUI for the Remote Controller
This prototype JAVA Swing GUI
program will let you specify the IP address and port number of the host
which runs the LNPD and connect to it via TCP/IP.
Haihui: Improved the Java
GUI and added more functionalities and graphics for animation.
The latest GUI will let you click on the buttoms or use 4
arrow keys to control the Lego Rover after you connect to the host running
LNPD daemon..
Xuejun: Improved the reactor program running inside RCX.
Haihui & Xuejun: Get the Java GUI and Lego program
work together seamlessly via LNPD and LNP addressing mode.
Now with the Java GUI application, we can control the RCX remotely
very well on any machine and any OS platform.