PDF de programación - 2 - Robots personales

Imágen de pdf 2 - Robots personales

2 - Robots personalesgráfica de visualizaciones

Publicado el 29 de Octubre del 2019
402 visualizaciones desde el 29 de Octubre del 2019
170,3 KB
15 paginas
Creado hace 14a (04/02/2010)
2

Robots Personales

Cada Pleo es autónomo. Sí, cada uno de ellos empieza la vida como un bebé
Camarasaurus recién salido del huevo, pero ahí es donde termina lo predecible y
comienza la individualidad. Como cualquier criatura, Pleo siente hambre y fatiga
provocadas por poderosas urgencias de explorar y de ser alimentado. Él pastará,
tomará su siesta y andará por su cuenta –¡cuando lo desee! El dinosaurio Pelo puede
cambia de opinión y de humor, al igual que ustedes.

Fuente: www.pleoworld.com

15

La mayoría de las personas asocian a la revolución de la computadora personal (la PC)
con los ’80, pero la idea de una computadora personal ha estado dando vueltas casi
tanto como las propias computadoras. Hoy en casi todos los colegios hay más
computadoras personales que gente. La meta del proyecto One Laptop per Child (Una
Laptop Por Niño- OLPC) es “proveerles a los niños del mundo nuevas oportunidades
para explorar, experimentar y expresarse” (ver
www.laptop.org). De igual manera, los robots personales
fueron concebidos hace varias décadas. Sin embargo, la
“revolución” de los robots está todavía en pañales. La
imagen de arriba muestra los robots Pleo que se han
diseñado para emular el comportamiento de un
Camarasaurus infantil. Los Pleo se venden básicamente
como juguetes o como “mascotas” mecánicas. En estos
días, los robots están siendo utilizados para una gran
variedad de situaciones para realizar un rango diverso de
tareas: cortar el césped, pasar la aspiradora o fregar el piso,
como entretenimiento, como compañía para mayores, etc.
¡El rango de aplicaciones posibles para robots hoy en día
está limitado sólo por nuestra imaginación! Como ejemplo,
los científicos japoneses han desarrollado una foca bebé
que está siendo utilizada con fines terapéuticos para cuidar
a pacientes internos.
El robot Scribbler es su robot personal. En este caso, se usa como un robot educativo
para aprender acerca de robots y computadoras. Como ya han visto, el Scribbler es un
rover, un robot que se mueve por el entorno. Este tipo de robots adquirió
preponderancia en los últimos años y representa una nueva dimensión de las
aplicaciones en robots. Los robots itinerantes han sido utilizados para repartir correo
en grandes oficinas y como aspiradoras en los hogares: pueden rodar como pequeños
vehículos (como una cortadora de césped, Roomba, Scribbler, etc.), y aún deambular
sobre dos, tres o más piernas (por ej. Pleo). El robot Scribbler se mueve sobre tres
ruedas, dos de las cuales tienen potencia. En este capítulo, conoceremos al Scribbler
con mayor detalle y también aprenderemos acerca del uso de sus comandos y el
control de su comportamiento.

The Paro Baby Seal
Robot.
Photo courtesy of
National Institute of
Advanced Industrial
Science and
Technology, Japan
(paro.jp).

El Robot Scribbler Robot: Movimientos

En el último capítulo pudieron usar el robot Scribbler a través de Myro para realizar
movimientos simples. Pudieron iniciar el software Myro, conectar con el robot, y luego
le hicieron realizar un beep, le dieron un nombre y lo movieron con un joystick.
Insertándole una lapicera en el porta lapicera, el Scribbler puede trazar un rastro de
sus movimientos en un papel ubicado en el piso. Sería una buena idea revisar estas
tareas para refrescar la memoria antes de avanzar con más detalles sobre cómo
controlar al Scribbler.
Si lo sostienen al Scribbler en sus manos y lo observan, notarán que tiene tres ruedas.
Dos de estas ruedas (las grandes en cada lado) están potenciadas por motores.
Adelante, hagan girar las ruedas para sentir la resistencia de los motores. La tercera
rueda (atrás) es una rueda libre que está allí como soporte únicamente. Todos los
movimientos que hace el Scribbler están controlados por las dos ruedas impulsadas
por motores. En Myro hay varios comandos para controlar los movimientos del robot.
El comando que directamente controla los dos motores es el comando motors:

16

motors(LEFT, RIGHT)

En el comando de arriba, LEFT y RIGHT pueden cualquier valor dentro del rango [1.0…
1.0] y estos valores controlan los motores izquierdo y derecho, respectivamente. La
especificación de un valor negativo moverá a los motores/ruedas hacia atrás, y uno
negativo los moverá hacia delante. Por lo tanto, el comando:

motors(1.0, 1.0)

hará que el robot se mueva hacia delante a toda velocidad, y el comando:

motors(0.0, 1.0)

Detendrá el motor izquierdo y hará que el motor derecho se mueva a toda velocidad,
lo cual producirá que el robot doble hacia la izquierda. De esta manera, generando
una combinación de valores de motor de izquierda y derecha, pueden controlar los
movimientos del robot.
Myro también ha provisto un conjunto de comandos de movimiento más utilizados que
son fáciles de recordar y de usar. Algunos se listan abajo:
forward(SPEED)
backward(SPEED)
turnLeft(SPEED)
turnRight(SPEED)
stop()

Otras versiones de estos comandos tienen un segundo argumento, cierto período de
tiempo en segundos:
forward(SPEED, SECONDS)
backward(SPEED, SECONDS)
turnLeft(SPEED, SECONDS)
turnRight(SPEED, SECONDS)

Si se le provee un número de SECONDS (segundos) en los comandos de arriba, se le
estará especificando durante cuánto tiempo quiere que se desarrolle ese comando.
Por ejemplo, si quisieran que su robot atravesara un camino cuadrado, generarían la
siguiente secuencia de comandos:

forward(1, 1)
turnLeft(1, .3)
forward(1, 1)
turnLeft(1, .3)
forward(1, 1)
turnLeft(1, .3)
forward(1, 1)
turnLeft(1, .3)

Por supuesto que el hecho de que obtengan o no un cuadrado dependerá de cuánto
dobla el robot en 0.3 segundos. No hay una forma directa de pedirle al robot que doble

17

exactamente 90 grados, o que se mueva cierta distancia especificada (digamos 2 ½
pies). Volveremos sobre esto.
También pueden utilizar los siguientes comandos de movimientos para trasladarse
(por ejemplo, mover hacia delante o hacia atrás) o rotar (doblar hacia la derecha o
hacia la izquierda):

translate(SPEED)
rotate(SPEED)

Adicionalmente, pueden especificar en un solo comando, la cantidad de traslación o
rotación que desean utilizar:

move(TRANSLATE_SPEED, ROTATE_SPEED)

En todos estos comandos, SPEED (la velocidad) puede ser un valor entre [-1.0...1.0]

Probablemente podrán notar que en la lista de arriba hay comandos redundantes (por
ejemplo, se pueden especificar varios comandos para un mismo movimiento). Esto
viene de diseño. Pueden elegir el conjunto de comandos de movimientos que les
parezcan más convenientes. Sería una buena idea probar estos comandos con su
robot.

Realicen la siguiente actividad: Iniciar Myro, conectar con el robot, e intentar los
siguientes comandos de movimientos en el Scribbler:
Primero, deben asegurarse de tener suficiente espacio frente al robot (ubicarlo en el
suelo, con varios pies de espacio abierto frente a él.

>>> motors(1, 1)
>>> motors(0, 0)

Observen el comportamiento del robot. En particular, observen si se mueve (o no) en
una línea recta después de emitir el primer comando. Pueden generar el mismo
comportamiento en el robot con los siguientes comandos:

>>> move(1.0, 0.0)
>>> stop()

Adelante, pruébenlos. El comportamiento debería ser exactamente igual. A
continuación, intenten hacer que el robot vaya hacia atrás usando cualquiera de estos
comandos:

motors(-1, -1)
move(-1, 0)
backwards(1)

18

¿Los humanos caminan en

línea recta?

Encuentren un pasillo largo y vacío y
asegúrense de tener algún amigo

que los ayude en esto. Parénse en el
centro del pasillo y marquen el punto

en el que están. Mirando hacia

Nuevamente, observen el comportamiento de cerca. En los rovers el movimiento
preciso, como trasladarse en una línea recta, es difícil de conseguir. Esto se debe a
que dos motores independientes controlan los
movimientos del robot. Para mover al robot hacia
delante o hacia atrás en una línea recta, los dos
motores deberían realizar exactamente la misma
potencia en ambas ruedas. Mientras que esto es
posible técnicamente, hay varios factores que
pueden contribuir a desfasar la rotación de las
ruedas. Por ejemplo, pequeñas diferencias en el
montaje de las ruedas, diferentes resistencias del
suelo en cada lado, etc. Esto no es necesariamente
algo malo o indeseable en este tipo de robots. Bajo
circunstancias similares, aún las personas son
incapaces de moverse en líneas rectas precisas. Para
ilustrar este punto, prueben el experimento
mostrado a la derecha.
Para la mayoría de las personas, el experimento de
arriba resultará en un movimiento variable. A menos
que realmente se concentren intensamente en
caminar en una línea recta, lo más probable es que
desplieguen la misma variabilidad que el Scribbler.
Caminar en una línea recta requiere de una
retroalimentación y ajustes constantes, algo a lo que
los humanos son muy adeptos. Es difícil que los
robots hagan esto. Por suerte, trasladarse como el rover no requiere de movimientos
tan precisos.

delante, caminen 10-15 pasos sin
mirar el piso. Deténganse, marquen
el punto de arribo y observen si han

advertirles en caso de que se estén
por chocar contra un objeto o una
pared. Nuevamente observen si han

A continuación, regresen al punto de
partida y realicen el mismo ejercicio
con los ojos cerrados. Asegúrense

caminado en línea recta.

de que su amigo esté allí para

caminado en línea recta.

Realicen la siguiente actividad: Revisar todos los
otros comandos de movimientos e intentarlos en el
Scribbler. Al realizar esta actividad, es posible que se
encuentren enunciando los mismos comandos
repetidamente (o variaciones simples de los mismos).
IDLE les provee una forma conveniente de repetir
comandos previos (ver el Tip a continuación).

Definir nuevos comandos
Probar comandos simples interactivamente en IDLE es
una linda manera de conocer las funcionalidades básicas
del robot. Seguiremos utilizando esto cada vez que
querramos intentar algo nu
  • Links de descarga
http://lwp-l.com/pdf16795

Comentarios de: 2 - Robots personales (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad