background image

 

© BECOM Systems 2020  

15

 | 

58

 

 

Software User Manual - Argos3D - P33x 

 

Last change: 29 June 2020/Version 10

 

 

4

 

Camera Features 

4.1

 

Basic Settings 

The camera comes up according to the reset (default) values as described in the register description chapter 
(refer to chapter 6). 

Each camera has been pre-configured with a factory-default register map. 

4.2

 

ToF Image Processing Chain 

The following flow diagram shows the image processing chain of the camera for the ToF sensor data. Filters can 
be applied individually to distance data. XYZ point cloud data is calculated from distance data on demand. 

Summary of Contents for Argos3D-P33 Series

Page 1: ...Argos3D P33x Software User Manual Version 10 ...

Page 2: ... P33x Software User Manual Document No 900 308 A Publication date June 29 2020 Subject to change without notice Errors excepted This document is protected by copyright All rights reserved No part of this document may be reproduced or transmitted for any purpose in any form or by any means electronically or mechanically without expressly written permission by BECOM Systems Windows is a registered t...

Page 3: ... 3 6 GPIOs 12 3 7 Status Indicator LED 12 3 8 PoE power control 13 3 9 Secure Shell SSH Login 13 3 9 1 Change default password 13 3 10 Debug UART 14 4 Camera Features 15 4 1 Basic Settings 15 4 2 ToF Image Processing Chain 15 4 3 ToF Image Filters 16 4 3 1 Median Filter 17 4 3 2 Bilateral filter 17 4 3 3 Average filter 17 4 3 4 Sliding Average Filter 17 4 3 5 Frame Average Filter 17 4 4 ToF Image ...

Page 4: ... 4 7 6 Distances and XYZ Point Cloud 29 4 7 7 X Coordinate and Amplitudes 30 4 7 8 XYZ Point Cloud and Color Overlay 30 4 7 9 Distances 30 4 7 10 4 phases without image processing 30 4 7 11 Test mode 30 4 7 12 Raw Distances and Amplitudes 30 4 7 13 Distance Amplitudes and Confidences 31 4 7 14 Distances Amplitudes Confidences and Color 31 4 7 15 Color 32 4 8 ToF Modulation Frequency 32 4 9 Frame R...

Page 5: ...38 4 17 1 MAC Address 38 4 17 2 IP TCP UDP Settings 38 4 18 Reset to Factory Default 38 4 19 Firmware Update 39 4 19 1 Firmware Recovery 39 4 20 Logging 39 4 21 Error Indication 39 5 Register Description 41 5 1 General 41 5 2 Distance Offset 45 5 3 GPIO Control 46 5 4 Color Streams 46 5 5 User Defined 47 5 6 General 48 5 7 Sequencing 49 5 8 Illumination Configuration 49 5 9 Test Commands 49 5 10 D...

Page 6: ...sion 10 6 58 6 1 Version Information 54 6 2 Anomalies 54 7 Software 55 7 1 BltTofApi 55 7 2 MATLAB SDK 55 7 3 BltTofSuite 55 8 Support 56 8 1 General Support 56 8 2 Software Downloads 56 8 3 Camera Development Package 56 9 Document Revision History 57 A List of Figures and Tables 58 ...

Page 7: ... or conditions express implied statutory or in any communication with you BECOM Systems specifically disclaims any implied warranty of merchantability or fitness for a particular purpose BECOM Systems takes no liability for any damages and errors causing of the usage of this board The user of this board is responsible by himself for the functionality of his application He is allowed to use the boa...

Page 8: ...ided could result in minor or moderate injury and or property damage or damage to the device Caution Indicates a situation which if not avoided may result in minor damage to the device in malfunction of the device or in data loss Note Notes provide information on special issues related to the device or provide information that will make operation of the device easier Procedures A procedure always ...

Page 9: ...The document describes the necessary steps and settings to work with the Argos3D P33x and describes the firmware dependent interfaces This document applies to firmware version 1 0 x For a hardware compatibility list please refer to our support site Software and documentation support systems becom group com ...

Page 10: ...os3D P33x is listening to the following factory default IP settings IP Address 192 168 0 10 Subnet mask 255 255 255 0 Network protocol TCP TCP port 10001 Note The Ethernet IP settings can be configured using the Eth0_ registers The changes become active on writing register Eth0Gateway1 Once a TCP connection has been established the Argos3D P33x can be configured using a dedicated set of command fr...

Page 11: ...ess 224 0 0 1 UDP port 10002 Note The UDP stream settings can be configured using the Eth0_ registers As multicast is used more than one can receive the stream within the same subnet at the same time The client has to join the appropriate multi cast group and open the port 10002 on his local network interface card NIC where the camera is connected to The receiver should receive the stream and inte...

Page 12: ...ng of as many sequences on the ToF sensor as is configured in register NofSequ as well as a transition to low on the trigger output If color data is transferred via the data interface the color sensor operates at either 15 or 30 frames per second in the background depending on register settings in ColorStreamParams A color image is assigned to each captured ToF image by means of both internal capt...

Page 13: ...PoE 13 W Power limitation to 13 W 1 PoE 25 5 W Power limitation to 25 5 W PoE not specified No power limitation VAUX supply not specified No power limitation Table 3 2 Supported power supplies Note 1 PoE mode does not allow for any illumination so there is no reasonable usage of the camera with this power supply The power is limited by limiting the max allowed FITP Frame rate Integration Time Prod...

Page 14: ...ilable via a micro USB connector with a UART to USB converter behind To be able to access the serial terminal via the Debug UART you need an appropriate driver installed in your OS for the FTDI FT234 device Windows OS Device Driver Download http www ftdichip com Drivers VCP htm Most Linux distributions come with an appropriate driver and create a device node dev ttyUSB dynamically Additionally one...

Page 15: ...ues as described in the register description chapter refer to chapter 6 Each camera has been pre configured with a factory default register map 4 2 ToF Image Processing Chain The following flow diagram shows the image processing chain of the camera for the ToF sensor data Filters can be applied individually to distance data XYZ point cloud data is calculated from distance data on demand ...

Page 16: ...ons Wiggling FPPN Distance Offset Temperature Combine HDR Raw distance N Y Y N N Y Figure 4 1 Image processing flow 4 3 ToF Image Filters After the distance and amplitude calculation filters can be applied to the distance data Each of the filters provides one or more configuration parameters The iteration count for each filter can also be configured The filters can be enabled or disabled by writin...

Page 17: ...ilterMedianConfig The number of iterations is configurable 4 3 2 Bilateral filter Registers FilterBilateralConfig FilterBilateralConfig2 Configuration options are R Width of range kernel S Width of spatial kernel number of iterations and window size 4 3 3 Average filter Registers FilterAverageConfig Configuration option is the filter size 4 3 4 Sliding Average Filter Register FilterSLAFconfig A sl...

Page 18: ... minimum value The threshold is set via register ConfidenceThresHigh Invalid pixels The Argos3D P33x features an additional amplitude check called ACF auto correlation function Plausibility Check It detects inconsistent pixels e g in case of fast movement in the scene 4 4 1 1 Distance values If the amplitude of the reflected signal is below a threshold underexposure the distance value of the appro...

Page 19: ... IntTimeSeq3 To configure integration times of up to 4 sequences ModulationFrequency ModFreqSeq1 ModFreqSeq2 ModFreqSeq3 To configure modulation frequencies of the sequences ImgProcAdvanced bit 0 To enable combine mode It is recommended that all sequences are recorded with identical modulation frequency when using Combine mode 4 4 4 Vernier In order to combine the benefits of a smaller modulation ...

Page 20: ...sion frame Example register settings NofSequ 4 IntegrationTime 600 IntTimeSeq1 600 IntTimeSeq2 5200 IntTimeSeq3 5200 ModulationFrequency 20MHz ModFreqSeq1 80MHz ModFreqSeq2 20MHz ModFreqSeq3 80MHz ImgProcAdvanced set bit 0 and bit 7 4 5 Camera Coordinate System The camera coordinate system is depicted in Figure 4 3 Pixel numbering starts in the upper left corner of the pixel array seen from the ca...

Page 21: ...Last change 29 June 2020 Version 10 coordinate system where X Y Z 0 is the front top right edge of the camera seen from the camera s point of view Z X Y Figure 4 2 Argos3D P33x Default Coordinate System 1 Z X Y Figure 4 3 Argos3D P33x Default Coordinate System 2 ...

Page 22: ...to determine the correct color Hidden areas are detected by means of ray tracing in which case no color or a special color can be assigned configurable Note The Argos3D P33x is not delivered fully calibrated for Overlay mode by default If you wish to upgrade a camera please consult BECOM Systems Support for an offer 4 6 1 Camera Settings To select the overlay image data format please consult chapt...

Page 23: ...ig A usual scene always contains points that e g have invalid depth data are hidden from the color sensor etc In the default setting these points are marked invalid in the X coordinate array i e with value 0x1 confer to chapter Error Reference source not found Ray tracing threshold Register OverlayVectorLengthThreshold To determine if an XYZ point is visible from the color sensor the camera uses a...

Page 24: ...igned Int16 values No negative values allowed Resolution is always 352x287 X coordinate values in millimeters as 16 bit signed Int16 values Resolution is always 352x287 Y coordinate values Same as X Raw depth data without scaling corrections and filters as 16 bit unsigned Uint16 values Resolution is always 352x287 pixels Raw phase data 0 90 180 270 as 16 bit unsigned Uint16 values Resolution is al...

Page 25: ...yte of Distance Pixel 351 Lowbyte of Distance Pixel 100672 Highbyte of Distance Pixel 100672 Lowbyte of Distance Pixel 100673 Highbyte of Distance Pixel 100673 Lowbyte of Distance Pixel 101023 Highbyte of Distance Pixel 101023 Lowbyte of Amplitude Pixel 0 Highbyte of Amplitude Pixel 0 Lowbyte of Amplitude Pixel 1 Highbyte of Amplitude Pixel 1 Lowbyte of Amplitude Pixel 351 Highbyte of Amplitude Pi...

Page 26: ...te of Amplitude Pixel 1 Highbyte of Amplitude Pixel 1 Lowbyte of Amplitude Pixel 351 Highbyte of Amplitude Pixel 351 Lowbyte of Amplitude Pixel 100672 Highbyte of Amplitude Pixel 100672 Lowbyte of Amplitude Pixel 100673 Highbyte of Amplitude Pixel 100673 Lowbyte of Amplitude Pixel 101023 Highbyte of Amplitude Pixel 101023 First Byte in Stream Last Byte in Stream RGB565 Low Byte Pixel 0 RGB565 High...

Page 27: ... Pixel 100672 Highbyte of Distance Pixel 100672 Lowbyte of Distance Pixel 100673 Highbyte of Distance Pixel 100673 Lowbyte of Distance Pixel 101023 Highbyte of Distance Pixel 101023 RGB565 Low Byte Pixel 0 RGB565 High Byte Pixel 0 RGB565 Low Byte Pixel 1 RGB565 Low Byte Pixel 1 RGB565 Low Byte Last Pixel first row RGB565 High Byte Last Pixel first row RGB565 Low Byte 1st pixel last row RGB565 High...

Page 28: ...673 Highbyte of Y Coor Pixel 100673 Lowbyte of Y Coor Pixel 101023 Highbyte of Y Coor Pixel 101023 First Byte in Stream Last Byte in Stream Lowbyte of Z Coor Pixel 0 Highbyte of Z Coor Pixel 0 Lowbyte of Z Coor Pixel 1 Highbyte of Z Coor Pixel 1 Lowbyte of Z Coor Pixel 351 Highbyte of Z Coor Pixel 351 Lowbyte of Z Coor Pixel 100672 Highbyte of Z Coor Pixel 100672 Lowbyte of Z Coor Pixel 100673 Hig...

Page 29: ...yte of Z Coor Pixel 1 Highbyte of Z Coor Pixel 1 Lowbyte of Z Coor Pixel 351 Highbyte of Z Coor Pixel 351 Lowbyte of Z Coor Pixel 19040 Highbyte of Z Coor Pixel 19040 Lowbyte of Z Coor Pixel 100673 Highbyte of Z Coor Pixel 100673 Lowbyte of Z Coor Pixel 101023 Highbyte of Z Coor Pixel 101023 Lowbyte of Amplitude Pixel 0 Highbyte of Amplitude Pixel 0 Lowbyte of Amplitude Pixel 1 Highbyte of Amplitu...

Page 30: ...r 4 6 for proper configuration of this mode 4 7 9 Distances In this mode a single array with distances is transferred in channel 0 The stream starts always with pixel 0 The distances are coded in millimeters as Uint16 4 7 10 4 phases without image processing In this mode the 4 phases 0 90 180 and 270 will be transferred in progressive mode as 16 bit unsigned Uint16 values 4 7 11 Test mode In this ...

Page 31: ...stance Pixel 100673 Highbyte of Distance Pixel 100673 Lowbyte of Distance Pixel 101023 Highbyte of Distance Pixel 101023 Lowbyte of Amplitude Pixel 0 Highbyte of Amplitude Pixel 0 Lowbyte of Amplitude Pixel 1 Highbyte of Amplitude Pixel 1 Lowbyte of Amplitude Pixel 351 Highbyte of Amplitude Pixel 351 Lowbyte of Amplitude Pixel 100672 Highbyte of Amplitude Pixel 100672 Lowbyte of Amplitude Pixel 10...

Page 32: ...hapter 4 15 1 for more information This data format cannot be set via register ImageDataFormat When this data format is transferred field ImageFormat of the frame header chapter Error Reference source not found is set to value 22 0x16 In this mode the color sensor image is transferred in channel 0 The color sensor pixels are coded in RGB565 raw or JPEG compressed format In the case the color data ...

Page 33: ...rStreamParams The color sensor always works with auto exposure control AEC and auto gain control AGC on The combination of frame rate and integration time influences the input current as well as the dissipated heat and will be characterized by the Frame rate Integration Time Product FITP which has been defined as follows 𝐹𝐼𝑇𝑃 𝑡𝐼𝑁𝑇 𝑚𝑠 𝑓𝑝𝑠 1 𝑠 4 Caution Be careful in setting different integration ti...

Page 34: ...amera supports pre heating of the LEDs on the LIMs immediately before capturing Pre heating is accomplished by applying the modulation signal to the LEDs prior to starting exposure of the ToF sensor Separate pre heating times can be set for the first phase after a trigger and all consecutive phases For setting the pre heating time for the first phase after a trigger use register IllPreheatingTime ...

Page 35: ... two types of manual trigger To enable the manual trigger the video mode must be disabled in register Mode0 Bit 0 A manual trigger will start capturing of as many sequences as currently configured in register NofSequ 4 13 1 Hardware Trigger The camera provides an extension connector where a hardware trigger can be applied Please refer to 3 4 for more information 4 13 2 Software Trigger In addition...

Page 36: ...LEDs can be changed in register MaxLedTemp However we do not recommend to set values larger than 70 C because it drastically reduces the lifetime of the LEDs 4 14 2 ToF Sensor Temperature The TIM U IRS1020C supports two temperature sensors The one incorporated into the ToF sensor chip and a separate temperature sensor near the ToF sensor chip Register TempSensorConfig allows selecting a temperatur...

Page 37: ... where a continuous color sensor stream is required but only sporadic ToF sensor images the camera features a second UDP stream that is dedicated to send color sensor data only It is compliant to the data interface format in chapter 3 2 and hence compatible to tools and libraries provided by BECOM Systems The UDP color sensor stream is enabled in register ColorStreamParams bit 2 The resolution fra...

Page 38: ...wed to assign the camera another MAC address using the registers Eth0Mac0 to Eth0Mac2 Be aware that in order to make the changes persistent the register map must be saved to flash using register CmdExec otherwise the changes will be lost on a reboot or power cycle If the register map in the flash will be cleared the factory default MAC address from OTP will be loaded 4 17 2 IP TCP UDP Settings The...

Page 39: ...it 8 of the Status register is set The Argos3D P33x also features a firmware load attempt counter in register BootStatus It is usually 1 first boot attempt successful It will lose its value if power is completely removed from the camera 4 20 Logging The camera automatically saves log messages to a dedicated partition in the internal flash Log data may be retrieved using the Secure Shell login see ...

Page 40: ... 11 The status of at least one LIM could not be retrieved or there is an error condition in one of the LIM status registers Lim1Status and Lim2Status Bit 13 Error starting the color sensor stream or error on retrieving color sensor Bit 14 Indicates a temperature measurement error on the base board The bit is automatically cleared if the error disappears Bit 15 Indicates a communication error with ...

Page 41: ...g Calibration Bit 3 1 LIM temperature sensor error Temperature sensors not found or temporary temperature reading error Bit 4 1 TIM temperature sensor error Bit 5 1 Calibration data missing Bit 6 1 Factory Regmap was loaded Bit 8 1 Previous firmware version was restored Bit 9 1 LIM over temperature Bit 10 1 Frame rate or integration time was limited due to PoE constraints Bit 11 1 Error condition ...

Page 42: ...identifier 000C SerialNumberLowWord R Lower 16bit of the 32bit Serial Number 000D SerialNumberHighWord R Higher 16bit of the 32bit Serial Number 000E FrameCounter R Frame Counter increments on every captured frame 000F CalibrationCommand 0000 R W Bit 0 7 Cmd code 13 FPPN calibration for the current modulation frequency Exactly one sequence must be configured in register NofSequ 16 Clear FPPN calib...

Page 43: ...x01C0 0024 MaxLedTemp 1B58 R W Maximum tolerable LIM temperature 0 01 C 0026 HorizontalFov 2 R Horizontal field of view in 0 01 0027 VerticalFov 2 R Vertical field of view in 0 01 002B TriggerDelay 0000 R W Delay between trigger assertion either software or hardware and output trigger assertion image capturing trigger output ms 002C BootStatus R Bit 14 15 Firmware Load Counter This counter is rese...

Page 44: ... 8 15 Production minute stored in OTP flash 003B FactoryTimezone R Production time zone stored in OTP flash 003C TempCompGradient3Lim R W Factor a of the temperature compensation function y mm a 100000 x b 10000 x c 1000 x 003D BuildYearMonth R Firmware Build date time Bit 14 4 Year Bit 3 0 Month 003E BuildDayHour R Firmware Build day hour Bit 9 5 Day Bit 4 0 Hour 003F BuildMinuteSecond R Firmware...

Page 45: ...00 x Table 5 1 General registers Note 2 The content depends on the mounted lens and the calibration data and represents the real viewing angles 5 2 Distance Offset Addr hex Register Name Default Value hex R W Description 00C1 DistOffset0 R W An offset for distance values when operating at modulation frequency 5 MHz 00C2 DistOffset1 R W An offset for distance values when operating at modulation fre...

Page 46: ... DistOffset12 R W An offset for distance values when operating at modulation frequency 90 MHz 00CE DistOffset13 R W An offset for distance values when operating at modulation frequency 100 MHz Table 5 2 Distance Offset registers 5 3 GPIO Control Addr hex Register Name Default Value hex R W Description 00D0 IOstate0 00 R W Bit 0 state of IN_0 only R Bit 1 state of IN_1 only R Bit 8 state of OUT_0 R...

Page 47: ...he 3D sensor and the color sensor in µs int32_t 00E5 ColorTo3DDelayHighWord R Difference between the timestamp of the 3D sensor and the color sensor in µs int32_t 00E6 HardwareConfigColor R W Lens opening angle identifier for color sensor Table 5 4 Color Streams Registers 5 5 User Defined Addr hex Register Name Default Value hex R W Description 0100 UserDefined0 0 R W For any purpose 0101 UserDefi...

Page 48: ...ilable 010F PWM100Temp FFFF R W Fan control Temperature at which to turn on fan in 0 01 C Creates a PWM output with duty cycle of 100 0110 IllPreheatingTime 0000 R W Illumination preheating time for first phase in microseconds 0118 CalibStatus2 R Bit 0 No wiggling calibration data in NVM Bit 1 1 No geometric model parameters for 3D sensor in NVM Bit 2 1 No overlay calibration data in NVM Bit 3 1 N...

Page 49: ...07D0 R W Modulation frequency to be used for capturing sequence 1 Register description See ModulationFrequency 0129 ModFreqSeq2 07D0 R W Modulation frequency to be used for capturing sequence 2 Register description See ModulationFrequency 012A ModFreqSeq3 07D0 R W Modulation frequency to be used for capturing sequence 3 Register description See ModulationFrequency Table 5 7 Registers for Sequencin...

Page 50: ...iption 01D1 FileUpdateStatus 0000 R 0 idle 3 out_of_memory 6 file crc error 8 erasing flash 9 flashing 11 erasing failed 12 flashing failed 14 update success 16 header version conflict 18 wrong fw identifier 20 data inconsistent 21 in progress 255 protocol violation Table 5 10 Registers for device update 5 11 Filter Configuration Addr hex Register Name Default Value hex R W Description 01E0 ImgPro...

Page 51: ...ons 01E2 FilterAverageConfig 0100 R W Bit 0 7 0 3x3 Pixel 1 5x5 Pixel 2 2x2 Pixel Bit 8 15 Nr of iterations 01E4 FilterBilateralConfig 13DE R W Bit 0 5 Sigma R Width of range kernel Bit 6 11 Sigma S Width of spatial kernel Bit 12 15 Nr Of iterations 01E5 FilterSlafConfig 0005 R W Bit 0 7 Window size 01E6 FilterBilateralConfig2 0003 R W Bit 0 5 Square size Window size square size x square size 01E7...

Page 52: ...iting this register has no immediate effect 0242 Eth0Mac1 R W Byte 3 and byte 2 of MAC address Writing this register has no immediate effect 0243 Eth0Mac0 R W Byte 1 and byte 0 Low byte of MAC address Writing this register will update the network configuration with the new MAC address 0244 Eth0Ip0 000A R W Low word of IP address Writing this register has no immediate effect see register 0x0249 024...

Page 53: ...Bit 0 2 Detected PoE power class 1 PoE 13W limitation 2 PoE 25 5W limitation 3 PoE no power limitation 7 VAUX no power limitation 0251 PoEOverride 0000 R W Bit 0 1 Override PoE power class 0 Don t override 1 13W limitation PoE 2 25 5W limitation PoE 3 No limitation PoE Note This limit is only checked against if integration time 0x0005 or frame rate 0x000a is set No immediate action is taken when t...

Page 54: ...s are now possible 1 2 0 Release Sep 2017 Bugfix GPIOs are working properly now 1 2 1 Release Dec 2017 Fixed anomaly After switching modulation frequency the camera may stop streaming Table 6 1 Overview Argos3D P33x firmware changes Note Please refer to our support site for additional information about product changes 6 2 Anomalies Applies to Date Description 1 1 0 Sep 2017 GPIOs are not working p...

Page 55: ...o get information and to download the SDK Bluetechnix Time of Flight API support systems becom group com Section Documentation 7 2 MATLAB SDK MATLAB SDK for ToF products BltTofApi Matlab SDK The MATLAB SDK is able to access the BltTofApi interface and will therefore be compatible with any device with an existing library implementing the BltTofApi Bluetechnix Time of Flight API Matlab SDK support s...

Page 56: ...pport packages are available for registered customers only Please contact BECOM Systems support if you do not yet have an account Software Download Portal support systems becom group com 8 3 Camera Development Package The camera offers the possibility to bring your own application onto the Argos3D P33x The Argos3D P33x is based on an embedded ARM Linux system based on the i MX6 Quad core processor...

Page 57: ... Updated chapter 5 4 Color Streams registers Updated anomalies 6 2017 09 26 Updated document for firmware V1 2 0 Updated firmware history Updates anomalies 5 2017 08 28 Updated document for firmware V1 0 0 4 2017 06 22 Company information changed 3 2017 02 03 Index removed Update to P33X 2 2016 04 26 Updated document for firmware V0 4 0 Added chapter 3 3 Device discovery Added chapter 4 13 3 ToF S...

Page 58: ...e 3 2 Supported power supplies 13 Table 3 3 Default login credentials 13 Table 3 4 Debug UART settings 14 Table 4 1 RGB565 format 25 Table 4 2 Pre defined modulation frequencies 33 Table 4 3 Color sensor resolution and frame rate options plus opening angles 37 Table 5 1 General registers 45 Table 5 2 Distance Offset registers 46 Table 5 3 Registers for GPIO Control 46 Table 5 4 Color Streams Regis...

Reviews: