Mech-Eye SDK 2.1.0 Release Notes
This document introduces the new features, improvements, and resolved issues of Mech-Eye SDK 2.1.0.
Highlights
-
Improved point cloud quality: The Point Cloud Processing parameters have been redesigned and can effectively remove outliers and noises while preserving the object edge information in the point cloud, improving point cloud quality.
-
Enhanced the functionality of interfaces:
-
Parameters used for hand-eye calibration are added to the GenICam interface and Mech-Eye API, and corresponding sample programs are provided. You can now perform hand-eye calibration directly with the interfaces.
-
Parameters for obtaining multi-part payload type data are added to the GenICam interface, and corresponding HALCON sample programs are provided. You can now easily obtain textured point clouds and depth maps that contain only the Z values.
-
A firmware upgrade tool is added. You can now upgrade the camera firmware without Mech-Eye Viewer.
-
-
Improved capture speed: the camera capture speed has been elevated by measures such as improving memory usage and providing options of lower image resolutions. Applications with higher requirements on cycle time can be bettered handled.
New Features
GenICam
-
Added Parameters and Sample Programs for Hand-Eye Calibration
Parameters used for hand-eye calibration are added to the GenICam interface, and corresponding HALCON sample programs are provided. Through these sample programs, you can perform hand-eye calibration, obtain extrinsic parameters, and switch the reference frame in which the point cloud is output from the camera.
-
Added Parameters and Sample Programs for Multi-Part Payload Type
-
GenICam parameters for obtaining multi-part payload type data in the AreaScan3D mode are added. Two channels are now supported, Range and Intensity.
-
Two HALCON sample programs demonstrating the applications of the above parameters are added:
-
obtain_textured_point_cloud: uses data from the Range and Intensity channels to generate the textured point cloud.
-
obtain_depth_map: obtains the depth map that contains only the Z values of points through the Range channel, speeding up the data transmission and improving efficiency.
-
-
-
Added Parameters and Sample Program for Camera IP Settings
Parameters for obtaining the current IP settings of the camera are added to the GenICam interface, and a HALCON sample program for obtaining and modifying the camera IP settings is provided. You can now obtain and modify the camera IP settings with a GenICam client. Through the HALCON sample program, you can obtain the current IP address, subnet mask and gateway of the camera, as well as modifying these settings.
-
Added Read-Only Parameters for Camera Intrinsic Parameters and Temperatures
-
Parameters for obtaining the camera intrinsic parameters are added. You can now obtain the camera intrinsic parameters with a GenICam client.
-
Scan3dFocalLengthX
-
Scan3dFocalLengthY
-
Scan3dPrincipalPointU
-
Scan3dPrincipalPointV
-
-
Parameters for obtaining the temperatures are added. You can now obtain the temperatures of the camera CPU and projector with a GenICam client.
-
DeviceTemperatureSelector: for selecting the camera component whose temperature you want to obtain. Options include MainBoard (CPU) and Sensor (projector).
-
DeviceTemperature: displays the temperature of the selected camera component.
-
-
Mech-Eye API
-
Added Methods and Sample Programs for Hand-Eye Calibration (C++ Only)
C++ Methods used for hand-eye calibration are added, and a corresponding sample program is added. Through this sample program, you can perform hand-eye calibration, and obtain extrinsic parameters.
-
Added Firmware Upgrade Tool
A firmware upgrade tool is added. With this tool, Ubuntu users can now upgrade the camera firmware as well.
-
Added Methods for Obtaining Device Temperature
-
C++:
ErrorStatus MechEyeDevice::getDeviceTemperature(DeviceTemperature &)
-
C#:
ErrorStatus MechEyeDevice.GetDeviceTemperature(ref mmind.apiSharp.DeviceTemperature temperature)
-
Python:
Device.get_device_temperature(self)
-
Mech-Eye Viewer
-
Two 2D Image Types Displayed for DEEP (V4) and LSR (V4) Series
For the DEEP (V4) or LSR (V4) series, you can now select whether to display 2D Image (Texture) or 2D Image (Depth Source) in Mech-Eye Viewer. The 2D image (texture) is used for texturing the point cloud, and the 2D images (depth source) are used in hand-eye calibration, checking intrinsic parameters and setting ROI. Switching the 2D image display helps you adjust the exposure of different 2D images.
Meanwhile, the names of the relevant 2D Parameters have been updated accordingly:
Old name New name Color Camera Exposure Mode
2D Image (Texture) Exposure Mode
Monochrome Camera Exposure Mode
2D Image (Depth Source) Exposure Mode
Monochrome Camera Exposure Time
2D Image (Depth Source) Exposure Time
-
Added MTU Value Setting
The setting for adjusting the MTU value is added to the IP address configuration window. This setting is available in the Administrator account. Meanwhile, after the camera firmware is upgraded to 2.1.0, the default MTU value of the camera will change to 1500.
The MTU value of the camera should be consistent with the jumbo frame value set on the computer. -
Adjustable Depth Map Resolution for DEEP (V4) series
The resolution of the depth map obtained by the DEEP (V4) series can now be adjusted. Options include 2048 × 1536 and 1024 × 768. Using the lower resolution can speed up image capturing effectively (about 35%) and thus better cope with applications with short cycle time.
In the Administrator account, select
, and adjust the resolution in the Depth Map menu. -
Added Reset to Factory Intrinsic Parameters Function
The reset to factory intrinsic parameters function is added to Intrinsic Parameter Tool. This function is available in the Administrator account.
Improvements
Improved Point Cloud Processing Parameters
The Point Cloud Processing parameters have been redesigned, upgrading from 2 parameters to 4, and the performance of smoothing and unwanted-point removal has been greatly enhanced.
-
The old Point Cloud Smoothing parameter is upgraded to Surface Smoothing. The smoothing algorithm is enhanced, and the same intensity now provides better smoothing result.
-
The old Noise Removal parameter is upgraded to Outlier Removal and Noise Removal. Unwanted points are divided into outliers and noise, with separate, more targeted removal parameters. The removal algorithm is also enhanced, and the same intensity now provides better removal result.
-
A new Edge Preservation parameter is added. You can now select the type of edge preservation to perform based on the object type, better preserving the object edge features.
If you want to achieve the processing result similar to the old parameters, please adjust the new parameters in the following way:
-
If the old Point Cloud Smoothing parameter was set to Normal, set the new Surface Smoothing parameter to Weak.
-
If the old Noise Removal parameter was set to Normal, set the new Outlier Removal parameter to Weak.
Improved Capture Speed of Camera
After the camera firmware is upgraded to 2.1.0, the capture speed of the camera is improved.
-
Depth map:
-
When obtaining the depth map through Mech-Eye API C++, the capture speed is improved by at least 2% and at most 35% or more.
-
When obtaining the depth map through Mech-Vision, the capture speed is improved by at least 5% and at most 20% or more.
-
-
2D image:
-
For V4 non-laser cameras, when obtaining the 2D image through Mech-Eye API C++, the capture speed is improved by at least 59% and at most 70% or more.
-
For V4 non-laser cameras, when obtaining the 2D image through Mech-Vision, the capture speed is improved by at least 66% and at most 70% or more.
-
The 2D image distortion correction function has been added to V4 laser cameras, which resulted in a reduction of the capture speed of the 2D image. |
Mech-Eye Viewer
-
Changed the Default Format of Depth Map when Saving
The default format of depth map when saving is changed from TIFF to PNG, improving usability.
-
Improved Intrinsic Parameter Tool
-
The user interface of Intrinsic Parameter Tool has been improved, with more tips and hints added, improving the usability of the tool.
-
A high-accuracy mode is added, in which stricter standards are used to check the intrinsic parameters. This mode is suitable for projects with high accuracy requirements. This mode is available in the Administrator account.
-
-
Improved Display of Parameter Description Section
After the close button of the Parameter Description section is clicked, this section is no longer displayed, so that the parameters are not overlapped, improving the usability of the parameter panel.
To display the Parameter Description section again, check the Parameter Description option in the View menu.
-
Improved FOV Calculator Tool
-
The user interface of the FOV Calculator tool has been improved, improving the usability of the tool.
-
The drop-down list of camera models has been improved and is more convenient for finding the more frequently used models.
-
The LSR S (V4) model is added to the list.
-
-
The texture camera binning function of LSR L (V4) has been moved to Camera Controller and redesigned as the 2D image resolution setting function.
-
The default value of Camera Gain for the DEEP (V4) series is updated from 0 to 5.
-
The value range of Laser Power for laser cameras is updated from 20–100% to 50–100%.
Mech-Eye API
The Point Cloud Processing parameters have been redesigned, upgrading from 2 parameters to 4. The corresponding Mech-Eye API methods are upgraded as follows:
-
C++:
-
Surface Smoothing
ErrorStatus MechEyeDevice::setCloudSurfaceSmoothingMode(PointCloudProcessingSettings::PointCloudSurfaceSmoothing) ErrorStatus MechEyeDevice::getCloudSurfaceSmoothingMode(PointCloudProcessingSettings::PointCloudSurfaceSmoothing &)
-
Noise Removal
ErrorStatus MechEyeDevice::setCloudNoiseRemovalMode(PointCloudProcessingSettings::PointCloudNoiseRemoval) ErrorStatus MechEyeDevice::getCloudNoiseRemovalMode(PointCloudProcessingSettings::PointCloudNoiseRemoval &)
-
Outlier Removal
ErrorStatus MechEyeDevice::setCloudOutlierRemovalMode(PointCloudProcessingSettings::PointCloudOutlierRemoval) ErrorStatus MechEyeDevice::getCloudOutlierRemovalMode(PointCloudProcessingSettings::PointCloudOutlierRemoval &)
-
Edge Preservation
ErrorStatus MechEyeDevice::setCloudEdgePreservationMode(PointCloudProcessingSettings::PointCloudEdgePreservation) ErrorStatus MechEyeDevice::getCloudEdgePreservationMode(PointCloudProcessingSettings::PointCloudEdgePreservation &)
-
-
C#:
-
Surface Smoothing
ErrorStatus MechEyeDevice.SetCloudSurfaceSmoothingMode(mmind.apiSharp.PointCloudSurfaceSmoothing mode) ErrorStatus MechEyeDevice.GetCloudSurfaceSmoothingMode(ref mmind.apiSharp.PointCloudSurfaceSmoothing mode)
-
Noise Removal
ErrorStatus MechEyeDevice.SetCloudNoiseRemovalMode(mmind.apiSharp.PointCloudNoiseRemoval mode) ErrorStatus MechEyeDevice.GetCloudNoiseRemovalMode(ref mmind.apiSharp.PointCloudNoiseRemoval mode)
-
Outlier Removal
ErrorStatus MechEyeDevice.SetCloudOutlierRemovalMode(mmind.apiSharp.PointCloudOutlierRemoval mode) ErrorStatus MechEyeDevice.GetCloudOutlierRemovalMode(ref mmind.apiSharp.PointCloudOutlierRemoval mode)
-
Edge Preservation
ErrorStatus MechEyeDevice.SetCloudEdgePreservationMode(mmind.apiSharp.PointCloudEdgePreservation mode) ErrorStatus MechEyeDevice.GetCloudEdgePreservationMode(ref mmind.apiSharp.PointCloudEdgePreservation mode)
-
-
Python:
-
Surface Smoothing
Device.set_cloud_surface_smoothing_mode(self, info) Device.set_cloud_surface_smoothing_mode(self, info)
-
Noise Removal
Device.set_cloud_noise_removal_mode(self, info) Device.get_cloud_noise_removal_mode(self)
-
Outlier Removal
Device.set_cloud_outlier_removal_mode(self, info) Device.get_cloud_outlier_removal_mode(self)
-
Edge Preservation
Device.set_cloud_edge_preservation_mode(self, info) Device,get_cloud_edge_preservation_mode(self)
-
Resolved Issues
The following issues are resolved in Mech-Eye SDK 2.1.0:
-
When a laser camera used 3 exposure times, and Laser Frame Partition Count was set to 3 or 4, the camera would disconnect occasionally due to insufficient memory.
-
For Laser L (V3) and Laser L Enhanced (V3) cameras, if Laser Frame Partition Count was set to 2 or higher, and exposure time(s) was set to 20 ms or less, the depth data would be abnormal.
-
ROI setting occasionally became ineffective when the parameter group had been switched.
-
For the DEEP (V4) and LSR (V4) series, if Exposure Mode was set to Auto or HDR, the Flash option of Monochrome Camera Exposure Mode would not take effect.
-
When the camera was connected to a router, a large MTU value of the camera would result in occasional malfunction of the camera.
-
Data frames were occasionally lost due to insufficient camera memory.
-
For the PRO (V4), DEEP (V4) and LSR (V4) series, the default low power consumption mode would result in occasional data frame loss.
-
When multiple cameras had the same IP address, changing the IP address of one camera would change the IP addresses of the other cameras at the same time.
-
The 2D image distortion correction function of monocular cameras resulted in slower capture speed.