3D camera 1. Preliminary note This document is intended for specialists. These specialists are people who are qualified by their appropriate training and their experience to see risks and to avoid possible hazards that may be caused during operation or maintenance of the device. The document contains information about the correct handling of the device.
3D camera 3. Functions and features The O3D3xx 3D camera is an optical camera which measures the distance between the camera and the nearest surface point by point using the time-of-flight principle. The camera illuminates the scene with an infrared light source and calculates the distance by means of the light reflected from the surface. The camera supplies data which describes the captured scene three-dimensionally.
3D camera 6. Installation The chapter describes what has to be observed before installation and how to install the camera. ① ① : Camera ② : Angle of aperture ③ : Object ④ : Field of view ⑤ : Distance between camera and object ②...
If you stay below the typical warning limits in case of normal installation, no measures need to be taken. 6.2.1 Typical warning limits for O3D301 / O3D303 Parameter "Max. background distance" Installation on heat-conductive metal parts with heat conductor (→...
3D camera 6.2.2 Typical warning limits for O3D311 / O3D313 Parameter "Max. background distance" Installation on heat-conductive metal parts with heat conductor (→ 6.2.3) Warning limit Parameter < 5 m < 30 m > 30 m Normal installation Warning limit Parameter <...
> The mounting set is available as accessories (→ 6.4). ► Use strain reliefs for all cables connected to the camera. Observe the following instructions when installing an O3D301 and O3D311: ► Mount the camera so that the focus adjustment screw can be accessed with a screw driver.
3D camera 7. Electrical connection Observe the following instructions before electrical installation. NOTICE The camera must be connected by a qualified electrician. Observe the electrical data in the data sheet. Camera of protection class III (PC III) The electric supply must only be made via PELV circuits. Electric supply must correspond to UL61010-1, chapter 9.4 - Limited Energy: The overcurrent protection device must switch off a current of 6.6 A in 120 s.
3D camera 7.1.1 Pin 1 / 3 (24 V / GND) The permissible voltage range is indicated in the data sheet of the camera. 7.1.2 Pin 2 (trigger input) The image capture of the camera can be triggered with a switching signal via the trigger input. The following trigger edges can be used: ●...
3D camera 7.2 Wiring examples Wiring examples of the camera are given below. 7.2.1 Trigger image capture with proximity sensor The camera can be triggered externally: ● via Ethernet ● via a proximity sensor connected to the trigger input The following illustration shows the wiring of the camera with a proximity sensor. ①...
3D camera 7.2.2 Install several cameras next to each other Cameras installed next to each other can cause measurement errors due to simultaneous exposure. ① ② ① : 1st camera ② : 2nd camera ③ : Object ③ The measurement errors can be avoided in two ways: ●...
3D camera 8. Indicators Via the LED indicators 1 - 4 the camera signals the current operating state. LED 1 LED 2 LED 4 LED 3 LED 4 LED 1 LED 2 LED 3 Description (Ethernet) (Power) (Out 1) (Out 2) Lights Camera is ready for operation, supply voltage applied Flashes...
3D camera 9. Set-up After power on the camera is put into operation. After 15 seconds the camera is in the evaluation mode where saved applications are executed. The indicators signal the current operating state (→ 8). Up to 32 applications can be saved on the camera. Typically, an application contains the following parameters: ●...
3D camera 10. Maintenance, repair and disposal Observe the following instructions: ► Do not open the housing as the camera does not contain any components which can be maintained by the user. The camera must only be repaired by the manufacturer. ►...
3D camera 13. Appendix 13.1 Required Ports The following ports are required for the camera configuration using XML-RPC and for receiving data on the process interface. They must not be blocked by a firewall or router. ● TCP/HTTP: 80 ● TCP: 50010 If the ifm Vision Assistant is used, the following additional ports must also be available: ●...
3D camera The following example contains one O3D3xx command: POST /api/rpc/v1/com.ifm.efector/ HTTP/1.1 <CR><LF> User-Agent: Frontier/5.1.2 (WinNT)<CR><LF> Host: 192.168.0.69<CR><LF> Content-Type: text/xml<CR><LF> Content-length: 94<CR><LF> <CR><LF> <?xml version="1.0"?><CR><LF> <methodCall><CR><LF> <methodName>getParameter</methodName><CR><LF> </methodCall><CR><LF> 13.2.2 XML-RPC Objects To communicate and to configure the device via XML-RPC the XML-RPC commands have to use different XML-RPC objects.
Page 20
3D camera Main API cancelSession(...) removes itself from RPC. Session will also be removed, if heartbeat(...) is not called at the right time Session setOperatingMode(0) will remove EditMode from RPC EditMode stopEditApplication() will remove ApplicationConfig from RPC ApplicationConfig Main Object Object-URI: /api/rpc/v1/com.ifm.efector/ This is the main object of RPC.
Page 21
3D camera Application/Imager Config Object (O3D3xx) Object URI e.g.: /api/rpc/v1/com.ifm.efector/session_d21c80db5bc1069932fbb9a3bd841d0b/edit/application/imager_001/ As there is only one imager config on O3D3xx, the ID must be fixed to "001". Data of this object is persistently saved when calling "save" on the application config object. The imager config RPC object has multiple sub-types.
3D camera 13.3 Process Interface The process interface is used during the normal operation mode to get operational data (e.g. 3D images, process values) from the O3D3xx. 13.3.1 Sending Commands For sending commands via the process interface the commands have to be sent with a special protocol and as ASCII character strings.
3D camera Component Content Distance image 1 image Output format: 16-bit integer. Unit: mm. X image 1 image Output format: 16-bit signed integer. Unit: Y image 1 image Output format: 16-bit signed integer. Unit: Z image 1 image Output format: 16-bit signed integer. Unit: Confidence image 1 image Output format: 8-bit unsigned integer...
Page 24
3D camera Available chunk types: Constant Value Description USERDATA Undefined user data with arbitrary content RADIAL_DISTANCE_ Each pixel of the distance matrix denotes the ToF distance IMAGE measured by the corresponding pixel or group of pixels of the imager. The distance value is corrected by the camera's calibration, excluding effects caused by multipath and multiple objects contributions (e.g.
Page 25
3D camera Constant Value Description CARTESIAN_Z_ The Z matrix denotes the Z component of the Cartesian coordinate COMPONENT of a PMD 3D measurement. The origin of the camera's coordinate system is in the middle of the lens' front glass, if the extrinsic parameters are all set to 0.
3D camera 13.3.4 Additional Information for CONFIDENCE_IMAGE Further information for the confidence image: Value Description 1 = pixel invalid Pixel invalid The pixel is invalid. To determine whether a pixel is valid or not only this bit needs to be checked. The reason why the bit is invalid is recorded in the other confidence bits.
3D camera 13.3.5 Configuration of PCIC Output The user has the possibility to define his own PCIC output. This configuration is only valid for the current PCIC connection. It does not affect any other connection and will get lost after disconnecting. For configuring the PCIC output a “flexible”...
Page 28
3D camera Available values for the type property: Type Description records Defines that this element represents a list of records. If type is set to "records", there must be an "elements" property. The "elements" property defines which data should be written per record. string Data is written as string.
Page 29
3D camera ASCII format properties: Format properties Allowed values Default width Output width. If the resulting value exceeds the width field the result will not be truncated. fill Fill character " " precision Precision is the number of digits behind the decimalseparator. displayformat Fixed, scientific Fixed...
Page 30
3D camera The following element IDs are available: Description Native datatype evaltime Evaluation time for current frame in milliseconds 32-bit unsigned integer framerate Current frame rate in Hz Float32 temp_front1 Temperature measured in the device while capturing this Float32, unit: °C" result.
3D camera 13.4 Process Interface Command Reference All received messages which are sent because of the following commands will be sent without “start”/”stop” at the beginning or ending of the string. 13.4.1 t Command (Asynchronous Trigger) Command Description Executes trigger. The result data is send asynchronously Type Action...
3D camera Note <image-ID> Valid image ID: 2 digits for the image type 01- amplitude image <length> 02 - normalised amplitude image char string with exactly 9 digits 03 - distance image as decimal number for the image 04 – X image (distance data size in bytes information) <image data>...
3D camera 13.4.5 a Command a<application number> Command Description Activates the selected application Type Action Reply ● Application not available ● <application number> contains wrong value ● External application switching activated ● Device is in an invalid state for this command, e.g. configuration mode Invalid command length Note...
3D camera 13.4.7 v Command v<version> Command Description Sets the current protocol version. The device configuration is not affected Type Action Reply Invalid version Invalid command length Note <version> (→ 13.3.1) 2 digits for the protocol version The default protocol version is „V3“. 13.4.8 V? Command Command Description...
3D camera 13.4.10 C? Command Command Description Retrieves the current PCIC configuration Type Request Reply <length><configuration> Invalid command length Note <length> 9 digits as decimal value for the data length <configuration> configuration data 13.4.11 S? Command Command Description Requests current decoding statistics Type Request...
3D camera 13.4.13 H? Command Command Description Returns a list with available commands Type Request Reply H? - show this list t - execute Trigger T? - execute Trigger and wait for data o<io-id><io-state> - sets IO state O<io-id>? - get IO state I<image-id>? - get last image of defined type A? - get application list...
3D camera 13.5 XML-RPC Command Reference 13.5.1 Parameter API The parameters setParameter, getParameter, getAllParameters and getAllParameterLimits are implemented in the following RPC objects: ● Device ● Network ● Application ● ImagerConfig ● Filter ● Model setParameter setParameter Method name Description Sets a parameter to a specific value Input parameters 1.
3D camera Parameter string encoding Non-string parameters must be encoded in the following format. Type Stringified bool "true" / "false" setParameter method also accepts "1"/"0", getter methods must always return "true"/"false" decimal ( e.g "-1234" / "1234" ) Values should be in the range of int32 (-2^31 .. 2^31) double English floating point notation (optional with exponent) E.g.
Page 40
3D camera getSWVersion getSWVersion Method name Description Returns version information of all software components Input parameters none Output parameters Struct of strings (e.g. { "IFM_Software": "0.01.07", "Frontend": "01.05.02", ... } ) *mandatory keys: "IFM_Software" "Linux" "Main_Application" "Diagnostic_Controller" "Algorithm_Version" "Calibration_Version" "Calibration_Device" getHWInfo getHWInfo Method name...
Page 41
3D camera requestSession requestSession Method name Description Requests a session object for access to the configuration and for changing the device operating mode. This blocks parallel editing and allows protection of editing with a password. The ID could optionally be defined by the external system but it must be the defined format (32char "hex").
3D camera 13.5.3 Session Object heartbeat heartbeat Method name Description Extends the life time of the edit session. If the given value is outside the range of "SessionTimeout", the saved default timeout will be used. Input parameters Requested timeout interval till next heartbeat, in seconds: int Output parameters The used timeout interval, in seconds: int cancelSession...
Page 43
3D camera importApplication importApplication Method name Description Imports an application config and creates a new application with it. The device will put the new application on the first free index. Input parameters Application config as one data BLOB: binary/base64 Output parameters Index of new application setOperatingMode setOperatingMode...
3D camera 13.5.4 Edit Mode Object factoryReset factoryReset Method name Description Resets all configurations to factory settings Input parameters none Output parameters Empty string (compatibility with classic XmlRPC-client) A factory reset will delete all applications which are saved on the camera. editApplication editApplication Method name...
3D camera copyApplication copyApplication Method name Description Creates a new application by copying the configuration of another application. The device will generate an ID for the new application and put it on a free index. Input parameters Index of the application which should be copied: int Output parameters Index of new application: int deleteApplication...
Page 46
3D camera disablePassword disablePassword Method name Description Disables the password protection. Making this change persistently requires to call "save" on device config. Input parameters none Output parameters Empty string (compatibility with classic XmlRPC-client) save save Method name Description Stores current configuration in persistent memory. If this is not called after changing device parameters (via setParameter), changes will get lost on reboot.
Page 47
3D camera Parameter name Data type Description SessionTimeout Number of seconds which a session stays before a call to "heartbeat" method is needed *has limits ServiceReportFailedBuffer Number of buffers reserved for failed results *has limits ServiceReportPassedBuffer Int Number of buffers reserved for passed results *has limits ExtrinsicCalibTransX Double...
Page 48
3D camera Parameter name Data type Description TemperatureFront2 Double readonly: Temperature measured in the device. Unit: celsius Measured by second sensor on imager board. TemperatureIllu Double readonly: Temperature measured in the device. Unit: celsius Measured on the illumination board. *has limits: parameters with this marker are listed in the reply of getAllParameterLimits method. Default values of device config parameters The default values of the device configuration parameters are: Parameter name...
3D camera Minimum and maximum values of device config parameters The minimum and maximum values of the device configuration parameters are: Parameter name Minimum value Maximum value ActiveApplication PcicProtocolVersion IOLogicType IOExternApplicationSwitch SessionTimeout 13.5.6 Device/Network Config Object saveAndActivateConfig saveAndActivateConfig Method name Description Reinitialise the network interface so that it uses the configuration which was set by the other RPC methods.
Page 50
3D camera Parameters of application Methods for parameter access are defined here: Parameter name Data type Description Name String (utf8) User-defined name of the application (max. 64 characters). Description String (utf8) User-defined description of the application (max. 500 characters). TriggerMode Allowed values: *has limits 1: free run...
3D camera Minimum and maximum values of application parameters The minimum and maximum values of application parameters are: Parameter name Minimum value Maximum value TriggerMode 13.5.8 Application/Imager Config Object changeType changeType Method name Description Changes the type of imager configuration. This changes setting of available parameters and might also change available RPC methods.
Page 52
3D camera Parameter name Data type Description SpatialFilterType Allowed values: *has limits 0: off 1: median filter 2: mean filter 3: bilateral filter TemporalFilterType Allowed values: *has limits 0: off 1: temporal mean filter 2: adaptive exponential filter EnableFilterDistanceImage Bool Activates the filter for the distance image EnableFilterAmplitudeImage Bool...
Page 53
3D camera Parameters only in "under5m_low"-type of application imager config Parameter name Data type Description ExposureTime Time for the exposure *has limits The 2nd exposure time will be calculated based on the first one. ExposureTimeRatio Ratio of long exposure time to short exposure time. *has limits Channel Allowed values:...
Page 54
3D camera Default values of the "under5m_moderate" mode parameters Parameter name Data type Default value ExposureTime 1000 ExposureTimeRatio Channel Minimum and maximum values of the "under5m_moderate" mode parameters Parameter name Minimum value Maximum value ExposureTime 10000 ExposureTimeRatio Channel Parameters only in "under5m_high"-type of application imager config Parameter name Data type Description...
Page 55
3D camera Default values of the "upto30m_low" mode parameters Parameter name Data type Default value ExposureTime 1000 Channel Minimum and maximum values of the "upto30m_low" mode parameters Parameter name Minimum value Maximum value ExposureTime 10000 Channel Parameters only in "upto30m_moderate"-type of application imager config Parameter name Data type Description...
3D camera Parameters only in "upto30m_high"-type of application imager config Parameter name Data type Description Channel Allowed values: *has limits 0: non-group use (like channel1 but additional GUI option) 1: channel1 2: channel2 3: channel3 Default values of the "upto30m_high" mode parameters Parameter name Data type Default value...
Need help?
Do you have a question about the O3D301 and is the answer not in the manual?
Questions and answers