HardNSoftware

From ImageWiki

Jump to: navigation, search

Contents

Hardware

The hardware in the Image Laboratory consists mainly of computers and robots, but we also has all kinds of different cameras, lamps, video equipment and other bits and pieces. If you cannot find what you are looking for, somebody has probably not put the equipment back after usage!

Here is a short description of the equipment of the current new hardware.

Cameras

A number of cameras and optics can be used to obtain images. Some of the cameras are CCD-based, and can be connected to the video-acquisition pc Kjeld or the robot-controlling pc, robotctl, where the images are digitized. Available are:

  • Burle TC355ACX CCD gray-tone cameras (2).
  • Ikegami ICD-290 CCD gray-tone cameras (2).
  • JVC TK-1070E CCD color camera.
  • Webcam bla bla.
  • FNidder digital pocket camera.
  • Hasselblad superb analog reference camera.

The CCD-based cameras can be equipped with:

  • 8 mm optics from Ernitec.
  • 16 mm optics from Ernitec.
  • 75 mm optics from Schneider.
  • 10-100mm motorized optics from Servolens.

The Servolens optics is controlled from the unix host Ragnarok (when the software has been recompiled). Both zoom, focus, and aperture is controllable with a high degree of precision (The zoom-motor as well as the focus-motor has about 20.000 different positions).

Framegrabbers

We have two framegrabbers in the Image Lab. One of them is a color framegrabber, used for most of the experimental setups involving cameras. The other one is a gray-scale framegrabber, used solely for surveillance of the robot arena.

MVC 150/40-PCI color framegrabber from Imaging Technology Incorporated (ITI), mounted in Kjeld].

General info

Unfortunately, the color framegrabber has gone out of production. Therefore, we only have drivers for Windows NT4, which we have hacked to work on Windows 2000. This is why we have a Windows based computer, [../computers/kjeld.html kjeld].

More information RSN.


Starting up

  1. Turn on the camera powersupply (the little black box with the red LED behind all the cables).
  2. Log in on the pc, kjeld.
  3. Start "ITI server" on kjeld.
  4. Log in on ragnarok. (Note: This is not the same as logging in on ragnaroks console. Instead, try issuing the command rxterm ragnarok and work from there.)
  5. Run "ITIreset" to initialize the framgrabber.
  6. Run "ITIclear" to clear the framebuffers.
  7. Run "ITIshow" to display what the framgrabber grabs on the secondary monitor.
  8. Run "ITIgrab" to start the framgrabber.
  9. Run "ITIfreeze" to freeze a frame.
  10. Run "ITIsaveraw myfilename" to save the current frame to a file named "myfilename".
  11. On any linux-box (read: NOT ragnarok), run "convert -size 512x512 gray:myfilename out.tif" to convert the raw image to tiff-format.
  12. Start grabbing again with "ITIgrab" and have fun.

Shutting down

  1. Log out of ragnarok.
  2. Close "ITI server" on kjeld.
  3. Log out of kjeld.
  4. Turn off the camera powersupply.
  5. Put the lens protection cap on the camera lens.
  6. Clean up!

In depth explanation

More information RSN.

Programming the framegrabber

The framegrabber has a computational module, so all kinds of fancy things can be done to the frames in real-time.

More information RSN.

Software for the framegrabber

The software are logically grouped into two different parts

  1. Software on kjeld
  2. Software on ragnarok

More information RSN.

Hardware related to the framegrabber

More information RSN.

Other stuff

DEPRECATED: The ITI-machine is a dedicated image processing machine capable of grapping images simultaneously from three sources (e.g. a color camera), storing these, and process the images through a pipeline of a number of special purpose processors. A schematic view of the configuration is shown below.

Iti config.gif

The ABA- and ARB-modules controls two digitizers and 24 MB of image memory. This allows for acquisition of image sequences up to 96 images. The RTMP-modules contains hardware for real time convolutions and binary correlations. The ALU-module performs simple arithmetic operations on one or two images (e.g. subtraction). The IPA-module is a general purpose image processor on which precompiled code can be downloaded. A large number of programs are directly available. The FB-module is a frame-buffer containing 2 MB image memory. The ADI-module controls the monitor as well as one digitizer. The modules are connected with 4 fast video-busses on which images can be transported in real time. Also, four of the modules are connected in a pipeline. The ITI-machine communicates with the unix host Grimner through a VME-bus.

For further information consult Part 3: Programming the ITI-machine of the compendium for the image group.


PCVision gray-scale framegrabber from Imaging Technology Incorporated (ITI)

The PCvision framegrabber is mounted in robotctl.

To get images from it a daemon called camd has been installed on robotctl. See the documentation for the daemon and how to write clients for it: Media:CamdDocumentation.pdf.

Robots

The standard robot is the small Eyebot of which we have tree operational and another loose controller for custom jobs. They are very fragile so handle them with care. [robots/eyebot --Eyebot information--. ] Another robot that we have the the large sled robot. It has a manual attached to it. Follow that if you want to use it. Please mid that the robot table is calibrated and it is therefore NOT a place to put anything - don't sit on it, don't move it and so on.

Scorpion Robots

See Scorpion_Robots

Eyebots

Depricated!


Robot Sled

At the DIKU image laboratory a robot with two degrees of freedom has been available since the fall of 1992. The robot is able to translate a turntable along a trail for a distance of about two meters. The turntable is able to rotate 360 degrees. Robot small.gif

General info

Both translation and rotation movements are enabled by ``phytron harmonic drive motors. The accuracy of the translational and rotational position is 0.021 mm/step and 0.009 degrees/step respectively. By using low or modest acceleration values it can be guaranteed that the positioning is reproducible.

The robot has been designed for experiments where real time performance is not important. The motion of the robot (including security checks, queuing of commands etc) is controlled by a dedicated PC ([../../computers/sledcdtl.html sledctl]) which is connected to a Windows PC ([../../computers/kjeld.html kjeld]) through a serial cable. This latter machine is hooked up to the Image Group [../../other/network.html network], where [../../computers/ragnarok.html ragnarok] works as a gateway. With the relatively slow controllers, the time overhead for communicating with the controllers from the unix host through the PC is between 0.1 and 0.5 sec. For translation distances larger than 2000 steps the time for performing a translation is about 8000 steps/sec (172mm/sec). For rotation angles larger than 20 degrees the time for performing a rotation is about 15000 steps/sec (135 degrees/sec). For smaller translation distances and rotation angles the speed is roughly halved. The time for performing a compound motion can be approximately modeled by the maximum of the time needed to perform the translational and the rotational motions. Thus, a typical ``short range motion'' takes about one second where a typical ``long range motion'' takes several seconds. As a consequence, the system is not suited for real time active vision.

The DIKU robot is well suited for experiments where precise measurements of three dimensional scene coordinates is to be inferred from their image projections. This is due to the large baseline achievable, and because of the high degree of mechanical accuracy. Thus, the system is ideal for experiments where a static (laboratory) scene is to be mapped or explored, and where time is not a limiting factor.

How to control the robot sled

This is the short getting started version. Make sure you have read and understood [../../software/setup.html Software setup] first.

  1. Starting up
    1. Turn on the pc [../../computers/sledcdtl.html sledctl].
    2. Turn on the robot.
    3. Press any key on sledctl, when it says so.
    4. Log in on the pc [../../computers/kjeld.html kjeld].
    5. Start "Robotsled server" on kjeld.
    6. Log in on [../../computers/ragnarok.html ragnarok]. (Note: This is not the same as logging in on ragnaroks console. Instead, try issuing the command rxterm ragnarok and work from there.)
    7. Start ~image/src/remoteimagelab/ragnarok/robotsled/utils/ROBOTcontrol/ROBOTcontrol on ragnarok.
    8. Have fun.
  2. Shutting down
    1. Close "ROBOTcontrol" on ragnarok.
    2. Log out of ragnarok.
    3. Close "Robotsled server" on kjeld.
    4. Log out of kjeld.
    5. Press escape on sledctl.
    6. Turn off sledctl.
    7. Turn off the robot.
    8. Clean up!
In depth explanation

The robot sled is controlled by a dedicated PC ([../../computers/sledcdtl.html sledctl]) which is connected to a Windows PC ([../../computers/kjeld.html kjeld]) through a serial cable. This latter machine is hooked up to the Image Group [../../other/network.html network], where [../../computers/ragnarok.html ragnarok] works as a gateway.

Sledcontrol.png

Why is it done like that? Because the software is a patch upon a patch upon a patch on something old that once ran on a VAX or something. Why break anything that works?

More information RSN.

Troubleshooting

The robot sled is very old and have its collection of quirks and strage behaviours. Below is a summary of things we have knowledge of that can go wrong, and what we think would fix the problem.

  • When starting ROBOTcontrol, everything hangs.
    This could be because the program on the pc [../../computers/sledcdtl.html sledctl], hasn't been shut down properly by the last user (one has to press ESCAPE to exit the program). A clear sign of this, is when sledctl at startup asks you about position of the robot and starts selfcalibrating.

More information RSN.

Programming the robot sled

This is probably only of interest for maintainers of the Image laboratory, but one never knows.

More information RSN.

Software for the robot sled

The software are logically grouped into three different parts

  1. Software on sledctl
  2. Software on kjeld
  3. Software on ragnarok

More information RSN.

Hardware related to robot sled

More information RSN.

Other stuff

DEPRECATED: One or two cameras can be mounted either directly on the turntable or on a x-y-board mounted on the turntable. Since the winter 1993 the cameras have been equipped with controllable optics from ``Servolens''. Both the aperture, the focus and the zoom factor can be controlled very accurately. The camera(s) used mostly is from Burle (TC355ACX). These are connected to an ITI-151 image processor. Here the images are digitized to 512 by 512 pixels. The images are then transmitted to a Unix host on which further processing takes place.

For further information consult Part 4: Programming the ROBOT of the compendium for the image group.

Computers

We have five computers: Kjeld - the sled robot and Basler cameras. Arne - graphics computer (linux and xp). Fernando - Graphics (xp). Preben - Graphics, Basler (xp) and RobotCtl - Eyebots (linux).

Kjeld

Kjeld is our multi-purpose windows box. It has an [../framegrabbers/mvc15040.html ITI color-framegrabber], a NVidia Geforce2MX video-card, a webcam and other bits and pieces.

Kjeld is used for alot of different things: Grabbing pictures through the framegrabber from one of our [../cameras cameras], relaying control of the [../robots/sled robot sled] from [ragnarok.html Ragnarok] to [sledctl.html Sledctl], developing and testing windows-based programs, grabbing video through the graphics card or the webcam, getting pissed at Microsoft and other fun things.

Model 500MHz PentiumIII
OS Windows 2000
Location

S010

robotctl

Robotctl is our robot-controlling pc. Runs linux and has a grayscale framegrabber and a radiolink to the eyebots.

Sledctl

Sledctl is our dedicated [../robots/sled/ robot sled] controlling pc. It is pentium based, has 48MB RAM and runs MS-DOS (e.g. very old). It is equipped with controllers for the robot sled and hooked up to [kjeld.html kjeld] through a serial cable for communication purposes.

When started, it initialises the controller cards and starts the robot sled controller program. This program reads and writes translation/rotation/speed values from/to the robot sled. Furthermore, it listens for commands from the serial port and relays information through the cable.

Model IBM-compatible Pentium PC
OS MS-DOS
Location

S010

Network

All computers in the Image Lab is on the student network. So use your own account to access the rest of the world through the proxy.

Software

We have various types of software at our disposal. If you need some special program, please make a request with your Image Group supervisor.

Basler Camera Software

The Basler cameras are the newest (2004) cameras that we have. They run via firewire and are all most solely controlled by firewire. Look at the example code to see how the api is. Handle the cameras with care and always put it back in the closet with the lens cap on. Remember that only Pentax and Sneider lenses fit the cameras. Link at the bottom of the main Image Lab page.

The example software is located on Prebens D-drive under the folder Basler. Look there to see examples on the Basler Api.

Andre Lindskov and Andre Tischer has made a tracker that can be used in collaboration with RobotCTL. Documentation for the tracker is located on RobotCtl under /Eyebot/Trackter/Doc/.

Intel Integrated Performance Primitives

The Intel Integrated Performance Primitives (IPP) is a library of lowlevel image and signal processing functions, optimized to use the SIMD instructions of Intel and AMD x86 processors. The documentation is only availible at robotctl. At robotctl you can find it at [file:///usr/local/robot/ipp/ippindex.htm /usr/local/robot/ipp/ippindex.htm].
An example program using IPP is available for download: Media:IppExample.zip. The program is a [../framegrabbers/pcvision.html camd client], so you will need to start camd before running the example program. Search for "IPP Example start" to see where IPP is used.

Matlab Repository

Matlab is an interpreter for fast prototyping using matrix primitives. The image group at DIKU is maintaining a Matlab Repository especially for Image Processing but also more general tools.

Other stuff

Orange projektører

De 4 orange projektører giver hver 21000 lumen og bruger 800W. Hver pære holder kun i 75 timer (!), så sluk dem, når de ikke bliver brugt - det sparer også på strømmen og holder rumtemperaturen nede på det udholdelige.
Lyset har en farvetemperatur på 3200K, dvs. temmeligt gult. Dette er ikke specielt godt til Eyebot'ernes kameraer, de kan kun se rødt og grønt i den belysning, ikke blåt.

Indkøb af nye pærer:
Pærene har Osram produktnummer 64571, ANSI kode DXX
De kan købes hos:
Lysamaturlageret
Borgergade 20
1300 København K
email: lysemor@worldonline.dk

Hver pære koster 123 kr (pr. jan 2002)

Vær forsigtig ved skift af pære, da pæreholderen i projektøren er ret skrøbelig. Husk at rense pæren for fedtfingre efter den er sat i (eller før, og lad være med at sætte fedtfingre på den under indsættelse), da fedtfingre kan ødelægge pæren når den er tændt!
Læs i det hele taget brugsanvisningen, som ligger sammen med pæren, når den købes.

De 3 blå lyskasser

Lyskasserne giver et mere diffust lys end projektørene, hvilket kan være en fordel, for så kastes færre skygger.
Lyskassernes lys virker dog specielt dårligt sammen med Eyebot'ernes kameraer, da de kun kan se røde farver i dette lys!

Håndprojektøren

Pas på den, den bliver meget varm ved brug - Pas også på, hvor du lægger den, da den kan smelte det, den lægges på!

Vinduerne

Dagslys er ideelt til at tage farvebilleder i - Selv Eyebot'erne tager fornuftige farvebilleder i dagslys.
Ulempe: Lyskilden er svær at kontrollere (muligheder: gardiner for/fra, dør lukket/åben).

Personal tools