Built: 2007-04-20 00:00:00
Carnot
This will a test platform for Feynman. The main reason for his creation is power supply issues and transportation issues with the current version of Feynman.

There are also several problems with the supported Java APIs, mainly sun has abandon them: Java Communications and Java Media Framework.

Specs

Chassis: Wood, 80-20 Aluminum Extrusion.
Power: 12VDC, 5VDC via PC Power Supply (from Feynman #1).
Movement: Arm will move via servos, but this will be a stationary robot.
Sensors: Network WebCam, Microphone
CPU/OS: Athlon64 3000, Windows XP Professional, Java, C# via JNI.
Other Info: t.b.d.
Software Info:

Other Robot Info

I have also decided to move away from Java on this robot because of some troubling things.
  1. Java Communications (Serial) API - This API 3.0 does not support Windows and 2.0 is 4 years old and has been abandon.. If the Video For Linux and Native Java speech recognition was good enough I would not use Windows, but because of those two issues and those sensors being the only ones for this robot, I need a communications API for Windows. So I am going to write my own JNI wrapper and/or serial web server.
  2. Java Media Framework is 4 years old and has been abandon.
I tried to get PHP to work for serial communications, but PHP locks up under Windows. I will try .Net.

Good News #1, because of the Serial Web Server I was able to create I was able to bypass The Java Communications API completely using C#. Now because the new web serial port will implement the same interface as my Standard Serial Port (via Java Comm) we can interchange them if moving to Linux.

Good News #2, I was able to convert at USB web camera into a Network Web Camera using some C#. The camera will be accessed via HTTP and return a JPG image 320x240 for now. I will post about it once I test it.

Kudos to Microsoft. These are a few things I could not do with Java so after about 4 hours or so of searching code and and hacking with VS2005 Pro, I was able to get these to work. I think the larger question is what do I want the robot to do?

Since this is a test robot, I will just test the vision, object recognition and the remote interface. Also because of the tele-presence I should be able to write code from my PC upstairs and run it on Carnot in the basement.

Media & Photos