Guía para compilar el SDK de ROS2 de cámaras Percipio en Ubuntu

Configuración de parámetros de cámara con PercipioViewer

El software PercipioViewer versión 2.6.1 o superior permite guardar parámetros ajustados en la zona de almacenamiento de la cámara. Para ello, abra la cámara objetivo, ajuste las propiedades según sea necesario y, tras cerrar todo el flujo de captura, acceda a Tools > Parameetrs en la barra de menú.

Nota: Esta función requiere PercipioViewer 2.6.1j o posterior y que no haya flujo activo. Solo se guardan los controles bajo cada componente, no los ajustes de posprocesamiento como corrección de distorsión o AutoISP.

Ajuste de parámetros SGBM para cámaras con soporte

Modelos como FM855-E1 o PS800 incluyen parámetros SGBM para controlar la calidad de la profundidad. Algunos ajustes clave incluyen:

  • disparityNum: Rango de disparidad, ajustable según el rango de profundidad deseado.
  • matchWinW/H: Tamaño del bloque de coincidencia, que debe ser impar y mayor o igual a 3.
  • P1/P2: Parámetros de suavidad de disparidad, donde P2 debe ser mayor que P1.
  • uniqueFator/uniqueAbsDiff: Umbrales para reducir artefactos como puntos erróneos o huecos.

Estructura del SDK de ROS2 para cámaras Percipio (versión 3.X.X)

El repositorio del SDK incluye directorios clave:

  • camport3/: Bibliotecas y archivos de encabezado del SDK nativo.
  • include/: Archivos de encabezado adicionales.
  • launch/: Archivos de inicio para ROS2.
  • src/: Código fuente principal del nodo de cámara.

El flujo de trabajo básico implica inicializar un nodo ROS2, crear publicadores para temas de imágenes y ejecutar el nodo mediante comandos como ros2 run o ros2 launch.

Compilación del SDK en entornos Ubuntu

Para Ubuntu 20.04 con ROS2 Foxy

  1. Instalar dependencias y configurar el entorno: ```

    sudo apt update sudo apt install locales curl gnupg lsb-release ros-foxy-desktop
    python3-colcon-common-extensions ros-foxy-camera-info-manager
    ros-foxy-image-publisher ros-foxy-diagnostic-updater

  2. Añadir la clave de repositorio de ROS2: ```

    sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key
    -o /usr/share/keyrings/ros-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg]
    https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu $(lsb_release -cs) main" |
    sudo tee /etc/apt/sources.list.d/ros2.list

  3. Configurar variables de entorno: ```

    echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc source ~/.bashrc

  4. Compilar el SDK desde el directorio del workspace: ```

    cd ~/ros2_ws/src/camport_ros2 colcon build --event-handlers console_direct+ --cmake-args -DCMAKE_BUILD_TYPE=Release echo "source ./install/setup.bash" >> ~/.bashrc source ~/.bashrc

    
    

Para Ubuntu 22.04 con ROS2 Humble

  1. Repetir los pasos anteriores, pero instalar paquetes de ROS2 Humble: ```

    sudo apt install ros-humble-desktop ros-humble-camera-info-manager
    ros-humble-image-publisher ros-humble-diagnostic-updater

  2. Compilar de manera similar, ajustando rutas si es necesario.

La compilación genera directorios build/, install/ y log/.

Configuración de parámetros en archivos launch

Los parámetros de la cámara se pueden establecer en archivos launch como percipio_camera.launch.py. Ejemplos de configuración:

  • Modo de trabajo del dispositivo: device_workmode puede ser trigger_off, trigger_soft o trigger_hard.
  • Reenvío de paquetes: gvsp_resend debe habilitarse (true) para redes inestables.
  • Reconexión automática: device_auto_reconnect recomendado como true.
  • Parámetros ToF: Propiedades como tof_depth_quality (opciones: basic, medium, high) pueden guardarse en la cámara.

Para múltiples cámaras, usar multi_cam.launch.py y duplicar configuraciones para cada dispositivo.

Pruebas y validación del SDK

Parámetros soportados

El SDK permite configurar propiedades como:

  • camera_name: Nombre del tema para identificación en entornos multi-cámara.
  • serial_number o device_ip: Formas de conexión a la cámara.
  • Habilitación y resolución de componentes (color, profundidad, IR).
  • Parámetros de calidad de servicio (QoS) para temas de imágenes.

Los valores para formatos de flujo se definen en archivos como percipio_device.cpp.

Pruebas con modelos específicos

Modelos como FS820-E1 o FM815-E1 deben probarse para verificar configuraciones de resolución y formato en componentes de color y profundidad.

Carga de parámetros desde almacenamiento

El SDK versión 3.6.66 o superior carga automáticamente parámetros guardados en la cámara al iniciar. Use PercipioViewer 2.6.1+ para guardar ajustes previamente.

Estrategias de QoS en ROS2

ROS2 ofrece configuraciones de QoS para gestionar el flujo de datos:

  • SENSOR_DATA: Para datos de sensores, con BEST_EFFORT y baja latencia.
  • DEFAULT: Comunicación confiable con RELIABLE, adecuada para mensajes importantes.
  • SERVICES_DEFAULT: Para servicios cliente-servidor.

Elija SENSOR_DATA para transmisión en tiempo real y DEFAULT para configuraciones críticas.

Solución de problemas comunes

  • Error process has died -11: Posible conflicto con OpenCV en funciones de corrección de distorsión; contactar al soporte para obtener una versión del SDK sin OpenCV.
  • Falta de paquetes como camera_info_manager: Instalar con sudo apt install ros-distro-camera-info-manager.
  • Problemas de compilación en Ubuntu 24.04 con ROS2 Jazzy: Modificar archivos fuente relevantes, como percipio_camera_node.cpp.

Herramientas y recursos adicionales

Uso de colcon

Colcon es la herramienta de compilación para ROS2. Ejemplo de uso:


colcon build --packages-select nombre_paquete

Comandos de ros2 topic

Para diagnosticar temas ROS2:

  • ros2 topic hz tema: Muestra la frecuencia de publicación.
  • ros2 topic echo tema: Visualiza los mensajes publicados.
  • ros2 topic bw tema: Indica el ancho de banda utilizado.

Etiquetas: ROS2 Ubuntu Percipio SDK compilación

Publicado el 6-4 01:04