Introducción
La erosión en los suelos costarricenses afecta aproximadamente al 74% de los terrenos dedicados a actividades agrícolas (Sibello Hernández, 2013). Estos suelos están severamente degradados, principalmente por malas prácticas agrícolas que incluyen el uso excesivo de fertilizantes, pesticidas y herbicidas, aunado a la alta deforestación, lo cual tiene un alto impacto ambiental, económico y social. El arrastre de sedimentos, además, contamina cauces de agua y hábitats naturales conexos, como arrecifes, ocasionando la disminución del cauce y afectando actividades como la generación de energía eléctrica.
Para cuantificar la erosión existen numerosas metodologías, tales como estacas graduadas, estaciones de aforo y parcelas de escorrentía (Morales, 1996). Las parcelas de escorrentía, en particular, se caracterizan por requerir de una sección de terreno donde se construye una parcela con dimensiones que varían según las condiciones del mismo. Dichas parcelas están conformadas por un sistema colector encargado de captar el material erosionado y por un sistema de almacenamiento al que llegará el agua de escorrentía (Kass, Faustino & Tineo, 1994).
En Costa Rica se utilizan frecuentemente las parcelas de escorrentía, pero esta actividad tiene una serie de desventajas, como el uso ineficiente del suelo, el alto costo de construcción y los elevados gastos de operación y mantenimiento. Sumado a esto, la recolección de los datos suele realizarse de forma manual y los resultados usualmente tienen escasa precisión (Morales, 1996; Hudson, 1997).
Como solución alternativa, las técnicas fotogramétricas con sistemas aéreos no tripulados (UAV, por sus siglas en inglés) tienen un alto potencial, por la posibilidad que ofrecen de elaborar mapas tridimensionales con suficiente precisión (de unos pocos centímetros) para cuantificar la cantidad de terreno erosionado en un determinado lapso de tiempo (Eisenbeiß , 2009). En la actualidad, esta alternativa es objeto de una investigación conjunta del Laboratorio PRIAS del Centro Nacional de Alta Tecnología (CeNAT) y el Tecnológico de Costa Rica (TEC), con la participación de las escuelas de Ingeniería Agrícola e Ingeniería Electrónica.
Se espera que la fotogrametría UAV brinde una resolución y flexibilidad suficiente para monitorizar procesos de erosión en diferentes lugares, sin alterar las parcelas agrícolas con cultivos de bajo porte.
En la figura 1 se ilustra el proceso de fotogrametría con vehículos aéreos no tripulados. El levantamiento fotogramétrico consiste básicamente en la captura de imágenes con una ruta de vuelo que cubre todo el terreno en estudio, con un cierto porcentaje de traslape entre las imágenes, mientras se registra el tiempo y la posición exacta desde donde se tomó cada imagen. Esta información es necesaria para el procesamiento posterior de la información y la generación de un modelo de elevación digital que permita cuantificar la erosión a lo largo de un determinado período.
Para la captura de las imágenes con fines fotogramétricos existen diversas técnicas. En este caso, se consideran los sistemas UAV debido a su bajo costo relativo en comparación con otras soluciones que emplean aviones tripulados o tomas satelitales, y por la alta resolución espacial que se logra al volar a baja altura (por debajo de los 100 metros sobre el nivel del terreno). Los UAV poseen un sistema de vuelo automatizado, conocido también como piloto automático, capaz de planificar la misión de vuelo con la mínima intervención humana, lo que permite definir las rutas de vuelo más precisamente.
Este trabajo se centró en el diseño de un sistema independiente de adquisición que permita la generación de una base de datos relacionada con las imágenes adquiridas por medio de una cámara digital a bordo del UAV, que registre la ubicación espacial (ángulos de elevación y altura) y la posición geográfica (latitud y longitud) al momento de realizar la captura. El desarrollo de dicho sistema busca facilitar la toma de datos para el análisis de erosión mediante el empleo de técnicas fotogramétricas. Este artículo presenta parte del trabajo desarrollado como proyecto de graduación para optar por el grado académico de Licenciatura en Ingeniería Electrónica (Arriola, 2015).
Diseño del sistema de adquisición de datos
Actualmente existen sistemas comerciales capaces de desarrollar técnicas fotogramétricas utilizando UAV, sin embargo, estas soluciones se basan muchas veces en sistemas cerrados que ofrecen poca flexibilidad en la obtención de la información y tienen un costo elevado. Además, los sistemas disponibles no están diseñados específicamente para cuantificar la erosión de los suelos.
Es por ello que se plantea el desarrollo de un sistema de adquisición de datos capaz de registrar en un formato estándar, de valores separados por comas (CSV, por sus siglas en inglés), información tal como la posición y el tiempo para cada imagen registrada. Dicha información debe incluir la orientación de la nave dada por los ángulos de navegación cabeceo (pitch), alabeo (roll), quiñada (yaw), latitud, longitud, altura, fecha y hora. Como el objetivo es registrar imágenes con esta información asociada al momento de la toma, el sistema debe permitir controlar la obturación de una cámara fotográfica para poder sincronizar el registro y las lecturas de los sensores requeridos (esto se detalla más adelante).
Como primera etapa del proceso de diseño, además de la especificación de la información a registrar, se tomaron en cuenta otros factores, que incluyen la flexibilidad del sistema para futuras mejoras, bajo peso, bajo consumo eléctrico, así como un mínimo costo de implementación. Mediante una metodología modular se planteó un concepto de diseño que representa toda la conformación del hardware y la interacción de todos los módulos con la unidad central de procesamiento. En la figura 2 se muestra dicho concepto para el sistema de adquisición de datos. A continuación, se explica la implementación y el contenido de cada subsistema, lo cual es el resultado de un intenso proceso de evaluación y selección, el cual se detalla en Arriola Valverde (2015), (2015 a) y (2015 b).
Módulo de sensores
El módulo de sensores está constituido por un acelerómetro, un giroscopio, un magnetómetro y un barómetro, todos con una resolución de 16 bits, conformando lo que se conoce como una unidad de medición inercial (IMU, por sus siglas en inglés). En este diseño se utilizó el módulo marca YSTD modelo GY-89, que brinda la información de orientación espacial a partir de componentes en ejes coordenados (X,Y,Z).Mediante el protocolo de comunicación I2C, la información del sensor es enviada a la unidad central de procesamiento, donde se calculan y almacenan los ángulos de navegación (pitch, roll, yaw) (Arriola-Valverde, 2015); El IMU además permite registrar la altitud y temperatura.
Módulo GPS
Mediante un módulo receptor GPS comercial marca Adafruit, modelo MTK 3339, se obtiene información proveniente de la red de satélites: latitud, longitud, dilución de precisión horizontal (HDOP, por sus siglas en inglés) y el parámetro “fix”, el cual indica si existe enlace de comunicación entre el módulo con GPS con algún satélite disponible.
Módulo de comunicación con cámara
La obturación de la cámara fotográfica, marca SONY, modelo NEX5, se controla a través de un enlace inalámbrico infrarrojo desde la unidad central de procesamiento. Las capturas fotográficas se pueden realizar con una frecuencia programable por el usuario desde la estación de monitoreo central en tierra. La implementación específica se resolvió con un fotodiodo infrarrojo, ya que la cámara tiene la opción de ser controlada por este medio.
Módulo de comunicación por radiofrecuencia
Mediante un enlace de comunicación por radiofrecuencia, implementado con los módulos comerciales marca Xbee, modelo S1 PRO, el sistema de adquisición de datos puede establecer comunicación desde el UAV con un computador (estación de monitorización central en tierra). Esto permite el envío completo de la información referente al estado de carga eléctrica, posicionamiento, orientación y control del dispositivo de imagen durante el vuelo, la cual es desplegada a través de la interfaz gráfica en un computador.
Módulo de monitoreo de baterías
Los UAV están sustentados en su mayoría por baterías del tipo polímero de litio (LiPo, por sus siglas en inglés), que se utilizan porque tienen una capacidad de entrega de corriente alta. Por recomendación de los fabricantes en términos de seguridad y vida útil, las baterías no pueden ser descargadas por debajo del 20% de su capacidad, por lo que es necesario monitorearlas durante los vuelos. Este módulo cuenta con un arreglo de divisores resistivos que permiten medir la señal proveniente de las celdas eléctricas de la batería LiPo, con el objetivo acondicionar la entrada al convertidor analógico-digital (ADC, por sus siglas en inglés) de la unidad central de procesamiento. La estimación de carga eléctrica es realizada por la unidad central de procesamiento y posteriormente es enviada por radiofrecuencia a la estación de monitoreo central en tierra, donde se visualiza mediante una interfaz gráfica. Si bien los sistemas de control de UAV normalmente tienen este monitoreo, se ha detectado que no siempre son lo suficientemente confiables, por lo que se agregó esta funcionalidad a fin de tener redundancia durante la operación del sistema UAV.
Módulo reloj en tiempo real
A partir de un módulo real time clock marca Sparkfun, modelo DS1307, se mantiene una referencia temporal independiente en un formato de horas:minutos:segundos con día/mes/año. A pesar de que esta información se puede obtener del GPS, se incluyó este módulo para tener redundancia en caso de que la señal del GPS no sea estable.
Módulo de almacenamiento de información
Este módulo almacena en un medio extraíble tipo microSD toda la información proveniente de los sensores, GPS y reloj en tiempo real con un formato CSV preestablecido. Cada trama de información almacenada está relacionada con la imagen obtenida por el cámara digital en ese ciclo.
Unidad central de procesamiento
La plataforma de hardware marca Arduino, modelo ADK 2560, es la encargada de adquirir y registrar la información proveniente de todos los dispositivos interconectados a ella y controla la obturación de la cámara fotográfica. Del mismo modo, esta unidad se encarga de controlar el almacenamiento de los datos y la interfaz de comunicación con la estación en tierra. En Arriola Valverde (2015) se pueden encontrar referencias detalladas de los componentes y detalles técnicos de la implementación.
Descripción del algoritmo de control
El algoritmo de control se implementó en el lenguaje de programación de alto nivel llamado Processing, que es utilizado por los compiladores de las tarjetas de desarrollo marca Arduino. Este entorno tiene disponible múltiples bibliotecas de código abierto, lo que facilita y acelera los desarrollos basados en esta plataforma. Este algoritmo es el encargado de controlar todos los procesos necesarios para llevar a cabo la adquisición, el registro, la captura de imagen y la comunicación con una estación de monitoreo central.
En cuanto a su estructura, el algoritmo se inicia con la configuración del hardware mediante la definición de bibliotecas propias para los sensores utilizados, declaraciones de clases, variables globales, constantes y la habilitación de todos los protocolos de comunicación con sus respectivas velocidades. Seguidamente, se realiza el proceso de adquisición de datos, mediante lecturas de los módulos de hardware. Por último, se registra y almacena la información y se envía mediante un enlace de radiofrecuencia a una estación de monitoreo central. En la figura 3 se muestran los diagramas de flujo del código de inicialización y adquisición. Un mayor detalle de la programación se puede encontrar en Arriola Valverde (2015).
Implementación y validación del sistema de adquisición de datos
En este apartado se muestra la implementación física y la validación realizada al sistema de adquisición de datos, donde se evaluó la integración de todos los módulos descritos en la sección 2. En la figura 4 se muestra el prototipo implementado del sistema de adquisición de datos.
La metodología modular empleada representó un consumo de hardware en la unidad central de procesamiento de aproximadamente un 13%. Para obtener esa aproximación se cotejó la utilización de los pines de la tarjeta Arduino ADK 2560. A nivel de software, mediante herramientas de visualización que ofrece el compilador de la tarjeta Arduino, se obtuvieron las estadísticas de consumo del microcontrolador, que fueron de un 15% de la memoria flash y un 27% de la memoria dinámica total.
Mediante un oscilograma se determinó que la unidad central de procesamiento le toma aproximadamente 930 ms adquirir y registrar información georreferenciada y temporizada proveniente de todos los sensores y el receptor GPS. Este tiempo se vio limitado principalmente por el receptor GPS, ya que requiere 860 ms para actualizar la información de latitud, longitud, altura y HDOP.
Los procesos que involucran el almacenamiento y la captura de una imagen requieren aproximadamente unos 200 ms adicionales, que comprenden el envío del comando de obturación vía infrarrojo a la cámara fotográfica y el respaldo de la información en el medio extraíble microSD con el formato de registro CSV. Con ello se obtiene un tiempo total de unos 1.13 segundos; por último, si se adiciona el tiempo del envío de la información por radiofrecuencia a la estación de monitoreo central, se necesitan unos 1480 ms para completar un ciclo; es decir, el proceso de tomar una imagen con la cámara, registrar y almacenar la información proveniente de los sensores.
Para visualizar la información en tiempo real, se desarrolló una interfaz gráfica en Matlab basada en Arias et al. (2014). Mediante el enlace de radiofrecuencia a 2,4 GHz, la interfaz original permite desplegar la carga eléctrica disponible para baterías tipo LiPo con un máximo de seis celdas eléctricas. También se incorpora un panel informativo donde se despliegan valores tales como latitud, longitud, pitch, roll, yaw, velocidad, altura, temperatura, satélites y HDOP; además, se incluye un panel de control para monitorear la adquisición de información y capturas de imágenes.
Utilizando la interfaz gráfica antes mencionada, se caracterizó el enlace de comunicación de radiofrecuencia a 2.4 GHz con el prototipo final, logrando una conexión estable con el sistema de adquisición de datos hasta una distancia de 170 metros, aproximadamente. Esta distancia se logró con módulos de 60mW que poseen antenas tipo patch (Arriola Valverde, 2015; Arias et al, 2014).
En cuanto a la autonomía eléctrica del sistema de adquisición de datos, se determinó un consumo máximo de corriente eléctrica de 190 mA. Si se alimenta el sistema a través de una batería tipo LiPo de 7.8 V con una capacidad de 2200 mAh, la autonomía eléctrica sería de aproximadamente 12 horas (con una única carga de batería).
Dado que los sistemas aéreos no tripulados comerciales poseen una autonomía de 15 a 20 minutos, debido principalmente al consumo de los motores, se concluye que el sistema de adquisición de datos no tiene un consumo comparativamente significativo.
El peso del prototipo es de 124 g y esto se determinó con una balanza marca Torrey, serie L-EQ, e incluye el peso de la tarjeta de desarrollo, el alambrado y los módulos de sensores. Esto representa una carga bastante liviana para un UAV que sea capaz de cargar la cámara digital convencional, los cuales soportan típicamente cargas superiores a 800 gramos.
Como se mencionó anteriormente, la información georreferenciada y temporizada es registrada con un formato tipo CSV, que permite su postprocesamiento de forma simple. En la figura 5 se incluye una muestra del registro obtenido para una captura de 13 fotografías.
Para la reconstrucción fotogramétrica del espacio a analizar y la generación del modelo de elevación digital (DEM) se deberá utilizar una herramienta de software capaz de efectuar procesamiento de imágenes y que permita asociar la información georreferenciada de cada imagen para obtener un modelo en 3D lo suficientemente preciso. Existen varios paquetes comerciales para realizar esta tarea, tales como Erdas, Agisoft Photscan o Pix4D. Típicamente, además de la georreferenciación en la toma de datos desde el UAV, un modelo 3D con alta resolución requiere la utilización de puntos de control tomados en tierra con un GPS diferencial o RTK (Arriola Valverde, 2015). Esto tiene el propósito de mejorar la precisión global de la ubicación de las fotos para así poder generar un DEM de alta resolución (de unos pocos centímetros a fracciones de centímetro por pixel).
Conclusiones
En este trabajo se reporta el diseño e implementación de un sistema de adquisición de datos capaz de registrar y almacenar información georreferenciada y temporizada en sincronía con una cámara fotográfica. El sistema también tiene la capacidad de establecer conexión mediante un enlace de radiofrecuencia con una estación de monitoreo central en tierra, en la cual se puede visualizar la información en tiempo real en un computador a través de una interfaz gráfica.
El empleo de una metodología modular con componentes “open hardware” y “open software” permitió el desarrollo de un concepto de diseño escalable, que facilitó la creación de los algoritmos de control con el fin de llevar a cabo todos los procesos necesarios para obtener imágenes con información georreferenciada a intervalos mínimos de 1.5 segundos, aproximadamente.
El sistema de adquisición de datos consume en operación una potencia aproximada de 964 mW y pesa unos 130 gramos, lo que representa un consumo y peso mucho menores en comparación con el que aportan otros componentes del sistema UAV. Se espera utilizar, en un futuro, este prototipo en los levantamientos fotogramétricos que se realizan como parte del proyecto de investigación conjunta del TEC y el PRIAS.