Implementar algoritmos de detección e integrar resultados
Implementa algoritmos de detección humana, de ubicaciones de almacenamiento y de volumen, configura los parámetros extrínsecos y los parámetros de la cámara y recupera resultados mediante TCP, UDP, HTTP o Modbus TCP.
Esta guía cubre la implementación, calibración, configuración e integración de resultados de los algoritmos MRDVS de detección humana, de ubicaciones de almacenamiento y de volumen. El algoritmo se ejecuta en la cámara; la aplicación host del algoritmo se utiliza para la configuración, las actualizaciones y la inspección de resultados.
El firmware del algoritmo y la aplicación host del algoritmo se entregan por proyecto. Antes de instalar el firmware del algoritmo, confirma que la cámara ejecute una versión de firmware MDS. Obtén un paquete de instalación que coincida con el proyecto y el modelo de cámara.
Usa un soporte rígido para evitar movimientos o vibraciones después de la instalación. La detección humana normalmente utiliza una instalación horizontal o una instalación con un ángulo no superior a 30°.
Alimenta la cámara con una fuente regulada de 24 V DC. Usa un cable Cat6A o Cat7 para conectar la cámara a un switch gigabit o a un controlador.
2
Implementar varias cámaras
Instala cada cámara a la altura y en la posición especificadas en el plano CAD. Conecta todas las cámaras mediante un switch gigabit y verifica el estado de alimentación y de enlace de cada una.
3
Preparar los objetivos de prueba
Coloca en la vista de la cámara las personas, los palés o las mercancías que se van a detectar antes de calibrar los parámetros extrínsecos y configurar las regiones.
Coloca el ordenador host y la cámara en la misma subred. El ejemplo original utiliza el siguiente plan:
Elemento
Ejemplo
Dirección IP del host
192.168.100.xxx
Máscara de subred
255.255.255.0
Puerta de enlace predeterminada
192.168.100.1
1
Abrir la configuración del adaptador
En Windows, abre Panel de control → Centro de redes y recursos compartidos → Cambiar configuración del adaptador y selecciona el adaptador Ethernet conectado a la cámara.
2
Configurar IPv4
Abre Protocolo de Internet versión 4 (TCP/IPv4), selecciona Usar la siguiente dirección IP e introduce una dirección estática sin utilizar en la subred de la cámara.
3
Confirmar la conexión
Guarda la configuración, confirma que el enlace sea gigabit y utiliza la aplicación host para descubrir o abrir la cámara.
No dejes el firewall desactivado en una red de producción. Si la aplicación host no puede conectarse, crea primero una regla para la aplicación o el puerto necesarios. Desactiva temporalmente el firewall solo en una red de depuración de confianza y, después, restaura la protección.
Obtén la aplicación host de la cámara desde la página de descargas de software.
Instala la aplicación host de la cámara fuera de la unidad del sistema.
Copia los archivos de la aplicación host del algoritmo entregados para el proyecto en la carpeta Tools del directorio de la aplicación host de la cámara. Reemplaza los archivos con el mismo nombre y, después, haz doble clic en el ejecutable para iniciarlo.
Para actualizar solo la aplicación host del algoritmo, reemplaza su archivo .exe por la versión entregada.
La cámara se reinicia durante la instalación. No desconectes la alimentación ni la red y no cierres la aplicación host. El paquete debe coincidir con el modelo de cámara, la versión de firmware MDS y el algoritmo del proyecto.
Aplicación host de la cámara
Aplicación host del algoritmo
Inicia LxCameraViewer.exe y abre la cámara.
Selecciona Herramientas básicas → Configuración de funciones → Actualización de firmware.
Elige el archivo de algoritmo de detección entregado y selecciona Ejecutar.
Selecciona la cámara de destino en la lista de dispositivos.
Selecciona Actualizar firmware, elige el archivo de algoritmo de detección y ábrelo.
Espera a que la cámara vuelva a aparecer en la lista de dispositivos.
Cuando la cámara vuelva a aparecer después de reiniciarse, la instalación habrá terminado. Un fondo verde en la cámara dentro de la aplicación host del algoritmo indica que la cámara está conectada y que el algoritmo está disponible.
Inicia LxApplicationViewer.exe. Un icono verde en la lista de dispositivos indica que hay una cámara conectada. Selecciona un dispositivo para cambiar la vista actual entre los modos RGB y nube de puntos. Los usuarios estándar pueden ver resultados; los administradores pueden modificar los parámetros de la cámara y del algoritmo.
Detiene el algoritmo actual. No se reinicia automáticamente hasta que la cámara vuelva a encenderse.
Actualizar firmware
Abre el flujo de actualización del firmware del algoritmo.
Reiniciar cámara
Reinicia la cámara seleccionada.
Cuando cambia el estado, el software guarda un fotograma RGB y los datos de la nube de puntos. Los datos de reproducción no se comparten entre algoritmos. El tiempo de reproducción utiliza el reloj interno de la cámara, no la hora del sistema del ordenador host.Si el fondo del dispositivo es amarillo, o es verde pero la imagen no se actualiza, activa la actualización automática para reanudar la adquisición de imágenes.
Identifica una cámara en una implementación con varias cámaras.
Modo de simulación
Función interna; déjalo desactivado.
Modo de guardado de imágenes
Guarda los datos de imagen del algoritmo en la cámara.
Modo de adquisición de imágenes
MDS no ocupa el acceso a la cámara. SDK sí lo ocupa; la aplicación host no puede abrir la cámara mientras se ejecuta el algoritmo.
x, y, z
Posición extrínseca de la cámara; z es la altura de la cámara sobre el suelo.
roll, pitch, yaw
Ángulos de orientación extrínseca de la cámara.
Suelo ideal
Conserva el valor predeterminado.
Leer configuración de la cámara
Lee la configuración actual de la cámara.
Guardar y enviar
Escribe los cambios en la cámara. Los parámetros no guardados no tienen efecto.
Calibración extrínseca
Calibra la altura y la orientación de la cámara.
Instalación vertical
Instalación horizontal
Abre Configuración de la cámara. Antes de la calibración, establece x, y, z, roll, pitch y yaw en 0 y, después, selecciona Guardar y enviar.
Selecciona Calibración extrínseca. Cuando la calibración termine correctamente, verifica el resultado en el panel de parámetros.
Abre Configuración de la cámara y entra en la página de calibración de parámetros.
Alinea el suelo de la nube de puntos con el sistema de coordenadas: los ejes X rojo y Y verde están sobre el suelo, mientras que el eje Z azul es perpendicular al suelo y apunta hacia arriba.
Normalmente ajusta primero solo roll y z; establece los demás valores en 0. Selecciona Guardar y enviar después de verificarlo.
Selecciona Guardar y enviar después de cambiar cualquier parámetro del algoritmo. Conserva los parámetros de filtro predeterminados salvo que una prueba en el sitio demuestre que es necesario ajustarlos.
Detección humana
Detección de ubicaciones de almacenamiento
Detección de volumen
Parámetro
Descripción
Versión del algoritmo
Versión actual del algoritmo.
Frecuencia de detección
Frecuencia de actualización de imágenes y resultados.
Filtro temporal
Con 3, se requieren tres resultados idénticos consecutivos antes de considerar válido un resultado.
Tamaño del kernel
Tamaño del kernel para operaciones morfológicas 2D. Los valores mayores reducen los objetivos y amplían el fondo.
Umbral de distancia
Determina si los puntos son similares o pertenecen a la misma clase.
Cantidad mínima de puntos
Cantidad mínima de puntos de la nube necesaria para la agrupación semántica.
Cantidad mínima de puntos no semánticos
Cantidad mínima de puntos de la nube necesaria para la agrupación no semántica.
Tamaño del vecindario
Define el rango del vecindario de puntos y afecta a la granularidad de la agrupación.
Detección de rotación
Coincide con la dirección de instalación de la cámara; usa la orientación con el logotipo hacia abajo como referencia de 0°.
Parámetro de región
Descripción
Añadir/eliminar región
Crea o elimina una región de detección humana.
Cuadro actual
Selecciona la región de detección activa.
X, Y, Z mínimos/máximos
Define los límites 3D de la región.
Arrastrar para ajustar la región
Arrastra con el botón izquierdo del ratón a lo largo de x e y; arrastra con el botón derecho a lo largo de z.
Parámetro
Descripción
Versión del algoritmo
Versión actual del algoritmo.
Filtro AI
Segmentación semántica; actualmente no disponible.
Frecuencia de detección
Frecuencia de actualización de resultados.
Ángulo de alineación
Desviación angular máxima permitida de la carga cuando la comprobación de alineación está activada.
Comprobación de alineación
Comprueba la desviación angular y el estado de los límites. Los objetos detectados se muestran con cajas de volumen amarillas.
Filtro temporal
Emite un estado válido solo después de varios resultados consecutivos coherentes.
Cantidad mínima de puntos
Los objetos con menos puntos que este valor se ignoran.
Modo de región
Configuración
RGB 2D
Usa los píxeles X e Y mínimos y máximos para definir la ubicación de almacenamiento. Se requieren el modo semántico y un modelo semántico.
Nube de puntos 3D
Usa X, Y y Z mínimos y máximos para definir la ubicación. Arrastra con el botón izquierdo del ratón a lo largo de x e y, o con el botón derecho a lo largo de z.
Función avanzada
Descripción
Copiar cuadro actual
Copia la región de ubicación de almacenamiento activa.
Dirección, espaciado, cantidad
Define copias espaciadas uniformemente a lo largo del eje X, Y o Z.
Ejecutar
Genera varias regiones a partir de la configuración.
Calibración con código QR
Introduce la anchura, la longitud, Z_MIN y Z_MAX de la ubicación y, después, calibra con un código QR.
Parámetro
Descripción
Versión del algoritmo
Versión actual del algoritmo.
Modo de activación
Cuando está activado, adquiere una imagen y un resultado por cada activación.
Detección ascendente
Detecta mediante el sistema de coordenadas inverso de la cámara.
Frecuencia de detección
Frecuencia de actualización de imágenes y resultados.
Distancia del plano de detección
Posición de referencia de la superficie inferior del objeto, en mm.
Cantidad de vecinos/umbral de distancia
Parámetros de filtro; conserva los valores predeterminados en la mayoría de las implementaciones.
Umbral de filtro de vectores normales
Filtra planos inclinados de la nube de puntos. La recomendación original es 60.
Umbral de distancia de vectores normales
Parámetro de filtro. El rango recomendado originalmente es 20–30.
Cantidad mínima de puntos
Los objetos con menos puntos que este valor se ignoran.
X, Y, Z mínimos
Umbrales mínimos de longitud, anchura y altura, en mm.
Parámetro de región
Descripción
X, Y, Z mínimos/máximos
Define los límites 3D de la región de detección de volumen.
Alinea los ejes X e Y con la nube de puntos del suelo. El eje Z debe ser perpendicular al suelo y apuntar hacia arriba.
2
Configurar los parámetros globales
Abre Detección humana. Normalmente solo es necesario configurar Detección de rotación. La rotación horaria de la cámara admite 0°, 90°, 180° y 270°.
3
Crear la región de detección
Selecciona Añadir región de detección, establece los valores X, Y y Z mínimos y máximos y mueve la región sobre el objetivo. El ejemplo original utiliza una región de 1000 × 1000 × 2000 mm.
4
Guardar y verificar
Selecciona Guardar y enviar, ejecuta una prueba de paso de una persona por el área y verifica el resultado en la barra de estado o en la reproducción histórica.
Regla de coincidencia
Sin persona
Persona
Obstáculo
Persona y obstáculo
Solo profundidad
0
2
2
2
Semántica más profundidad
0
1
0
1
El modo de solo profundidad informa de todos los objetos de la región. El modo semántica más profundidad solo informa de los grupos clasificados como personas.
Sigue el procedimiento de calibración extrínseca. Alinea X e Y con el suelo y mantén Z perpendicular y apuntando hacia arriba.
2
Configurar los parámetros globales
Configura Comprobación de alineación, Ángulo de alineación y Cantidad mínima de puntos para el sitio. Activa la comprobación de alineación cuando la carga deba colocarse con un ángulo definido.
3
Crear ubicaciones de almacenamiento
En el modo de nube de puntos, selecciona Añadir ubicación de almacenamiento, cambia a la vista superior y pulsa X para iniciar o detener el dibujo. Arrastra el rectángulo sobre el palé y ajusta los límites X, Y y Z. Pulsa X de nuevo para salir del modo de dibujo.
4
Guardar y verificar
Selecciona Guardar y enviar. Configura las ubicaciones en el modo RGB 2D o nube de puntos 3D y comprueba Resultado en la barra de estado.
Estado de la ubicación de almacenamiento
Resultado
Vacía
0
Ocupada, u ocupada y alineada
1
Ocupada con un ángulo superior al umbral de alineación
2
Ocupada y fuera de los límites de la ubicación
3
Para una disposición regular, utiliza Copiar cuadro actual para crear ubicaciones con una dirección y un espaciado fijos. Si se requiere verificación mediante código QR, usa Calibración con código QR para configurar las dimensiones de la ubicación y el rango de profundidad.
La detección de volumen funciona de arriba hacia abajo. Después de la calibración, el eje Z apunta hacia abajo y el plano X/Y es paralelo al suelo.
2
Configurar el plano de detección
Para mercancías colocadas directamente en el suelo, establece el plano de detección a la altura del suelo. Para medir solo mercancías sobre un palé, alinea el plano con la nube de puntos del palé.
3
Configurar las dimensiones mínimas y la región
Establece los valores mínimos de X, Y y Z para filtrar objetivos pequeños. Después, configura los límites de la región según el plano de detección y las dimensiones de la carga.
4
Guardar y verificar
Selecciona Guardar y enviar, coloca uno o varios objetos en la región y verifica la longitud, la anchura, la altura y la cantidad devueltas.
Para utilizar la adquisición de una sola activación, activa Modo de activación en Detección de volumen y selecciona Guardar y enviar. Después, selecciona Activación única en Herramientas básicas o envía TM_TRIGGER mediante TCP o UDP.
La dirección IP de los ejemplos es ilustrativa. Reemplázala por la dirección de la cámara en el sitio y, después, verifica la red, el estado del algoritmo y el formato de los resultados antes de integrarlos con un sistema de nivel superior.
El sistema de nivel superior envía una solicitud de resultados al endpoint de visión, que devuelve una cadena JSON. Utiliza en tu cliente HTTP las cabeceras de solicitud entregadas para el proyecto y el siguiente cuerpo de solicitud.
Objeto de estado indexado por el ID de la región de detección: 0 significa que no hay objetivo, 1 que se ha detectado una persona y 2 que un objeto se ha detectado solo mediante la regla de profundidad.
Marca de tiempo del resultado de detección humana.
Los detalles de los grupos incluyen rbx2d, rby2d, tlx2d y tly2d (coordenadas de la caja 2D), semantic_index, traceID y x_min, x_max, y_min, y_max, z_min y z_max (límites de la caja 3D).
Detalles de la ubicación X: centro x, y y z, longitud, anchura, altura y desviación angular respecto a la caja delimitadora. Una ubicación creada en 2D devuelve todos los valores como -1.
El siguiente ejemplo utiliza el ID de transacción 0x0001 para leer un registro de retención en la dirección 0x0104. La respuesta contiene el estado 0x0002.
Confirma que el host y la cámara compartan una subred, que el adaptador de red sea gigabit y que los enlaces de alimentación y del switch estén en buen estado.
Los parámetros no tienen efecto
Confirma que se haya seleccionado Guardar y enviar después del cambio.
No hay resultados del algoritmo
Confirma que se haya instalado el firmware del algoritmo correcto, que el dispositivo esté en verde y que el algoritmo esté activado.
Nube de puntos vacía o desactualizada
Desplázate sobre el área de nube de puntos para mostrar los datos; activa la actualización automática si es necesario.
Resultados anómalos de ubicación o volumen
Vuelve a comprobar las direcciones de los ejes extrínsecos, el plano de detección y los límites de la región y, después, repite la prueba con objetos del sitio.
此页面对您有帮助吗?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"MRDVS","description":"迈尔微视产品、开发集成、行业解决方案与客户支持文档。","colors":{"primary":"#1248B8","light":"#43A5E5","dark":"#217DB5"},"logo":{"light":"https://mintcdn.com/mrdvs/gEte5Lm3vPtLdk_a/logo/logo.svg?fit=max\u0026auto=format\u0026n=gEte5Lm3vPtLdk_a\u0026q=85\u0026s=1d0001033c0b1f686e1d5e4c6576c469","dark":"https://mintcdn.com/mrdvs/gEte5Lm3vPtLdk_a/logo/logo.svg?fit=max\u0026auto=format\u0026n=gEte5Lm3vPtLdk_a\u0026q=85\u0026s=1d0001033c0b1f686e1d5e4c6576c469"},"favicon":{"light":"https://mintcdn.com/mrdvs/JvNnjyd3Kf1Xtjg2/images/favicon.png?fit=max\u0026auto=format\u0026n=JvNnjyd3Kf1Xtjg2\u0026q=85\u0026s=32919de7e789d7ed8f560b485c05bd4a","dark":"https://mintcdn.com/mrdvs/JvNnjyd3Kf1Xtjg2/images/favicon.png?fit=max\u0026auto=format\u0026n=JvNnjyd3Kf1Xtjg2\u0026q=85\u0026s=32919de7e789d7ed8f560b485c05bd4a"},"appearance":{"default":"light","strict":true},"navbar":{"links":[{"icon":{"style":"brands","name":"github"},"href":"https://github.com/Lanxin-MRDVS","label":"GitHub"},{"icon":"/images/favicon.png","href":"https://www.mrdvs.cn/","label":"MRDVS"}],"primary":{"type":"button","label":"联系我们","href":"https://work.weixin.qq.com/ca/cawcde978188b336f1"}},"footer":{"socials":{"github":"https://github.com/Lanxin-MRDVS/CameraSDK","linkedin":"https://www.linkedin.com/company/mrdvs","youtube":"https://www.youtube.com/@MRDVS-2024","website":"https://www.mrdvs.cn/"},"links":[{"header":"产品","items":[{"label":"S 系列3D相机","href":"https://www.mrdvs.cn/product/3d-obstacle-avoidance-cameras-s-series"},{"label":"M 系列3D相机","href":"https://www.mrdvs.cn/product/m-series"},{"label":"V 系列导航模组","href":"https://www.mrdvs.cn/product/v-series"}]},{"header":"解决方案","items":[{"label":"移动机器人视觉","href":"https://www.mrdvs.cn/solutions/solutions-industrial-mobile-robot"},{"label":"仓储物流自动化","href":"https://www.mrdvs.cn/solutions/solutions-warehouse-visual-perception"},{"label":"无人机视觉感知","href":"https://www.mrdvs.cn/solutions/solutions-drones"}]},{"header":"联系我们","items":[{"label":"关于 MRDVS","href":"/about"},{"label":"售前咨询","href":"https://work.weixin.qq.com/ca/cawcde978188b336f1"},{"label":"电话:400-025-6680","href":"/contact"},{"label":"[email protected]","href":"mailto:[email protected]"}]}]},"seo":{"metatags":{"canonical":"https://docs.mrdvs.com","google-site-verification":"paNq6FdXn6w3vlYqGqsx4YFtZgIyoE54Ya803O0ilNM","baidu-site-verification":"codeva-aVWshvu4wM","msvalidate.01":"79667988DD5B77655E355B82AFD283E3"}},"icons":{"library":"fontawesome"},"styling":{"eyebrows":"section","latex":false},"integrations":{"clarity":{"projectId":"xmhznno359"},"ga4":{"measurementId":"G-0F8Q5CXHX4"}},"errors":{"404":{"redirect":false}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"interaction":{"drilldown":false},"navigation":{"languages":[{"language":"zh-CN","default":true,"footer":{"socials":{"github":"https://github.com/Lanxin-MRDVS/CameraSDK","linkedin":"https://www.linkedin.com/company/mrdvs","youtube":"https://www.youtube.com/@MRDVS-2024","website":"https://www.mrdvs.cn/"},"links":[{"header":"产品","items":[{"label":"S 系列3D相机","href":"https://www.mrdvs.cn/product/3d-obstacle-avoidance-cameras-s-series"},{"label":"M 系列3D相机","href":"https://www.mrdvs.cn/product/m-series"},{"label":"V 系列导航模组","href":"https://www.mrdvs.cn/product/v-series"}]},{"header":"解决方案","items":[{"label":"移动机器人视觉","href":"https://www.mrdvs.cn/solutions/solutions-industrial-mobile-robot"},{"label":"仓储物流自动化","href":"https://www.mrdvs.cn/solutions/solutions-warehouse-visual-perception"},{"label":"无人机视觉感知","href":"https://www.mrdvs.cn/solutions/solutions-drones"}]},{"header":"联系我们","items":[{"label":"关于 MRDVS","href":"/about"},{"label":"售前咨询","href":"https://work.weixin.qq.com/ca/cawcde978188b336f1"},{"label":"电话:400-025-6680","href":"/contact"},{"label":"[email protected]","href":"mailto:[email protected]"},{"label":"浙ICP备2023021387号-2","href":"https://beian.miit.gov.cn/"}]}]},"navbar":{"links":[{"icon":{"style":"brands","name":"github"},"href":"https://github.com/Lanxin-MRDVS","label":"GitHub"},{"icon":"/images/favicon.png","href":"https://www.mrdvs.cn/","label":"MRDVS"}],"primary":{"type":"button","label":"联系我们","href":"https://work.weixin.qq.com/ca/cawcde978188b336f1"}},"href":""},{"language":"en","footer":{"socials":{"github":"https://github.com/Lanxin-MRDVS/CameraSDK","linkedin":"https://www.linkedin.com/company/mrdvs","youtube":"https://www.youtube.com/@MRDVS-2024","website":"https://mrdvs.com/"},"links":[{"header":"Products","items":[{"label":"S Series 3D Cameras","href":"https://mrdvs.com/s-series-obstacle-avoidance-robot-cameras"},{"label":"M Series 3D Cameras","href":"https://mrdvs.com/m-series-time-of-flight-camera"},{"label":"V Series Localization","href":"https://mrdvs.com/v2-pro-rtls-slam-solution"}]},{"header":"Solutions","items":[{"label":"Mobile Robot Vision","href":"https://mrdvs.com/humanoids-quadrupeds-robots"},{"label":"Warehouse \u0026 Logistics","href":"https://mrdvs.com/vision-guided-robotics"},{"label":"Lawn Mower Perception","href":"https://mrdvs.com/solid-state-lidar-vision-fusion"}]},{"header":"Contact Us","items":[{"label":"About MRDVS","href":"/en/about"},{"label":"WhatsApp","href":"https://wa.me/8613370882355"},{"label":"[email protected]","href":"mailto:[email protected]"}]}]},"navbar":{"links":[{"icon":{"style":"brands","name":"github"},"href":"https://github.com/Lanxin-MRDVS","label":"GitHub"},{"icon":"/images/favicon.png","href":"https://mrdvs.com/","label":"MRDVS"}],"primary":{"type":"button","label":"Contact Us","href":"/en/contact"}},"href":"en"},{"language":"ja","footer":{"socials":{"github":"https://github.com/Lanxin-MRDVS/CameraSDK","linkedin":"https://www.linkedin.com/company/mrdvs","youtube":"https://www.youtube.com/@MRDVS-2024","website":"https://mrdvs.com/"},"links":[{"header":"製品","items":[{"label":"Sシリーズ3Dカメラ","href":"https://mrdvs.com/s-series-obstacle-avoidance-robot-cameras"},{"label":"Mシリーズ3Dカメラ","href":"https://mrdvs.com/m-series-time-of-flight-camera"},{"label":"Vシリーズローカライゼーション","href":"https://mrdvs.com/v2-pro-rtls-slam-solution"}]},{"header":"ソリューション","items":[{"label":"モバイルロボットビジョン","href":"https://mrdvs.com/humanoids-quadrupeds-robots"},{"label":"倉庫・物流","href":"https://mrdvs.com/vision-guided-robotics"},{"label":"芝刈り機向け認識","href":"https://mrdvs.com/solid-state-lidar-vision-fusion"}]},{"header":"お問い合わせ","items":[{"label":"MRDVSについて","href":"/ja/about"},{"label":"WhatsApp","href":"https://wa.me/8613370882355"},{"label":"[email protected]","href":"mailto:[email protected]"}]}]},"navbar":{"links":[{"icon":{"style":"brands","name":"github"},"href":"https://github.com/Lanxin-MRDVS","label":"GitHub"},{"icon":"/images/favicon.png","href":"https://mrdvs.com/","label":"MRDVS"}],"primary":{"type":"button","label":"お問い合わせ","href":"/ja/contact"}},"href":"ja"},{"language":"ko","footer":{"socials":{"github":"https://github.com/Lanxin-MRDVS/CameraSDK","linkedin":"https://www.linkedin.com/company/mrdvs","youtube":"https://www.youtube.com/@MRDVS-2024","website":"https://mrdvs.com/"},"links":[{"header":"제품","items":[{"label":"S 시리즈 3D 카메라","href":"https://mrdvs.com/s-series-obstacle-avoidance-robot-cameras"},{"label":"M 시리즈 3D 카메라","href":"https://mrdvs.com/m-series-time-of-flight-camera"},{"label":"V 시리즈 위치 추정","href":"https://mrdvs.com/v2-pro-rtls-slam-solution"}]},{"header":"솔루션","items":[{"label":"이동 로봇 비전","href":"https://mrdvs.com/humanoids-quadrupeds-robots"},{"label":"창고 및 물류","href":"https://mrdvs.com/vision-guided-robotics"},{"label":"잔디깎이 로봇 인식","href":"https://mrdvs.com/solid-state-lidar-vision-fusion"}]},{"header":"문의","items":[{"label":"MRDVS 소개","href":"/ko/about"},{"label":"WhatsApp","href":"https://wa.me/8613370882355"},{"label":"[email protected]","href":"mailto:[email protected]"}]}]},"navbar":{"links":[{"icon":{"style":"brands","name":"github"},"href":"https://github.com/Lanxin-MRDVS","label":"GitHub"},{"icon":"/images/favicon.png","href":"https://mrdvs.com/","label":"MRDVS"}],"primary":{"type":"button","label":"문의하기","href":"/ko/contact"}},"href":"ko"},{"language":"vi","footer":{"socials":{"github":"https://github.com/Lanxin-MRDVS/CameraSDK","linkedin":"https://www.linkedin.com/company/mrdvs","youtube":"https://www.youtube.com/@MRDVS-2024","website":"https://mrdvs.com/"},"links":[{"header":"Sản phẩm","items":[{"label":"Camera 3D dòng S","href":"https://mrdvs.com/s-series-obstacle-avoidance-robot-cameras"},{"label":"Camera 3D dòng M","href":"https://mrdvs.com/m-series-time-of-flight-camera"},{"label":"Định vị dòng V","href":"https://mrdvs.com/v2-pro-rtls-slam-solution"}]},{"header":"Giải pháp","items":[{"label":"Thị giác robot di động","href":"https://mrdvs.com/humanoids-quadrupeds-robots"},{"label":"Kho vận \u0026 logistics","href":"https://mrdvs.com/vision-guided-robotics"},{"label":"Nhận thức cho máy cắt cỏ","href":"https://mrdvs.com/solid-state-lidar-vision-fusion"}]},{"header":"Liên hệ","items":[{"label":"Giới thiệu MRDVS","href":"/vi/about"},{"label":"WhatsApp","href":"https://wa.me/8613370882355"},{"label":"[email protected]","href":"mailto:[email protected]"}]}]},"navbar":{"links":[{"icon":{"style":"brands","name":"github"},"href":"https://github.com/Lanxin-MRDVS","label":"GitHub"},{"icon":"/images/favicon.png","href":"https://mrdvs.com/","label":"MRDVS"}],"primary":{"type":"button","label":"Liên hệ","href":"/vi/contact"}},"href":"vi"},{"language":"de","footer":{"socials":{"github":"https://github.com/Lanxin-MRDVS/CameraSDK","linkedin":"https://www.linkedin.com/company/mrdvs","youtube":"https://www.youtube.com/@MRDVS-2024","website":"https://mrdvs.com/"},"links":[{"header":"Produkte","items":[{"label":"3D-Kameras der S-Serie","href":"https://mrdvs.com/s-series-obstacle-avoidance-robot-cameras"},{"label":"3D-Kameras der M-Serie","href":"https://mrdvs.com/m-series-time-of-flight-camera"},{"label":"Lokalisierung der V-Serie","href":"https://mrdvs.com/v2-pro-rtls-slam-solution"}]},{"header":"Lösungen","items":[{"label":"Robotersicht für mobile Roboter","href":"https://mrdvs.com/humanoids-quadrupeds-robots"},{"label":"Lager und Logistik","href":"https://mrdvs.com/vision-guided-robotics"},{"label":"Wahrnehmung für Rasenmäher","href":"https://mrdvs.com/solid-state-lidar-vision-fusion"}]},{"header":"Kontakt","items":[{"label":"Über MRDVS","href":"/de/about"},{"label":"WhatsApp","href":"https://wa.me/8613370882355"},{"label":"[email protected]","href":"mailto:[email protected]"}]}]},"navbar":{"links":[{"icon":{"style":"brands","name":"github"},"href":"https://github.com/Lanxin-MRDVS","label":"GitHub"},{"icon":"/images/favicon.png","href":"https://mrdvs.com/","label":"MRDVS"}],"primary":{"type":"button","label":"Kontakt","href":"/de/contact"}},"href":"de"},{"language":"it","footer":{"socials":{"github":"https://github.com/Lanxin-MRDVS/CameraSDK","linkedin":"https://www.linkedin.com/company/mrdvs","youtube":"https://www.youtube.com/@MRDVS-2024","website":"https://mrdvs.com/"},"links":[{"header":"Prodotti","items":[{"label":"Telecamere 3D serie S","href":"https://mrdvs.com/s-series-obstacle-avoidance-robot-cameras"},{"label":"Telecamere 3D serie M","href":"https://mrdvs.com/m-series-time-of-flight-camera"},{"label":"Localizzazione serie V","href":"https://mrdvs.com/v2-pro-rtls-slam-solution"}]},{"header":"Soluzioni","items":[{"label":"Visione per robot mobili","href":"https://mrdvs.com/humanoids-quadrupeds-robots"},{"label":"Magazzino e logistica","href":"https://mrdvs.com/vision-guided-robotics"},{"label":"Percezione per rasaerba","href":"https://mrdvs.com/solid-state-lidar-vision-fusion"}]},{"header":"Contatti","items":[{"label":"Informazioni su MRDVS","href":"/it/about"},{"label":"WhatsApp","href":"https://wa.me/8613370882355"},{"label":"[email protected]","href":"mailto:[email protected]"}]}]},"navbar":{"links":[{"icon":{"style":"brands","name":"github"},"href":"https://github.com/Lanxin-MRDVS","label":"GitHub"},{"icon":"/images/favicon.png","href":"https://mrdvs.com/","label":"MRDVS"}],"primary":{"type":"button","label":"Contatti","href":"/it/contact"}},"href":"it"},{"language":"es","footer":{"socials":{"github":"https://github.com/Lanxin-MRDVS/CameraSDK","linkedin":"https://www.linkedin.com/company/mrdvs","youtube":"https://www.youtube.com/@MRDVS-2024","website":"https://mrdvs.com/"},"links":[{"header":"Productos","items":[{"label":"Cámaras 3D de la serie S","href":"https://mrdvs.com/s-series-obstacle-avoidance-robot-cameras"},{"label":"Cámaras 3D de la serie M","href":"https://mrdvs.com/m-series-time-of-flight-camera"},{"label":"Localización de la serie V","href":"https://mrdvs.com/v2-pro-rtls-slam-solution"}]},{"header":"Soluciones","items":[{"label":"Visión para robots móviles","href":"https://mrdvs.com/humanoids-quadrupeds-robots"},{"label":"Almacén y logística","href":"https://mrdvs.com/vision-guided-robotics"},{"label":"Percepción para cortacéspedes","href":"https://mrdvs.com/solid-state-lidar-vision-fusion"}]},{"header":"Contacto","items":[{"label":"Acerca de MRDVS","href":"/es/about"},{"label":"WhatsApp","href":"https://wa.me/8613370882355"},{"label":"[email protected]","href":"mailto:[email protected]"}]}]},"navbar":{"links":[{"icon":{"style":"brands","name":"github"},"href":"https://github.com/Lanxin-MRDVS","label":"GitHub"},{"icon":"/images/favicon.png","href":"https://mrdvs.com/","label":"MRDVS"}],"primary":{"type":"button","label":"Contacto","href":"/es/contact"}},"href":"es"},{"language":"ru","footer":{"socials":{"github":"https://github.com/Lanxin-MRDVS/CameraSDK","linkedin":"https://www.linkedin.com/company/mrdvs","youtube":"https://www.youtube.com/@MRDVS-2024","website":"https://mrdvs.com/"},"links":[{"header":"Продукты","items":[{"label":"3D-камеры серии S","href":"https://mrdvs.com/s-series-obstacle-avoidance-robot-cameras"},{"label":"3D-камеры серии M","href":"https://mrdvs.com/m-series-time-of-flight-camera"},{"label":"Локализация серии V","href":"https://mrdvs.com/v2-pro-rtls-slam-solution"}]},{"header":"Решения","items":[{"label":"Зрение мобильных роботов","href":"https://mrdvs.com/humanoids-quadrupeds-robots"},{"label":"Склад и логистика","href":"https://mrdvs.com/vision-guided-robotics"},{"label":"Восприятие для газонокосилок","href":"https://mrdvs.com/solid-state-lidar-vision-fusion"}]},{"header":"Связаться с нами","items":[{"label":"О MRDVS","href":"/ru/about"},{"label":"WhatsApp","href":"https://wa.me/8613370882355"},{"label":"[email protected]","href":"mailto:[email protected]"}]}]},"navbar":{"links":[{"icon":{"style":"brands","name":"github"},"href":"https://github.com/Lanxin-MRDVS","label":"GitHub"},{"icon":"/images/favicon.png","href":"https://mrdvs.com/","label":"MRDVS"}],"primary":{"type":"button","label":"Связаться с нами","href":"/ru/contact"}},"href":"ru"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"mrdvs","hasAudioNarration":false,"actualSubdomain":"mrdvs","customDomains":["docs.mrdvs.com"],"gitSource":{"type":"github","owner":"lanxin-mrdvs","repo":"mintlify_docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"collectionId":"ac0a5eca-ccf5-4877-b375-714079183569","liveDeploymentHistoryId":"6adb039170fea1df2fc69394","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adb039170fea1df2fc69394"},"feedback":{"issues":false,"thumbs":true,"edits":false,"agentFeedback":true},"entitlements":{},"buildId":"6adb039170fea1df2fc69394","clientVersion":"0.0.3965","searchFilterCounts":[{"language":"zh-CN","tag":"工业解决方案","count":22},{"language":"de","tag":"Industrielle Lösungen","count":22},{"language":"en","tag":"Industrial solutions","count":22},{"language":"es","tag":"Soluciones industriales","count":22},{"language":"it","tag":"Soluzioni industriali","count":22},{"language":"ja","tag":"産業向けソリューション","count":22},{"language":"ko","tag":"산업 솔루션","count":22},{"language":"ru","tag":"Промышленные решения","count":22},{"language":"vi","tag":"Giải pháp công nghiệp","count":22},{"language":"zh-CN","tag":"开发者中心","count":13},{"language":"zh-CN","tag":"解决方案与案例","count":13},{"language":"de","tag":"Entwickler","count":13},{"language":"de","tag":"Lösungen und Praxisbeispiele","count":13},{"language":"en","tag":"Developers","count":13},{"language":"en","tag":"Solutions and case studies","count":13},{"language":"es","tag":"Desarrolladores","count":13},{"language":"es","tag":"Soluciones y casos de uso","count":13},{"language":"it","tag":"Sviluppatori","count":13},{"language":"it","tag":"Soluzioni e casi applicativi","count":13},{"language":"ja","tag":"開発者向け","count":13},{"language":"ja","tag":"ソリューション・導入事例","count":13},{"language":"ko","tag":"개발자 센터","count":13},{"language":"ko","tag":"솔루션 및 적용 사례","count":13},{"language":"ru","tag":"Разработчикам","count":13},{"language":"ru","tag":"Решения и примеры внедрения","count":13},{"language":"vi","tag":"Nhà phát triển","count":13},{"language":"vi","tag":"Giải pháp và dự án thực tế","count":13},{"language":"zh-CN","tag":"支持与下载","count":11},{"language":"de","tag":"Support und Downloads","count":11},{"language":"en","tag":"Support and downloads","count":11},{"language":"es","tag":"Soporte y descargas","count":11},{"language":"it","tag":"Supporto e download","count":11},{"language":"ja","tag":"サポート・ダウンロード","count":11},{"language":"ko","tag":"지원 및 다운로드","count":11},{"language":"ru","tag":"Поддержка и загрузки","count":11},{"language":"vi","tag":"Hỗ trợ và tải xuống","count":11},{"language":"zh-CN","tag":"视觉硬件产品","count":10},{"language":"de","tag":"Vision-Hardware","count":10},{"language":"en","tag":"Vision hardware","count":10},{"language":"es","tag":"Hardware de visión","count":10},{"language":"it","tag":"Hardware di visione","count":10},{"language":"ja","tag":"ビジョンハードウェア","count":10},{"language":"ko","tag":"비전 하드웨어","count":10},{"language":"ru","tag":"Оборудование машинного зрения","count":10},{"language":"vi","tag":"Phần cứng thị giác","count":10},{"language":"zh-CN","tag":"智能仓储与搬运","count":8},{"language":"de","tag":"Lagerautomatisierung und Materialtransport","count":8},{"language":"en","tag":"Warehouse automation and handling","count":8},{"language":"es","tag":"Automatización de almacenes y manipulación","count":8},{"language":"it","tag":"Automazione di magazzino e movimentazione","count":8},{"language":"ja","tag":"倉庫自動化・搬送","count":8},{"language":"ko","tag":"창고 자동화 및 물류 이송","count":8},{"language":"ru","tag":"Автоматизация складов и перемещение грузов","count":8},{"language":"vi","tag":"Tự động hóa kho và vận chuyển hàng","count":8},{"language":"zh-CN","tag":"仓储物流","count":6},{"language":"de","tag":"Lager und Logistik","count":6},{"language":"en","tag":"Warehouse and logistics","count":6},{"language":"es","tag":"Almacén y logística","count":6},{"language":"it","tag":"Magazzino e logistica","count":6},{"language":"ja","tag":"倉庫・物流","count":6},{"language":"ko","tag":"창고 및 물류","count":6},{"language":"ru","tag":"Склад и логистика","count":6},{"language":"vi","tag":"Kho vận","count":6},{"language":"zh-CN","tag":"概览","count":5},{"language":"zh-CN","tag":"S 系列环境感知 3D 相机","count":5},{"language":"zh-CN","tag":"下载中心","count":5},{"language":"de","tag":"Überblick","count":5},{"language":"de","tag":"S-Serie – 3D-Kameras zur Umfelderfassung","count":5},{"language":"de","tag":"Downloads","count":5},{"language":"en","tag":"Overview","count":5},{"language":"en","tag":"S Series 3D perception cameras","count":5},{"language":"en","tag":"Downloads","count":5},{"language":"es","tag":"Descripción general","count":5},{"language":"es","tag":"Serie S – cámaras 3D de percepción del entorno","count":5},{"language":"es","tag":"Descargas","count":5},{"language":"it","tag":"Panoramica","count":5},{"language":"it","tag":"Serie S – telecamere 3D per la percezione ambientale","count":5},{"language":"it","tag":"Download","count":5},{"language":"ja","tag":"概要","count":5},{"language":"ja","tag":"Sシリーズ 環境認識3Dカメラ","count":5},{"language":"ja","tag":"ダウンロード","count":5},{"language":"ko","tag":"개요","count":5},{"language":"ko","tag":"S 시리즈 환경 인식 3D 카메라","count":5},{"language":"ko","tag":"다운로드","count":5},{"language":"ru","tag":"Обзор","count":5},{"language":"ru","tag":"Серия S — 3D-камеры восприятия среды","count":5},{"language":"ru","tag":"Загрузки","count":5},{"language":"vi","tag":"Tổng quan","count":5},{"language":"vi","tag":"Camera 3D nhận biết môi trường dòng S","count":5},{"language":"vi","tag":"Tải xuống","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"assets/styles.css","content":"#localization-select-trigger::before{background-color:currentColor;content:\"\";flex:0 0 .875rem;height:.875rem;margin-right:.125rem;-webkit-mask:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/solid/language.svg) center/contain no-repeat;mask:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/solid/language.svg) center/contain no-repeat;width:.875rem}#ask-assistant-code-block-button,#assistant-entry,#assistant-entry-mobile,#chat-assistant-sheet{display:none!important}"},{"filePath":"style.css","content":".nav-tag-pill-text[data-nav-tag]{display:inline-flex;align-items:center;font-size:.8125rem!important;font-weight:500!important;line-height:1.35!important;padding:.125rem .375rem!important;border-radius:.375rem!important;white-space:nowrap}#sidebar .nav-tag-pill,#sidebar [data-nav-tag]{border-width:0!important;border-style:none!important;outline:0!important;box-shadow:none!important}.mrdvs-discontinued,[data-nav-tag=已停产],[data-nav-tag=新品]{color:#b91c1c!important;background-color:#fef2f2!important;border:0!important}.dark .mrdvs-discontinued,.dark [data-nav-tag=已停产]{color:#fca5a5!important;background-color:#450a0a!important}[data-nav-tag=新品]{color:#854d0e!important;background-color:#fef9c3!important}.dark [data-nav-tag=新品]{color:#fde047!important;background-color:#422006!important}.mrdvs-icp-source{display:none!important}.mrdvs-icp{width:100%;grid-column:1/-1;flex-basis:100%;padding:1.25rem 0;text-align:center;font-size:.8125rem;line-height:1.8;color:#525252}.mrdvs-icp a{text-decoration:underline;text-underline-offset:3px}.dark .mrdvs-icp{color:#d4d4d4}[data-nav-tag=Discontinued]{color:#b91c1c!important;background-color:#fef2f2!important;border:0!important}[data-nav-tag=New]{color:#854d0e!important;background-color:#fef9c3!important;border:0!important}[data-nav-tag=生産終了]{color:#b91c1c!important;background-color:#fef2f2!important;border:0!important}[data-nav-tag=新製品],[data-nav-tag=단종]{color:#854d0e!important;background-color:#fef9c3!important;border:0!important}[data-nav-tag=단종]{color:#b91c1c!important;background-color:#fef2f2!important}[data-nav-tag=신제품]{color:#854d0e!important;background-color:#fef9c3!important;border:0!important}[data-nav-tag=\"Ngừng sản xuất\"]{color:#b91c1c!important;background-color:#fef2f2!important;border:0!important}[data-nav-tag=Mới]{color:#854d0e!important;background-color:#fef9c3!important;border:0!important}[data-nav-tag=Abgekündigt]{color:#b91c1c!important;background-color:#fef2f2!important;border:0!important}[data-nav-tag=Neu]{color:#854d0e!important;background-color:#fef9c3!important;border:0!important}[data-nav-tag=\"Fuori produzione\"]{color:#b91c1c!important;background-color:#fef2f2!important;border:0!important}[data-nav-tag=Novità]{color:#854d0e!important;background-color:#fef9c3!important;border:0!important}[data-nav-tag=Descatalogado]{color:#b91c1c!important;background-color:#fef2f2!important;border:0!important}[data-nav-tag=Nuevo]{color:#854d0e!important;background-color:#fef9c3!important;border:0!important}[data-nav-tag=\"Снят с производства\"]{color:#b91c1c!important;background-color:#fef2f2!important;border:0!important}[data-nav-tag=Новинка]{color:#854d0e!important;background-color:#fef9c3!important;border:0!important}html #sidebar-content a[href] .nav-tag-pill-text[data-nav-tag]{border:0 transparent!important;box-shadow:none!important}[data-nav-tag=即将发布]{color:#1d4ed8!important;background-color:#eff6ff!important;border:0!important;white-space:nowrap}.dark [data-nav-tag=即将发布]{color:#93c5fd!important;background-color:#172554!important}.mrdvs-video{width:100%;margin:1.5rem 0}.mrdvs-video-screen{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:.875rem;background:#14141c}.mrdvs-video-screen iframe,.mrdvs-video-start{position:absolute;inset:0;display:block;width:100%;height:100%;border:0}.mrdvs-video-start{padding:0;cursor:pointer;color:#fff;background:#14141c}.mrdvs-video-start img{width:100%;height:100%;margin:0;object-fit:contain;opacity:.85}.mrdvs-video-start:hover img{opacity:1}.mrdvs-video-start:focus-visible{outline:3px solid #60a5fa;outline-offset:-4px}.mrdvs-video-label,.mrdvs-video-play{position:absolute;left:50%;background:rgb(20 20 28/88%)}.mrdvs-video-play{top:50%;display:grid;place-items:center;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;font-size:25px;padding-left:4px}.mrdvs-video-label{bottom:16px;transform:translateX(-50%);padding:4px 12px;border-radius:6px;font-size:14px;white-space:nowrap}.mrdvs-video figcaption{display:flex;justify-content:space-between;gap:.5rem 1rem;flex-wrap:wrap;margin-top:.6rem;font-size:14px;line-height:1.6}.mrdvs-video figcaption a{flex-shrink:0}.mrdvs-legacy-manual td p,.mrdvs-legacy-manual th p{margin:.25rem 0}[data-nav-tag=\"Coming soon\"],[data-nav-tag=\"In arrivo\"],[data-nav-tag=\"Sắp ra mắt\"],[data-nav-tag=\"출시 예정\"],[data-nav-tag=Demnächst],[data-nav-tag=Próximamente],[data-nav-tag=Скоро],[data-nav-tag=近日発売]{color:#1d4ed8!important;background-color:#eff6ff!important;border:0!important;white-space:nowrap}.dark [data-nav-tag=\"Coming soon\"],.dark [data-nav-tag=\"In arrivo\"],.dark [data-nav-tag=\"Sắp ra mắt\"],.dark [data-nav-tag=\"출시 예정\"],.dark [data-nav-tag=Demnächst],.dark [data-nav-tag=Próximamente],.dark [data-nav-tag=Скоро],.dark [data-nav-tag=近日発売]{color:#93c5fd!important;background-color:#172554!important}.mrdvs-youtube{min-height:200px;border:0}.mrdvs-product-family [data-component-part=card-image]{width:100%;height:auto;aspect-ratio:2/1;max-height:180px;object-fit:cover;object-position:center 70%}.mrdvs-product-family [data-component-part=card-content-container]{padding:14px 16px 16px}.mrdvs-product-family [data-component-part=card-content]{font-size:15px;line-height:1.6}.frame[data-name=frame]:has(img):not(:has(video,iframe)){padding:0;background:0 0;margin-top:1.5rem;margin-bottom:1.5rem}.frame[data-name=frame]:has(img):not(:has(video,iframe))>.absolute{display:none}.frame[data-name=frame]:has(img):not(:has(video,iframe)) img{max-width:100%;height:auto}.frame:has(.mrdvs-product-hero){max-width:560px;margin-left:auto;margin-right:auto}.frame .mrdvs-product-hero img{width:auto;max-height:360px;object-fit:contain}.frame:has(.mrdvs-imaging-demo){max-width:520px;margin-left:auto;margin-right:auto}#navbar .navbar-link a{background:0 0;color:#526079;box-shadow:none;border:0;padding:6px 0;border-radius:0}#navbar .navbar-link a:hover{color:#1248b8}#navbar .navbar-link a svg[style*=mask-image]{background-color:currentColor}#navbar .navbar-link a:focus-visible{outline:2px solid #1248b8;outline-offset:3px}#navbar #search-bar-entry{height:40px;border-radius:10px;background:#f8fafc}#navbar #topbar-cta-button a{min-height:36px;padding:7px 14px;color:#334155}#navbar #topbar-cta-button a>span{background:0 0;border:1px solid #d7dee8;border-radius:8px;box-shadow:none}#navbar #topbar-cta-button a .text-white{color:inherit}#navbar #topbar-cta-button a svg{display:none}#navbar #topbar-cta-button a:hover>span{background:#f4f7fb;border-color:#aebbd0}.dark #navbar #topbar-cta-button a,.dark #navbar .navbar-link a{color:#cbd5e1}.dark #navbar #search-bar-entry{background:#18202c}.dark #navbar #topbar-cta-button a>span{border-color:#475569}.dark #navbar #topbar-cta-button a:hover>span{background:#1e293b}@media (min-width:1024px){#navbar div:has(>a>.nav-logo){flex:0 0 auto}#navbar div:has(>#search-bar-entry){flex:1 1 360px;max-width:560px;min-width:120px;margin-left:auto}#navbar div:has(>nav[aria-label=Main]){flex:0 0 auto;margin-left:auto}#navbar nav[aria-label=Main]>ul{gap:20px}#navbar nav[aria-label=Main]>ul>:not([hidden])~:not([hidden]){margin-inline-start:0}#navbar div:has(>.nav-tabs){background:#f4f8ff;border-top:1px solid #eaf2ff;border-bottom:1px solid #e5efff}.dark #navbar div:has(>.nav-tabs){background:#141c2a;border-color:#263347}#content-container>div:has(>#content-area){padding-top:24px}#sidebar-content .pt-10{padding-top:24px}#sidebar-content div:has(>#navigation-items)>.sticky:first-child{height:24px}#content-side-layout{top:calc(var(--mintlify-slot-header-height, calc(4rem + var(--topbar-tabs-height, 0rem))) + var(--banner-height, 0px) + 24px)}}"}],"page":{"pagePath":"es/developers/deployment/algorithm-detection","slug":"/es/developers/deployment/algorithm-detection","pageMetadata":{"title":"Implementar algoritmos de detección e integrar resultados","sidebarTitle":"Implementación de algoritmos de detección","description":"Implementa algoritmos de detección humana, de ubicaciones de almacenamiento y de volumen, configura los parámetros extrínsecos y los parámetros de la cámara y recupera resultados mediante TCP, UDP, HTTP o Modbus TCP.","href":"/es/developers/deployment/algorithm-detection"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Implementa algoritmos de detección humana, de ubicaciones de almacenamiento y de volumen, configura los parámetros extrínsecos y los parámetros de la cámara y recupera resultados mediante TCP, UDP, HTTP o Modbus TCP.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,Heading,Info,Note,ParamField,ResponseField,Step,Steps,Tab,Table,Tabs,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Note)_missingMdxReference(`Note`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Esta guía cubre la implementación, calibración, configuración e integración de resultados de los algoritmos MRDVS de detección humana, de ubicaciones de almacenamiento y de volumen. El algoritmo se ejecuta en la cámara; la aplicación host del algoritmo se utiliza para la configuración, las actualizaciones y la inspección de resultados.`}),`\n`,_jsx(Info,{children:_jsx(_components.p,{children:`El firmware del algoritmo y la aplicación host del algoritmo se entregan por proyecto. Antes de instalar el firmware del algoritmo, confirma que la cámara ejecute una versión de firmware MDS. Obtén un paquete de instalación que coincida con el proyecto y el modelo de cámara.`})}),`\n`,_jsx(Heading,{level:`2`,id:`alcance-compatible`,children:`Alcance compatible`}),`\n`,_jsx(Heading,{level:`3`,id:`componentes-del-sistema`,children:`Componentes del sistema`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Componente`}),_jsx(_components.th,{children:`Función`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Cámara 3D`}),_jsx(_components.td,{children:`Captura imágenes RGB y nubes de puntos y ejecuta el algoritmo de detección en la cámara.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Aplicación host del algoritmo`}),_jsx(_components.td,{children:`Configura algoritmos, calibra parámetros extrínsecos, muestra resultados y actualiza el firmware del algoritmo.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`PC industrial o sistema de nivel superior`}),_jsx(_components.td,{children:`Ejecuta la aplicación host o lee resultados mediante una interfaz de red.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`LiDAR`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`mid360`}),`, utilizado para la configuración de la solución original basada en radar.`]})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`algoritmos-y-cámaras`,children:`Algoritmos y cámaras`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Algoritmo`}),_jsx(_components.th,{children:`Cámara compatible`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Detección humana`}),_jsx(_components.td,{children:`M4 Pro`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Detección de ubicaciones de almacenamiento`}),_jsx(_components.td,{children:`S10 Pro`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Detección de volumen`}),_jsx(_components.td,{children:`S10 y S10 Pro`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Para obtener información del producto, consulta la `,_jsx(_components.a,{href:`/es/products/s-series/s10-overview`,children:`página del producto de la cámara 3D S10`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`entorno-de-la-aplicación-host`,children:`Entorno de la aplicación host`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Elemento`}),_jsx(_components.th,{children:`Configuración recomendada`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Sistema operativo`}),_jsx(_components.td,{children:`Windows 10 o posterior`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`CPU`}),_jsx(_components.td,{children:`Intel® Core™ i5 (7.ª generación) o posterior`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Memoria`}),_jsx(_components.td,{children:`8 GB o más`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`GPU`}),_jsx(_components.td,{children:`Intel® UHD Graphics o una GPU integrada o discreta de mayor rendimiento`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`implementación-de-hardware-y-red`,children:`Implementación de hardware y red`}),`\n`,_jsx(Heading,{level:`3`,id:`instalar-la-cámara`,children:`Instalar la cámara`}),`\n`,_jsx(_components.p,{children:`Usa un soporte rígido para evitar movimientos o vibraciones después de la instalación. La detección humana normalmente utiliza una instalación horizontal o una instalación con un ángulo no superior a 30°.`}),`\n`,_jsx(Heading,{level:`3`,id:`conectar-los-dispositivos`,children:`Conectar los dispositivos`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Conectar la alimentación y la red`,children:_jsx(_components.p,{children:`Alimenta la cámara con una fuente regulada de 24 V DC. Usa un cable Cat6A o Cat7 para conectar la cámara a un switch gigabit o a un controlador.`})}),_jsx(Step,{title:`Implementar varias cámaras`,children:_jsx(_components.p,{children:`Instala cada cámara a la altura y en la posición especificadas en el plano CAD. Conecta todas las cámaras mediante un switch gigabit y verifica el estado de alimentación y de enlace de cada una.`})}),_jsx(Step,{title:`Preparar los objetivos de prueba`,children:_jsx(_components.p,{children:`Coloca en la vista de la cámara las personas, los palés o las mercancías que se van a detectar antes de calibrar los parámetros extrínsecos y configurar las regiones.`})})]}),`\n`,_jsx(Heading,{level:`3`,id:`configurar-la-red-del-host`,children:`Configurar la red del host`}),`\n`,_jsx(_components.p,{children:`Coloca el ordenador host y la cámara en la misma subred. El ejemplo original utiliza el siguiente plan:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Elemento`}),_jsx(_components.th,{children:`Ejemplo`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Dirección IP del host`}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`192.168.100.xxx`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Máscara de subred`}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`255.255.255.0`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Puerta de enlace predeterminada`}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`192.168.100.1`})})]})]})]}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Abrir la configuración del adaptador`,children:_jsxs(_components.p,{children:[`En Windows, abre `,_jsx(_components.strong,{children:`Panel de control → Centro de redes y recursos compartidos → Cambiar configuración del adaptador`}),` y selecciona el adaptador Ethernet conectado a la cámara.`]})}),_jsx(Step,{title:`Configurar IPv4`,children:_jsxs(_components.p,{children:[`Abre `,_jsx(_components.strong,{children:`Protocolo de Internet versión 4 (TCP/IPv4)`}),`, selecciona `,_jsx(_components.strong,{children:`Usar la siguiente dirección IP`}),` e introduce una dirección estática sin utilizar en la subred de la cámara.`]})}),_jsx(Step,{title:`Confirmar la conexión`,children:_jsx(_components.p,{children:`Guarda la configuración, confirma que el enlace sea gigabit y utiliza la aplicación host para descubrir o abrir la cámara.`})})]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`No dejes el firewall desactivado en una red de producción. Si la aplicación host no puede conectarse, crea primero una regla para la aplicación o el puerto necesarios. Desactiva temporalmente el firewall solo en una red de depuración de confianza y, después, restaura la protección.`})}),`\n`,_jsx(Heading,{level:`2`,id:`instalar-y-actualizar-el-software`,children:`Instalar y actualizar el software`}),`\n`,_jsx(Heading,{level:`3`,id:`instalar-las-aplicaciones-host`,children:`Instalar las aplicaciones host`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Obtén la aplicación host de la cámara desde la página de descargas de software.`}),`\n`,_jsx(_components.li,{children:`Instala la aplicación host de la cámara fuera de la unidad del sistema.`}),`\n`,_jsxs(_components.li,{children:[`Copia los archivos de la aplicación host del algoritmo entregados para el proyecto en la carpeta `,_jsx(_components.code,{children:`Tools`}),` del directorio de la aplicación host de la cámara. Reemplaza los archivos con el mismo nombre y, después, haz doble clic en el ejecutable para iniciarlo.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Para actualizar solo la aplicación host del algoritmo, reemplaza su archivo `,_jsx(_components.code,{children:`.exe`}),` por la versión entregada.`]}),`\n`,_jsx(Heading,{level:`3`,id:`actualizar-el-firmware-del-algoritmo`,children:`Actualizar el firmware del algoritmo`}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`La cámara se reinicia durante la instalación. No desconectes la alimentación ni la red y no cierres la aplicación host. El paquete debe coincidir con el modelo de cámara, la versión de firmware MDS y el algoritmo del proyecto.`})}),`\n`,_jsxs(Tabs,{children:[_jsx(Tab,{title:`Aplicación host de la cámara`,id:`aplicaci%C3%B3n-host-de-la-c%C3%A1mara`,children:_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Inicia `,_jsx(_components.code,{children:`LxCameraViewer.exe`}),` y abre la cámara.`]}),`\n`,_jsxs(_components.li,{children:[`Selecciona `,_jsx(_components.strong,{children:`Herramientas básicas → Configuración de funciones → Actualización de firmware`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Elige el archivo de algoritmo de detección entregado y selecciona `,_jsx(_components.strong,{children:`Ejecutar`}),`.`]}),`\n`]})}),_jsx(Tab,{title:`Aplicación host del algoritmo`,id:`aplicaci%C3%B3n-host-del-algoritmo`,children:_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Selecciona la cámara de destino en la lista de dispositivos.`}),`\n`,_jsxs(_components.li,{children:[`Selecciona `,_jsx(_components.strong,{children:`Actualizar firmware`}),`, elige el archivo de algoritmo de detección y ábrelo.`]}),`\n`,_jsx(_components.li,{children:`Espera a que la cámara vuelva a aparecer en la lista de dispositivos.`}),`\n`]})})]}),`\n`,_jsx(_components.p,{children:`Cuando la cámara vuelva a aparecer después de reiniciarse, la instalación habrá terminado. Un fondo verde en la cámara dentro de la aplicación host del algoritmo indica que la cámara está conectada y que el algoritmo está disponible.`}),`\n`,_jsx(Heading,{level:`2`,id:`aplicación-host-del-algoritmo`,children:`Aplicación host del algoritmo`}),`\n`,_jsx(Heading,{level:`3`,id:`inicio-y-estado`,children:`Inicio y estado`}),`\n`,_jsxs(_components.p,{children:[`Inicia `,_jsx(_components.code,{children:`LxApplicationViewer.exe`}),`. Un icono verde en la lista de dispositivos indica que hay una cámara conectada. Selecciona un dispositivo para cambiar la vista actual entre los modos RGB y nube de puntos. Los usuarios estándar pueden ver resultados; los administradores pueden modificar los parámetros de la cámara y del algoritmo.`]}),`\n`,_jsx(Heading,{level:`3`,id:`herramientas-básicas`,children:`Herramientas básicas`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Función`}),_jsx(_components.th,{children:`Descripción`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Cambio de usuario`}),_jsx(_components.td,{children:`Cambia los niveles de permisos. Los administradores pueden configurar los parámetros de la cámara y del algoritmo.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Suelo ideal`}),_jsx(_components.td,{children:`Muestra u oculta el plano horizontal de referencia.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Suelo extrínseco`}),_jsx(_components.td,{children:`Muestra u oculta el suelo calculado a partir de la calibración extrínseca.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Caché de pantalla`}),_jsx(_components.td,{children:`Déjalo sin cambios.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Mostrar algoritmo`}),_jsx(_components.td,{children:`Muestra el algoritmo activado actualmente.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Exportar imágenes guardadas`}),_jsx(_components.td,{children:`Exporta las imágenes guardadas.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Reproducción histórica`}),_jsx(_components.td,{children:`Consulta los registros de imágenes RGB y datos ToF.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Cambiar algoritmo de aplicación`}),_jsxs(_components.td,{children:[`Elige el algoritmo que se ejecutará y, después, selecciona `,_jsx(_components.strong,{children:`Guardar y enviar`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Mostrar resultados de detección`}),_jsx(_components.td,{children:`Muestra la salida del algoritmo actual.`})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`barra-de-estado-y-reproducción`,children:`Barra de estado y reproducción`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Función`}),_jsx(_components.th,{children:`Descripción`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`RGB`}),_jsx(_components.td,{children:`Muestra la imagen RGB.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Nube de puntos`}),_jsx(_components.td,{children:`Muestra la nube de puntos.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Detener algoritmo`}),_jsx(_components.td,{children:`Detiene el algoritmo actual. No se reinicia automáticamente hasta que la cámara vuelva a encenderse.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Actualizar firmware`}),_jsx(_components.td,{children:`Abre el flujo de actualización del firmware del algoritmo.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Reiniciar cámara`}),_jsx(_components.td,{children:`Reinicia la cámara seleccionada.`})]})]})]}),`\n`,_jsx(_components.p,{children:`Cuando cambia el estado, el software guarda un fotograma RGB y los datos de la nube de puntos. Los datos de reproducción no se comparten entre algoritmos. El tiempo de reproducción utiliza el reloj interno de la cámara, no la hora del sistema del ordenador host.`}),`\n`,_jsx(_components.p,{children:`Si el fondo del dispositivo es amarillo, o es verde pero la imagen no se actualiza, activa la actualización automática para reanudar la adquisición de imágenes.`}),`\n`,_jsx(Heading,{level:`2`,id:`calibración-extrínseca`,children:`Calibración extrínseca`}),`\n`,_jsx(Heading,{level:`3`,id:`configuración-de-la-cámara`,children:`Configuración de la cámara`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Configuración`}),_jsx(_components.th,{children:`Descripción`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Nombre de la cámara`}),_jsx(_components.td,{children:`Identifica una cámara en una implementación con varias cámaras.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Modo de simulación`}),_jsx(_components.td,{children:`Función interna; déjalo desactivado.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Modo de guardado de imágenes`}),_jsx(_components.td,{children:`Guarda los datos de imagen del algoritmo en la cámara.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Modo de adquisición de imágenes`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`MDS`}),` no ocupa el acceso a la cámara. `,_jsx(_components.code,{children:`SDK`}),` sí lo ocupa; la aplicación host no puede abrir la cámara mientras se ejecuta el algoritmo.`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`x`}),`, `,_jsx(_components.code,{children:`y`}),`, `,_jsx(_components.code,{children:`z`})]}),_jsxs(_components.td,{children:[`Posición extrínseca de la cámara; `,_jsx(_components.code,{children:`z`}),` es la altura de la cámara sobre el suelo.`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`roll`}),`, `,_jsx(_components.code,{children:`pitch`}),`, `,_jsx(_components.code,{children:`yaw`})]}),_jsx(_components.td,{children:`Ángulos de orientación extrínseca de la cámara.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Suelo ideal`}),_jsx(_components.td,{children:`Conserva el valor predeterminado.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Leer configuración de la cámara`}),_jsx(_components.td,{children:`Lee la configuración actual de la cámara.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Guardar y enviar`}),_jsx(_components.td,{children:`Escribe los cambios en la cámara. Los parámetros no guardados no tienen efecto.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Calibración extrínseca`}),_jsx(_components.td,{children:`Calibra la altura y la orientación de la cámara.`})]})]})]}),`\n`,_jsxs(Tabs,{children:[_jsx(Tab,{title:`Instalación vertical`,id:`instalaci%C3%B3n-vertical`,children:_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Abre `,_jsx(_components.strong,{children:`Configuración de la cámara`}),`. Antes de la calibración, establece `,_jsx(_components.code,{children:`x`}),`, `,_jsx(_components.code,{children:`y`}),`, `,_jsx(_components.code,{children:`z`}),`, `,_jsx(_components.code,{children:`roll`}),`, `,_jsx(_components.code,{children:`pitch`}),` y `,_jsx(_components.code,{children:`yaw`}),` en `,_jsx(_components.code,{children:`0`}),` y, después, selecciona `,_jsx(_components.strong,{children:`Guardar y enviar`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Selecciona `,_jsx(_components.strong,{children:`Calibración extrínseca`}),`. Cuando la calibración termine correctamente, verifica el resultado en el panel de parámetros.`]}),`\n`]})}),_jsx(Tab,{title:`Instalación horizontal`,id:`instalaci%C3%B3n-horizontal`,children:_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Abre `,_jsx(_components.strong,{children:`Configuración de la cámara`}),` y entra en la página de calibración de parámetros.`]}),`\n`,_jsxs(_components.li,{children:[`Alinea el suelo de la nube de puntos con el sistema de coordenadas: los ejes `,_jsx(_components.code,{children:`X`}),` rojo y `,_jsx(_components.code,{children:`Y`}),` verde están sobre el suelo, mientras que el eje `,_jsx(_components.code,{children:`Z`}),` azul es perpendicular al suelo y apunta hacia arriba.`]}),`\n`,_jsxs(_components.li,{children:[`Normalmente ajusta primero solo `,_jsx(_components.code,{children:`roll`}),` y `,_jsx(_components.code,{children:`z`}),`; establece los demás valores en `,_jsx(_components.code,{children:`0`}),`. Selecciona `,_jsx(_components.strong,{children:`Guardar y enviar`}),` después de verificarlo.`]}),`\n`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`referencia-de-parámetros-del-algoritmo`,children:`Referencia de parámetros del algoritmo`}),`\n`,_jsxs(_components.p,{children:[`Selecciona `,_jsx(_components.strong,{children:`Guardar y enviar`}),` después de cambiar cualquier parámetro del algoritmo. Conserva los parámetros de filtro predeterminados salvo que una prueba en el sitio demuestre que es necesario ajustarlos.`]}),`\n`,_jsxs(Tabs,{children:[_jsxs(Tab,{title:`Detección humana`,id:`detecci%C3%B3n-humana`,children:[_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Parámetro`}),_jsx(_components.th,{children:`Descripción`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Versión del algoritmo`}),_jsx(_components.td,{children:`Versión actual del algoritmo.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Frecuencia de detección`}),_jsx(_components.td,{children:`Frecuencia de actualización de imágenes y resultados.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Filtro temporal`}),_jsxs(_components.td,{children:[`Con `,_jsx(_components.code,{children:`3`}),`, se requieren tres resultados idénticos consecutivos antes de considerar válido un resultado.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Tamaño del kernel`}),_jsx(_components.td,{children:`Tamaño del kernel para operaciones morfológicas 2D. Los valores mayores reducen los objetivos y amplían el fondo.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Umbral de distancia`}),_jsx(_components.td,{children:`Determina si los puntos son similares o pertenecen a la misma clase.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Cantidad mínima de puntos`}),_jsx(_components.td,{children:`Cantidad mínima de puntos de la nube necesaria para la agrupación semántica.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Cantidad mínima de puntos no semánticos`}),_jsx(_components.td,{children:`Cantidad mínima de puntos de la nube necesaria para la agrupación no semántica.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Tamaño del vecindario`}),_jsx(_components.td,{children:`Define el rango del vecindario de puntos y afecta a la granularidad de la agrupación.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Detección de rotación`}),_jsxs(_components.td,{children:[`Coincide con la dirección de instalación de la cámara; usa la orientación con el logotipo hacia abajo como referencia de `,_jsx(_components.code,{children:`0°`}),`.`]})]})]})]}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Parámetro de región`}),_jsx(_components.th,{children:`Descripción`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Añadir/eliminar región`}),_jsx(_components.td,{children:`Crea o elimina una región de detección humana.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Cuadro actual`}),_jsx(_components.td,{children:`Selecciona la región de detección activa.`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`X`}),`, `,_jsx(_components.code,{children:`Y`}),`, `,_jsx(_components.code,{children:`Z`}),` mínimos/máximos`]}),_jsx(_components.td,{children:`Define los límites 3D de la región.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Arrastrar para ajustar la región`}),_jsxs(_components.td,{children:[`Arrastra con el botón izquierdo del ratón a lo largo de `,_jsx(_components.code,{children:`x`}),` e `,_jsx(_components.code,{children:`y`}),`; arrastra con el botón derecho a lo largo de `,_jsx(_components.code,{children:`z`}),`.`]})]})]})]})]}),_jsxs(Tab,{title:`Detección de ubicaciones de almacenamiento`,id:`detecci%C3%B3n-de-ubicaciones-de-almacenamiento`,children:[_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Parámetro`}),_jsx(_components.th,{children:`Descripción`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Versión del algoritmo`}),_jsx(_components.td,{children:`Versión actual del algoritmo.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Filtro AI`}),_jsx(_components.td,{children:`Segmentación semántica; actualmente no disponible.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Frecuencia de detección`}),_jsx(_components.td,{children:`Frecuencia de actualización de resultados.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Ángulo de alineación`}),_jsx(_components.td,{children:`Desviación angular máxima permitida de la carga cuando la comprobación de alineación está activada.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Comprobación de alineación`}),_jsx(_components.td,{children:`Comprueba la desviación angular y el estado de los límites. Los objetos detectados se muestran con cajas de volumen amarillas.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Filtro temporal`}),_jsx(_components.td,{children:`Emite un estado válido solo después de varios resultados consecutivos coherentes.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Cantidad mínima de puntos`}),_jsx(_components.td,{children:`Los objetos con menos puntos que este valor se ignoran.`})]})]})]}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Modo de región`}),_jsx(_components.th,{children:`Configuración`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`RGB 2D`}),_jsx(_components.td,{children:`Usa los píxeles X e Y mínimos y máximos para definir la ubicación de almacenamiento. Se requieren el modo semántico y un modelo semántico.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Nube de puntos 3D`}),_jsxs(_components.td,{children:[`Usa X, Y y Z mínimos y máximos para definir la ubicación. Arrastra con el botón izquierdo del ratón a lo largo de `,_jsx(_components.code,{children:`x`}),` e `,_jsx(_components.code,{children:`y`}),`, o con el botón derecho a lo largo de `,_jsx(_components.code,{children:`z`}),`.`]})]})]})]}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Función avanzada`}),_jsx(_components.th,{children:`Descripción`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Copiar cuadro actual`}),_jsx(_components.td,{children:`Copia la región de ubicación de almacenamiento activa.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Dirección, espaciado, cantidad`}),_jsxs(_components.td,{children:[`Define copias espaciadas uniformemente a lo largo del eje `,_jsx(_components.code,{children:`X`}),`, `,_jsx(_components.code,{children:`Y`}),` o `,_jsx(_components.code,{children:`Z`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Ejecutar`}),_jsx(_components.td,{children:`Genera varias regiones a partir de la configuración.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Calibración con código QR`}),_jsxs(_components.td,{children:[`Introduce la anchura, la longitud, `,_jsx(_components.code,{children:`Z_MIN`}),` y `,_jsx(_components.code,{children:`Z_MAX`}),` de la ubicación y, después, calibra con un código QR.`]})]})]})]})]}),_jsxs(Tab,{title:`Detección de volumen`,id:`detecci%C3%B3n-de-volumen`,children:[_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Parámetro`}),_jsx(_components.th,{children:`Descripción`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Versión del algoritmo`}),_jsx(_components.td,{children:`Versión actual del algoritmo.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Modo de activación`}),_jsx(_components.td,{children:`Cuando está activado, adquiere una imagen y un resultado por cada activación.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Detección ascendente`}),_jsx(_components.td,{children:`Detecta mediante el sistema de coordenadas inverso de la cámara.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Frecuencia de detección`}),_jsx(_components.td,{children:`Frecuencia de actualización de imágenes y resultados.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Distancia del plano de detección`}),_jsx(_components.td,{children:`Posición de referencia de la superficie inferior del objeto, en mm.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Cantidad de vecinos/umbral de distancia`}),_jsx(_components.td,{children:`Parámetros de filtro; conserva los valores predeterminados en la mayoría de las implementaciones.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Umbral de filtro de vectores normales`}),_jsxs(_components.td,{children:[`Filtra planos inclinados de la nube de puntos. La recomendación original es `,_jsx(_components.code,{children:`60`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Umbral de distancia de vectores normales`}),_jsxs(_components.td,{children:[`Parámetro de filtro. El rango recomendado originalmente es `,_jsx(_components.code,{children:`20–30`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Cantidad mínima de puntos`}),_jsx(_components.td,{children:`Los objetos con menos puntos que este valor se ignoran.`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`X`}),`, `,_jsx(_components.code,{children:`Y`}),`, `,_jsx(_components.code,{children:`Z`}),` mínimos`]}),_jsx(_components.td,{children:`Umbrales mínimos de longitud, anchura y altura, en mm.`})]})]})]}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Parámetro de región`}),_jsx(_components.th,{children:`Descripción`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`X`}),`, `,_jsx(_components.code,{children:`Y`}),`, `,_jsx(_components.code,{children:`Z`}),` mínimos/máximos`]}),_jsx(_components.td,{children:`Define los límites 3D de la región de detección de volumen.`})]})})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`implementar-un-algoritmo`,children:`Implementar un algoritmo`}),`\n`,_jsx(_components.p,{children:`Cambia al modo de nube de puntos y desplázate sobre el área de imagen para mostrar los datos de la nube de puntos.`}),`\n`,_jsx(Heading,{level:`3`,id:`detección-humana`,children:`Detección humana`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Calibrar una instalación horizontal`,children:_jsxs(_components.p,{children:[`Alinea los ejes `,_jsx(_components.code,{children:`X`}),` e `,_jsx(_components.code,{children:`Y`}),` con la nube de puntos del suelo. El eje `,_jsx(_components.code,{children:`Z`}),` debe ser perpendicular al suelo y apuntar hacia arriba.`]})}),_jsx(Step,{title:`Configurar los parámetros globales`,children:_jsxs(_components.p,{children:[`Abre `,_jsx(_components.strong,{children:`Detección humana`}),`. Normalmente solo es necesario configurar `,_jsx(_components.strong,{children:`Detección de rotación`}),`. La rotación horaria de la cámara admite `,_jsx(_components.code,{children:`0°`}),`, `,_jsx(_components.code,{children:`90°`}),`, `,_jsx(_components.code,{children:`180°`}),` y `,_jsx(_components.code,{children:`270°`}),`.`]})}),_jsx(Step,{title:`Crear la región de detección`,children:_jsxs(_components.p,{children:[`Selecciona `,_jsx(_components.strong,{children:`Añadir región de detección`}),`, establece los valores `,_jsx(_components.code,{children:`X`}),`, `,_jsx(_components.code,{children:`Y`}),` y `,_jsx(_components.code,{children:`Z`}),` mínimos y máximos y mueve la región sobre el objetivo. El ejemplo original utiliza una región de `,_jsx(_components.code,{children:`1000 × 1000 × 2000 mm`}),`.`]})}),_jsx(Step,{title:`Guardar y verificar`,children:_jsxs(_components.p,{children:[`Selecciona `,_jsx(_components.strong,{children:`Guardar y enviar`}),`, ejecuta una prueba de paso de una persona por el área y verifica el resultado en la barra de estado o en la reproducción histórica.`]})})]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Regla de coincidencia`}),_jsx(_components.th,{children:`Sin persona`}),_jsx(_components.th,{children:`Persona`}),_jsx(_components.th,{children:`Obstáculo`}),_jsx(_components.th,{children:`Persona y obstáculo`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Solo profundidad`}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`0`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`2`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`2`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`2`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Semántica más profundidad`}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`0`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`1`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`0`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`1`})})]})]})]}),`\n`,_jsx(_components.p,{children:`El modo de solo profundidad informa de todos los objetos de la región. El modo semántica más profundidad solo informa de los grupos clasificados como personas.`}),`\n`,_jsx(Heading,{level:`3`,id:`detección-de-ubicaciones-de-almacenamiento`,children:`Detección de ubicaciones de almacenamiento`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Calibrar la cámara`,children:_jsxs(_components.p,{children:[`Sigue el procedimiento de calibración extrínseca. Alinea `,_jsx(_components.code,{children:`X`}),` e `,_jsx(_components.code,{children:`Y`}),` con el suelo y mantén `,_jsx(_components.code,{children:`Z`}),` perpendicular y apuntando hacia arriba.`]})}),_jsx(Step,{title:`Configurar los parámetros globales`,children:_jsxs(_components.p,{children:[`Configura `,_jsx(_components.strong,{children:`Comprobación de alineación`}),`, `,_jsx(_components.strong,{children:`Ángulo de alineación`}),` y `,_jsx(_components.strong,{children:`Cantidad mínima de puntos`}),` para el sitio. Activa la comprobación de alineación cuando la carga deba colocarse con un ángulo definido.`]})}),_jsx(Step,{title:`Crear ubicaciones de almacenamiento`,children:_jsxs(_components.p,{children:[`En el modo de nube de puntos, selecciona `,_jsx(_components.strong,{children:`Añadir ubicación de almacenamiento`}),`, cambia a la vista superior y pulsa `,_jsx(_components.code,{children:`X`}),` para iniciar o detener el dibujo. Arrastra el rectángulo sobre el palé y ajusta los límites `,_jsx(_components.code,{children:`X`}),`, `,_jsx(_components.code,{children:`Y`}),` y `,_jsx(_components.code,{children:`Z`}),`. Pulsa `,_jsx(_components.code,{children:`X`}),` de nuevo para salir del modo de dibujo.`]})}),_jsx(Step,{title:`Guardar y verificar`,children:_jsxs(_components.p,{children:[`Selecciona `,_jsx(_components.strong,{children:`Guardar y enviar`}),`. Configura las ubicaciones en el modo RGB 2D o nube de puntos 3D y comprueba `,_jsx(_components.code,{children:`Resultado`}),` en la barra de estado.`]})})]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Estado de la ubicación de almacenamiento`}),_jsx(_components.th,{children:_jsx(_components.code,{children:`Resultado`})})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Vacía`}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`0`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Ocupada, u ocupada y alineada`}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`1`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Ocupada con un ángulo superior al umbral de alineación`}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`2`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Ocupada y fuera de los límites de la ubicación`}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`3`})})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Para una disposición regular, utiliza `,_jsx(_components.strong,{children:`Copiar cuadro actual`}),` para crear ubicaciones con una dirección y un espaciado fijos. Si se requiere verificación mediante código QR, usa `,_jsx(_components.strong,{children:`Calibración con código QR`}),` para configurar las dimensiones de la ubicación y el rango de profundidad.`]}),`\n`,_jsx(Heading,{level:`3`,id:`detección-de-volumen`,children:`Detección de volumen`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Calibrar una instalación vertical`,children:_jsxs(_components.p,{children:[`La detección de volumen funciona de arriba hacia abajo. Después de la calibración, el eje `,_jsx(_components.code,{children:`Z`}),` apunta hacia abajo y el plano `,_jsx(_components.code,{children:`X`}),`/`,_jsx(_components.code,{children:`Y`}),` es paralelo al suelo.`]})}),_jsx(Step,{title:`Configurar el plano de detección`,children:_jsx(_components.p,{children:`Para mercancías colocadas directamente en el suelo, establece el plano de detección a la altura del suelo. Para medir solo mercancías sobre un palé, alinea el plano con la nube de puntos del palé.`})}),_jsx(Step,{title:`Configurar las dimensiones mínimas y la región`,children:_jsxs(_components.p,{children:[`Establece los valores mínimos de `,_jsx(_components.code,{children:`X`}),`, `,_jsx(_components.code,{children:`Y`}),` y `,_jsx(_components.code,{children:`Z`}),` para filtrar objetivos pequeños. Después, configura los límites de la región según el plano de detección y las dimensiones de la carga.`]})}),_jsx(Step,{title:`Guardar y verificar`,children:_jsxs(_components.p,{children:[`Selecciona `,_jsx(_components.strong,{children:`Guardar y enviar`}),`, coloca uno o varios objetos en la región y verifica la longitud, la anchura, la altura y la cantidad devueltas.`]})})]}),`\n`,_jsxs(_components.p,{children:[`Para utilizar la adquisición de una sola activación, activa `,_jsx(_components.strong,{children:`Modo de activación`}),` en `,_jsx(_components.strong,{children:`Detección de volumen`}),` y selecciona `,_jsx(_components.strong,{children:`Guardar y enviar`}),`. Después, selecciona `,_jsx(_components.strong,{children:`Activación única`}),` en `,_jsx(_components.strong,{children:`Herramientas básicas`}),` o envía `,_jsx(_components.code,{children:`TM_TRIGGER`}),` mediante TCP o UDP.`]}),`\n`,_jsx(Heading,{level:`2`,id:`interfaces-de-comunicación`,children:`Interfaces de comunicación`}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`La dirección IP de los ejemplos es ilustrativa. Reemplázala por la dirección de la cámara en el sitio y, después, verifica la red, el estado del algoritmo y el formato de los resultados antes de integrarlos con un sistema de nivel superior.`})}),`\n`,_jsx(Heading,{level:`3`,id:`métodos-de-transporte`,children:`Métodos de transporte`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Protocolo`}),_jsx(_components.th,{children:`Puerto`}),_jsx(_components.th,{children:`Solicitud`}),_jsx(_components.th,{children:`Uso`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`TCP`}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`14951`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`RESULT_UPDATE`})}),_jsx(_components.td,{children:`Obtiene el resultado actual del algoritmo.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`UDP`}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`14950`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`RESULT_UPDATE`})}),_jsx(_components.td,{children:`Obtiene el resultado actual del algoritmo.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`HTTP`}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`14952`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`RESULT_UPDATE`})}),_jsx(_components.td,{children:`Obtiene el resultado del algoritmo como JSON.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`TCP/UDP`}),_jsx(_components.td,{children:`Puerto de resultados`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`TM_TRIGGER`})}),_jsx(_components.td,{children:`Ejecuta una detección de volumen activada y devuelve el resultado.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Modbus TCP`}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`16502`})}),_jsx(_components.td,{children:`Leer registros de retención`}),_jsx(_components.td,{children:`Lee el estado de las ubicaciones de almacenamiento.`})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`solicitud-de-resultados-http`,children:`Solicitud de resultados HTTP`}),`\n`,_jsx(_components.p,{children:`El sistema de nivel superior envía una solicitud de resultados al endpoint de visión, que devuelve una cadena JSON. Utiliza en tu cliente HTTP las cabeceras de solicitud entregadas para el proyecto y el siguiente cuerpo de solicitud.`}),`\n`,_jsx(ParamField,{body:`command`,default:`RESULT_UPDATE`,type:`string`,required:true,id:`param-command`,children:_jsx(_components.p,{children:`Activa la cámara para que devuelva el resultado actual del algoritmo.`})}),`\n`,_jsx(Heading,{level:`3`,id:`campos-de-respuesta-comunes`,children:`Campos de respuesta comunes`}),`\n`,_jsx(ResponseField,{name:`IP`,type:`string`,required:true,id:`param-ip`,children:_jsx(_components.p,{children:`Dirección IP de la cámara que generó los datos.`})}),`\n`,_jsx(ResponseField,{name:`nick_name`,type:`string`,required:true,id:`param-nick-name`,children:_jsx(_components.p,{children:`Nombre de la cámara; cámbialo en la configuración de la cámara.`})}),`\n`,_jsx(ResponseField,{name:`ret_code`,type:`integer`,required:true,id:`param-ret-code`,children:_jsxs(_components.p,{children:[`Código de retorno; `,_jsx(_components.code,{children:`0`}),` indica éxito.`]})}),`\n`,_jsxs(Tabs,{children:[_jsxs(Tab,{title:`Detección humana (SG)`,id:`detecci%C3%B3n-humana-sg`,children:[_jsx(ResponseField,{name:`SG`,type:`object`,required:true,id:`param-sg`,children:_jsxs(_components.p,{children:[`Objeto de estado indexado por el ID de la región de detección: `,_jsx(_components.code,{children:`0`}),` significa que no hay objetivo, `,_jsx(_components.code,{children:`1`}),` que se ha detectado una persona y `,_jsx(_components.code,{children:`2`}),` que un objeto se ha detectado solo mediante la regla de profundidad.`]})}),_jsx(ResponseField,{name:`__object_details`,type:`string[]`,id:`param-object-details`,children:_jsx(_components.p,{children:`Detalles de los grupos. Cada elemento es una cadena JSON que debe deserializarse de nuevo.`})}),_jsx(ResponseField,{name:`SG_DATA_TIME`,type:`string`,id:`param-sg-data-time`,children:_jsx(_components.p,{children:`Marca de tiempo de los datos de detección humana.`})}),_jsx(ResponseField,{name:`SG_RES_TIME`,type:`string`,id:`param-sg-res-time`,children:_jsx(_components.p,{children:`Marca de tiempo del resultado de detección humana.`})}),_jsxs(_components.p,{children:[`Los detalles de los grupos incluyen `,_jsx(_components.code,{children:`rbx2d`}),`, `,_jsx(_components.code,{children:`rby2d`}),`, `,_jsx(_components.code,{children:`tlx2d`}),` y `,_jsx(_components.code,{children:`tly2d`}),` (coordenadas de la caja 2D), `,_jsx(_components.code,{children:`semantic_index`}),`, `,_jsx(_components.code,{children:`traceID`}),` y `,_jsx(_components.code,{children:`x_min`}),`, `,_jsx(_components.code,{children:`x_max`}),`, `,_jsx(_components.code,{children:`y_min`}),`, `,_jsx(_components.code,{children:`y_max`}),`, `,_jsx(_components.code,{children:`z_min`}),` y `,_jsx(_components.code,{children:`z_max`}),` (límites de la caja 3D).`]})]}),_jsxs(Tab,{title:`Detección de ubicaciones de almacenamiento (SS)`,id:`detecci%C3%B3n-de-ubicaciones-de-almacenamiento-ss`,children:[_jsx(ResponseField,{name:`SS`,type:`object`,required:true,id:`param-ss`,children:_jsxs(_components.p,{children:[`Objeto de estado indexado por el ID de ubicación: `,_jsx(_components.code,{children:`0`}),` vacía, `,_jsx(_components.code,{children:`1`}),` ocupada, `,_jsx(_components.code,{children:`2`}),` ocupada con una desviación angular y `,_jsx(_components.code,{children:`3`}),` ocupada y fuera de los límites.`]})}),_jsx(ResponseField,{name:`X__detail__info`,type:`number[]`,id:`param-x-detail-info`,children:_jsxs(_components.p,{children:[`Detalles de la ubicación `,_jsx(_components.code,{children:`X`}),`: centro `,_jsx(_components.code,{children:`x`}),`, `,_jsx(_components.code,{children:`y`}),` y `,_jsx(_components.code,{children:`z`}),`, longitud, anchura, altura y desviación angular respecto a la caja delimitadora. Una ubicación creada en 2D devuelve todos los valores como `,_jsx(_components.code,{children:`-1`}),`.`]})}),_jsx(ResponseField,{name:`SS_DATA_TIME`,type:`string`,id:`param-ss-data-time`,children:_jsx(_components.p,{children:`Marca de tiempo de los datos de la ubicación de almacenamiento.`})}),_jsx(ResponseField,{name:`SS_RES_TIME`,type:`string`,id:`param-ss-res-time`,children:_jsx(_components.p,{children:`Marca de tiempo del resultado de la ubicación de almacenamiento.`})})]}),_jsxs(Tab,{title:`Detección de volumen (TM)`,id:`detecci%C3%B3n-de-volumen-tm`,children:[_jsx(ResponseField,{name:`TM`,type:`object[]`,required:true,id:`param-tm`,children:_jsx(_components.p,{children:`Matriz de todas las cajas de volumen completas de la región de detección.`})}),_jsx(ResponseField,{name:`angle`,type:`number`,id:`param-angle`,children:_jsx(_components.p,{children:`Desviación angular de la caja de volumen.`})}),_jsx(ResponseField,{name:`cx`,type:`number`,id:`param-cx`,children:_jsxs(_components.p,{children:[`Coordenada `,_jsx(_components.code,{children:`x`}),` del centro de la caja de volumen.`]})}),_jsx(ResponseField,{name:`cy`,type:`number`,id:`param-cy`,children:_jsxs(_components.p,{children:[`Coordenada `,_jsx(_components.code,{children:`y`}),` del centro de la caja de volumen.`]})}),_jsx(ResponseField,{name:`cz`,type:`number`,id:`param-cz`,children:_jsxs(_components.p,{children:[`Coordenada `,_jsx(_components.code,{children:`z`}),` del centro de la caja de volumen.`]})}),_jsx(ResponseField,{name:`length`,type:`number`,id:`param-length`,children:_jsx(_components.p,{children:`Longitud del objeto.`})}),_jsx(ResponseField,{name:`width`,type:`number`,id:`param-width`,children:_jsx(_components.p,{children:`Anchura del objeto.`})}),_jsx(ResponseField,{name:`height`,type:`number`,id:`param-height`,children:_jsx(_components.p,{children:`Altura del objeto.`})}),_jsx(ResponseField,{name:`type`,type:`string`,id:`param-type`,children:_jsx(_components.p,{children:`Tipo semántico.`})}),_jsx(ResponseField,{name:`valid`,type:`boolean`,id:`param-valid`,children:_jsx(_components.p,{children:`Indica si el resultado es válido.`})}),_jsx(ResponseField,{name:`TM_DATA_TIME`,type:`string`,id:`param-tm-data-time`,children:_jsx(_components.p,{children:`Marca de tiempo de los datos de detección de volumen.`})}),_jsx(ResponseField,{name:`TM_RES_TIME`,type:`string`,id:`param-tm-res-time`,children:_jsx(_components.p,{children:`Marca de tiempo del resultado de detección de volumen.`})})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`ejemplo-de-respuesta-de-detección-humana`,children:`Ejemplo de respuesta de detección humana`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`12`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`12`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"IP\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"192.168.100.83\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"SG\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"2\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"__object_details\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: []`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"SG_DATA_TIME\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2023_03_02_21_52_11.408\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"SG_RES_TIME\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2023_03_02_21_52_11.689\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"nick_name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Unknown\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"ret_code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`modbus-tcp-detección-de-ubicaciones-de-almacenamiento`,children:`Modbus TCP (detección de ubicaciones de almacenamiento)`}),`\n`,_jsx(_components.p,{children:`Los resultados se ordenan por ID de ubicación de almacenamiento; como máximo se devuelven las primeras 16 ubicaciones.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Configuración`}),_jsx(_components.th,{children:`Valor`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Puerto`}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`16502`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Dirección de escucha`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`0.0.0.0`}),` (todas las interfaces de red)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Cantidad de registros`}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`16`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Dirección inicial`}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`0x0100`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Orden de bytes`}),_jsx(_components.td,{children:`Big-endian`})]})]})]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Registro`}),_jsx(_components.th,{children:`Contenido`}),_jsx(_components.th,{children:`Formato de datos`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`0x0100 + ID`})}),_jsx(_components.td,{children:`Resultados de detección de ubicación de almacenamiento y marcador`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`uint16_t`}),` de 2 bytes`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`8 bits altos`}),_jsx(_components.td,{children:`Código de estado de la ubicación de almacenamiento`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`0–2`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`8 bits bajos`}),_jsx(_components.td,{children:`Código de estado del marcador`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`0–2`}),`; esta función no está disponible actualmente, por lo que tiene el mismo significado que el código de estado de la ubicación.`]})]})]})]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Estado de la ubicación`}),_jsx(_components.th,{children:`Significado`}),_jsx(_components.th,{children:`Condición`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`0`})}),_jsx(_components.td,{children:`Vacía`}),_jsx(_components.td,{children:`No hay mercancía ni palé.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`1`})}),_jsx(_components.td,{children:`Ocupada normalmente`}),_jsx(_components.td,{children:`La mercancía está colocada según lo requerido.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`2`})}),_jsx(_components.td,{children:`Ocupada de forma anómala`}),_jsx(_components.td,{children:`El tamaño o la posición de la carga no cumplen el requisito.`})]})]})]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Estado del marcador`}),_jsx(_components.th,{children:`Significado`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`0`})}),_jsx(_components.td,{children:`Marcador no detectado.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`1`})}),_jsx(_components.td,{children:`Marcador detectado.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`2`})}),_jsx(_components.td,{children:`Error de detección del marcador.`})]})]})]}),`\n`,_jsx(Heading,{level:`4`,id:`leer-la-cuarta-ubicación-de-almacenamiento`,children:`Leer la cuarta ubicación de almacenamiento`}),`\n`,_jsxs(_components.p,{children:[`El siguiente ejemplo utiliza el ID de transacción `,_jsx(_components.code,{children:`0x0001`}),` para leer un registro de retención en la dirección `,_jsx(_components.code,{children:`0x0104`}),`. La respuesta contiene el estado `,_jsx(_components.code,{children:`0x0002`}),`.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Request: 00 01 00 00 00 06 FF 03 01 04 00 01`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Response: 00 01 00 00 00 05 FF 03 02 00 02`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Campo`}),_jsx(_components.th,{children:`Valor de solicitud`}),_jsx(_components.th,{children:`Descripción`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Identificador de transacción`}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`00 01`})}),_jsx(_components.td,{children:`Número de secuencia del cliente; la respuesta debe coincidir con él.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Identificador de protocolo`}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`00 00`})}),_jsx(_components.td,{children:`Valor fijo de Modbus/TCP.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Longitud`}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`00 06`})}),_jsx(_components.td,{children:`Cantidad de bytes de los campos de solicitud siguientes.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Identificador de unidad`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`FF`})}),_jsx(_components.td,{children:`Modo de difusión o dirección del dispositivo.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Código de función`}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`03`})}),_jsx(_components.td,{children:`Leer registros de retención.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Dirección inicial`}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`01 04`})}),_jsxs(_components.td,{\"data-numeric\":`true`,children:[_jsx(_components.code,{children:`0x0100 + 4`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Cantidad de registros`}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`00 01`})}),_jsx(_components.td,{children:`Leer un registro.`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`solución-de-problemas`,children:`Solución de problemas`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Síntoma`}),_jsx(_components.th,{children:`Comprobaciones prioritarias`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`No se encuentra la cámara`}),_jsx(_components.td,{children:`Confirma que el host y la cámara compartan una subred, que el adaptador de red sea gigabit y que los enlaces de alimentación y del switch estén en buen estado.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Los parámetros no tienen efecto`}),_jsxs(_components.td,{children:[`Confirma que se haya seleccionado `,_jsx(_components.strong,{children:`Guardar y enviar`}),` después del cambio.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`No hay resultados del algoritmo`}),_jsx(_components.td,{children:`Confirma que se haya instalado el firmware del algoritmo correcto, que el dispositivo esté en verde y que el algoritmo esté activado.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Nube de puntos vacía o desactualizada`}),_jsx(_components.td,{children:`Desplázate sobre el área de nube de puntos para mostrar los datos; activa la actualización automática si es necesario.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Resultados anómalos de ubicación o volumen`}),_jsx(_components.td,{children:`Vuelve a comprobar las direcciones de los ejes extrínsecos, el plano de detección y los límites de la región y, después, repite la prueba con objetos del sitio.`})]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Implementar algoritmos de detección e integrar resultados","sidebarTitle":"Implementación de algoritmos de detección","description":"Implementa algoritmos de detección humana, de ubicaciones de almacenamiento y de volumen, configura los parámetros extrínsecos y los parámetros de la cámara y recupera resultados mediante TCP, UDP, HTTP o Modbus TCP.","href":"/es/developers/deployment/algorithm-detection"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Alcance compatible","slug":"alcance-compatible","depth":2,"children":[{"title":"Componentes del sistema","slug":"componentes-del-sistema","depth":3,"children":[]},{"title":"Algoritmos y cámaras","slug":"algoritmos-y-cámaras","depth":3,"children":[]},{"title":"Entorno de la aplicación host","slug":"entorno-de-la-aplicación-host","depth":3,"children":[]}]},{"title":"Implementación de hardware y red","slug":"implementación-de-hardware-y-red","depth":2,"children":[{"title":"Instalar la cámara","slug":"instalar-la-cámara","depth":3,"children":[]},{"title":"Conectar los dispositivos","slug":"conectar-los-dispositivos","depth":3,"children":[]},{"title":"Configurar la red del host","slug":"configurar-la-red-del-host","depth":3,"children":[]}]},{"title":"Instalar y actualizar el software","slug":"instalar-y-actualizar-el-software","depth":2,"children":[{"title":"Instalar las aplicaciones host","slug":"instalar-las-aplicaciones-host","depth":3,"children":[]},{"title":"Actualizar el firmware del algoritmo","slug":"actualizar-el-firmware-del-algoritmo","depth":3,"children":[]}]},{"title":"Aplicación host del algoritmo","slug":"aplicación-host-del-algoritmo","depth":2,"children":[{"title":"Inicio y estado","slug":"inicio-y-estado","depth":3,"children":[]},{"title":"Herramientas básicas","slug":"herramientas-básicas","depth":3,"children":[]},{"title":"Barra de estado y reproducción","slug":"barra-de-estado-y-reproducción","depth":3,"children":[]}]},{"title":"Calibración extrínseca","slug":"calibración-extrínseca","depth":2,"children":[{"title":"Configuración de la cámara","slug":"configuración-de-la-cámara","depth":3,"children":[]}]},{"title":"Referencia de parámetros del algoritmo","slug":"referencia-de-parámetros-del-algoritmo","depth":2,"children":[]},{"title":"Implementar un algoritmo","slug":"implementar-un-algoritmo","depth":2,"children":[{"title":"Detección humana","slug":"detección-humana","depth":3,"children":[]},{"title":"Detección de ubicaciones de almacenamiento","slug":"detección-de-ubicaciones-de-almacenamiento","depth":3,"children":[]},{"title":"Detección de volumen","slug":"detección-de-volumen","depth":3,"children":[]}]},{"title":"Interfaces de comunicación","slug":"interfaces-de-comunicación","depth":2,"children":[{"title":"Métodos de transporte","slug":"métodos-de-transporte","depth":3,"children":[]},{"title":"Solicitud de resultados HTTP","slug":"solicitud-de-resultados-http","depth":3,"children":[]},{"title":"Campos de respuesta comunes","slug":"campos-de-respuesta-comunes","depth":3,"children":[]},{"title":"Ejemplo de respuesta de detección humana","slug":"ejemplo-de-respuesta-de-detección-humana","depth":3,"children":[]},{"title":"Modbus TCP (detección de ubicaciones de almacenamiento)","slug":"modbus-tcp-detección-de-ubicaciones-de-almacenamiento","depth":3,"children":[]},{"title":"Leer la cuarta ubicación de almacenamiento","slug":"leer-la-cuarta-ubicación-de-almacenamiento","depth":4,"children":[]}]},{"title":"Solución de problemas","slug":"solución-de-problemas","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/mrdvs/378d39fdec417f5f/external-links.js","/_mintlify/custom/mrdvs/c54e1a04644ca15d/preview-navigation.js","/_mintlify/custom/mrdvs/dd034041c302a149/site-details.js","/_mintlify/custom/mrdvs/a09862a38ab1157d/public-email.js"],"subdomain":"mrdvs","siteName":"MRDVS","title":"Implementar algoritmos de detección e integrar resultados - MRDVS","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"zh-CN":{"href":"/es/developers/deployment/algorithm-detection","matchLevel":0},"en":{"href":"/en","matchLevel":4},"ja":{"href":"/ja","matchLevel":4},"ko":{"href":"/ko","matchLevel":4},"vi":{"href":"/vi","matchLevel":4},"de":{"href":"/de","matchLevel":4},"it":{"href":"/it","matchLevel":4},"es":{"href":"/es","matchLevel":4},"ru":{"href":"/ru","matchLevel":4}}},"lastModified":"2026-10-22T04:37:45.519Z","originalFileLocation":"es/developers/deployment/algorithm-detection.mdx","locale":"zh-CN"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"light\";if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Implementa algoritmos de detección humana, de ubicaciones de almacenamiento y de volumen, configura los parámetros extrínsecos y los parámetros de la cámara y recupera resultados mediante TCP, UDP, HTTP o Modbus TCP.\">\u003cmeta data-mint-head name=\"application-name\" content=\"MRDVS\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/mrdvs/QwnmvGNekAGjBlQD/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/mrdvs/QwnmvGNekAGjBlQD/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/mrdvs/QwnmvGNekAGjBlQD/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/mrdvs/QwnmvGNekAGjBlQD/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/mrdvs/QwnmvGNekAGjBlQD/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/mrdvs/QwnmvGNekAGjBlQD/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/mrdvs/QwnmvGNekAGjBlQD/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/mrdvs/QwnmvGNekAGjBlQD/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/mrdvs/QwnmvGNekAGjBlQD/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Implementar algoritmos de detección e integrar resultados - MRDVS\">\u003cmeta data-mint-head property=\"og:description\" content=\"Implementa algoritmos de detección humana, de ubicaciones de almacenamiento y de volumen, configura los parámetros extrínsecos y los parámetros de la cámara y recupera resultados mediante TCP, UDP, HTTP o Modbus TCP.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"MRDVS\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.mrdvs.com/es/developers/deployment/algorithm-detection\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://mrdvs.mintlify.app/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Implementar+algoritmos+de+detecci%C3%B3n+e+integrar+resultados\u0026amp;description=Implementa+algoritmos+de+detecci%C3%B3n+humana%2C+de+ubicaciones+de+almacenamiento+y+de+volumen%2C+configura+los+par%C3%A1metros+extr%C3%ADnsecos+y+los+par%C3%A1metros+de+la+c%C3%A1mara+y+r\u0026amp;theme=202747420bf96d2e3b4223e2\u0026amp;signature=3e045c44755986b21ec5c8a191e9d9feec7cd0a8fa35a3c06c2ea45b1ca07bbe\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Implementar algoritmos de detección e integrar resultados - MRDVS\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Implementa algoritmos de detección humana, de ubicaciones de almacenamiento y de volumen, configura los parámetros extrínsecos y los parámetros de la cámara y recupera resultados mediante TCP, UDP, HTTP o Modbus TCP.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://mrdvs.mintlify.app/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Implementar+algoritmos+de+detecci%C3%B3n+e+integrar+resultados\u0026amp;description=Implementa+algoritmos+de+detecci%C3%B3n+humana%2C+de+ubicaciones+de+almacenamiento+y+de+volumen%2C+configura+los+par%C3%A1metros+extr%C3%ADnsecos+y+los+par%C3%A1metros+de+la+c%C3%A1mara+y+r\u0026amp;theme=202747420bf96d2e3b4223e2\u0026amp;signature=3e045c44755986b21ec5c8a191e9d9feec7cd0a8fa35a3c06c2ea45b1ca07bbe\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/mrdvs/QwnmvGNekAGjBlQD/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"MRDVS\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1248B8\">\u003cmeta data-mint-head name=\"google-site-verification\" content=\"paNq6FdXn6w3vlYqGqsx4YFtZgIyoE54Ya803O0ilNM\">\u003cmeta data-mint-head name=\"baidu-site-verification\" content=\"codeva-aVWshvu4wM\">\u003cmeta data-mint-head name=\"msvalidate.01\" content=\"79667988DD5B77655E355B82AFD283E3\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.mrdvs.com/es/developers/deployment/algorithm-detection\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/es/developers/deployment/algorithm-detection.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"MRDVS\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"MRDVS","nav":{"global":null,"languages":[{"language":"zh-CN","default":true,"footer":{"socials":{"github":"https://github.com/Lanxin-MRDVS/CameraSDK","linkedin":"https://www.linkedin.com/company/mrdvs","youtube":"https://www.youtube.com/@MRDVS-2024","website":"https://www.mrdvs.cn/"},"links":[{"header":"产品","items":[{"label":"S 系列3D相机","href":"https://www.mrdvs.cn/product/3d-obstacle-avoidance-cameras-s-series"},{"label":"M 系列3D相机","href":"https://www.mrdvs.cn/product/m-series"},{"label":"V 系列导航模组","href":"https://www.mrdvs.cn/product/v-series"}]},{"header":"解决方案","items":[{"label":"移动机器人视觉","href":"https://www.mrdvs.cn/solutions/solutions-industrial-mobile-robot"},{"label":"仓储物流自动化","href":"https://www.mrdvs.cn/solutions/solutions-warehouse-visual-perception"},{"label":"无人机视觉感知","href":"https://www.mrdvs.cn/solutions/solutions-drones"}]},{"header":"联系我们","items":[{"label":"关于 MRDVS","href":"/about"},{"label":"售前咨询","href":"https://work.weixin.qq.com/ca/cawcde978188b336f1"},{"label":"电话:400-025-6680","href":"/contact"},{"label":"[email protected]","href":"mailto:[email protected]"},{"label":"浙ICP备2023021387号-2","href":"https://beian.miit.gov.cn/"}]}]},"navbar":{"links":[{"icon":{"style":"brands","name":"github"},"href":"https://github.com/Lanxin-MRDVS","label":"GitHub"},{"icon":"/images/favicon.png","href":"https://www.mrdvs.cn/","label":"MRDVS"}],"primary":{"type":"button","label":"联系我们","href":"https://work.weixin.qq.com/ca/cawcde978188b336f1"}},"tabs":[{"tab":"首页","groups":[{"group":"概览","pages":[{"title":"迈尔微视知识社区","sidebarTitle":"知识社区","href":""}]},{"group":"关于迈尔微视","pages":[{"title":"关于迈尔微视","sidebarTitle":"公司介绍","href":"/about"},{"title":"联系我们","href":"/contact"}]}]},{"tab":"视觉硬件产品","groups":[{"group":"概览","pages":[{"title":"视觉硬件产品","sidebarTitle":"硬件总览","href":"/products/overview"}]},{"group":"S 系列环境感知 3D 相机","pages":[{"title":"S10系列3D相机","sidebarTitle":"S10系列3D相机","href":"/products/s-series/s10-overview"},{"title":"S10Ultra Lite 纯固态雷达","sidebarTitle":"S10Ultra Lite 纯固态雷达","href":"/products/s-series/s10-ultra-lite-overview"},{"title":"S11 dToF 3D相机","sidebarTitle":"S11 dToF 3D相机","href":"/products/s-series/s11-overview"},{"title":"S01 小面阵 3D 相机","sidebarTitle":"S01 小面阵 3D 相机","tag":"即将发布","href":"/products/s-series/s01-overview"},{"title":"S12 系列 3D 相机","sidebarTitle":"S12 系列 3D 相机","tag":"即将发布","href":"/products/s-series/s12-overview"}]},{"group":"P 系列广域感知 3D 相机","pages":[{"title":"P20 3D 相机","sidebarTitle":"P20 3D 相机","tag":"即将发布","href":"/products/p-series/p20-overview"}]},{"group":"M 系列工业视觉 3D 相机","pages":[{"title":"M4系列iToF 3D相机","sidebarTitle":"M4系列iToF 3D相机","href":"/products/m-series/m4-overview"},{"title":"M4-G系列3D相机","sidebarTitle":"M4-G系列3D相机","href":"/products/m-series/m4-g-overview"}]},{"group":"V 系列视觉定位","pages":[{"title":"V2 Pro 导航控制器","sidebarTitle":"V2 Pro 导航控制器","href":"/products/v-series/v2-pro-overview"}]}]},{"tab":"工业解决方案","groups":[{"group":"概览","pages":[{"title":"工业解决方案","sidebarTitle":"解决方案总览","href":"/solutions"}]},{"group":"仓储物流","pages":[{"title":"应用算法平台","sidebarTitle":"应用算法平台","href":"/solutions/aw3"},{"title":"智能叉车托盘识别","sidebarTitle":"托盘识别","href":"/solutions/warehouse/pallet-recognition"},{"title":"库位状态识别","sidebarTitle":"库位状态识别","href":"/solutions/warehouse/bin-location-status"},{"title":"拆垛算法","sidebarTitle":"拆垛算法","href":"/solutions/warehouse/soft-package-depalletizing"},{"title":"人体安全防护","sidebarTitle":"人体安全防护","href":"/solutions/mobile-robots/human-safety"},{"title":"3D 视觉体积测量","sidebarTitle":"体积测量","href":"/solutions/warehouse/volume-measurement"}]},{"group":"移动机器人","pages":[{"title":"移动机器人 3D 视觉避障","href":"/solutions/mobile-robots/3d-obstacle-avoidance"},{"title":"V2Pro 定位导航模组","sidebarTitle":"V2Pro 定位导航模组","href":"/solutions/mobile-robots/slam-localization"}]},{"group":"解决方案与案例","pages":[{"group":"智能仓储与搬运","expanded":false,"pages":[{"title":"AGV 叉车料筐堆垛","sidebarTitle":"AGV 叉车料筐堆垛","href":"/solutions/warehouse/bin-stacking"},{"title":"3D 视觉助力立库安全","sidebarTitle":"立库安全","href":"/solutions/warehouse/automated-storage-safety"},{"title":"案例分享:安徽某化工企业软包拆垛自动化升级","sidebarTitle":"化工企业软包拆垛","href":"/solutions/warehouse/cases/chemical-soft-package-depalletizing"},{"title":"案例分享:巨石集团非标准托盘识别案例","sidebarTitle":"巨石集团非标托盘识别","href":"/solutions/warehouse/cases/jushi-nonstandard-pallet-recognition"},{"title":"案例分享:某华南自动化仓库部署库位状态识别系统","sidebarTitle":"自动化仓库库位状态识别","href":"/solutions/warehouse/cases/bin-location-status"},{"title":"案例分享:某汽车制造物流中心料筐堆垛","sidebarTitle":"汽车制造物流中心料筐堆垛","href":"/solutions/warehouse/cases/automotive-bin-stacking"},{"title":"案例分享:F 公司无人叉车每日执行超 500 条任务","sidebarTitle":"无人叉车每日执行超 500 条任务","href":"/solutions/warehouse/cases/unmanned-forklift-500-tasks"},{"title":"案例分享:顶视导航支持无人叉车 3000+ 库位作业","sidebarTitle":"顶视导航支持 3000+ 库位作业","href":"/solutions/warehouse/cases/overhead-navigation-3000-locations"}]},{"group":"机器人感知与导航","expanded":false,"pages":[{"title":"案例:工业环境中的视觉 SLAM 导航","sidebarTitle":"工业环境中的视觉 SLAM 导航","href":"/solutions/mobile-robots/cases/slam-in-industrial-environments"},{"title":"案例:人形机器人的 3D 视觉感知","sidebarTitle":"人形机器人 3D 视觉感知","href":"/solutions/mobile-robots/cases/humanoid-robot-3d-vision"},{"title":"案例:潜伏式 AMR 的 3D 视觉避障","sidebarTitle":"潜伏式 AMR 视觉避障","href":"/solutions/mobile-robots/cases/under-ride-amr-obstacle-avoidance"},{"title":"案例:轮式人形机器人的 3D 视觉避障","sidebarTitle":"轮式人形机器人视觉避障","href":"/solutions/mobile-robots/cases/wheeled-humanoid-obstacle-avoidance"}]},{"group":"智慧农业","expanded":false,"pages":[{"title":"视觉引导农业机器人果蔬采摘","sidebarTitle":"农业机器人果蔬采摘","href":"/solutions/agriculture/robotic-harvesting"}]}]}]},{"tab":"开发者中心","groups":[{"group":"概览","pages":[{"title":"开发文档总览","sidebarTitle":"开发总览","href":"/developers"}]},{"group":"相机 SDK","pages":[{"title":"相机 SDK","sidebarTitle":"相机 SDK","href":"/developers/camera-sdk/index"},{"title":"相机 SDK 使用手册","href":"/developers/camera-sdk/user-guide"},{"title":"Linux 示例使用手册","href":"/developers/camera-sdk/linux-examples"},{"title":"JSON 通信协议","href":"/developers/camera-sdk/json-protocol"}]},{"group":"相机工具","pages":[{"title":"LxCameraViewer 上位机软件使用手册","sidebarTitle":"LxCameraViewer 相机软件","href":"/developers/software/lxcameraviewer"}]},{"group":"ROS 集成","pages":[{"title":"ROS 快速入门","href":"/developers/ros/quickstart"},{"title":"V2 ROS1 接口说明","href":"/developers/ros/v2-ros1"},{"title":"V2 ROS2 接口说明","href":"/developers/ros/v2-ros2"}]},{"group":"V2 定位与协议","pages":[{"title":"V2 纯定位版本操作手册","href":"/developers/v2-localization/pure-localization-guide"},{"title":"V2 视觉定位模块 HTTP 通信协议","href":"/developers/v2-localization/http-protocol"},{"title":"V2 Pro UDP 通信协议","href":"/developers/v2-localization/udp-protocol"},{"title":"V2 使用外部 LiDAR","href":"/developers/v2-localization/external-lidar"}]}]},{"tab":"支持与下载","groups":[{"group":"概览","pages":[{"title":"支持与资源","sidebarTitle":"资源导航","href":"/resources"}]},{"group":"常见问题","pages":[{"title":"相机与软件常见问题","sidebarTitle":"相机与软件常见问题","href":"/resources/faq/general-vision"},{"title":"软件常见操作","href":"/resources/faq/software-operations"},{"title":"应用算法常见问题","href":"/resources/faq/application-algorithms"}]},{"group":"下载中心","pages":[{"title":"规格书与用户手册","href":"/resources/downloads/specifications-and-user-guides"},{"title":"软件下载","href":"/resources/downloads/software-and-sdk"},{"title":"图纸与模型","sidebarTitle":"图纸与模型","href":"/resources/downloads/product-drawings"},{"title":"产品与方案画册","sidebarTitle":"产品与方案画册","href":"/resources/downloads/product-and-solution-materials"},{"title":"认证资料","sidebarTitle":"认证资料","href":"/resources/downloads/certifications"}]},{"group":"技术与视频","pages":[{"title":"深度感知技术","sidebarTitle":"深度感知技术","href":"/resources/insights/depth-sensing"},{"title":"视频中心","href":"/resources/videos/index"}]},{"group":"历史设备资料","expanded":false,"pages":[{"title":"S2 Max 相机快速入门","hidden":true,"href":"/products/s-series/s2-max-quickstart"},{"title":"S2 Max 相机产品用户手册","hidden":true,"href":"/products/s-series/s2-max-user-guide"},{"title":"S2 Max 2.0 相机快速入门","hidden":true,"href":"/products/s-series/s2-max-2-quickstart"},{"title":"S2 Max 2.0 产品用户手册","hidden":true,"href":"/products/s-series/s2-max-2-user-guide"}]}]}]},{"language":"en","footer":{"socials":{"github":"https://github.com/Lanxin-MRDVS/CameraSDK","linkedin":"https://www.linkedin.com/company/mrdvs","youtube":"https://www.youtube.com/@MRDVS-2024","website":"https://mrdvs.com/"},"links":[{"header":"Products","items":[{"label":"S Series 3D Cameras","href":"https://mrdvs.com/s-series-obstacle-avoidance-robot-cameras"},{"label":"M Series 3D Cameras","href":"https://mrdvs.com/m-series-time-of-flight-camera"},{"label":"V Series Localization","href":"https://mrdvs.com/v2-pro-rtls-slam-solution"}]},{"header":"Solutions","items":[{"label":"Mobile Robot Vision","href":"https://mrdvs.com/humanoids-quadrupeds-robots"},{"label":"Warehouse \u0026 Logistics","href":"https://mrdvs.com/vision-guided-robotics"},{"label":"Lawn Mower Perception","href":"https://mrdvs.com/solid-state-lidar-vision-fusion"}]},{"header":"Contact Us","items":[{"label":"About MRDVS","href":"/en/about"},{"label":"WhatsApp","href":"https://wa.me/8613370882355"},{"label":"[email protected]","href":"mailto:[email protected]"}]}]},"navbar":{"links":[{"icon":{"style":"brands","name":"github"},"href":"https://github.com/Lanxin-MRDVS","label":"GitHub"},{"icon":"/images/favicon.png","href":"https://mrdvs.com/","label":"MRDVS"}],"primary":{"type":"button","label":"Contact Us","href":"/en/contact"}},"pages":[{"title":"en","href":"/en"}]},{"language":"ja","footer":{"socials":{"github":"https://github.com/Lanxin-MRDVS/CameraSDK","linkedin":"https://www.linkedin.com/company/mrdvs","youtube":"https://www.youtube.com/@MRDVS-2024","website":"https://mrdvs.com/"},"links":[{"header":"製品","items":[{"label":"Sシリーズ3Dカメラ","href":"https://mrdvs.com/s-series-obstacle-avoidance-robot-cameras"},{"label":"Mシリーズ3Dカメラ","href":"https://mrdvs.com/m-series-time-of-flight-camera"},{"label":"Vシリーズローカライゼーション","href":"https://mrdvs.com/v2-pro-rtls-slam-solution"}]},{"header":"ソリューション","items":[{"label":"モバイルロボットビジョン","href":"https://mrdvs.com/humanoids-quadrupeds-robots"},{"label":"倉庫・物流","href":"https://mrdvs.com/vision-guided-robotics"},{"label":"芝刈り機向け認識","href":"https://mrdvs.com/solid-state-lidar-vision-fusion"}]},{"header":"お問い合わせ","items":[{"label":"MRDVSについて","href":"/ja/about"},{"label":"WhatsApp","href":"https://wa.me/8613370882355"},{"label":"[email protected]","href":"mailto:[email protected]"}]}]},"navbar":{"links":[{"icon":{"style":"brands","name":"github"},"href":"https://github.com/Lanxin-MRDVS","label":"GitHub"},{"icon":"/images/favicon.png","href":"https://mrdvs.com/","label":"MRDVS"}],"primary":{"type":"button","label":"お問い合わせ","href":"/ja/contact"}},"pages":[{"title":"ja","href":"/ja"}]},{"language":"ko","footer":{"socials":{"github":"https://github.com/Lanxin-MRDVS/CameraSDK","linkedin":"https://www.linkedin.com/company/mrdvs","youtube":"https://www.youtube.com/@MRDVS-2024","website":"https://mrdvs.com/"},"links":[{"header":"제품","items":[{"label":"S 시리즈 3D 카메라","href":"https://mrdvs.com/s-series-obstacle-avoidance-robot-cameras"},{"label":"M 시리즈 3D 카메라","href":"https://mrdvs.com/m-series-time-of-flight-camera"},{"label":"V 시리즈 위치 추정","href":"https://mrdvs.com/v2-pro-rtls-slam-solution"}]},{"header":"솔루션","items":[{"label":"이동 로봇 비전","href":"https://mrdvs.com/humanoids-quadrupeds-robots"},{"label":"창고 및 물류","href":"https://mrdvs.com/vision-guided-robotics"},{"label":"잔디깎이 로봇 인식","href":"https://mrdvs.com/solid-state-lidar-vision-fusion"}]},{"header":"문의","items":[{"label":"MRDVS 소개","href":"/ko/about"},{"label":"WhatsApp","href":"https://wa.me/8613370882355"},{"label":"[email protected]","href":"mailto:[email protected]"}]}]},"navbar":{"links":[{"icon":{"style":"brands","name":"github"},"href":"https://github.com/Lanxin-MRDVS","label":"GitHub"},{"icon":"/images/favicon.png","href":"https://mrdvs.com/","label":"MRDVS"}],"primary":{"type":"button","label":"문의하기","href":"/ko/contact"}},"pages":[{"title":"ko","href":"/ko"}]},{"language":"vi","footer":{"socials":{"github":"https://github.com/Lanxin-MRDVS/CameraSDK","linkedin":"https://www.linkedin.com/company/mrdvs","youtube":"https://www.youtube.com/@MRDVS-2024","website":"https://mrdvs.com/"},"links":[{"header":"Sản phẩm","items":[{"label":"Camera 3D dòng S","href":"https://mrdvs.com/s-series-obstacle-avoidance-robot-cameras"},{"label":"Camera 3D dòng M","href":"https://mrdvs.com/m-series-time-of-flight-camera"},{"label":"Định vị dòng V","href":"https://mrdvs.com/v2-pro-rtls-slam-solution"}]},{"header":"Giải pháp","items":[{"label":"Thị giác robot di động","href":"https://mrdvs.com/humanoids-quadrupeds-robots"},{"label":"Kho vận \u0026 logistics","href":"https://mrdvs.com/vision-guided-robotics"},{"label":"Nhận thức cho máy cắt cỏ","href":"https://mrdvs.com/solid-state-lidar-vision-fusion"}]},{"header":"Liên hệ","items":[{"label":"Giới thiệu MRDVS","href":"/vi/about"},{"label":"WhatsApp","href":"https://wa.me/8613370882355"},{"label":"[email protected]","href":"mailto:[email protected]"}]}]},"navbar":{"links":[{"icon":{"style":"brands","name":"github"},"href":"https://github.com/Lanxin-MRDVS","label":"GitHub"},{"icon":"/images/favicon.png","href":"https://mrdvs.com/","label":"MRDVS"}],"primary":{"type":"button","label":"Liên hệ","href":"/vi/contact"}},"pages":[{"title":"vi","href":"/vi"}]},{"language":"de","footer":{"socials":{"github":"https://github.com/Lanxin-MRDVS/CameraSDK","linkedin":"https://www.linkedin.com/company/mrdvs","youtube":"https://www.youtube.com/@MRDVS-2024","website":"https://mrdvs.com/"},"links":[{"header":"Produkte","items":[{"label":"3D-Kameras der S-Serie","href":"https://mrdvs.com/s-series-obstacle-avoidance-robot-cameras"},{"label":"3D-Kameras der M-Serie","href":"https://mrdvs.com/m-series-time-of-flight-camera"},{"label":"Lokalisierung der V-Serie","href":"https://mrdvs.com/v2-pro-rtls-slam-solution"}]},{"header":"Lösungen","items":[{"label":"Robotersicht für mobile Roboter","href":"https://mrdvs.com/humanoids-quadrupeds-robots"},{"label":"Lager und Logistik","href":"https://mrdvs.com/vision-guided-robotics"},{"label":"Wahrnehmung für Rasenmäher","href":"https://mrdvs.com/solid-state-lidar-vision-fusion"}]},{"header":"Kontakt","items":[{"label":"Über MRDVS","href":"/de/about"},{"label":"WhatsApp","href":"https://wa.me/8613370882355"},{"label":"[email protected]","href":"mailto:[email protected]"}]}]},"navbar":{"links":[{"icon":{"style":"brands","name":"github"},"href":"https://github.com/Lanxin-MRDVS","label":"GitHub"},{"icon":"/images/favicon.png","href":"https://mrdvs.com/","label":"MRDVS"}],"primary":{"type":"button","label":"Kontakt","href":"/de/contact"}},"pages":[{"title":"de","href":"/de"}]},{"language":"it","footer":{"socials":{"github":"https://github.com/Lanxin-MRDVS/CameraSDK","linkedin":"https://www.linkedin.com/company/mrdvs","youtube":"https://www.youtube.com/@MRDVS-2024","website":"https://mrdvs.com/"},"links":[{"header":"Prodotti","items":[{"label":"Telecamere 3D serie S","href":"https://mrdvs.com/s-series-obstacle-avoidance-robot-cameras"},{"label":"Telecamere 3D serie M","href":"https://mrdvs.com/m-series-time-of-flight-camera"},{"label":"Localizzazione serie V","href":"https://mrdvs.com/v2-pro-rtls-slam-solution"}]},{"header":"Soluzioni","items":[{"label":"Visione per robot mobili","href":"https://mrdvs.com/humanoids-quadrupeds-robots"},{"label":"Magazzino e logistica","href":"https://mrdvs.com/vision-guided-robotics"},{"label":"Percezione per rasaerba","href":"https://mrdvs.com/solid-state-lidar-vision-fusion"}]},{"header":"Contatti","items":[{"label":"Informazioni su MRDVS","href":"/it/about"},{"label":"WhatsApp","href":"https://wa.me/8613370882355"},{"label":"[email protected]","href":"mailto:[email protected]"}]}]},"navbar":{"links":[{"icon":{"style":"brands","name":"github"},"href":"https://github.com/Lanxin-MRDVS","label":"GitHub"},{"icon":"/images/favicon.png","href":"https://mrdvs.com/","label":"MRDVS"}],"primary":{"type":"button","label":"Contatti","href":"/it/contact"}},"pages":[{"title":"it","href":"/it"}]},{"language":"es","footer":{"socials":{"github":"https://github.com/Lanxin-MRDVS/CameraSDK","linkedin":"https://www.linkedin.com/company/mrdvs","youtube":"https://www.youtube.com/@MRDVS-2024","website":"https://mrdvs.com/"},"links":[{"header":"Productos","items":[{"label":"Cámaras 3D de la serie S","href":"https://mrdvs.com/s-series-obstacle-avoidance-robot-cameras"},{"label":"Cámaras 3D de la serie M","href":"https://mrdvs.com/m-series-time-of-flight-camera"},{"label":"Localización de la serie V","href":"https://mrdvs.com/v2-pro-rtls-slam-solution"}]},{"header":"Soluciones","items":[{"label":"Visión para robots móviles","href":"https://mrdvs.com/humanoids-quadrupeds-robots"},{"label":"Almacén y logística","href":"https://mrdvs.com/vision-guided-robotics"},{"label":"Percepción para cortacéspedes","href":"https://mrdvs.com/solid-state-lidar-vision-fusion"}]},{"header":"Contacto","items":[{"label":"Acerca de MRDVS","href":"/es/about"},{"label":"WhatsApp","href":"https://wa.me/8613370882355"},{"label":"[email protected]","href":"mailto:[email protected]"}]}]},"navbar":{"links":[{"icon":{"style":"brands","name":"github"},"href":"https://github.com/Lanxin-MRDVS","label":"GitHub"},{"icon":"/images/favicon.png","href":"https://mrdvs.com/","label":"MRDVS"}],"primary":{"type":"button","label":"Contacto","href":"/es/contact"}},"pages":[{"title":"es","href":"/es"}]},{"language":"ru","footer":{"socials":{"github":"https://github.com/Lanxin-MRDVS/CameraSDK","linkedin":"https://www.linkedin.com/company/mrdvs","youtube":"https://www.youtube.com/@MRDVS-2024","website":"https://mrdvs.com/"},"links":[{"header":"Продукты","items":[{"label":"3D-камеры серии S","href":"https://mrdvs.com/s-series-obstacle-avoidance-robot-cameras"},{"label":"3D-камеры серии M","href":"https://mrdvs.com/m-series-time-of-flight-camera"},{"label":"Локализация серии V","href":"https://mrdvs.com/v2-pro-rtls-slam-solution"}]},{"header":"Решения","items":[{"label":"Зрение мобильных роботов","href":"https://mrdvs.com/humanoids-quadrupeds-robots"},{"label":"Склад и логистика","href":"https://mrdvs.com/vision-guided-robotics"},{"label":"Восприятие для газонокосилок","href":"https://mrdvs.com/solid-state-lidar-vision-fusion"}]},{"header":"Связаться с нами","items":[{"label":"О MRDVS","href":"/ru/about"},{"label":"WhatsApp","href":"https://wa.me/8613370882355"},{"label":"[email protected]","href":"mailto:[email protected]"}]}]},"navbar":{"links":[{"icon":{"style":"brands","name":"github"},"href":"https://github.com/Lanxin-MRDVS","label":"GitHub"},{"icon":"/images/favicon.png","href":"https://mrdvs.com/","label":"MRDVS"}],"primary":{"type":"button","label":"Связаться с нами","href":"/ru/contact"}},"pages":[{"title":"ru","href":"/ru"}]}]},"title":"Implementar algoritmos de detección e integrar resultados - MRDVS","buildId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","deploymentId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","dynamics":[],"chunks":[]}