Saltar navegación

Activa JavaScript para disfrutar de los vídeos de la Mediateca.

01 - Robótica. Introducción a la programación de Robots. - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 24 de marzo de 2021 por Juan Ramã‼N G.

169 visualizaciones

Qué es un robot. Algoritmo vs. Programa.

Descargar la transcripción

Empezamos viendo la parte de programación. 00:00:01
Como hemos visto, nosotros estamos intentando, de alguna forma, ponernos en el pellejo de un constructor de robots. 00:00:04
Desde el principio del curso, aunque no lo creáis, hemos estado repasando y ampliando cosas que necesitaremos en el proceso de construcción de un robot. 00:00:11
Porque si yo quiero construir un robot, lo primero que tengo que hacer es 00:00:21
elegir los materiales que voy a utilizar, a veces necesito una pieza que no existe o que no tengo y me la tengo que imprimir en 3D, 00:00:24
con lo cual la tengo que diseñar y luego la tengo que imprimir, 00:00:32
tengo que generar una documentación con lo cual tengo que hacer un documento de proyecto, 00:00:35
tengo que ir al taller y realizar una serie de operaciones sobre madera o metal o lo que sea... 00:00:40
Con lo cual, todo lo que estamos viendo durante todos estos años, incluyendo este, básicamente tiene que ver con esto. 00:00:49
Luego vamos a un Software de diseño por ordenador y me diseño un plano para mi objeto, 00:00:56
acotado y en condiciones para que luego, alguien, en una fábrica, me lo pueda fabricar. 00:01:01
Todo eso es necesario, aunque no lo creáis, cuando vamos a construir un robot, 00:01:06
todo lo que llevamos dado, parecía una cosa abstracta, aunque ya os lo introduje al principio de curso, tiene un objetivo que es el de construir un robot. 00:01:11
Cuando un robot se construye dándote un kit 00:01:19
(como cuando vamos a la tienda y compramos un kit, p. ej. un lego, y nos dan todas las piezas colocadas y unas instrucciones por colores) 00:01:23
con lo cual aquello es pin, pin, pin y todo encaja, todo funciona perfecto. 00:01:29
Pero cuando vamos a construir una máquina que cumpla una función, que esto es lo que es un robot, 00:01:32
una máquina automática o autónoma que cumple una función, a veces no tienes un kit. Te lo tienes que inventar tú. 00:01:37
Y ese es el punto en el que empiezas a tirar de todos estos recursos que hemos estado estudiando: 00:01:43
de hacer planos, de cómo interpretar las instrucciones que te encuentras por Internet de las piezas, 00:01:47
de cómo hacerte una pieza en 3D para que encaje y que aquello se quede sujeto como debe, cómo elegir los materiales adecuados 00:01:53
(un material que no pese, un material que sea elástico, un material que sea flexible, o que no, un material que aguante la temperatura, o que no...) 00:02:03
Entonces, a la ahora de elegir los materiales, también tenemos que tener ciertos conocimientos de robótica. ¿vale 00:02:08
Y nos queda la última parte. Nos hemos centrado en la parte del chasis, digamos, y ahora vamos a la última parte que es la del programa. 00:02:13
¿Vale? Vamos al cerebro. Vamos a meter una placa, una placa de control que en nuestro caso será una Crumble. 00:02:24
Describiremos cómo funciona, qué conexiones tiene, ... 00:02:35
Y entonces, ahora, tenemos un par de problemas o tres. ¿vale? 00:02:39
El primero es que este cerebro viene vacío. Es un niño recién nacido. No sabe nada. No sabe ni respirar. 00:02:43
Con lo cual nosotros tenemos que decirle absolutamente todo lo que tiene que hacer. ¿vale? 00:02:51
Yo siempre digo que los robots, los ordenadores,... dicen que la inteligencia artificial, ... eso es mentira. 00:02:56
Los ordenadores son tontos, de entrada. ¿Qué hacen los ordenadores? Sólo lo que se les dice. 00:03:05
Yo le digo a un ordenador: "Suicídate", y el ordenador se suicida. ¿Vale? Le digo a un ordenador que sume 2 y 2 y me los suma, pero no hace nada más. 00:03:12
Sólo hace aquello que se le ordena, ¿vale? Es un esclavo fiel, pero no hace nada por sí sólo. 00:03:20
No tiene inteligencia ninguna. La inteligencia la tenemos que poner nosotros. ¿Cómo? A través de un programa. 00:03:25
Y otra cosa que tenemos es (que) cómo interacciona ese cerebro con las piezas que nosotros queremos que se muevan o que actúen. 00:03:29
Evidentemente, nosotros tenemos un cerebro que está aquí dentro, dentro del cráneo, 00:03:41
y luego tenemos un cuerpo que es el que interactúa con el entorno. 00:03:47
Tenemos unos ojos que están recibiendo imágenes y luego las envían al cerebro. 00:03:50
Y luego, si yo quiero coger algo, tengo manos, que yo puedo ordenar que se muevan y cojan algo. 00:03:54
Y, al final, yo, a través de los elementos que tengo conectados a mi cerebro, puedo hacer cosas, y es como ejecuto las acciones. 00:03:59
Tengo sensores, que serían mis oídos, mis ojos, mi sentido de la sensibilidad. 00:04:08
Esos son mis sentidos, ¿vale? Eso es lo que me introduce la información de lo que tengo alrededor. 00:04:14
Y luego tengo los músculos, los pulmones, el corazón... 00:04:19
Tengo las cosas que hacen que la maquinaria se mueva: tengo actuadores. 00:04:26
Tengo cosas que son sensibles: son sensores, y tengo cosas que actúan, cosas que ejecutan acciones: que son actuadores. 00:04:30
Entonces, en un elemento robótico, yo lo que tengo es, por un lado sensores, y por el otro actuadores. ¿vale? 00:04:38
Los sensores introducen información a mi cerebro, 00:04:55
y los actuadores ejecutan aquellas acciones que el cerebro necesita 00:05:03
ejecutar para cumplir la acción para la que hemos creado el programa. 00:05:10
Y en medio, pues hay algo que interpreta lo que recibimos desde aquí (sensores), 00:05:14
toma decisiones, y en función de lo que tenga alrededor, mueve o no mueve los actuadores. ¿Entendéis? 00:05:22
Y esto de aquí en medio es el programa.
Pro---gra---ma.
00:05:34
¿Vale? Y esto es lo que dota de inteligencia a todo el sistema. 00:05:42
El resto son cosas de electrónica tontas. 00:05:47
Es un motor, un motor no tiene ninguna inteligencia: si le conecto gira y si no lo conecto, no gira. 00:05:50
Un sensor de presión, por ejemplo, un botón (un botón en un sensor de presión: detecta si lo estoy presionando o no, ¿Vale?) 00:05:56
no tiene ninguna inteligencia, si lo presiono me dice que está conectado y si lo suelto me dice que está desconectado... 00:06:05
Es decir, no es inteligencia ninguna. 00:06:13
Esto (sensores y actuadores) son elementos electrónicos. Y es el programa el recoge esa información, la procesa, 00:06:15
toma decisiones y ejecuta en caso de necesidad. ¿Vale? 00:06:21
Bueno, pues, estos sensores y estos actuadores tenemos que conectarlos a nuestra placa. 00:06:26
Y eso se hace a través de cables. Con lo cual, necesito conexiones que son cables. 00:06:35
¿Puedo conectar cualquier cosa a mi Crumble, a mi cerebro? No, no puedo conectar cualquier cosa. Tengo limitaciones. 00:06:49
Yo no puedo coger, yo que sé, el enchufe, y meterlo... la corriente del enchufe a mi circuito electrónico. ¿Por qué? 00:07:03
Porque se quema, evidentemente. Aquello pega un chispazo, sale ardiendo, y podemos montar una barbacoa. 00:07:13
Pero no vale para hacer nada, porque lo he quemado. Entonces tenemos que tener cuidado. 00:07:19
Estas conexiones las tengo que hacer a esta placa de control, pero las tengo que hacer de una forma inteligente. ¿Por qué? 00:07:24
Porque esto, como es electrónica, en el caso de la Crumble, va a funcionar a 4,5V. 00:07:31
¿Eso qué quiere decir? Eso quiere decir, que los sensores tienen que trabajar entre... 00:07:41
"Los sensores y los actuadores deben trabajar entre 0V y 5v". 00:07:53
¿Vale? Por tanto, un sensor de presión (lo que hemos dicho: un botón), cuando yo lo pulso, 00:08:21
¿Qué señal llega a través del cable? Cuatro voltios y medio, o cinco. ¿vale? 00:08:30
Vamos a ponerlo correcto este 5 que es lo que tiene Arduino, y vamos a poner 4,5V, perdonad, para que sea la del Crumble ¿vale?. 00:08:36
... para que sea la del Crumble ¿vale?. 00:08:41
Las placas suelen estar entre 4,5... 00:08:45
De hecho Crumble acepta entre 4,5 y 5,5 ¿vale? O sea, podríamos meterle 5v y no explota. ¿De acuerdo? 00:08:47
Pero lo normal es trabajar sobre 4 voltios y medio. 00:08:54
Entonces, normalmente las placas están en torno a los 5V que es la señal estándar en electrónica para los robots. 00:08:58
Entonces, cuando un sensor detecta lo que sea, 00:09:06
me manda la señal. Estoy detectando, ¿Y cómo es esa señal? Pues es un cable con 5V. 00:09:10
Y cuando ese sensor no detecta nada, ¿Qué tenemos en ese mismo cable? 0V. ¿Vale? 00:09:16
Entonces yo soy capaz de diferenciar entre que un sensor detecte o no detecte lo que sea, lo que tenga que detectar, 00:09:23
gracias a que el cable (la conexión) que yo tengo conectada a ese sensor, por ese cable me llegan 5V o no me llega nada. 00:09:31
¿Vale? Y eso es lo que yo voy a comprobar. 00:09:40
Y lo mismo con los actuadores. 00:09:43
Si yo quiero que un motor funcione le tengo que poner 5V, y el motor gira. 00:09:46
Y si no quiero que funcione, le pongo 0V y el motor se para. ¿Vale? Por ejemplo un motor... 00:09:51
Puede ser una luz. Si quiero que una luz se encienda le pongo 5V y la luz se tiene que encender. 00:09:56
Pero si no quiero que se encienda, le pongo 0V y la luz se apaga. 00:10:02
Y lo mismo con cualquier otro tipo de actuador que yo tenga. ¿De acuerdo? 00:10:06
Bueno, entonces, esto es importante que lo tengamos en mente, porque nosotros lo que vamos a trabajar ahora es, 00:10:09
por un lado, con este programa, pero necesariamente, necesariamente, 00:10:14
tenemos que hacer cosas con electricidad... y tenemos circuitos. 00:10:19
Y tenemos que, si tenemos un sensor, 00:10:24
que tiene que trabajar a 5V y normalmente trabaja a 8, le tenemos que poner, ¿el qué? 00:10:27
una resistencia, para bajar la tensión a 5V y que no me queme mi placa. ¿Entendéis? 00:10:32
Si yo tengo, imaginaros, 00:10:39
... un sensor ... (lo voy a poner así en forma de nube para que sea cualquiera, un sensor cualquiera... 00:10:43
... imaginaros un sensor de presión, un botón, 00:10:48
... o un sensor de temperatura que está midiendo si la temperatura ha alcanzado los 30º o no, ¿vale?) 00:10:51
Entonces, este sensor funciona a 18V. 00:10:58
Si yo esto lo conecto a mi Crumble, ¿vale? ... a mi Crumble, 00:11:03
...la puedo freír, porque en el momento en el que esto se active, me está metiendo 18V 00:11:11
y como mi Crumble funciona a 4,5 ¿Qué he hecho? Una barbacoa. 00:11:17
La he quemado. 00:11:22
¿Que tengo que hacer para que esto no suceda? 00:11:23
Aquí en medio tendré que poner una resistencia que haga que la tensión caiga y ya no me lleguen los 18V o lo que tenga el sensor, 00:11:25
sino que me va a llegar... ¿Cuánto? 00:11:38
Pues tengo que poner una resistencia que haga que aquí me lleguen 4,5V. 00:11:39
¿Y que resistencia es esa? Pues tenemos que calcularlo, claro. No voy a ir probando, ¿no? 00:11:44
Entonces, tengo que hacer circuitos y tengo que saber manejar ese tipo de cosas.... 00:11:50
y por eso hemos estudiado electricidad otros años... 00:11:53
...¿vale?, para que nosotros podamos ahora saber qué resistencias o qué cosas necesito conectar 00:11:56
para que los sensores y los motores funcionen correctamente a través de mi placa. 00:12:04
¿Alguna duda entonces? ¿Nada? 00:12:11
Bien. Pues vamos entonces al punto (esta era un poco la introducción) para ver "algoritmo vs programa". 00:12:14
Estuvimos viendo al principio de curso lo que eran los algoritmos, ¿verdad? ¿Os acordáis? 00:12:22
¿Qué era un algoritmo? A ver quién se acuerda... "Los pasos necesarios para soluciona un problema". ¿Vale? 00:12:29
Un algoritmo es una secuencia de pasos ordenada que nos llevaba a solucionar un determinado problema. 00:12:35
Por lo tanto, situación de partida, situación de inicio: Tenemos un problema que hay que resolver. 00:12:43
Situación intermedia: Tengo que pensar que pasos hay que dar para resolver el problema. ¿Vale? 00:12:51
Y después, construyo una secuencia, una lista de esos pasos ordenada, 00:12:58
que me lleva de la situación "tengo un problema" a la situación "he resuelto el problema". 00:13:06
Por ejemplo, si os acordáis, tenemos el algoritmo de "Quiero Café", ¿Os acordáis, no? 00:13:13
El algoritmo de "Quiero Café", yo tenía un problema, quería café, 00:13:17
estoy dormido, estoy estudiando, necesito un poco de energía, ¿vale? 00:13:20
Pues venga, necesito un café. Y entonces empiezo a hacerme preguntas. ¿Cómo soluciono mi problema? 00:13:25
Pues, me tengo que tomar un café, pero ¿tengo un café? No, no tengo un café. 00:13:30
¿Me puedo hacer un café? Pues sí, tengo café en la cocina. 00:13:36
Pues entonces tienes que bajar a la cocina, sacar el café de la alacena, tengo que poner la cafetera, hacerte el café y luego ya te lo tomas. 00:13:41
Si no tengo café en la cocina pues tengo que irme al supermercado y comprarlo. Etc, etc... ¿Vale? 00:13:49
Es decir tengo una secuencia ordenada de pasos, pero al final, siempre, la gracia de los algoritmos es que resuelven el problema. 00:13:54
Si yo quiero café, tengo que terminar tomándome el café, porque si no, no hemos hecho bien el algoritmo. 00:14:01
No vale el "No me tomo el café", ¿me explico? Tengo que tomarme el café. 00:14:08
Entonces, eso es un algoritmo bien hecho. Tengo un problema, que pasos tengo que ejecutar para solucionarlo. 00:14:13
Y ahí en medio, tenemos una serie de estructuras que vamos a ver. Y ¿Que diferencia eso de un programa? 00:14:19
El algoritmo son los pasos que yo tengo que dar para solucionar un problema, ... 00:14:27
... mientras que un programa son las ordenes concretas que yo doy para que alguien solucione ese problema. Es decir, ... 00:14:33
yo tengo que dar ordenes. Fijaros. Yo digo, ... 00:14:46
... quiero tomar café. Lo primero que tengo que hacer es preguntarme si tengo un café encima de la mesa. No lo tengo. 00:14:49
¿Tengo café en la cocina? Sí. 00:14:55
Entonces yo digo: "Baja a la cocina". Pero eso es un concepto. 00:14:57
Yo estoy sentado en mi silla en la primera planta de mi chalet, 00:15:03
y tengo que bajar a la planta de abajo a la cocina. ¿Qué tengo que hacer? ¿Qué ordenes me daríais vosotros si yo fuera, ... 00:15:08
... pues eso, una mente vacía, ... qué órdenes me tendríais que dar para que yo llegara a la cocina y me hiciera un café. 00:15:15
Pues tendríais que empezar diciendo: 00:15:22
Levantate de la silla, sal de la habitación... 00:15:24
Pero a lo mejor salir de la habitación es muy complicado. Yo te digo: "No te entiendo" y entonces me tienes que decir: 00:15:28
"Gira 90º a la derecha", 00:15:32
"Avanza 3m", "Abre la puerta", "Cruza la puerta", 00:15:35
"Gira a la derecha", "Baja las escaleras"... 00:15:41
A lo mejor, bajar las escaleras es muy complicado. Tengo que decir: 00:15:44
"Baja un escalón", ¿Hay otro escalón? 00:15:47
Sí, "Baja el escalón", ¿Hay otro escalón? 00:15:49
Sí, "Baja el escalón", ¿Hay otro escalón? Sí, "Baja el escalón", ¿Hay otro...? No 00:15:52
Pues deja de bajar. 00:15:56
Poco a poco, las órdenes que yo doy para que se ejecuten esas acciones,... 00:15:59
esas órdenes es lo que constituye un programa. ¿Vale? 00:16:05
Y claro, ya depende, 00:16:10
... imaginaros que yo soy el que tengo que ejecutar las acciones. 00:16:12
Pero ahora imaginaros que yo no soy yo,
que yo soy un yo alternativo chino.
00:16:15
Si tu a mi me dices, "levántate de la silla",
yo que soy chino, ¿qué hago?...
00:16:22
--Voz de un alumno-- Pues no entenderlo.
--Profe-- Pues no entenderlo.
00:16:28
Por lo tanto. Mientras que el algoritmo es una secuencia de órdenes que valen para cualquier entorno: 00:16:30
es un concepto, es una idea, 00:16:37
el programa el programa es específico del sistema que estoy utilizando para ejecutar las acciones. 00:16:39
Porque las órdenes tienen que ser específicas para ese sistema. 00:16:46
Entonces, cuando yo estoy en un Crumble, tengo que mandarle las órdenes de una determinada forma, 00:16:49
pero si estoy en un PC, tengo que decirle que las ejecute de otra forma. 00:16:55
Y si lo que tengo es otro tipo de placa de control como un Arduino tengo que decírselo a través de otro lenguaje de programación. 00:16:59
Entonces aquí es donde entran los lenguajes de programación. ¿Vale? 00:17:05
Y ahí podemos ejecutar el mismo programa en diferentes lenguajes de programación. 00:17:10
Porque, a veces, el que está en el otro lado es diferente. 00:17:14
Entonces, un algoritmo es una secuencia ordenada de pasos que me lleva a solucionar un problema. 00:17:18
Y es genérico. Me vale siempre. ¿Vale? 00:17:24
Porque son los pasos en concepto. 00:17:28
Cuanto más detallados hagamos los pasos, mejor. Cuanto menos complejo sea un paso. 00:17:32
O sea, yo os he dicho antes:
"Baja a la cocina", "Saca el café" y "Háztelo".
00:17:39
Vale, Perfecto, he solucionado el problema, pero bajar a la cocina puede suponer un montón de pasos intermedios: 00:17:44
"Levantate de la silla", "sal de la habitación", "Baja las escaleras"... 00:17:51
Y además, cada uno de esos, a su vez, puede ser también una serie de pasos intermedios: 00:17:54
El bajar las escaleras puede ser un bucle de 00:17:59
"Mira a ver si hay un escalón" - "Bájalo", "Mira a ver si hay un escalón" ... hasta que deje de haber escalones. ¿Entendéis? 00:18:01
Todo esto, es lo que yo voy a intentar reflejar con el mayor nivel de detalle posible en el algoritmo. 00:18:06
Y si lo hago bien, si lo hago bien,... 00:18:13
los lenguajes de programación me van a dar instrucciones, comandos y órdenes concretas... 00:18:17
... que van a casar, van a estar perfectamente relacionadas con lo que yo tengo que hacer. 00:18:27
Habrá una orden en ... 00:18:33
(imaginemos que estamos programando en C, ¿vale? en un lenguaje de programación que se llama C) 00:18:35
Bueno, pues en C yo tengo una orden para levantarme de la silla, y yo la ejecuto. 00:18:39
Tengo una orden para girarme un número de grados a derecha o izquierda, pues yo lo ejecuto. 00:18:46
Tengo una orden para avanzar o parar. Yo lo ejecuto. 00:18:51
Tengo una orden para mover una mano y abrir una puerta (ya está hecha la orden para esa...) pues, cojo y lo ejecuto. 00:18:55
Si yo le digo "Sal de la habitación" no lo puedo traducir directamente, 00:19:01
pero si le digo "levántate de la silla", "gira a la derecha 90 grados", "avanza 3 metros", "abre la puerta" y "avanza un metro más",... 00:19:05
ahí ya puedo traducirlo directamente, prácticamente cada uno de los pasos, a una orden de mi lenguaje de programación, ¿vale? 00:19:13
Eso es lo que diferencia un buen algoritmo de uno malo. 00:19:22
La gente que programa, ¿que hace? Algoritmos. 00:19:25
La gente que programa hace esto. Porque luego si lo hace bien, traducirlo es inmediato. 00:19:29
Eso lo puede hacer cualquiera. 00:19:35
Es decir, tengo que avanzar 3 metros, pues cojo la orden de mi lenguaje de programación (sea el que sea) 00:19:38
que dice que avance 3 metros, y la ejecuto. 00:19:43
Si tengo que girar a la derecha 90 grados, 00:19:46
pues cojo la orden que me dice
que puedo girar a derecha o a izquierda, ...
00:19:49
la ejecuto, le digo que es a la derecha,
y le digo que son 90 grados.
00:19:53
Y ya, yo lo traduzco a cualquier lenguaje de programación, ... 00:19:56
... pero el algoritmo es el mismo, el proceso es el mismo. 00:20:00
Valoración:
  • 1
  • 2
  • 3
  • 4
  • 5
5 sobre 5 basada en 1 votos. Inicia sesión para valorar el vídeo.
Idioma/s:
es
Idioma/s subtítulos:
es
Autor/es:
JUAN RAMÓN GARCÍA MONTES
Subido por:
Juan Ramã‼N G.
Licencia:
Reconocimiento - No comercial - Sin obra derivada
Visualizaciones:
169
Fecha:
24 de marzo de 2021 - 10:04
Visibilidad:
Público
Centro:
IES ANTONIO GAUDI
Duración:
20′ 04″
Relación de aspecto:
1.78:1
Resolución:
1366x768 píxeles
Tamaño:
158.96 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid