robot todo terreno con funciones de podadora de césped haciendo uso de ... · término agrobot es...

10
I. ABSTRACT The primordial objective of this project is to apply all knowledge that had been acquire during our studies for making a real prototype with some specific characteristics as recognize a fruit, identify the position of it, calculate its kinematics and give the instruction through a control manage from the computer to reach the goal and harvest it This prototype is think to work in control environments as a greenhouse. During this paper we will see the process to make it possible and also de opportunity areas to keep working on it, because as always there are some aspects that need a little bit more of our attention. Finally is truly important to mention that the name of the project is AGBOT 1, which means Agrobot Inteligente. II. INTRODUCCIÓN El desarrollo científico y tecnológico es uno de los factores más importantes que posibilitan que una nación pueda aspirar a una economía de primer nivel. Un claro ejemplo de esto lo proporciona Japón que después de las precarias condiciones presentadas después de la segunda guerra mundial ha demostrado que a través de una disciplina basada en la responsabilidad y el desarrollo tecnológico se puede aspirar a mejores condiciones de vida. Es precisamente lo que se quiere alcanzar con este proyecto, un desarrollo tecnológico de aplicaciones pensadas a largo plazo que puedan posicionar a nuestro país como impulsor en el desarrollo de la robótica agrícola. Desde 1964 la automatización en el sector agrícola ha tenido un gran avance gracias al desarrollo de nuevas tecnologías basadas en la microelectrónica. Estos avances se enfocan hacia la generación de innovaciones en el sector que facilite a los agricultores: ahorrar tiempo en el proceso agrícola, reducir las pérdidas por cosecha perdidas debido a plagas, eliminar puestos de trabajo pesados, sucios o poco asequible (Nabutaka Ito, IEEE)[1]. Si bien se ha logrado un gran avance en el perfeccionamiento de los robos agrícolas (especialmente en los robot recolectores o harvesting robots) aun existen problemas abiertos que deben resolverse tales como la rapidez de procesamiento con sistemas multi- agentes o la eficiencia debido a las condiciones extremadamente cambiante que necesitan algoritmos y sistemas de visión robustos. De tal manera que con este proyecto se espera dar el primer paso para involucrarnos en la generación de soluciones de alto valor para la industria agrícola mexicana. Dentro de la agricultura existe una gran área de oportunidad en la generación de robots que realicen tareas propias de esta actividad humana. En esta ocasión se realizará el proyecto denominado Agrobot Inteligente. Donde el término agrobot es el acrónimo de una conjunción que en español significa robot agrícola, que como tal, es un robot destinado a cumplir con una o más de las actividades pertenecientes a la agricultura. El término inteligente para propósitos de este proyecto se debe entender como la capacidad que tendrá el robot para tomar decisiones en función de ciertas características propias del proceso agrícola (esta inteligencia se deberá principalmente al uso de algoritmos basados en visión por computadora). III. DESCRIPCIÓN Para la realización de este proyecto fue necesario el dividir los principales objetivos en Desarrollo de un Brazo Robótico Prototipo de 3 GDL para la Cosecha de Frutos en un Ambiente Controlado, Invernadero, con un Sistema de Visión Computarizada W. M. Caballero-López, B. Hernández-Rodríguez, M. Venegas-Nava ITESM campus Puebla Vía Atlixcayotl 2301 303 2000 [email protected] , [email protected] , [email protected] 1

Upload: phamdat

Post on 21-Sep-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

I. ABSTRACT

The primordial objective of this project is to apply all knowledge that had been acquire during our studies for making a real prototype with some specific characteristics as recognize a fruit, identify the position of it, calculate its kinematics and give the instruction through a control manage from the computer to reach the goal and harvest it This prototype is think to work in control environments as a greenhouse.During this paper we will see the process to make it possible and also de opportunity areas to keep working on it, because as always there are some aspects that need a little bit more of our attention.Finally is truly important to mention that the name of the project is AGBOT 1, which means Agrobot Inteligente.

II. INTRODUCCIÓN

El desarrollo científico y tecnológico es uno de los factores más importantes que posibilitan que una nación pueda aspirar a una economía de primer nivel. Un claro ejemplo de esto lo proporciona Japón que después de las precarias condiciones presentadas después de la segunda guerra mundial ha demostrado que a través de una disciplina basada en la responsabilidad y el desarrollo tecnológico se puede aspirar a mejores condiciones de vida. Es precisamente lo que se quiere alcanzar con este proyecto, un desarrollo tecnológico de aplicaciones pensadas a largo plazo que puedan posicionar a nuestro país como impulsor en el desarrollo de la robótica agrícola. Desde 1964 la automatización en el sector agrícola ha tenido un gran avance gracias al desarrollo de nuevas tecnologías basadas en la microelectrónica. Estos avances se enfocan

hacia la generación de innovaciones en el sector que facilite a los agricultores: ahorrar tiempo en el proceso agrícola, reducir las pérdidas por cosecha perdidas debido a plagas, eliminar puestos de trabajo pesados, sucios o poco asequible (Nabutaka Ito, IEEE)[1]. Si bien se ha logrado un gran avance en el perfeccionamiento de los robos agrícolas (especialmente en los robot recolectores o harvesting robots) aun existen problemas abiertos que deben resolverse tales como la rapidez de procesamiento con sistemas multi-agentes o la eficiencia debido a las condiciones extremadamente cambiante que necesitan algoritmos y sistemas de visión robustos. De tal manera que con este proyecto se espera dar el primer paso para involucrarnos en la generación de soluciones de alto valor para la industria agrícola mexicana.Dentro de la agricultura existe una gran área de oportunidad en la generación de robots que realicen tareas propias de esta actividad humana. En esta ocasión se realizará el proyecto denominado Agrobot Inteligente. Donde el término agrobot es el acrónimo de una conjunción que en español significa robot agrícola, que como tal, es un robot destinado a cumplir con una o más de las actividades pertenecientes a la agricultura. El término inteligente para propósitos de este proyecto se debe entender como la capacidad que tendrá el robot para tomar decisiones en función de ciertas características propias del proceso agrícola (esta inteligencia se deberá principalmente al uso de algoritmos basados en visión por computadora).

III. DESCRIPCIÓN

Para la realización de este proyecto fue necesario el dividir los principales objetivos en

Desarrollo de un Brazo Robótico Prototipo de 3 GDL para la Cosecha de Frutos en un Ambiente

Controlado, Invernadero, con un Sistema de Visión Computarizada

W. M. Caballero-López, B. Hernández-Rodríguez, M. Venegas-Nava

ITESM campus Puebla Vía Atlixcayotl 2301

303 2000

[email protected], [email protected], [email protected]

1

dos grupos principales como se muestra a continuación:

Objetivo General

Realizar un robot agrícola que integre un sistema de visión mediante el cual se pueda efectuar tareas de búsqueda, reconocimiento y corte de tomates de forma eficiente.

Objetivos Particulares

• Realizar un robot articulado de 3 grados de libertad y efector final que permita efectuar las tareas de búsqueda, reconocimiento y corte de tomates.• Utilizar un sistema de visión de alta eficiencia de procesamiento.• El robot debe ir montado en un sistema de rieles o algún sistema que elimine dos grados de libertad.

Para poder dar cumplimiento a este proyecto en un periodo muy corto se hizo imprescindible acuñar algunas ideas propias de científicos y tecnólogos que habían trabajado previamente en la generación de robots recolectores agrícolas. Es por este motivo que se siguieron algunos modelos, tanto conceptuales como aplicados, sugeridos por diferentes autores. La metodología que se usó estuvo basada en un concepto de ingeniería concurrente, por lo que las tres vertientes principales de nuestro sistema robótico se trabajaron al mismo tiempo por lo que se tuvieron resultados de alto valor en un corto plazo. El proceso que se siguió fue el siguiente:

1. Diseño concurrente

a. Sistema mecánicob. Sistema electrónico y controlc. Sistema de visión por

computadora

2. Pruebas3. Documentación

Considerando las implicaciones de tiempo (aproximadamente cuatro meses) fue necesario delimitar los alcances de proyecto de tal forma que se concentrara en generar aquellas tareas de primordial importancia. Quedando acotado de la siguiente forma:

• Se debe generar prototipo de bajo costo que permita realizar las tareas mencionadas en el objetivo general.

• Generar un sistema de visión de rápido procesamiento que permita trabajar en límites cercanos de tiempo real.

• Trabajar sobre un chasis móvil pero acotado para que se mueve en un grado de libertad (sobre rieles) pero habilitado para que en un futuro pueda ser un robot móvil.

Funcionamiento del AGBOT 1

Agbot 1 El sistema generado tiene como objetivo tener un brazo robótico capaz de buscar, reconocer y cortar tomates bajo condiciones ideales de funcionamiento. Sus principales componentes son:

• Un sistema de visión por computadora compuesta principalmente por una webcam.

• Un brazo robótico de tres grados de libertad (tres ejes). Cada eje es controlado por un servomotor.

• Un chasis móvil en el cual está colocado el brazo pero en esta etapa del proyecto funciona sobre un riel para evitar complicaciones en el tratamiento de un mayor número de señales debido a los grados de libertad extra que tendría.

• Un sistema de comunicación entre PC y arreglo de PIC™ (módulos de control de gama media que permiten controlar cada servomotor) basado en el estándar RS232.

Figura 1. Partes principales del proyecto

El funcionamiento del Agbot 1 es el siguiente (ver figura 2):

1. El robot comienza escaneando del ambiente en busca de tomates mediante movimiento pre-programados de tal forma que se asegure que el robot cubrirá toda un área de interés.

2. En caso que no se encuentre ningún tomate se manda una señal para que el móvil se mueva a la siguiente posición y comience un nuevo escaneo.

2

3. En dado caso que un tomate sea detectado, entonces entra una rutina para centrar el tomate.

4. Una vez centrado se utiliza un sensor para saber la distancia que hay entre el efector final y el tomate.

5. Posteriormente realiza una extrapolación para saber a qué punto debe llegar el tomate y se calcula el movimiento para llegar a esta posición.

6. Se activa el actuador del efecto final y se corta el tomate. Sigue escaneando.

Figura 2. Funcionamiento del Agbot1

Figura 3. Conectividad entre subsistemas del Agbot1

Como puede observarse en la figura 3 el funcionamiento de los subsistemas es el siguiente:1. La webcam manda el stream de video en tiempo real a la PC el cual es la señal de retroalimentación para el cerebro del sistema.

2. Mediante algoritmos de visión por computara, ésta se encarga de discriminar objetos. Y controla las acciones del robot.

3. Las acciones que envía la PC es interpretada por un módulo de comunicaciones mediante el estándar RS232 y convertidas a señales de bajo nivel que cada controlador de los servomotores interpreta.

4. Con estas señales es posible tomar acciones del efector final (cortador), el brazo robótico y el sistema móvil.

IV. RESULTADOS

Al finalizar el tiempo de entrega del robot podemos mencionar que nos sentimos orgullosos de haber generado un prototipo funcional que integra cada una de los objetivos planteados desde un principio. Estas actividades y/o tareas las trataremos de plasmar adecuadamente para todo público que lea este reporte pueda entenderlo. A continuación se describen y muestra cada sistema:

1. Sistema mecánico

Un diseño sencillo y funcional que incluye dos eslabones de acrílico maquinado de tal forma que fue posible montar los actuadores. En la figura 4 se muestran los primeros diseños realizados en CAD. En la figura 5 se puede observar el sistema real, en donde puede apreciarse una prueba de estabilidad realizada sobre el chasis móvil ya que en un principio se creyó que podría presentarse problemas de volcadura por que el centro de gravedad está ligeramente elevado.

3

Figura 4. Primeros diseños CAD

Figura 5. Armado de la estructura mecánica.

2. Sensores y actuadores

Los elementos sensores y actuadores utilizados consiste primordialmente en tres servomotores de mediana capacidad (15 Kg.cm) y un solenoide actuador para el efector final. En la figura 6 se muestran estos componentes.

Figura 6. Servomotores y solenoide. Elementos actuadores

3. Control

La parte de control tangible se tiene una modalidad de control tipo esclavo ya que la función es básicamente adaptar y manipular las señales provenientes de la PC. El control cosiste básicamente en un arreglo de microcontroladores PIC conectados a la PC mediante comunicación RS232. Las señales de salida da cada microcontrolador está vinculado con un opto acoplador que emite la señal de control en el sistema de potencia de los servomotores. En la figura 7 puede verse el control tipo esclavo. También se adaptó el módulo de control remoto propio del chasis móvil, para poder utilizarlo en nuestra circuitería. En la figura 8 se muestra dicha adaptación.

Figura 7. Arreglo de PICs

4

Figura 8. Modulo de control del chasis móvil.

4. Sistema de visión

Dentro de los puntos más importantes de este proyecto se encuentra la etapa relacionada a encontrar el fruto, para lograr esto se utilizo un sistema de visón, debido a que la vista es el sensor mas grande que se puede conseguir en cualquier robot, los algoritmos son considerablemente mas complejos sin embargo los resultados son mejores.

Para la realización de este proyecto se utilizaron librerías libres de visión por computadoras conocidas como OpenCV (Open Computer Vision), las cuales facilitaron el desarrollo del programa para procesar las imágenes, además de que al ser implementadas en C++ un lenguaje de alto nivel, la velocidad de procesamiento es mucho mayor, respecto a nuestra primera alternativa que fue matlab.

Pseudocódigo

1. Inicializar la Cámara (Ver figura 9).2. Tomar Fotografía.3. Realizar Cambio de Espacio de Color

de RGB a Lab.4. Tomar los píxeles del color de interés

y binarizar (1 para color de interés 0 para cualquier otro).

5. Calcular el Centroide de la figura.6. Se Aproxima la figura a un circulo y se

Calcula el Radio.7. Se estima el tallo del fruto8. Se calcula el error del la posición del

tallo al centro de la imagen9. Si el error es 0 se envía una señal para

activar el sensor sónico y calcular la distancia al robot.

10. Si el error no es cero se envía información a los servos para corregir la posición.

11. Vuelve a tomar un nuevo frame

Figura 9. Webcam utilizada

En las figuras 10 y 11 se muestra un estudio más detallado del sistema de visión así como los resultados alcanzados.

Diagrama de Flujo

Figura 10. Funcionamiento del sistema de visión.

Resultado Binarización

5

Figura 11. Resultados del sistema de visión.

5. Módulo de comunicación

Para este subsistema se utilizó un cable adaptador USB – Serial mediante el cual se envían las señales desde la PC hasta el Agbot1. El módulo de comunicaciones consiste en un adaptador MAX232 con el cual se acondiciona la señal a niveles de voltaje manejable en la lógica de control esclavo. Vea la figura 12 y 13.

Figura 12. Adaptador USB-Serial

Figura 13. Modulo de comunicaciones

6. Robótica

Una parte de profundo interés y de especial cuidado es el análisis de la dinámica y cinemática del robot. Ya que es necesario conocerlo para poder efectuar la tarea de búsqueda y recolección de tomates, así como evitar puntos singulares.

6.1 Análisis del Espacio de Trabajo del Robot

De acuerdo a las dimensiones del brazo previamente establecidas y los ángulos limitantes de su movimiento, se obtuvo el espacio de trabajo sobre el cual puede desempeñar las funciones para las cuales está diseñado, una aproximación analítica del mismo se muestra en la Figura 14 mostrada a continuación.

Figura 14: Espacio de trabajo (cm.)

En dicho espacio podemos observar que el punto mas lejano que el robot es capaz de alcanzar de manera horizontal es el punto en el que los eslabones se encuentran de forma perpendicular a la base, es decir que se suman sus longitudes lo que nos da una distancia máxima de 40 cm. , la misma situación la encontramos en la máxima posición en el sentido vertical, solo que en este caso sumamos la longitud del la base para encontrar un punto máximo de 52 cm., dichas mediciones son claramente observables en la figura 15.

Figura 15. Dimensiones

6

Para poder obtener de manera analítica el espacio de trabajo y de esta forma poder determinar los puntos que serán posibles físicamente para el robot de alcanzar, se procedió a determinar el contorno de dicho espacio de trabajo, de modo que la solución del mismo se muestra a continuación.

Se obtuvieron puntos a partir del espacio de trabajo antes mostrado para determinar cuatro cuervas diferentes las cuales de acuerdo a su ecuación limitaron el espacio, observamos ciertas variaciones en dichas curvas pero no se consideran un gran problema puesto que nos referimos a milímetros de distancia, dichas limitantes se muestran en la figura 15 y la figura 16.

Figura 15. Espacio de trabajo

Figura 16. Aproximación de curvas

Las ecuaciones para la realización de estas aproximaciones del límite del espacio de trabajo son:

Ecuación que describe a la curva inferior izquierda

( ) 11 9 10 8

8 7 7 6

6 5 5 4

5 3 2

1.056 10 1.881 10

1.357 10 3.28 10

1.826 10 4.72 10

8.4 10 0.001687

0.4313 41.74

f x x x

x x

x x

x x

x

- -

- -

- -

-

=- +ᄡ ᄡ

+ -ᄡ ᄡ

- +ᄡ ᄡ

+ -ᄡ

- +

Que va del punto mínimo, es de -12.7 hasta el punto de inflexión con la siguiente curva que es 27.3.

Ecuación que describe a la curva inferior izquierda

( ) 3 20.09093 6.543

159.2 1310

f x x x

x

= -

+ +

Que va del punto final que es de 22 hasta el punto de inflexión con la anterior curva que es 27.3.

Ecuación que describe a la curva superior izquierda

( ) 11 9 9 8

8 7 7 6

5 5 4

3 2

1.19 10 1.26 10

4.303 10 2.887 10

1.114 10 0.0001663

0.0002072 0.008072

0.04931 51.9

f x x x

x x

x x

x x

x

- -

- -

-

=- +ᄡ ᄡ

- +ᄡ ᄡ

+ -ᄡ

- -

+ +

Que va del punto mínimo, es de -12.7 hasta el punto de inflexión con la siguiente curva que es 40.

Ecuación que describe a la curva superior derecha

( ) 5 4 3

2

0.0001139 0.01698 1.005

29.47 428 2470

f x x x x

x x

= - +

- + -

Que va del punto final que es de 22 hasta el punto de inflexión con la anterior curva que es 40.

Así a partir de estos datos podremos limitarnos a los puntos reales.

7

6.2 Sensor Medidor Distancia

Para la determinación de la distancia a la cual se encuentra el objeto que debe cortar el brazo se hace uso de un sensor Sharp GP2Y0A02YK, el cual es un sensor medidor de distancia infrarrojo no lineal, el cual se comporta de acuerdo a la gráfica mostrada en la figura 17, y mediante la cual se obtuvo una codificación para poder obtener las distancias en centímetros, puesto que a la salida del sensor contamos con la señal analógica del voltaje que caracteriza dicha distancia mencionada.

Figura 17. Curva de respuesta del sensor

Así en base a esta curva de comportamiento del sensor y sabiendo que la resolución del convertidor analógico digital de 8 bits es de 0.019607843, así los valores que nos son arrojados para distancias de entre 15 y 30 cm. tomadas desde la posición en la que se coloca el sensor sobre el brazo se muestran en la tabla 1.

Tabla 1

6.3 Análisis de Cinemática del Robot

Para obtener la cinemática inversa, con la cual se procesan los datos para llegar al punto deseado se realizaron los siguientes cálculos.

Cinemática Inversa

En base a los parámetros D-H se obtuvo la representación de la cinemática inversa del robot, con la ayuda de Matlab.

J θi αi ai di

1 q1 -90 0 122 q2 0 22 03 q3 90 18+L3 0

8

Tabla 2. Parámetros D-H

Con dichas ecuaciones y con las restricciones del espacio de trabajo es posible esperar un funcionamiento del Agbot1. El estado actual del Agbot1 se muestra en la figura 18 en donde puede apreciarse la cámara y el efector final.

Figura 18. AGBOT 1

V. CONCLUSIONES

Nos sentimos orgullos de presentar el proyecto Agrobot Inteligente junto con su prototipo Agbot 1 el cual hemos desarrollado a lo largo de este cuatrimestre, debido a que fue un gran reto comenzar desde cero y con expectativas muy elevadas. Al hacer entrega de este reporte podemos decir que hemos alcanzado todas las metas propuestas, teniendo un prototipo funcional que integra todos los conocimientos adquiridos a lo largo de la carrera, especialmente, temas selectos de robótica aplicada.

Cabe recordar el objetivo inicialmente trazado: Realizar un robot agrícola que integre un sistema de visión mediante el cual se pueda efectuar tareas de búsqueda, reconocimiento y corte de tomates de forma eficiente: Realizando un robot articulado de 3 grados de libertad y efector final. Utilizar un sistema de visión de

alta eficiencia de procesamiento. Al finalizar este proyecto podemos mencionar que todos los objetivos han sido alcanzados, aunque quedan algunos pendientes por resolver no son parte esencial de los objetivos asentados en un principio.

En resumen lo que se realizó mediante trabajo concurrente fue: Visión y programación: algoritmos de reconocimiento de colores, modelado del robot en C++ y el traductor para enviar señales de control con el estándar rs232; Mecánica, electrónica, control e interface: Se diseño y construyó un brazo robótico de tres grados libertad el cual está montado sobre un chasis móvil, tiene la modalidad de robot articulado con servomotores montados en las articulaciones. En la parte de control se utilizo un arreglo de microcontroladores de gama media con el cual se realiza un control tipo esclavo mediante señales provenientes de la PC. La integración de estos sistemas fue una labor complicada debido a la gran cantidad de componentes que deben operar para lograr el funcionamiento satisfactorio.

Con respecto a la gestión del proyecto se pueden resumir las siguientes experiencias: El trabajo concurrente agilizó el trabajo y los tiempos de realización de las tareas. Se ha trabajado correctamente en equipo. Todos hemos participado activamente.

Algunas áreas de oportunidad que deberán ser corregidas es el correcto funcionamiento del sensor y del efector final. Es importante mencionar que el Agbot 1 fue el primer prototipo en esta aventura que hemos comenzado dentro de la robótica agrícola que esperamos pronto tener resultados con prototipos con mayor valor agregado que puede impactar y generar propuestas concretas en el sector y así contribuir favorablemente en la generación de tecnología mexicana.

REFERENCIAS

[1] Craig ,John , Robótica. Craig, John J., 1955. Robótica / John J. Craig ; traducción, Alfonso Vidal Romero Elizondo. México : Pearson Educación, c2006

[2] Ito, Nabutaka (1990). Agricultural Robots in Japan. IEEE International Workshop on intelligent robot and systems.

[3] Niku, Saeed B. Introduction to robotics analysis, systems, applications / Saeed B. Niku. Upper Saddle River, N.J. : Prentice Hall, c2001.

[4] Spong, Mark W. Robot modeling and control / Mark W. Spong, Seth Hutchinson, M. Vidyasagar. Hoboken, NJ : John Wiley & Sons, c2006

9

10