Camera

 

Purpose and Origin


The robot can’t analyze what it sees if it is blind, it requires a camera. The least expensive camera "capable" of working with an Ipaq H3950 is a Jornada pocket camera. A Jornada is a PDA similar to the Ipaq but four years older. With computers four years is a long time because devices lose their value as they become obsolete very quickly. A website with instructions on how to force a Jornada camera to work with an Ipaq made the task look straight forward and simple.

The Jordan camera came from Ebay, it was used and sold for only $12.

Unfortunately the camera just wouldn't fit into the slot on the back of the Ipaq. It seams that HP decided not to put a CF port on the IPA, the large slot was something completely different.


"Luckily" for me, HP knew people were going to have this problem, so they distribute CF card expansion adapters that allow CF card devices to be used with H3950s. I found a used one on Ebay for $30, which was quite a bit less than what HP was asking for.

HP pocket camera`

 

 

Difficulties

A developer's website contained a tutorial about how to install Jornada pocket camera drivers onto an IPA. The Jornada pocket camera wasn't designed with an Ipaq in mind, so the instructions were very complicated. The installation program that automatically places the drivers, and other software into a Jornada doesn't work with an Ipaq; but the software they are installing does work. The installation must be done manually which takes much time.

 

Finally the camera software was installed, but it still didn't work. A program called Microsoft Portrait was installed; it allows the Ipaq to receive video from the camera. After a few seconds the image starts to distort until all that can be seen are some dark horizontal lines. The instruction website had a warning that the drivers won't work with H3950s, which I should have noticed. This was very discouraging, but after several moments of contemplation, a solution emerged:

If everything is good until the camera's software is in use for three seconds, resetting the software every two seconds should prevent whatever the error is from occurring.

An SDK (software development kit) for the camera was buried deep within Hewlett Packard’s software archive. It contained a sample of some C++ code for using the camera. The sample code didn't work any better than Microsoft Portrait, but after numerous changes, the robot finally had a working camera. The solution to overcome the corruption worked perfectly.

There was still another problem. For an unknown reason the program is occasionally unable to receive an image from the camera, so it only shows some red and black stripes. The root cause of the problem could not be discovered, but there was a way to patch the hole. The pattern of stripes, and the shades of red and black were always the same. Once an image from the camera is received, the program analyzes two pixels of the image which turn red in the event of an error. If they are red, the program will try to receive an image again until it can tell that the image isn't erroneous. There are so many different shades of red that its virtually impossible for the program to think that there is something wrong with a correct image.


This is the first time a Jornada Pocket Camera has been used successfully with an Ipaq H3950. The software would be very useful if it were ever distributed to the public. There are likely many people who would jump at the opportunity to use an inexpensive camera with their Ipaq. The program would require other features like the ability to record video, and save pictures etc. Someday soon it will be completed.

HPcam in a Jornada
This is a picture of Portrait being run with a Jornada pocket camera. The PDA is a Jornada, so everything works.

chaotic reception
This is what Portrait receives after running for four seconds on an Ipaq H3950.

 

Camera Specs

This robot doesn't require a very good camera. It's not taking nature photos, it just needs to be able to identify the lasers mark.

Resolution: CMOS sensor at maximum 320 x 240 pixels

Color depth 24-bit color

Shutter speeds 1/2 to 1/8000 sec.

Shutter speed is how long the shutter remains open and lets light onto the CMOS sensor (digital film). The shutter speed is set extremely fast so that only very bight lights such as the laser can be seen.

 

<< Previous