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.
Please note that the firmware for the ifm products is in some cases provided free of charge. The price of the ifm products has then to be paid for the respective device itself (hardware) and not for the firmware. For the latest information on the license agreement for your product please visit www.ifm.com...
Disconnect the unit externally before handling it. The connection pins may only be supplied with the signals indicated in the technical data and on the device label and only the approved accessories of ifm may be connected. 2.4 Tampering with the unit In case of malfunctions or uncertainties please contact the manufacturer.
The following accessories are needed for the operation of the camera: Article number Description E11950 Power supply cable for camera/sensor E11898 M12 industrial Ethernet connection cable The ifm Vision Assistant software is available free of charge on our website: www.ifm.com...
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 ② ⑤...
In the event of moderate and high exposures the typical warning limits must be determined via the sum of the exposure times. The exposure times are indicated in the software ifm Vision Assistant. Follow one of the instructions if the warning limits are exceeded: ►...
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 <...
Depending on the location and type of installation, you can use the following mounting accessories: Article number Description E3D301 Smart Camera mounting set E3D302 Smart Camera cooling element E3D303 Smart Camera heat conductor E3D304 2x Smart Camera cooling element You can find more information about the accessories at: www.ifm.com...
Cover unused Ethernet connection with the protective cap (E73004). Tightening torque 0.6...0.8 Nm. The behaviour of the switching inputs and outputs can be set with the software ifm Vision Assistant. The setting PNP or NPN always applies to all switching inputs and outputs.
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. ①...
① ● Use different frequency channels With the software ifm Vision Assistant each camera can be assigned its own frequency channel. The different frequency channels reduce the occurrence of measurement errors. The ifm Vision Assistant software is available free of charge on our website:...
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) Camera is ready for operation, supply voltage applied Flashes No parameters set or parameter setting was not...
● Image capture: e.g. triggering of the image capture, exposure time, image processing filter ● Interface: Ethernet, switching outputs The respective application can be activated with the software ifm Vision Assistant or via process interface commands. 9.1 Set parameters of the device The device parameters can be set in two ways: ●...
Preferably use the ifm3Dlib for access to the device under Linux. The library has been tested and is the reference implementation for C++. The library is supported by ifm electronic and the company Lovepark Robotics. The Apache-2 licence does not allow commercial use.
If the instructions are not observed, scratches on the lens window may cause measurement errors. 11.2 Update firmware With the software ifm Vision Assistant the firmware of the camera can be updated. Parameters saved in the camera get lost by the firmware update. Create a backup copy of the parameters before updating the firmware: ►...
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: ● UDP: 3321 ● TCP/HTTP: 8080 It is possible to configure another port than 50010 for the process interface.
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> 14.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.
Most of its methods are only getters, because it should be possible to protect editing with a password. Session Object Object URI e.g.: /api/rpc/v1/com.ifm.efector/session_d21c80db5bc1069932fbb9a3bd841d0b/ The URL part “d21c80db5bc1069932fbb9a3bd841d0b” is the session ID. It is returned by the command "requestSession" of the main object. If the command "requestSession" is called without a user-defined session ID, which can be passed as a parameter, a random session ID is generated automatically.
Page 24
Image Settings and Filter Parameters There is an RPC object for spatial filter parameters in each imager configuration. Object URI e.g.: /api/rpc/v1/com.ifm.efector/session_d21c80db5bc1069932fbb9a3bd841d0b/edit/ application/imager_001/spatialfilter There is an RPC object for temporal filter parameters in each imager configuration. Object URI e.g.: /api/rpc/v1/com.ifm.efector/session_d21c80db5bc1069932fbb9a3bd841d0b/edit/ application/imager_001/temporalfilter Data of these objects is persistently saved when calling "save"...
3D camera 14.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. 14.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 14.3.2 Receiving Images For receiving the image data a TCP/IP socket communication is established. The default port number is 50010. The port number may differ based on the configuration. After opening the socket communication, the O3D3XX device will automatically (if the device is in free run mode) send the data through this socket to the TCP/IP client (PC).
Page 27
3D camera Offset Name Description Size [byte] 0x001C TIME_STAMP Time stamp in microseconds (deprecated) 0x0020 FRAME_COUNT Frame counter 0x0024 STATUS_CODE Errors of the device 0x0028 TIME_STAMP_SEC Time stamp in seconds 0x002C TIME_STAMP_NSEC Time stamp in nanoseconds 0x0030 PIXEL_DATA The pixel data in the given type and dimension of the image.
Page 28
3D camera Constant Value Description CARTESIAN_X_ The X matrix denotes the X 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.
Page 29
3D camera Constant Value Description EXTRINSIC_CALIB The transformation from one cartesian coordinate system to another is defined by a 6 degrees of freedom vector (DOF): [trans_x, trans_y, trans_z, rot_x, rot_y, rot_z]. Let R be the product of the common "clockwise" 3D-rotation matrices: R = Rx*Ry*Rz The transformation of a point P is specified by P_t = R*P + [trans_x, trans_y, trans_z]'.
3D camera 14.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 14.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 32
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 33
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 34
3D camera The following element IDs are available: Description Native data type activeapp_id Active application, shows which of the 32 application- 32-bit unsigned configurations is currently active integer all_cartesian_vector_ All Cartesian images (X+Y+Z) concatenated to one 16-bit signed matrices package integer all_unit_vector_matrices Matrix of unit vectors.
Page 35
3D camera For the main object on devices with statistics feature the following IDs are available: Description Native data type statistics_overall_count Allows the user to output the statistics value with uint32 the result of the frame, maps to ModelResults: adv_statistics.number_of_frames statistics_passed_count Allows the user to output the statistics value with uint32...
3D camera 14.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. 14.4.1 a Command (activate application) a<application number> Command Description Activates the selected application Type...
3D camera 14.4.3 c Command (upload PCIC output configuration) c<length><configuration> Command Description Uploads a PCIC output configuration lasting this session Type Action Reply ● Error in configuration ● Wrong data length Invalid command length Note <length> 9 digits as decimal value for the data length <configuration>...
3D camera 14.4.7 H? Command (return a list of available commands) Command Description Returns a list of 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...
3D camera 14.4.8 I? Command (request last image taken) I<image-ID>? Command Description Request last image taken Type Request Reply <length><image data> ● No image available ● Wrong ID ● Invalid command length Note <image-ID> Valid image ID: 2 digits for the image type 01 - amplitude image <length>...
3D camera 14.4.10 O? Command (request state of a ID) O<IO-ID>? Command Description Requests the state of a specific ID Type Request Reply <IO-ID><IO-state> ● Invalid state (e.g. configuration mode) ● Wrong ID Invalid command length Note ● <IO-ID> The camera supports ID 1 and ID 2. 2 digits for digital output: The sensor supports ID 1, ID 2 and "01"...
3D camera 14.4.12 S? Command (request current decoding statistics) Command Description Requests current decoding statistics Type Request Reply <number of results><t><number of positive decodings><t><number of false decodings> No application active Note <t> tabulator (0x09) <number of results> Images taken since application start.
3D camera 14.4.14 T? Command (execute synchronous trigger) Command Description Executes trigger. The result data is send synchronously Type Request Reply Process data within the Trigger was executed, the device configured layout captures an image, evaluates the result and sends the process data.
3D camera 14.5 Error codes By default the error codes will not be provided by the device. The p command can activate their provision (→ 14.4.11). Error code ID Description 100000001 Maximum number of connections exceeded 110001001 Boot timeout 110001002 Fatal software error 110001003 Unknown hardware...
3D camera 14.6 XML-RPC Command Reference 14.6.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 47
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...
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 14.6.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 50
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 14.6.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 53
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 54
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 55
3D camera Parameter name Data type Description TemperatureFront2 Double Invalid temperature, the output is 3276.7 Unit: celsius 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 14.6.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 57
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 14.6.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 59
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 60
3D camera Parameter name Data type Description AutoExposureReferenceType Select part of the image to be used for continuous autoexposure: *has limits 0: whole image 1: ROIs (→ AutoExposureReferenceROI) 2: Reference Point (→ AutoExposureReferencePointX and AutoExposureReferencePointY) AutoExposureReferenceROI String ROI definition for AutoExposureReferenceType "1" AutoExposureReferencePointX X coordinate of reference point used for AutoExposureReferenceType "2"...
Page 61
3D camera Parameter name Data type Description AutoExposureMaxExposureTime 10000 Minimum and maximum values of common imager config parameters The minimum and maximum values of the common imager configuration parameters are: Parameter name Minimum value Maximum value FrameRate 0.0167 30.0 SpatialFilterType TemporalFilterType SymmetryThreshold MinimumAmplitude...
Page 62
3D camera Minimum and maximum values of the "under5m_low" mode parameters Parameter name Minimum value Maximum value ExposureTime 10000 Channel Parameters only in "under5m_moderate"-type of application imager config Parameter name Data type Description ExposureTime Time for the long exposure *has limits The 2nd exposure time will be calculated based on the first one.
Page 63
3D camera Minimum and maximum values of the "under5m_high" mode parameters Parameter name Minimum value Maximum value Channel Parameters only in "upto30m_low"-type of application imager config Parameter name Data type Description ExposureTime Time for the long exposure *has limits Channel Allowed values: *has limits 0: non-group use (like channel1)
Page 64
3D camera Default values of the "upto30m_moderate" mode parameters Parameter name Data type Default value ExposureTime 1000 ExposureTimeRatio Channel Minimum and maximum values of the "upto30m_moderate" mode parameters Parameter name Minimum value Maximum value ExposureTime 10000 ExposureTimeRatio Channel Parameters only in "upto30m_high"-type of application imager config Parameter name Data type Description...
3D camera 14.6.9 Image Settings and Filter Parameters To set the spatial or temporal filter use the general “setter” method. Parameters of spatial median, spatial mean and spatial bilateral filter Parameter name Data type Description MaskSize Allowed values: 0: 3x3 1: 5x5 Parameters of temporal mean filter Parameter name...
Need help?
Do you have a question about the O3D353 and is the answer not in the manual?
Questions and answers