INTRODUCTION
Overview
Download and Install
Quick Start
Documentation
Publications

NONFRAMEWORK CODE
Driver Interfaces
Drivers
Libraries
Utilities

FRAMEWORK CODE
Interfaces
Components
Libraries
Utilities

Full Software Listings

DEVELOPER
Tutorials
Examples
Dev Guide
Dashboard

PEOPLE
Contributors
Users

SourceForge.net Logo
Project
Download
Mailing lists

 

         

ImageServer
[ComponentsStand-Alone ComponentsIceBox ServicesC++LinuxQNXWindows]

An abstract component for image serving. More...

An abstract component for image serving.

Provides
  • orca_interface_home
  • orca_interface_image [ImageServer.Provides.Image]
  • orca_interface_status
Requires
  • none
imageserver.png
Drivers

This component dynamically loads an implementation of a Hydro hardware interface hydrointerfaces::Image. You can also load your own implementation as long as the shared library is in the path. See Hydro documentation for the list of available drivers.

Configuration
  • Image.Config.DriverLib (string)
    • Name of shared library containing the hardware driver
    • Valid values are at least: { 'libHydroImageFile.so', 'libHydroImageFake.so'}
    • Default: "libHydroImageFake.so"

Laser Settings

  • Image.Config.ImageWidth (int) [pixels]
    • Valid Values: ImageWidth>0
  • Image.Config.ImageHeight (int) [pixels]
    • Valid Values: ImageHeight>0
See also:
Individual drivers may have additional configuration parameters which are specified as ImageServer.Config.XXX. See driver documentation.

An example configuration file is installed into [ORCA-INSTALL-DIR]/share/orca/cfg/ directory.

Notes

This component uses the same driver interface that the CameraServer uses, in fact, any driver will work for both. If you need the extra description information that the camera server gives then please use that instead. The viewer and logger will work with either.

Troubleshooting

  1. Ice is throwing the following exception
    Ice::MemoryLimitException: protocol error: memory limit exceeded
    
    Ice has a default maximum object size that can be communicated between components of 1024 bytes. If the images from the camera exceed this limit you must add in the following extra configuration line to both the imageserver.cfg and icebox_icestorm.cfg files:
    ...
    Ice.MessageSizeMax=3000
    
    Remember to add this line to all configuration files that will be communicating images. So if you're logging or replaying a log you will have to add this line to logrecorder.cfg and logplayer.cfg as well.
  1. IceBox memory usage is constantly increasing This is caused by IceStorm not being able to deliver data fast enough to the subscribers. Causes include slow connections, slow algorithms, or possibly a dead subscriber. The partial solution to this problem is to tell icebox to be more aggressive at deleting data that it can't deliver fast enough sooner and check more frequently to do so. In the icebox_icestorm.cfg file,
    # A timeout for sending data to subscribers
    IceStorm.Send.Timeout=1000
    IceStorm.Discard.Interval=1
    
Authors

Alex Brooks, Tom Burdick, Tobias Kaupp, Alex Makarenko, Ben Upcroft

 

Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)


Generated for Orca Robotics by  doxygen 1.4.5