|
Camera
|
Purpose and Origin
|
The robot cant 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.
|
` |
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 Packards 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 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 |