Ingresar

PK – M – 73 Aplicación de la Inteligencia Artificial en la Robótica


Categoría: Pandilla Kids (3ro., 4to., 5to. y 6to. Año de primaria)
Área de participación: Mecatrónica

Miembros del equipo:
Rodrigo Gilberto González Espinosa

Asesor: Rosalía Ornelas Enríquez

Escuela: Centro Escolar Zamá

Resumen

Actualmente, la robótica se puede aplicar en diferentes ámbitos tales como en la industria, el transporte, la medicina, el hogar e incluso, en la educación.

La robótica a su vez, se complementa de otras disciplinas que hacen posible la concepción de productos tecnológicos viables que resuelven problemáticas de diferente índole. Algunos ejemplos de estas son: la electrónica, la automatización y la Inteligencia Artificial (IA). La cual, hoy en día figura como un eslabón tecnológico de gran impacto que favorece a la automatización de todo tipo de procesos. La IA, a menudo hace uso del aprendizaje automático, procesamiento de lenguaje natural, entre otros factores. Aunque para esta ocasión, nos enfocaremos  al primer aspecto.

Por tanto, el presente proyecto va encaminado justamente en mostrar un ejemplo de aplicación de la IA en la robótica. Pues conoceremos la forma de manipular un robot (carro control remoto) con el uso de flechas que indican la dirección del movimiento de las llantas (adelante, derecha, izquierda, detener). Requiriendo para esta labor tanto el uso de hardware como de software. Del lado del hardware, se tiene el uso de la cámara Web de un dispositivo final (cómo una PC o una tableta), en tanto que, del lado del software, se cuenta con el uso de una herramienta llamada Pictoblox (aplicación para programación por bloques). La cual se encuentra conformada por interesantes recursos tecnológicos como un conjunto de algoritmos de aprendizaje automático, aspecto mediante el cual será posible reconocer los patrones necesarios para dotar de movimiento nuestro robot.

Pregunta de Investigación

¿De qué manera se puede conseguir el control de un robot con el movimiento de una de mis manos?

Planteamiento del Problema

El problema consiste en aplicar diferentes algoritmos que le permitan al robot aprender a identificar las diferentes órdenes (desplazamientos hacia adelante, atrás, a los costados. E incluso detenerse, si fuera necesario).

Se busca incorporar la inteligencia artificial en el ámbito de la robótica  para hacer posible el control de los movimientos de mi robot con el uso de una mano.

Antecedentes

Originalmente, los carros control remoto eran manipulados gracias al uso de un monomando que se conectaba directamente al chasis del juguete. Con el paso del tiempo, dejaron de utilizarse cables para así poder ser controlados de manera inalámbrica. Lo anterior con controles monomando que incorporaban medios inalámbricos de corto alcance. Actualmente es posible el control de un carro mediante el uso de teléfonos celulares y módulos o shields (extensiones) bluetooth independientes.

Por otro lado la inteligencia artificial (IA), juega un papel importante en este tipo de proyectos, sobre todo si lo que se desea es la manipulación de estos carritos con el uso de alguna extremidad del cuerpo, la vista, el movimiento de la cabeza, etc. Pudiéndose actualmente manipular mediante señales emitidas directamente desde una cámara Web en tiempo real. Esto ha hecho posible la  integración de la electrónica, la robótica y la IA en un proyecto STEM.

3.1 ¿Cómo se relaciona la electrónica con la robótica?

La Robótica, Mecatrónica o cualquier sistema de control utiliza la electrónica como una tecnología básica, y del mismo modo, en los cada vez más complejos sistemas electrónicos, las necesidades de control también aumentan.

Un ejemplo de aplicación de estas dos disciplinas, es justamente el diseño de carros control remoto. Por lo general utilizados en el campo de la educación (generación de proyectos STEAM). Actualmente es posible crearlos con la ayuda de herramientas de hardware y software, las cuales serán descritas más adelante.

Imagen 1.

Imagen 1. Los carros control remoto son un ejemplo actual de proyectos STEAM.

 

 

  • Definición de la robótica

El término robótica fue acuñado por Isaac Asimov, quien la definió como la ciencia que estudia a los robots. Asimov creó también las tres leyes de la robótica. En la ciencia ficción, el hombre ha imaginado a los robots visitando nuevos mundos, haciéndose con el poder o, simplemente, aliviándolo de las labores caseras. Imagen 2.

Imagen 2: Isaac Asimov, padre de la robótica.

 

  • Las leyes de la robótica

Las tres leyes son: un robot no puede dañar a un ser humano o, por inacción, permitir que un ser humano sufra daños. Un robot debe obedecer las órdenes que le den los seres humanos, excepto cuando tales órdenes entren en conflicto con la Primera Ley. Un robot debe proteger su propia existencia

 

3.4 La robótica y la Inteligencia Artificial

La robótica es un componente de la inteligencia artificial, y como ciencia, es la que estudia el diseño y construcción de máquinas capaces de desempeñar las tareas del ser humano mediante procesos mecanizados y programados.

Actualmente, es posible dotar ciertos sistemas con dicho tipo de inteligencia. Pues derivado de lo anterior, existen androides, maquinas súper inteligentes, maquinas autónomas, automóviles, etc.  Imagen 3.

 

 

 

 

Imagen 3: Los automóviles autónomos son un ejemplo de aplicación de la IA.

 

3.5 La herramienta Pictoblox

Existe la programación tradicional (mediante líneas de código) y también la programación por bloques. Siendo ésta última una opción para el aprendizaje en infantes. Pues proporciona los medios necesarios para adquirir lógica computacional.

Algunis lenguajes o herramientas para efectos de programación por bloques son: Scratch, Mblock, Makeblock, Snap, S4A, Pictoblox.

 

3.6 Programación por bloques

PictoBlox es una aplicación de codificación educativa basada en bloques para principiantes con capacidades mejoradas de interacción de hardware y tecnología emergente como robótica, IA y el aprendizaje automático que hacen que aprender a codificar sea divertido y atractivo.

Esta herramienta fue creada por STEMPedia, cuyo portal de Internet es: www.thestempedia.com. Desde aquí se puede descargar software, proyectos, y recursos para aprender sobre robótica e IA.

Imagen 4.

 Imagen 4: La herramienta Pictoblox ofrece una alternativa para programar por bloques.

 

3.7 La plataforma Arduino

Una de los recursos de software más empleados para proyectos STEM es sin duda la Plataforma Arduino. Esta ofrece la posibilidad de trabajar con placas electrónicas (hardware) para la generación de circuitos que se conectarán más tarde con el software de la computadora (mediante la programación de un microcontrolador).

La placa utilizada en este caso para el ensamble y programación del carrito control remoto es Arduino UNO en combinación con la extensión (shield) Bluetooth HC-05 y otros componentes electrónicos.

La página de Internet oficial de la plataforma antes mencionada es: www.arduino.cc.

Imagen 5. La placa Arduino UNO, es una elemento de hardware auxiliar para la elaboración de proyectos STEM.

 

 

Objetivo

Dar a conocer la forma de poder controlar los movimientos de un robot con el uso de IA.

Justificación

Porque me gustan los robots, la forma en la que interactúan y las posibilidades que nos brindan. Lo que ha despertado en mí la curiosidad por construir mi propio robot.

Hipótesis

Si se aplica la inteligencia artificial, entonces será posible emitir órdenes de desplazamiento de dicho robot con el uso de flechas de dirección.

Método (materiales y procedimiento)

  1. Método.

Se procede a armar un robot (carro control remoto), para posteriormente comenzar a revisar la forma en que será controlado. Requiriendo para esto:

  • La herramienta Pictoblox para obtener un aprendizaje mediante señales (que para este caso, se trata del uso de fechas de dirección). Imagen 6.
  • Un kit de electrónica (Arduino) el cual deberá armarse y programarse. Imagen 9.
  • Una PC o tableta

Imagen 6: Pictoblox como herramienta para código por bloques e IA.

 

Para el trabajo con las flechas de dirección antes mencionadas (adelante, reversa, izquierda y derecha) se precisó el trazo de una única flecha que se procede a rotar en la dirección elegida. Esta se hizo sobre una placa fija de color blanco.

Este recurso manual se muestra cada vez a la cámara Web del dispositivo (PC o tableta) para indicar al carro control remoto la dirección para su movimiento.

Imagen 7: Foto del recurso de flecha de dirección.

 

7.1 Investigación de campo

Se necesita conocer sobre aspectos básicos de robótica, la forma en que operan los robots y los elementos que los conforman. Así como las disciplinas que hacen posible su desempeño en los diferentes campos de acción. Conocer la parte mecánica, electrónica y su programación, forma parte de la presente investigación.

Por ello, se visitó biblioteca el Laboratorio de Hardware y Redes (LHR) de la División de Ingeniería en Informática y TIC de la UPVM como apoyo para despejar las incógnitas y para poner a prueba dicho proyecto.

Desde estos espacios, se ofreció una clase de los componentes que requiere para armar su propio robot. Imagen 8.

Imagen 8: Rodrigo en instalaciones de la UPVM.

 

7.3  Procedimiento

Se comienza con el estudio de los componentes para el ensamble y programación del robot (carro control remoto). Para lo que ha de utilizarse la Plataforma Arduino, que pone a disposición de los usuarios una placa llamada tarjeta Arduino UNO. Se utilizarán también, componentes auxiliares. Imagen 9.

 

 

 

 

Imagen 9: Vista de la tarjeta Arduino UNO y componentes auxiliares.

  • Ensamble del carro control remoto

Para ensamblar es necesario seguir la guía del kit. Donde se muestran los materiales,  los esquemas de conexión y diversas guías visuales para concretar el diseño. Imagen 10.

Imagen 10: Ensamble del robot (carro control remoto).

 

  • Programación

Para efectos de programación, se utilizó la herramienta Pictoblox. En esta fase, se procede a colocar bloques de código capaz de controlar la dirección de las llantas del carrito. Imagen 11.

Imagen 11: Programación de bloques desde Pictoblox.

 

  1. Prueba de funcionamiento

El carro control remoto, desarrollado son el uso de la placa Arduino UNO, se desplaza según la flecha de dirección emitida por cámara Web. Esto se consigue mediante una conexión inalámbrica (emitida por el módulo Bluetooth HC-06). Imagen 12.

Imagen 12: Foto del carrito control remoto durante la fase de programación.

 

 

 

Galería Método

Resultados

Obtuve un carro control remoto que sigue las órdenes enviadas (flechas de dirección) desde una cámara Web. Proyecto realizado desde Pictoblox (herramienta de IA).

Galería Resultados

Discusión

Conclusiones

Comprobé que es posible la manipulación de un robot (en esta caso un carro de control remoto) mediante órdenes (flechas de dirección) emitidas desde una cámara Web. Lo anterior gracias al uso de herramientas para la programación por bloques y manejo de IA como Pictoblox.

Bibliografía

Bibliografía

Ed. Publicaciones interactivas S.A. (PINSA)

 

Robótica avanzada

Ed. RedUsers

 

Inteligencia artificial. Fundamentos, práctica y aplicaciones

Alberto García Serrano

Ed. Alfaomega



PK – M – 73 Aplicación de la Inteligencia Artificial en la Robótica

Summary

Currently, robotics can be applied in different areas such as industry, transportation, medicine, home and even education.

 

Robotics, in turn, is complemented by other disciplines that make possible the conception of viable technological products that solve problems of different kinds. Some examples of these are: electronics, automation and Artificial Intelligence (AI). Which, today, appears as a technological link of great impact that favors the automation of all types of processes. AI often makes use of machine learning, natural language processing, among other factors. Although for this occasion, we will focus on the first aspect.

 

Therefore, this project is aimed precisely at showing an example of the application of AI in robotics. Well, we will learn how to manipulate a robot (remote control car) with the use of arrows that indicate the direction of movement of the tires (forward, right, left, stop). Requiring for this work both the use of hardware and software. On the hardware side, there is the use of the Web camera of an end device (such as a PC or a tablet), while, on the software side, there is the use of a tool called Pictoblox (application for programming by blocks). Which is made up of interesting technological resources such as a set of machine learning algorithms, an aspect through which it will be possible to recognize the necessary patterns to provide our robot with movement.

Research Question

Problem approach

The problem consists of applying different algorithms that allow the robot to learn to identify the different orders (movements forward, backward, to the sides. And even stopping, if necessary).

 

The aim is to incorporate artificial intelligence into the field of robotics to make it possible to control the movements of my robot with the use of one hand.

Background

Originally, remote control cars were manipulated through the use of a single control that was connected directly to the chassis of the toy. As time went by, cables were no longer used so they could be controlled wirelessly. The above with single-lever controls that incorporated short-range wireless means. Currently it is possible to control a car through the use of cell phones and independent Bluetooth modules or shields (extensions). On the other hand, artificial intelligence (AI) plays an important role in this type of projects, especially if what is desired is the manipulation of these carts with the use of some extremity of the body, vision, head movement. , etc. It can currently be manipulated through signals emitted directly from a Web camera in real time. This has made possible the integration of electronics, robotics and AI in a STEM project.

 

3.1 How is electronics related to robotics? Robotics, Mechatronics or any control system uses electronics as a basic technology, and likewise, in increasingly complex electronic systems, control needs also increase. An example of the application of these two disciplines is precisely the design of remote control cars. Generally used in the field of education (generation of STEAM projects). Currently it is possible to create them with the help of hardware and software tools, which will be described later. Image 1.

Image 1. Remote control cars are a current example of STEAM projects.

 

Definition of robotics The term robotics was coined by Isaac Asimov, who defined it as the science that studies robots. Asimov also created the three laws of robotics. In science fiction, man has imagined robots visiting new worlds, seizing power or, simply, relieving him of household chores. Image 2.

 

Image 2: Isaac Asimov, father of robotics.

 

The laws of robotics The three laws are: a robot cannot harm a human being or, through inaction, allow a human being to come to harm. A robot must obey orders given to it by humans, except when such orders conflict with the First Law. A robot must protect its own existence

 

3.4 Robotics and Artificial Intelligence Robotics is a component of artificial intelligence, and as a science, it studies the design and construction of machines capable of performing human tasks through mechanized and programmed processes. Currently, it is possible to provide certain systems with this type of intelligence. Well, derived from the above, there are androids, super intelligent machines, autonomous machines, cars, etc. Image 3.

 

Image 3: Self-driving cars are an example of the application of AI.

 

3.5 The Pictoblox tool There is traditional programming (through lines of code) and also block programming. The latter being an option for learning in infants. Well, it provides the necessary means to acquire computational logic. Some languages or tools for block programming purposes are: Scratch, Mblock, Makeblock, Snap, S4A, Pictoblox.

 

3.6 Block programming PictoBlox is a block-based educational coding app for beginners with enhanced hardware interaction capabilities and emerging technology like robotics, AI, and machine learning that make learning to code fun and engaging. This tool was created by STEMPedia, whose Internet portal is: www.thestempedia.com. From here you can download software, projects, and resources to learn about robotics and AI. Image 4.

 

Image 4: The Pictoblox tool offers an alternative to block programming.

 

3.7 The Arduino platform One of the most used software resources for STEM projects is undoubtedly the Arduino Platform. This offers the possibility of working with electronic boards (hardware) for the generation of circuits that will later be connected to the computer software (by programming a microcontroller). The board used in this case for the assembly and programming of the remote control cart is Arduino UNO in combination with the HC-05 Bluetooth shield and other electronic components. The official website of the aforementioned platform is: www.arduino.cc.

 

Image 5. The Arduino UNO board is an auxiliary hardware element for creating STEM projects.

Objective

Explain how to control the movements of a robot with the use of AI.

Justification

Because I like robots, the way they interact and the possibilities they give us. Which has made me curious to build my own robot.

 

Hypothesis

If artificial intelligence is applied, then it will be possible to issue movement orders for said robot with the use of direction arrows.

Method (materials and procedure)

  1. Method.

We proceed to assemble a robot (remote control car), and then begin to review the way it will be controlled. Requiring for this:

  • The Pictoblox tool to obtain learning through signals (which in this case, is the use of address dates). Image 6.
  • An electronics kit (Arduino) which must be assembled and programmed. Image 9.
  • A PC or tablet

Image 6: Pictoblox as a tool for block code and AI.

 

To work with the aforementioned direction arrows (forward, reverse, left and right), it was necessary to draw a single arrow that is rotated in the chosen direction. This was done on a fixed white plate.

Image 7: Photo of the direction arrow resource.

 

7.1 Field investigation You need to know about basic aspects of robotics, the way robots operate and the elements that make them up. As well as the disciplines that make their performance possible in the different fields of action. Knowing the mechanical, electronic part and its programming is part of this investigation. For this reason, the Hardware and Networks Laboratory (LHR) of the Computer Science and ICT Engineering Division of the UPVM was visited as support to clear up the unknowns and to test said project. From these spaces, a class was offered on the components required to build your own robot.

Image 8. Image 8: Rodrigo in UPVM facilities.

 

7.3 Procedure It begins with the study of the components for the assembly and programming of the robot (remote control car). For which the Arduino Platform must be used, which makes a board called Arduino UNO card available to users. Auxiliary components will also be used.

Image 9. Image 9: View of the Arduino UNO board and auxiliary components.

• Remote control car assembly To assemble it is necessary to follow the kit guide. Where the materials, connection diagrams and various visual guides to specify the design are shown.

Image 10. Image 10: Robot assembly (remote control car).

• Programming For programming purposes, the Pictoblox tool was used. In this phase, code blocks capable of controlling the direction of the cart’s tires are placed.

Image 11. Image 11: Block programming from Pictoblox.

 

1. Test run The remote control car, developed using the Arduino UNO board, moves according to the direction arrow emitted by the Web camera. This is achieved through a wireless connection (broadcast by the HC-06 Bluetooth module). Image 12.

Image 12: Photo of the remote control cart during the programming phase.

 

Results

I got a remote control car that follows the commands sent (direction arrows) from a web camera. Project carried out from Pictoblox (AI tool).

Discussion

Conclusions

I verified that it is possible to manipulate a robot (in this case a remote control car) using commands (direction arrows) issued from a Web camera. The above thanks to the use of tools for block programming and AI management such as Pictoblox.

 

 

Bibliography

Advanced robotics

 

Ed. RedUsers

 

 

 

 

Artificial intelligence. Fundamentals, practice and applications

 

Alberto García Serrano

 

Ed. Alfaomega