Actualización (20 / 06 / 2025): Disponemos de amplio stock de todos nuestros productos, encuéntranos también en y    Comprar ahora

Cómo integrar u-blox ZED-F9P Receptor GNSS/RTK en ROS 2 (Jazzy)

Integración de u-blox ZED-F9P Receptor GNSS/RTK en ROS 2 Jazzy
Integración de u-blox ZED-F9P Receptor GNSS/RTK en ROS 2 Jazzy

Este tutorial explica cómo integrar el u-blox ZED-F9P RTK GNSS Receptor con un robot que ejecuta ROS 2 (Jazzy). Aprenderá a conectar el hardware, configurar el receptor, configurar un espacio de trabajo ROS 2 y lanzar los nodos necesarios para recibir y procesar datos GPS de alta precisión con correcciones RTK mediante un... NTRIP .

Al finalizar esta guía, tendrá una configuración ROS 2 completamente funcional que transmite datos RTK en tiempo real desde su receptor RTK en función de u-blox ZED-F9P—adecuado para aplicaciones robóticas que requieren precisión de posicionamiento a nivel de centímetros.

Hardware requerido:

Software requerido

  • Ubuntu 24.04 (instalado de forma nativa, en una máquina virtual o mediante WSL)
  • ROS 2 (Jazzy) (instalado en la plataforma Ubuntu)

Recursos útiles

  1. Recursos útiles para instalar Ubuntu:
  2. Usando WSL o máquinas virtuales: Si desea usar WSL o máquinas virtuales, es necesario compartir el receptor RTK con Ubuntu. Existen instrucciones para compartirlo con el sistema:
  3. NTRIP Acceso al servicio:Asegúrese de tener acceso y credenciales para NTRIP Servicio. Si necesita ayuda para encontrar un servicio de corrección, consulte nuestro Lista de NTRIP servicios de corrección en su país.
  4. Configuración del receptor RTKAsegúrese de que su receptor RTK esté configurado como RoverSi necesita ayuda para configurar un u-blox ZED-F9P como herramienta de edición del Rover, consulte nuestro ZED-F9P Archivos de configuración.

Cómo configurar u-blox ZED-F9P Receptor RTK con ROS 2?

Configurar el entorno ROS 2

  1. Una vez instalado el entorno ROS 2 siguiendo las instrucciones Guía de instalación de ROS2, de forma predeterminada no está activo cuando abres una terminal.
    Para solucionar esto, abra la Terminal y ejecute el siguiente comando para configurar Ubuntu para que cargue automáticamente el entorno ROS 2 en la configuración de inicio de su Terminal.
				
					echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc
				
			
  1. Para aplicar los cambios, use el siguiente comando. Después, ROS 2 estará listo para usar cada vez que abra una terminal.

				
					source ~/.bashrc
				
			
  1. Para administrar dependencias en ROS 2, actualice su lista de paquetes e instalaciones herramientas de desarrollo de ros, Que incluye Rosdep y otras herramientas de desarrollo útiles para ROS 2.
				
					sudo apt update && sudo apt install ros-dev-tools
				
			

Conectar el receptor RTK

  1. Conecte la antena RTK a su receptor. Colóquela en un lugar con buena vista del cielo o cerca de una ventana para probar su funcionamiento.
  2. Conecte su receptor a la PC a través del puerto USB etiquetado con “POWER+GPS."
  3. El receptor debería configurarse automáticamente. Para verificarlo, abra la Terminal y escriba el comando. Debería ver... / dev / ttyACM0 (o un dispositivo similar, por ejemplo, / dev / ttyACM1).
				
					ls /dev/ttyACM*
				
			
integración u-blox ZED-F9P Receptor rtk con correcciones en ROS2
  1. Para comprobar la transmisión GPS del receptor RTK, ejecute el comando en la terminal. Este muestra la transmisión de datos GPS sin procesar del receptor. Pulse Ctrl + C para detener.
				
					sudo cat /dev/ttyACM0
				
			
  1. Consejo: Si no ve ningún resultado o el dispositivo no aparece, asegúrese de que su usuario tenga los permisos adecuados (por ejemplo, estar en el grupo de acceso telefónico). Puede agregarse con el siguiente comando. Después, cierre sesión y vuelva a iniciarla para que los cambios surtan efecto.
				
					sudo usermod -a -G dialout $USER
				
			
  1. Para evitar que el receptor RTK se inicie en un “ttyACM*” cada vez que se enciende, crea un regla udev (un enlace dinámico) que crea una entrada con un nombre específico agregando el siguiente archivo antes de conectar el receptor RTK.
				
					sudo nano /etc/udev/rules.d/50-ardusimple.rules
				
			
  1. Ingrese el siguiente texto a la regla:
				
					KERNEL=="ttyACM[0-9]*", ATTRS{idVendor}=="1546", ATTRS{idProduct}=="01a9", SYMLINK="tty_Ardusimple", GROUP="dialout", MODE="0666"
				
			
  1. Prensa Ctrl + X para salir del archivo y presione Y para guardar el búfer modificado.
  2. Desconecte (apague) el receptor RTK y vuelva a conectarlo (apague).
  3. Ahora, cada vez que se conecte un receptor RTK, será accesible desde el “/dev/tty_Ardusimple" enlace. Para comprobarlo, introduzca los comandos:
				
					sudo service udev reload
sudo service udev restart
sudo udevadm trigger
ls /dev/
				
			
  1. Ahora puedes ver eso “tty_ArduSimple" se ha creado.

Preparar un nuevo espacio de trabajo de ROS 2 para el proyecto

  1. Para crear un directorio de espacio de trabajo, abra una terminal y cree una carpeta (por ejemplo, ros2_ws) con un src subcarpeta:
				
					mkdir -p ~/ros2_ws/src
				
			
  1. Navega a tu espacio de trabajo.
				
					cd ~/ros2_ws
				
			
  1. Para crear el espacio de trabajo, utilice colcón para construir todos los paquetes dentro src:
				
					colcon build
				
			
  1. Obtenga el archivo de instalación para permitir que su shell reconozca los paquetes recién creados:
				
					source install/setup.bash
				
			
  1. Agregue este comando a su ~/.bashrc (o equivalente) para obtener el código fuente automáticamente cada vez que abra una nueva terminal.
				
					echo "source ~/ros2_ws/install/setup.bash" >> ~/.bashrc
				
			
integración u-blox ZED-F9P Receptor rtk con correcciones en ROS2
  1. Ahora tiene un espacio de trabajo ROS2 básico configurado para un mayor desarrollo e integración con ArduSimple RTK.

Inicie el nodo en ROS 2 para conectarse al receptor RTK

En esta sección, descargaremos y construiremos el u-blox Nodo ROS 2, luego ejecute una prueba rápida para confirmar que puede comunicarse con su ArduSimple Dispositivo RTK. Si bien demostraremos cómo modificar el archivo de lanzamiento directamente en el u-blox paquete, recomendamos crear un paquete separado con sus propios archivos de inicio personalizados en un paso posterior.
  1. Para clonar el u-blox repositorio en su espacio de trabajo ROS 2 (~/ros2_ws/src):
				
					cd ~/ros2_ws/src
git clone --branch ros2 https://github.com/KumarRobotics/ublox.git

				
			
  1. Iniciar Rosdep y descargue las últimas definiciones de dependencias de paquetes.
				
					sudo rosdep init
rosdep update
				
			
integración u-blox ZED-F9P Receptor rtk con correcciones en ROS2
  1.  Para construir u-blox Nodo, regresa a la carpeta del espacio de trabajo principal y compila:
				
					cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build
source install/setup.bash

				
			
  1. Ahora la u-blox El nodo está disponible en su entorno ROS2.
  2. Modifique el archivo de configuración para actualizar las rutas o los parámetros del dispositivo según sea necesario (usaremos /dev/tty_Ardusimple). El paquete ublox_gps incluye un archivo de configuración predeterminado llamado zed_f9p.yamlAbra el archivo de configuración con el comando:
				
					nano ~/ros2_ws/src/ublox/ublox_gps/config/zed_f9p.yaml
				
			
  1. Modifique el archivo de configuración para actualizar las rutas o los parámetros del dispositivo según sea necesario. En nuestro caso, configure la ruta del dispositivo como /dev/tty_Ardusimple.
  1. Para configurar el nodo con el zed_f9p.yaml Configuración, actualice el archivo de inicio. Abra el archivo y agregue la siguiente línea para cargar la configuración:
				
					nano ~/ros2_ws/src/ublox/ublox_gps/launch/ublox_gps_node-launch.py
				
			
  1. Reconstruya los paquetes. Recomendamos usar un paquete separado Para tus archivos de configuración e inicio personalizados, para mantener todo organizado. Hablaremos de ese enfoque más adelante.
				
					cd ~/ros2_ws
colcon build
source install/setup.bash
				
			
integración u-blox ZED-F9P Receptor rtk con correcciones en ROS2
  1. Inicie el nodo GPS y pruebe la conexión:
				
					ros2 launch ublox_gps ublox_gps_node-launch.py
				
			
  1. Si todo está configurado correctamente, el nodo debería comenzar a publicar datos GPS desde el ArduSimple receptor.
  1. Para evitar detener el nodo, abra una nueva terminal e inicialice el espacio de trabajo con el siguiente comando. Si este nodo se detiene, u-blox El dispositivo ya no publicará sus temas ni prestará sus servicios.
				
					source ~/ros2_ws/install/setup.bash
				
			
  1. Ejecute el siguiente comando para ver los temas disponibles. Busque temas como /ublox_gps_node/fix, que contiene datos GPS en formato sensor_msgs/NavSatFix, etc.
				
					ros2 topic list
				
			
  1. Ejecute el comando para ver los datos del GPS en tiempo real. 
				
					ros2 topic echo /ublox_gps_node/fix
				
			
  1. Para detener la transmisión, presione Ctrl + C.
  2. Ver la lista de servicios disponibles proporcionados por el Nodo.
				
					ros2 service list
				
			
  1. Ahora ya tienes el u-blox Nodo ROS 2 que ejecuta y publica datos en tiempo real desde su receptor RTK.
    Importante:
    • No detengas el u-blox Nodo. ​​Este nodo debe estar en ejecución antes de seguir los pasos para iniciar el NTRIP cliente, ya que el servidor de corrección necesita datos GPS en vivo para calcular y enviar correcciones RTCM.
    • La u-blox El nodo debe permanecer activo para visualizar la salida del GPS usando el tema echo de ros2, como se muestra en el paso anterior.

Iniciar nodo en ROS 2 para utilizar NTRIP correcciones

Usaremos el cliente ntrip Nodo ROS2 para conectarse a un NTRIP Caster y recibir correcciones RTCM para un posicionamiento más preciso. Este nodo también puede reenviar información local. NMEA Sentencias a un servidor remoto si es necesario. A continuación, se muestra una breve descripción general de cómo configurarlo y probarlo.
Nota: Asegúrese de que el nodo de conexión GPS ya esté en funcionamiento, ya que es necesario para transmitir datos de corrección.
  1. Navegue al directorio del espacio de trabajo de ROS2 y clone la rama ROS 2.
				
					cd ~/ros2_ws/src
git clone --branch ros2 https://github.com/LORD-MicroStrain/ntrip_client.git
				
			
  1. Regrese a la raíz del espacio de trabajo, instale las dependencias faltantes y compile el paquete
				
					cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build
source install/setup.bash
				
			
  1. Abra el archivo ntrip_client_launch.py y desplácese hacia abajo para encontrar el código donde NTRIP Se establecen las credenciales.
				
					nano ~/ros2_ws/src/ntrip_client/launch/ntrip_client_launch.py
				
			
  1. Actualizar NTRIP parámetros como host, puerto, nombre de usuario, contraseña y punto de montaje y guardar los cambios en el archivo.
				
					nano ~/ros2_ws/src/ntrip_client/launch/ntrip_client_launch.py
				
			
  1. Reconstruir los paquetes:
				
					cd ~/ros2_ws
colcon build
source ~/ros2_ws/install/setup.bash
				
			
  1. Inicie el nodo con su NTRIP parámetros para establecer una conexión con el NTRIP Caster:
				
					ros2 launch ntrip_client ntrip_client_launch.py
				
			
  1. Para evitar cerrar el Nodo, abra una nueva Terminal e inicialice el espacio de trabajo.
    Nota: Si el nodo se detiene, el u-blox El dispositivo dejará de recibir datos de corrección. u-blox El nodo debe estar ejecutándose antes de iniciar el NTRIP cliente, ya que proporciona los datos GPS necesarios al servidor de corrección. Si el u-blox Si el nodo se detiene, ya no publicará los temas y servicios requeridos y el receptor rtk dejará de recibir datos de corrección.
				
					source ~/ros2_ws/install/setup.bash
				
			
  1. Para evitar cerrar el Nodo, abra una nueva Terminal e inicialice el espacio de trabajo.
    Nota: Si el nodo se detiene, el u-blox El dispositivo dejará de recibir datos de corrección. u-blox El nodo debe estar ejecutándose antes de iniciar el NTRIP cliente, ya que proporciona los datos GPS necesarios al servidor de corrección. Si el u-blox Si el nodo se detiene, ya no publicará los temas y servicios requeridos y el receptor rtk dejará de recibir datos de corrección.
				
					source ~/ros2_ws/install/setup.bash
				
			
  1. Ver lista de temas disponibles. 
				
					ros2 topic list
				
			
  1. Temas clave que podrías ver:
    • /rtcm: Publica datos de corrección RTCM (mavros_msgs/RTCM o rtcm_msgs/Message, según la configuración).
    • /nmea:Se suscribe a las sentencias NMEA locales y las reenvía al servidor.
    • /ublox_gps_node/fix:También puede reenviar datos de posición global si aún no están en formato NMEA.
  1. Si todo se hace correctamente, con éxito, verá que el nodo publica correcciones RTCM en el /rtcm tema. Uso cliente ntrip Nodo, puede integrar datos de corrección RTCM en su proyecto ROS 2 para permitir un posicionamiento preciso con el receptor RTK.
				
					ros2 topic echo /rtcm
				
			
  1. Con este nodo, puede integrar datos de corrección RTCM en su proyecto ROS 2 para permitir un posicionamiento preciso con el receptor RTK.

Creación de un paquete de lanzamiento combinado

Crearemos un paquete dedicado que contiene un único archivo de inicio para ejecutar ambas los ublox_gps nodo (que publica datos GPS) y el cliente ntrip Nodo (que gestiona correcciones RTK) simultáneamente. Este enfoque mantiene el espacio de trabajo organizado y facilita el inicio de todos los nodos necesarios con un solo comando.

  1. Abra una nueva terminal, acceda a su espacio de trabajo de ROS2 y cree un nuevo paquete. Para un nanofile de lanzamiento basado en Python, ejecute los siguientes comandos:
				
					cd ~/ros2_ws/src
ros2 pkg create combined_rtk --build-type ament_python
				
			
  1. Cree un directorio de lanzamiento y un archivo de lanzamiento de Python dentro del nuevo paquete.
				
					mkdir -p combined_rtk/launch
nano ~/ros2_ws/src/combined_rtk/launch/combined_nodes.launch.py
				
			
  1. Copia el código del ejemplo a continuación y pégalo en el archivo. El código hace lo siguiente:
  • ublox_gps Nodo: publica datos GPS sin procesar de su ArduSimple .
  • cliente ntrip Nodo: Se conecta al NTRIP caster/server y publica correcciones RTCM en /rtcm (y también puede suscribirse a /nmea o /fix si es necesario).
  • Shebang (#!/usr/bin/env python3) – Garantiza que el archivo se ejecute como un script de Python.
  • Descripción del lanzamiento – Define qué nodos iniciar.
  • Nodo parámetros: establece parámetros específicos del nodo (por ejemplo, dispositivo, host, puerto, autenticación).
				
					from launch import LaunchDescription
from launch_ros.actions import Node
from launch.actions import SetEnvironmentVariable

def generate_launch_description():
    # ---------------------------------------------
    # Node configuration for ublox_gps
    # ---------------------------------------------
    ublox_node = Node(
        package='ublox_gps',                  # ROS 2 package containing the ublox GPS driver
        executable='ublox_gps_node',          # Executable name for the ublox GPS node
        name='ublox_gps_node',                # Name assigned to the node
        output='screen',                      # Output log to screen
        parameters=[{                         # Node parameters defined inline
            'debug': 0,                       # Debug level (0 = none)
            'device': '/dev/tty_Ardusimple',  # Serial port where GPS is connected
            'frame_id': 'gps',                # Frame ID to tag published GPS messages
            'uart1': {
                'baudrate': 9600              # Baudrate for UART1
            },
            'tmode3': 1,                      # Survey-in mode (TMODE3 = 1)
            'sv_in': {                        # Survey-in configuration
                'reset': True,                # Reset survey-in every startup
                'min_dur': 300,               # Minimum duration for survey-in (seconds)
                'acc_lim': 3.0                # Accuracy limit for survey-in (meters)
            },
            'inf': {
                'all': True                   # Enable all INF messages on console
            },
            'publish': {
                'all': True,                  # Publish all available messages
                'aid': {
                    'hui': False              # Do not publish aiding HUI messages
                },
                'nav': {
                    'posecef': False          # Do not publish NAV-POSECEF messages
                }
            }
        }]
    )

    # ---------------------------------------------
    # Environment variable to control NTRIP client debug
    # ---------------------------------------------
    set_debug_env = SetEnvironmentVariable(
        name='NTRIP_CLIENT_DEBUG',  # Name of the environment variable
        value='false'               # Disable debug output
    )

    # ---------------------------------------------
    # Node configuration for NTRIP client
    # ---------------------------------------------
    ntrip_node = Node(
        package='ntrip_client',              # ROS 2 package containing the NTRIP client
        executable='ntrip_ros.py',           # Python script for the NTRIP client
        name='ntrip_client',                 # Name assigned to the node
        output='screen',                     # Output log to screen
        parameters=[{                        # Parameters required for NTRIP connection
            'host': 'ppntrip.services.u-blox.com',  # NTRIP caster hostname
            'port': 2101,                            # NTRIP port (integer)
            'mountpoint': 'NEAR-RTCM',               # Mountpoint on the NTRIP caster
            'ntrip_version': 'None',                 # Optional NTRIP version
            'authenticate': True,                    # Use authentication (username/password)
            'username': user',  # Auth username
            'password': 'password',              # Auth password
            'ssl': False,                            # SSL not used
            'cert': 'None',                          # No client certificate
            'key': 'None',                           # No client key
            'ca_cert': 'None',                       # No custom CA certificate
            'rtcm_frame_id': 'odom',                 # Frame ID for published RTCM messages
            'nmea_max_length': 128,                  # Max NMEA sentence length
            'nmea_min_length': 3,                    # Min NMEA sentence length
            'rtcm_message_package': 'rtcm_msgs',     # Use the rtcm_msgs message format
            'reconnect_attempt_max': 10,             # Max reconnect attempts before giving up
            'reconnect_attempt_wait_seconds': 5,     # Wait time between reconnects
            'rtcm_timeout_seconds': 4                # Max time without RTCM before reconnect
        }],
        remappings=[
            ('/fix', '/ublox_gps_node/fix')  # Remap /fix topic to /ublox_gps_node/fix
        ]
    )

    # Return the full launch description with all configured actions
    return LaunchDescription([
        set_debug_env,  # Set environment variable for NTRIP debug
        ublox_node,     # Launch ublox GPS node
        ntrip_node      # Launch NTRIP client node
    ])

				
			
  1. Edite el archivo insertando su NTRIP credenciales (host, puesto, nombre de usuario, contraseña, punto de montaje) y guarde el archivo.
  1. Abierto paquete.xml.
				
					cd ~/ros2_ws/src/combined_rtk/
nano package.xml
				
			
  1. Asegúrese de tener dependencias como ublox_gps, ntrip_client, launch_ros, etc. en su paquete.xml. Si no los tiene, cópielos del código a continuación y péguelos en el archivo.
				
					<exec_depend>ublox_gps</exec_depend>
<exec_depend>ntrip_client</exec_depend>
<exec_depend>launch_ros</exec_depend>
				
			
  1. Abierto configuración.py.
				
					nano  ~/ros2_ws/src/combined_rtk/setup.py
				
			
  1. Copie el código a continuación y péguelo en el configuración.py Archivo para incluir archivos de lanzamiento y dependencias. Cierre el archivo y guarde los cambios.
				
					import os
import glob

from setuptools import find_packages, setup

package_name = 'combined_rtk'

setup(
    name=package_name,
    version='0.0.0',
    packages=find_packages(exclude=['test']),
    data_files=[
        ('share/ament_index/resource_index/packages',
            ['resource/' + package_name]),
        ('share/' + package_name, ['package.xml']),
        (os.path.join('share', package_name), ['package.xml', *glob.glob('launch/*')]),
    ],
    install_requires=['setuptools'],
    zip_safe=True,
    maintainer='jmnavarrete',
    maintainer_email='jmnavarrete@todo.todo',
    description='TODO: Package description',
    license='TODO: License declaration',
    tests_require=['pytest'],
    entry_points={
        'console_scripts': [
        ],
    },
)

				
			
  1. Hacer que el archivo de inicio sea ejecutable.
				
					cd ~/ros2_ws/src
chmod +x combined_rtk/launch/combined_nodes.launch.py
				
			
  1. Regrese a la raíz de su espacio de trabajo, cree su nuevo paquete y obtenga el archivo de instalación:
				
					cd ~/ros2_ws
colcon build
source install/setup.bash

				
			
  1. Inicie ambos ublox_gps y cliente ntrip Nodos con un comando:
				
					ros2 launch combined_rtk combined_nodes.launch.py
				
			
  1. Deberías ver registros de ambos nodos en tu terminal, indicando que:
    • ublox_gps está leyendo datos GPS del dispositivo especificado (por ejemplo, /dev/tty_Ardusimple).
    • cliente ntrip está conectado a tu NTRIP servidor y publicación de correcciones RTCM en /rtcm (y posiblemente suscripción a /nmea si está configurado).
    Nota: Al utilizar este archivo de inicio, no es necesario iniciarlo manualmente. u-blox y NTRIP Nodos por separado: el lanzamiento iniciará automáticamente ambos nodos. No cierre esta terminal de lanzamiento si desea inspeccionar los temas o servicios que ofrecen estos nodos.
  1. Para interactuar con los nodos lanzados, no detenga la transmisión. Abra una nueva terminal e inicialice el espacio de trabajo.
				
					source ~/ros2_ws/install/setup.bash
				
			
  1. Para verificar temas, servicios y estado del dispositivo, abra una nueva terminal e inicialice:
				
					source install/setup.bash
				
			
  1. Vea la lista de temas. 
				
					ros2 topic list
				
			
  1. Podrás ver antes de tu compra las /ublox_gps_node/fix, /rtcm, u otras personas.
  1. Ver Eco de datos GPS.
				
					ros2 topic echo /ublox_gps_node/fix
				
			
  1. Esto muestra datos GPS en tiempo real. Para detener la transmisión, presione Ctrl + C.
  1. La ublox_gps Node publica diagnósticos sobre un tema como /diagnóstico. Para comprobar la información de diagnóstico:
				
					ros2 topic echo /diagnostics
				
			
  1. Incluye mensajes de estado como precisión horizontal, precisión vertical y “corrección 3D” cuando el receptor tiene una posición válida, o “corrección no correcta” cuando el GPS aún no está corregido correctamente.

  1. Consejos clave para comprobar el estado de la reparación:
    • Monitorear /ublox_gps_node/fix en mensajes NavSatFix (campo status.status) o mensajes de diagnóstico para estados basados ​​en texto más detallados.
    • La /diagnóstico El tema a menudo proporciona un resumen legible como "solución 3D".
    • Use /ublox/navpvt Para obtener información detallada:
      • El campo fix_type debe ser 3 para la corrección 3D.
      • El campo de banderas debe indicar que se están utilizando correcciones.
      • El campo flags2 incluye el estado RTK: 67 RTK Float, 128 RTK Fix. Si el valor es significativamente menor, probablemente significa que no se están aplicando correcciones RTK.
    • Asegúrese de que su antena tenga una vista despejada del cielo y de su NTRIP caster Las credenciales son correctas para lograr una solución RTK estable.

Si quieres seguir este tutorial, tenemos todos los productos en stock y listos para ser enviados:

Si te ha gustado este contenido, puedes seguirnos en Twitter, YouTube, Facebook or LinkedIn para mantenerse actualizado de contenido como este.

¿Tienes alguna pregunta o solicitud?
¡Contáctenos! ¡Responderemos <24 horas!

Ícono
Contacto ArduSimple
Cerrar

¿Quieres saber más sobre GPS/RTK?

1. Nuestro equipo de ingeniería se pondrá en contacto contigo para resolver cualquier duda
2. Lo mantendremos informado sobre promociones y lanzamientos de nuevos productos.
3. Solo sabrá de nosotros cuando tengamos noticias importantes, no enviaremos spam a su correo electrónico.