Notas de la Versión de Mech-Eye SDK 2.5.2
Este capítulo presenta las nuevas funciones, mejoras y problemas solucionados de Mech-Eye SDK 2.5.2.
Mech-Eye Viewer
Nueva Herramienta de Calentamiento
Mech-Eye Viewer 2.5.2 proporciona la Herramienta de Calentamiento, puede calentar el dispositivo con esta herramienta antes de adquirir datos para garantizar la precisión de los mismos.
Nuevo Parámetro: Modo de Sensibilidad de Extracción
Se ha agregado el parámetro Modo de Sensibilidad de Extracción para establecer la sensibilidad a las variaciones sutiles en las líneas láser.
Guardar Datos de Forma Continua
Se ha mejorado de la función de guardar datos. Después de adquirir datos una vez, puede seleccionar Guardar manualmente para guardar los datos adquiridos en su computadora. Cuando los datos se adquieren de forma continua, puede seleccionar Guardar automáticamente para que el software guarde los datos adquiridos de forma automática.
Ajustar la ROI de Nube de Puntos
Haga clic en el icono
en el visor de nube de puntos para acceder a la interfaz de ROI de nube de puntos. Puede ajustar la ROI de nube de puntos para observar la nube de puntos de cierta región.
Dispositivo Virtual Compatible con Modo de Perfil
Es compatible con consultar los parámetros en el Modo de Perfil.
Mejorar la precisión en Eje Z
El dispositivo realiza automáticamente una compensación interna del error de precisión en el eje Z, lo que mejora la precisión de los datos de profundidad y la planitud de las superficies del objeto de destino dentro de la nube de puntos.
Mejorar el Método para Ajustar la Exposición HDR
En la interfaz de Ajustes de Exposición HDR se ha agregado el botón Auto Re-ordenar. Al hacer clic en este botón, se ordenará el tiempo de exposición de las tres fases en la siguiente secuencia: Tiempo de exposición 1 > Tiempo de exposición 2 > Tiempo de exposición 3.
Mejorar Sincronización de los Estados de Grupo de Parámetros entre Clientes
Cuando otros clientes modifican los ajustes de los parámetros o cambian el grupo de parámetros, el cliente en uso en ese momento sincroniza automáticamente estos cambios sin necesidad de sincronización manual, lo que garantiza la coherencia operativa entre todos los clientes.
Problemas Resueltos
En Mech-Eye SDK 2.5.2, se han resuelto los siguientes problemas:
-
Después de conectar el dispositivo, al cambiar al marco de referencia personalizado antes de la adquisición de datos, no se generaba ninguna nube de puntos.
-
Al procesar las líneas de perfil en el Modo de Perfil para objetos transparentes, si el parámetro Selección de Puntos de Extracción se ajusta a Más cercana o Más lejana, y el parámetro Selección de Borde se ajusta a Borde superior o Borde inferior, las líneas de perfil generadas no se alineaban con los ajustes de los parámetros.
-
El valor del parámetro Tiempo de recopilación de señal de la herramienta Visor del Codificador y Señal de Entrada se cambiaba con los cambios del idioma del sistema.
-
Cuando el Método de Adquisición de Datos está ajustado a Frame-Based y el parámetro Número de Línea de Escaneo está ajustado a 1, después de adquirir datos una vez, si se sustituyó el objeto de destino y se volvió a adquirir datos, los datos adquiridos no cambiaban.
-
Después de ampliar o desplazar una imagen dentro del visor de datos, al cambiar a otra interfaz de visor y volver a la interfaz de imágenes, no se conservaban el nivel de acercar/alejar ni la posición de visualización modificados.
-
Al adquirir datos en el Modo de Perfil con LNX-8080-GL o LNX-8300-GL, aparecían rayas anormales que cubrían toda la pantalla.
-
Cuando la IPC no estaba conectada al Internet, no se podía conectar el dispositivo virtual.
-
Ocasional: Al presionar el botón izquierdo del ratón para arrastrar la nube de puntos, el centro de rotación no estaba alineado con el centro de la nube de puntos.
Mech-Eye API
Proporcionar Programa de Ejemplo del Calentamiento
En Mech-Eye API 2.5.2, se han proporcionado los siguientes programas de ejemplo para calentar el dispositivo.
C, C++ y C# |
WarmUp |
|---|---|
Python |
warm_up |
|
Puede obtener los programas de ejemplo correspondientes en la ruta de instalación o GitHub. Para obtener instrucciones sobre los programas de ejemplo de diferentes lenguajes, consulte la Guía de Uso del Ejemplo. |
Nuevo Parámetro: Modo de Sensibilidad de Extracción
Se ha agregado el parámetro ExtractionSensitivityMode (Modo de Sensibilidad de Extracción) para establecer la sensibilidad a las variaciones sutiles en las líneas láser.
Mejorar la precisión en Eje Z
El dispositivo realiza automáticamente una compensación interna del error de precisión en el eje Z, lo que mejora la precisión de los datos de profundidad y la planitud de las superficies del objeto de destino dentro de la nube de puntos.
Invertir Imagen de Intensidad y Mapa de Profundidad
Al llamar los nuevos métodos, puede invertir la imagen de intensidad y el mapa de profundidad alrededor del eje X o del eje Y.
-
C++
-
C#
-
Python
void mmind::eye::ProfileBatch::flip(bool flipX, bool flipY);
void MMind.Eye.ProfileBatch.Flip(bool flipX, bool flipY);
mecheye.profiler.ProfileBatch.flip(self, flipX: bool, flipY: bool) -> None
Manejar Valores NaN y Valores Negativos
Al llamar los nuevos métodos, se puede detectar y manejar automáticamente los valores NaN y los valores negativos en los datos de profundidad.
C, C++ y C# |
HandleNanAndNegativeInDepth |
|---|---|
Python |
handle_nan_and_negative_in_depth |
|
Puede obtener los programas de ejemplo correspondientes en la ruta de instalación o GitHub. Para obtener instrucciones sobre los programas de ejemplo de diferentes lenguajes, consulte la Guía de Uso del Ejemplo. |
Calibración de Varios Perfiladores Láser compatible con Importar Nube de Puntos
Al llamar los nuevos métodos, puede combinar las nube de puntos.
-
C++
-
C#
MultiProfilerStatus ProfilerCalibrationInterfaces::stitchPointCloud(const ProfilerImage& majorImage, const std::vector<ProfilerImage>& minorImages, int cloudStitchOption, int paramRefineOption, const std::vector<CalibResult>& calibResults, bool correctRingError = true, int normalEstimationKnn = -1, const std::optional<MultiStitchParams>& stitchParams = std::nullopt);
MultiProfilerStatus ProfilerCalibrationInterfaces.StitchPointCloud(in ProfilerImage majorImage, in List<ProfilerImage> minorImages, int cloudStitchOption, int paramRefineOption, in List<CalibResult> calibResults, in MultiStitchParams stitchParams, bool correctRingError = true, int normalEstimationKnn = -1);
MultiProfilerErrorStatus ProfilerCalibrationInterfaces.StitchPointCloud(in ProfilerImage majorImage, in List<ProfilerImage> minorImages, in int cloudStitchOption, in int paramRefineOption, in List<CalibResult> calibResults, bool correctRingError = true, int normalEstimationKnn = -1);
Al llamar los nuevos métodos, puede obtener las nube de puntos combinadas. Puede seleccionar entre nube de puntos con textura y sin textura.
-
C++
-
C#
MultiProfilerStatus ProfilerCalibrationInterfaces::getStitchedPointCloud(ProfileBatch::UntexturedPointCloud& pointCloud) const;
MultiProfilerStatus ProfilerCalibrationInterfaces::getStitchedPointCloud(ProfileBatch::TexturedPointCloud& pointCloud) const;
MultiProfilerErrorStatus GetStitchedPointCloud(out ProfileUntexturedPointCloud pointCloud);
MultiProfilerErrorStatus GetStitchedPointCloud(out ProfileTexturedPointCloud pointCloud);
Se ha agregado el nuevo tipo de enumeración para ajustar la combinación de nubes de puntos.
|
Ajusta el método para combinar las nubes de puntos. |
|
Ajusta si mejora los parámetros de combinación. |
Nuevo Programa de Ejemplo en C#: Calibrar varios Perfiladores Láser que Escanean un mismo Objeto de Destino
Nuevo programa de ejemplo en Csharp MultipleProfilersCalibration. Con este programa de ejemplo, puede calibrar varios perfiladores láser que escanean un mismo objeto de destino al mismo tiempo, proporcionando salida para los resultados de calibración, errores, resultados de cosido y el mapa de profundidad cosido. Se requiere un blanco de calibración personalizado basado en la escena específica. Consulte el capítulo Diseñar y Fabricar el Objeto de Calibración para obtener más información.
|
Puede obtener los programas de ejemplo correspondientes en la ruta de instalación o GitHub. Para obtener instrucciones sobre los programas de ejemplo de diferentes lenguajes, consulte la Guía de Uso del Ejemplo. |
Interfaz de GenICam
Proporcionar Programa de Ejemplo de Adquisición Continua
Nuevo programa de ejemplo de GenICam trigger_with_software_and_fixed_rate_continuous. Con este programa de ejemplo, puede escanear el objeto de destino de forma continua. El perfilador láser escanea el objeto de destino de forma continua y devuelve segmentos de datos de longitud fija una vez activada la adquisición de datos.
| Consulte el capítulo Usar el Programa de Ejemplo de HALCON para obtener los ejemplos y revisar las condiciones previas de uso. |
Nuevo Parámetro: Modo de Sensibilidad de Extracción
Se ha agregado el parámetro ExtractionSensitivityMode (Modo de Sensibilidad de Extracción) para establecer la sensibilidad a las variaciones sutiles en las líneas láser.