1. INTRODUCCIÓN
La variabilidad existente en suelos y cultivos ha sido reconocida como uno de los grandes problemas de la agricultura, esta no heterogeneidad en suelos y plantas produce pérdidas en todas las etapas de una producción agrícola. La tecnología conocida como agricultura de precisión trata de aumentar la productividad agrícola aumentando la eficiencia en ciertos procedimientos como también busca reducir el impacto ambiental generado por un proceso siembra-cosecha.
La definición más simple de agricultura de precisión la establece como un grupo de tecnologías que permiten la aplicación de insumos agrícolas, tales como fertilizantes, semillas, pesticidas, fungicidas, etc, en forma variable dentro de una parcela de terreno, de acuerdo con los requerimientos o potencial productivo de varios sectores homogéneos.(Ortega & Flores, 1999) 8
La agricultura de precisión surge en los años 80 en Estados Unidos como una opción para ahorrar recursos al momento de aplicar insumos o pesticidas a los cultivos valorando la variabilidad de su desarrollo, en (Godwin et al., 2002 ) se puede encontrar una reseña de la evolución de la agricultura de precisión en Estados Unidos hasta el año 2002, en el caso de Latinoamérica la aplicación de tecnologías para incrementar la productividad agrícola da sus primeros pasos en el año 2006 en el cono sur del continente con la vinculación de países como Uruguay, Argentina, Chile y Bolivia en investigación agrícola, tal como se muestra en (Bongiovanni, Mantovani, Best, & Roel, 2006), esta referencia es un libro que recoge la información más relevante para la agricultura de precisión, como la forma de obtención de información relevante en suelos y plantas, el mapeo de suelos, el geo posicionamiento y como dosificar la aplicación de insumos mediante las tecnologías.
La agricultura de precisión se basaba en tres etapas marcadas, la adquisición de información, el análisis de la información y la aplicación de insumos, hasta hace unos 5 años. Actualmente la agricultura de precisión se ha expandido a todas las áreas de la producción agrícola como: el análisis de suelos mediante sistemas de información geográfica (SIG), mapas de aplicación, labrado selectivo, siembra automatizada, fumigación y fertilización selectiva y la cosecha asistida (Moreano & Ribeiro, 2017) . Información adicional sobre los conceptos, objetivos, antecedentes y avances de la agricultura de precisión se puede encontrar en las referencias (Bevly, D. M., & Parkinson, B., 2007), (Leiva, F. R., 2003), (Lía García., 2005).
La mayoría de las tareas de agricultura de precisión implican desplazamientos grandes por parte de los actores del trabajo en parcelas extensas de terreno y en ocasiones zonas peligrosas; esto influye para que un campo importante de investigación para el desarrollo de estas tecnologías sea la navegación autónoma. Actualmente la navegación aérea ha sido el método más abordado por investigadores y desarrolladores dentro de la agricultura de precisión debido a la popularidad que se ha generado alrededor de los drones, estos dispositivos aéreos tienen facilidad para moverse sobre las parcelas de terreno utilizando sistemas de geo-posicionamiento para obtener información de desgastes de suelos, detección de plagas mediante redes de sensores, etc. Algunas aplicaciones específicas de los drones se muestran en (Lago González et al., 2011). En (Meneses, Téllez, & Velasquez, 2015) se muestra un estudio de uso de drones para la toma de muestras de suelos a fin de identificar la variabilidad y aplicar fertilizantes y abonos de manera selectiva, reduciendo la inversión en estos insumos.
La navegación terrestre por su parte es un área de estudio con un grado mayor de complejidad debido a la dificultad que tienen los vehículos para movilizarse sobre terrenos agrícolas, esto porque se encuentran con percances como deslizamientos, obstáculos, huecos, desniveles, variación de tierras, etc. Estas dificultades proporcionan un campo amplio de investigación donde investigadores han probado varias técnicas de navegación como en (Tereshkov, 2015) donde el autor muestra los resultados de pruebas de navegación con acelerómetros, giroscopios y brújulas (odometría), para intentar controlar la trayectoria de navegación. Otras opciones son los sistemas de control predictivos como el filtro de Kalman mostrado en (Bevly & Parkinson, 2007) o las fusiones sensoriales donde se combinan las técnicas de control predictivo y la odometría, un ejemplo se puede ver en (Zhou Jun Ji, 2002).
Dentro de este campo de estudio el grupo de investigación GIMAN de la Escuela Superior Politécnica de Chimborazo ha suscrito un convenio institucional con el Ministerio de Agricultura y Ganadería (MAG) mediante el cual se busca dar soluciones efectivas al funcionamiento de 133 motocultores donados por el gobierno ecuatoriano a comunidades organizadas en la provincia de Chimborazo (ver Figura 1). El proyecto incluye las siguientes etapas: diagnóstico técnico del estado de los motocultores, mantenimiento correctivo de los mismos y mantenimiento mejorativo y automatización.
Del MAG (MAG, 2019) se conoce que de los 133 motocultores donados en la provincia de Chimborazo al 1 de Julio de 2018 se tienen 58 motocultores en buen estado, 22 en estado regular y 9 motocultores en mal estado, además se desconoce el estado de 44 motocultores (ver Figura 2).
De la misma cartera de estado se conoce que son muy pocas las comunidades que hacen uso efectivo de estos elementos, las causas son: el desconocimiento sobre: el funcionamiento y el mantenimiento de los motocultores. El problema detectado de mayor importancia fue el tiempo que demora una persona en arrancar o prender el motocultor, sin la capacitación adecuada esta tarea toma no menos a 15 minutos lo cual se traduce en una pérdida innecesaria de tiempo y producción, por esta razón las comunidades han abandonado el uso de estas herramientas teniendo al 1 de Julio de 2018 las siguientes estadísticas: 14 motocultores están en uso continuo, 11 se usan eventualmente, 32 no se usan y no se ha conseguido información de 76 motocultores (ver Figura 3).
El grupo de investigación GIMAN ha intervenido en varios motocultores de la provincia de Chimborazo reparando un total de10 motocultores hasta la presente fecha y capacitando a la misma cantidad de comunidades.
Dentro de la última etapa de la intervención y colaboración se tiene la etapa de mantenimiento mejorativo que trata principalmente de aportar nuevas tecnologías a un proceso para hacerlo más eficiente y menos demandante para un operador humano. En este caso específico se analiza e investiga la factibilidad de dotar de cierta autonomía a los motocultores para evitar tareas repetitivas y desgastantes a los agricultores, para ello se inició el proyecto con la fase de navegación autónoma y más concretamente con la forma de medir y localizar el vehículo en una parcela de terreno.
El método de estudio seleccionado fue usar una fusión sensorial entre la navegación autónoma por medio de percepción artificial y la geolocalización. El sistema de percepción artificial intentará identificar hileras de cultivo de manera efectiva y eficiente de tal forma que se usen estas hileras de cultivo como marcas de navegación para los vehículos automatizados y el sistema de geolocalización se usará como sistema de respaldo para identificar que el motocultor no pierda su rumbo y si este está en algún punto donde no existe una hilera de cultivo, es decir, en las horillas de los terrenos donde el vehículo debe girar y regresar por una nueva hilera.
Las ventajas que presta este sistema es que no es necesario conocer el terreno donde va a moverse el motocultor, es un sistema de navegación por marcas y por ende no necesita ningún sistema de mapeo que consumiría una cantidad muy superior de recursos computacionales. En (Lía García, 2005) la autora nos muestra una reseña completa de la evolución y las técnicas de percepción artificial utilizadas para la navegación autónoma en agricultura de precisión.
La segmentación de imágenes si bien es la técnica más antigua y básica de la percepción artificial tiene ciertos beneficios como el bajo coste computacional, el procesamiento primitivo de las imágenes sin utilización de descriptores o ayudas computacionales, esto favorece en caso de imágenes de gran tamaño. Si bien el trabajo de segmentar una imagen desde el preprocesamiento de la misma hasta la detección de objetos es más complejo, puede arrojar mejores resultados que algoritmos ya implementados como el descriptor Canny.
2. DESARROLLO DEL ALGORITMO
Como se mencionó en la introducción el objetivo del proyecto macro es dotar de cierta autonomía a un motocultor, estos vehículos tienen ciertas ventajas a la hora de intentar automatizarlos entre ellas: que solo disponen de una marcha o velocidad para avance frontal y no se apaga a bajas velocidades. Obviamente presentan también ciertas dificultades, la más importante es el problema en el control de dirección ya que no se dispone de un volante. En la ver Figura 4 se muestra el diagrama de bloques que se desea implementar en el motocultor.
Como se aprecia en la Figura 4 el algoritmo de identificación de hileras de cultivo recibirá imágenes directamente de un sensor, una cámara en este caso, procesará estas imágenes y estimará un estado real del motocultor. Esta estimación de estado se realizará en posición y orientación dependiendo la desviación que tenga el vehículo respecto a la marca de navegación. Un motocultor puede estar alineado perfectamente, con error de posición o con error de orientación respecto a la marca de navegación (hilera de cultivo) como se muestra en la Figura 5.
Las imágenes a procesar se obtienen de una cámara configurada a una resolución de 2595x1728 pixeles, intentando equilibrar la calidad de la imagen con el coste computacional, obteniendo y procesando 5 fotogramas cada segundo. La cámara se ha ubicado en el centro del motocultor a una altura de 1,20 metros con una inclinación de 25º respecto de la vertical como se intenta ilustrar en la Figura 6. Esta configuración es la que mejores condiciones de imagen ha presentado.
Con la configuración de cámara antes indicada se obtienen imágenes como la mostrada en la Figura 7.
El objetivo principal del algoritmo es identificar de manera efectiva las hileras de cultivo, para esto se debe eliminar problemas que se puedan generar en las imágenes como sombras, ramas sobre los cultivos, pérdida de cultivos, maleza, entre otros inconvenientes. Para cumplir este objetivo el algoritmo desarrollado atraviesa las siguientes etapas:
A. Eliminación de la perspectiva
Debido al ángulo de inclinación de la cámara las imágenes adquiridas tienen una perspectiva de la realidad y en su parte superior se aprecia que los objetos se van juntando, este efecto genera un problema en la identificación de cultivos a grandes distancias, para eliminar este inconveniente el primer paso del algoritmo es eliminar un tercio de la zona superior de la imagen, se puede observar el tamaño de este corte en la Figura 8.
B. Segmentación
La etapa de segmentación propiamente abarca todo el procesamiento de la imagen para identificar el cultivo. Una vez establecida la región de interés de análisis, se intenta diferenciar la capa vegetal de todo el resto de componentes del terreno, para ello lo primero es realizar una conversión de la imagen en escala de grises y posteriormente una umbralización; realizados estos pasos se obtiene una imagen de 2 bits como la que se muestra en la Figura 8; esta imagen indica de color blanco lo que puede considerarse capa vegetal y con color negro lo que puede considerarse terreno y otros objetos.
Si bien la imagen de la Figura 8 detecta la capa vegetal la imagen contiene demasiado ruido para realizar una identificación eficiente del estado del vehículo. Para mejorar la respuesta se corrige la imagen obtenida realzando la capa de coloración verde en la imagen en escala de grises, esto se logra dando un mayor peso a la componente verde de la imagen según la Ecuación 1.
Donde:
Mediante un análisis de prueba y error se ha concluido que los valores
Mediante un análisis de prueba y error se ha concluido que los valores
En la Figura 9 se observa que la imagen oscurece de manera más acertada os pixeles con mayor contenido verdoso y aclara casi a blanco puro colores que no tengan demasiado componente verde. Si se umbraliza esta imagen se obtendrá una respuesta de calidad mucho mejor que la mostrada en la Figura 8. Al momento de realizar pruebas de funcionamiento se obtuvo un problema al umbralizar una imagen con un valor fijo de umbralización, ya que las imágenes se obtienen en exteriores y existe variabilidad de luz solar, de coloración de la tierra, del cultivo, etc. Para suprimir este inconveniente se utilizó un sistema de umbralización automático que elimine la ambigüedad existente en la iluminación ambiental. El valor de umbralización se obtiene como promedio de las intensidades de gris de cada pixel de una imagen adquirida según la Ecuación 2.
Aplicando el método de realce y la umbralización automática se obtiene una imagen similar a la mostrada en la Figura 10.
En la Figura 10 ya se puede diferenciar claramente que zona de la imagen es vegetación y que zona no lo es, eliminando la ambigüedad que existía en la Figura 8. El siguiente paso se realiza para mejorar la imagen y poder obtener la marca de navegación.
C. Eliminación de pixeles aislados
El siguiente procedimiento del algoritmo busca solventar dos problemas existentes en la imagen, primero: eliminar grupos de pixeles blancos en zonas de terreno y segundo: eliminar pixeles negros dentro de zonas de vegetación. Se ejecutan entonces dos operaciones morfológicas. Primero una erosión para eliminar los pixeles negros dentro de los pixeles de cultivo y posteriormente una dilatación para eliminar los pixeles blancos en zonas de terreno. Ambos procedimientos se ejecutan con un mismo elemento estructural pero la dilatación tiene un mayor rango de acción.
Estas acciones generan una imagen donde se elimina por completo el ruido de la imagen, disponiendo únicamente de información de cultivo como se muestra en la Figura 11.
En este punto es bastante probable identificar la hilera de cultivo central que actuaría como marca de navegación, pero persiste un inconveniente de confusión con las hileras de cultivo aledañas a la central y con malezas que se encuentren cerca de la hilera de cultivo central, para esto se busca eliminar todos los pixeles blancos de la imagen que no correspondan a la línea central de cultivo. La parte elemental de este algoritmo busca eliminar todos los pixeles blancos que no pertenezcan a la hilera central de cultivo.
El algoritmo realizará una búsqueda de pixeles blancos a la izquierda y a la derecha de la columna central de cultivo y se eliminarán los pixeles que se encuentren a una distancia grande de la columna central, para este procedimiento existe un problema y es que debido a perspectiva de la imagen no se puede medir la misma distancia en la parte inferior de la imagen o en la parte superior.
Para eliminar el problema de la perspectiva se utiliza el mismo método del primer paso del algoritmo y es dividir la imagen en franjas horizontales, pero en esta ocasión no eliminará una zona de la imagen, sino que se utilizarán todas para un análisis individual. Como ejemplo se dividirá la imagen en 3 franjas horizontales y se ejecuta el análisis del algoritmo para cada franja de la imagen según el diagrama de flujo de la Figura 12.
Realizada la búsqueda de la hilera de cultivo central se obtiene una imagen similar a lo observada en la Figura 13.
D. Bloques de cultivos
El siguiente paso para obtener la marca de navegación será construir bloques de pixeles blancos sobre los pixeles de la columna central de cultivo, esto se realiza como último paso del algoritmo mostrado en la Figura 12. Se dispone entonces de tantos bloques blancos como número de franjas se haya dividido la imagen inicial. De cada bloque de pixeles blancos se obtiene su centroide para poder identificar posteriormente la marca de navegación. En la Figura 14 se muestra una imagen con los bloques de pixeles blancos y los centroides detectados.
E. Obtención de la línea de navegación
Finalmente aplicando el método de aproximación por mínimos cuadrados con las ubicaciones de los centroides geométricos se obtiene los puntos superior e inferior de la línea recta que coincidiría con la hilera central de cultivo en la imagen. Si se detectan menos de dos centroides geométricos, el algoritmo devolverá un error y el sistema entregará como respuesta el estado obtenido en el frame anterior.
Los puntos superior e inferior obtenidos son las coordenadas de la marca de navegación obtenida por el algoritmo, estas coordenadas se encuentran en pixeles sobre la imagen, el paso final es entonces unir estos puntos de coordenadas para obtener una línea recta, si el algoritmo se ejecutó de manera correcta y efectiva esta línea deberá coincidir con la hilera central de cultivo de la imagen obtenida por la cámara fotográfica.
3. RESULTADOS
A. Obtención de la línea de navegación
Para comprobar la funcionalidad del algoritmo presentado se han tomado varias imágenes de prueba con el motocultor en funcionamiento manual y sobre varios tipos de terrenos con distintos tipos de plantaciones. Específicamente para un total de 6000 imágenes se ha tenido una eficiencia del 96%, esto quiere decir que se ha tenido problemas en 240 imágenes del total. Estas imágenes no han sido consecutivas lo cual favorece a que el algoritmo no falle en una ruta definida.
En la Figura 15 se puede observar una imagen real con la marca de navegación obtenida resultado del procesamiento de la imagen.
B. Estimación del estado real del vehículo
La posición del vehículo se determinará tomando en consideración la última fila de píxeles de la imagen, donde se contabilizará el número de píxeles existentes entre el centro de la imagen, que representa el centro del vehículo, y el punto inicial de la línea de navegación. De acuerdo a la cantidad de terreno que se observa en la imagen se puede realizar una equivalencia entre pixeles y centímetros, si las imágenes de la cámara se toman con una resolución de 2592 x 1728 píxeles y se supone que la imagen en la base abarca un terreno de 1,60 metros se puede calcular entonces un factor de conversión como se ve en la Ecuación 3.
Al valor del coeficiente calculado se le dará una fiabilidad del 85% por la perspectiva horizontal de la imagen, redondeando el valor en 0,08 cm/pixel, este factor se multiplicará por la distancia medida en píxeles y se obtendrá el resultado final en centímetros.
Para poder determinar una señal de error fiable de la posición y de la orientación hay que tener en consideración a qué lado de la línea de navegación se encuentra el vehículo.
De acuerdo a la Figura 16 el vehículo esta a una distancia d positiva de la línea de navegación cuando se encuentra a la izquierda de la misma, y a una distancia d negativa cuando se encuentra la derecha de la línea de navegación.
La orientación del vehículo se define por el ángulo que forma la línea de navegación respecto de la vertical, este valor es sencillo de calcular gracias a que se conocen los puntos de inicio y fin de la línea de navegación. El valor del ángulo se determinará por las distancias en píxeles de los lados del triángulo rectángulo que forman la línea de navegación y su tangente vertical. En la Figura 17 se observan dos triángulos formados por dos líneas de navegación que coinciden en un mismo punto inicial, a modo de ejemplo para mostrar los ángulos de orientación que se deben encontrar.
Conociendo los valores en píxeles de la línea de navegación es fácil determinar los ángulos de orientación de acuerdo a la Ecuación 3.6.
Para los casos mostrados en la Figura 17 se tiene:
Los valores de los ángulos calculados definen la diferencia existente entre la línea de navegación y el eje longitudinal del vehículo. De acuerdo a los valores obtenido para
En la Figura 18 a y b se muestran resultados obtenidos con el algoritmo de identificación con una segunda marca que simula el eje de coordenadas longitudinal del vehículo.
4. CONCLUSIONES
ESe ha podido implementar un algoritmo de identificación de hileras de cultivo lo suficientemente robusto, capaz de trabajar con imágenes obtenidas en tiempo real en exteriores; la capacidad de obtener 4 capturas por segundo se estima suficientemente sostenible para poder automatizar el movimiento frontal de un motocultor a una velocidad de avance de entre 5 y 10 Km/h.
Una cámara de 5 megapíxeles podría ser suficiente para que el algoritmo funciones de manera óptima, el incrementar la resolución de la cámara provocaría un incremento también en el coste computacional, debido a que el procesamiento se hace a nivel primitivo se considera factible incrementar la resolución de las imágenes hasta 16 megapíxeles que es el máximo tamaño que se ha probado, considerando que se deben cambiar los valores de centímetros por pixel de las imágenes.
Se puede concluir a manera global entonces de que se puede implementar este algoritmo en un sistema real como primer paso de automatización, identificando firmemente los trabajos futuros que son la implementación de actuadores, modelado del sistema, sintonización de controladores y pruebas de funcionamiento.