Re evolución robótica

82
@solojavier

Transcript of Re evolución robótica

Page 1: Re evolución robótica

@solojavier

Page 2: Re evolución robótica

"The future is already here, it's just not evenly distributed"

William Gibson

Page 3: Re evolución robótica

La re-evolución robótica!!

llegó para quedarse !!!

Page 4: Re evolución robótica

La re-evolución robótica!!

llegó para quedarse !

¿Estamos preparados? !

Page 5: Re evolución robótica

La re-evolución robótica!!

llegó para quedarse !

¿Estamos preparados? !

RobotOps al rescate

Page 6: Re evolución robótica

RobotOps• Mientras construimos el “Internet de las cosas”

con la integración de millones de dispositivos conectados, necesitamos encontrar la manera de hacer que estos nuevos sistemas “críticos” funcionen correctamente.

!

Page 7: Re evolución robótica

RobotOps• Mientras construimos el “Internet de las cosas”

con la integración de millones de dispositivos conectados, necesitamos encontrar la manera de hacer que estos nuevos sistemas “críticos” funcionen correctamente.

• “RobotOps” busca extrapolar las lecciones aprendidas en el pasado con algunos nuevos ajustes.

Page 8: Re evolución robótica

RobotOps• "RobotOps" busca la aplicación de diferentes

prácticas para mantener la operación de la internet de las cosas, en el mismo sentido que prácticas similares mantienen operando a internet.

!

!

Page 9: Re evolución robótica

RobotOps• "RobotOps" busca la aplicación de diferentes

prácticas para mantener la operación de la internet de las cosas, en el mismo sentido que prácticas similares mantienen operando a internet.

• La definición de estas prácticas será absolutamente esencial para empresas, gobiernos y organizaciones que cuenten con redes de sensores distribuidos, robots/drones como parte de su infraestructura.

Page 10: Re evolución robótica

10 reglas de RobotOpsPara que cualquier esfuerzo de desarrollo pueda enfrentarse a los retos que se están presentado

Page 11: Re evolución robótica

Test Driven Robotics

Page 12: Re evolución robótica

Test Driven Robotics• La aplicación de TDD ha

sido uno de los ingredientes esenciales para que los mejores equipos puedan construir software confiable, sin sacrificar la velocidad.

!

!

Page 13: Re evolución robótica

Test Driven Robotics• La aplicación de TDD ha

sido uno de los ingredientes esenciales para que los mejores equipos puedan construir software confiable, sin sacrificar la velocidad.

• Test Driven Robotics utiliza el mismo enfoque pero para el desarrollo de software para sistemas embebidos y hardware.

Page 14: Re evolución robótica

Linea de Comandos

Page 15: Re evolución robótica

Linea de comandos• Las actua l izac iones de

software/firmware, el reinicio de disposi t ivos y ot ras actividades deben poder realizarse utilizando la linea de comandos.

• No hay manera operar a gran escala sin la posibilidad de automatizar estos y otros procesos.

Page 16: Re evolución robótica

Linea de comandos• Las actua l izac iones de

software/firmware, el reinicio de disposi t ivos y ot ras actividades deben poder realizarse utilizando la linea de comandos.

• No hay manera operar a gran escala sin la posibilidad de automatizar estos y otros procesos.

Page 17: Re evolución robótica

Múltiples plataformas/dispositivos

Page 18: Re evolución robótica

Múltiples plataformas/dispositivos

• Es importante contar con estándares de codificación en todo los productos, ya que es un elemento clave para la calidad del desarrollo y el mantenimiento del software.

• Escribir código diferente para i n c o r p o r a r p l a t a f o r m a s similares es ineficiente y dificulta la entrada de nuevos desarrolladores a un proyecto

Page 19: Re evolución robótica

Múltiples plataformas/dispositivos

• Es importante contar con estándares de codificación en todo los productos, ya que es un elemento clave para la calidad del desarrollo y el mantenimiento del software.

• Escribir código diferente para i n c o r p o r a r p l a t a f o r m a s similares es ineficiente y dificulta la entrada de nuevos desarrolladores a un proyecto

Page 20: Re evolución robótica

Generadores de código

Page 21: Re evolución robótica

Generadores de código

• No todo el código puede ser auto-generado.

• Sin embargo se puede contar con scripts que generen un esqueleto para comenzar nuevos proyectos, agregar soporte adicional, o hacer tareas comunes.

• Esta herramienta es clave para mantener la consistencia del código e incrementar la velocidad de desarrollo.

Page 22: Re evolución robótica

Generadores de código

• No todo el código puede ser auto-generado.

• Sin embargo se puede contar con scripts que generen un esqueleto para comenzar nuevos proyectos, agregar soporte adicional, o hacer tareas comunes.

• Esta herramienta es clave para mantener la consistencia del código e incrementar la velocidad de desarrollo.

Page 23: Re evolución robótica

Grupos (swarms)

Page 24: Re evolución robótica

Grupos (swarms)• P a r a o p e r a r g r u p o s

requiere una manera de c o o r d i n a r m u c h o s disposi t ivos al mismo tiempo.

• Estos dispositivos deberán ser capaces de coordinar sus propias actividades, así como recibir comandos del centro de control.

Page 25: Re evolución robótica

Grupos (swarms)• P a r a o p e r a r g r u p o s

requiere una manera de c o o r d i n a r m u c h o s disposi t ivos al mismo tiempo.

• Estos dispositivos deberán ser capaces de coordinar sus propias actividades, así como recibir comandos del centro de control.

Page 26: Re evolución robótica

API

Page 27: Re evolución robótica

API• La integración con otros

sistemas es crucial. Es necesario poder ejecutar comandos, así como recibir información.

• S e p u e d e n u t i l i z a r protocolos basados en web, así como otros protocolos más simples.

Page 28: Re evolución robótica

API• La integración con otros

sistemas es crucial. Es necesario poder ejecutar comandos, así como recibir información.

• S e p u e d e n u t i l i z a r protocolos basados en web, así como otros protocolos más simples.

Page 29: Re evolución robótica

Herramientas administrativas

Page 30: Re evolución robótica

Herramientas administrativas

• A s í c o m o u n m ó d e m contiene una página para su adm in i s t r ac ión , se require algún tipo de panel de control para los nuevos dispositivos de hardware.

• Esto es esencial para la administrar la configuración, así como poder identificar o resolver problemas.

Page 31: Re evolución robótica

Herramientas administrativas

• A s í c o m o u n m ó d e m contiene una página para su adm in i s t r ac ión , se require algún tipo de panel de control para los nuevos dispositivos de hardware.

• Esto es esencial para la administrar la configuración, así como poder identificar o resolver problemas.

Page 32: Re evolución robótica

Sintaxis declarativa

Page 33: Re evolución robótica

Sintaxis declarativa

• Escribir código que pueda describir lo que el sistema debe hacer, es el corazón de cualquier framework.

• Investigaciones sobre inteligencia artificial y la interacción humano-maquina, han mostrado que es más fácil para los programadores el uso de la sintaxis declarativa. (Ej: DSL)

Page 34: Re evolución robótica

Sintaxis declarativa

• Escribir código que pueda describir lo que el sistema debe hacer, es el corazón de cualquier framework.

• Investigaciones sobre inteligencia artificial y la interacción humano-maquina, han mostrado que es más fácil para los programadores el uso de la sintaxis declarativa. (Ej: DSL)

Page 35: Re evolución robótica

Documentación y soporte

Page 36: Re evolución robótica

Documentación y soporte• La documentación es esencial

para ayudar a los usuarios a realizar lo que requieren.

• Se deben incluir descripciones sobre uso de las interfaces, así como multiples ejemplos.

• Adicionalmente, es necesario algún tipo de soporte, aunque sea brindado por voluntarios, como ocurre generalmente en los proyectos de software libre.

Page 37: Re evolución robótica

Documentación y soporte• La documentación es esencial

para ayudar a los usuarios a realizar lo que requieren.

• Se deben incluir descripciones sobre uso de las interfaces, así como multiples ejemplos.

• Adicionalmente, es necesario algún tipo de soporte, aunque sea brindado por voluntarios, como ocurre generalmente en los proyectos de software libre.

Page 38: Re evolución robótica

Documentación y soporte• La documentación es esencial

para ayudar a los usuarios a realizar lo que requieren.

• Se deben incluir descripciones sobre uso de las interfaces, así como multiples ejemplos.

• Adicionalmente, es necesario algún tipo de soporte, aunque sea brindado por voluntarios, como ocurre generalmente en los proyectos de software libre.

Page 39: Re evolución robótica

Seguridad

Page 40: Re evolución robótica

Seguridad• La autenticación y autorización

deben ser cons ideradas, especia lmente cuando la naturaleza de la información es sensible o ponga en riesgo la infraestructura.

• El manejo de actualizaciones de seguridad también es muy importante.

Page 41: Re evolución robótica

Seguridad• La autenticación y autorización

deben ser cons ideradas, especia lmente cuando la naturaleza de la información es sensible o ponga en riesgo la infraestructura.

• El manejo de actualizaciones de seguridad también es muy importante.

Page 42: Re evolución robótica

Conclusiones RobotOps• Es esencial tomar en cuenta estos puntos para que la

implementación del Internet de las cosas sea exitosa.

• Si trabajamos como industria, podemos acelerar la adopción, así como mejorar la experiencia de los usuarios.

Page 43: Re evolución robótica

Conclusiones RobotOps• Es esencial tomar en cuenta estos puntos para que la

implementación del Internet de las cosas sea exitosa.

• Si trabajamos como industria, podemos acelerar la adopción, así como mejorar la experiencia de los usuarios.

Page 44: Re evolución robótica

Frameworks de robóticaRobotOps en funcionamiento

Page 45: Re evolución robótica

Frameworks de robótica

Page 46: Re evolución robótica

Frameworks de robóticaEn Hybrid Group, hemos dedicado gran parte de

nuestro tiempo pensando en estas y otras necesidades.

Y hemos creado 3 frameworks de software libre:

Cylon.js, Artoo, and Gobot

incorporando las reglas de robotOps

Page 47: Re evolución robótica

Frameworks de robóticaEn Hybrid Group, hemos dedicado gran parte de

nuestro tiempo pensando en estas y otras necesidades.

Y hemos creado 3 frameworks de software libre:

Cylon.js, Artoo, and Gobot

incorporando las reglas de robotOps

Page 48: Re evolución robótica

Frameworks de robóticaEn Hybrid Group, hemos dedicado gran parte de

nuestro tiempo pensando en estas y otras necesidades.

Y hemos creado 3 frameworks de software libre:

Cylon.js, Artoo, and Gobot

incorporando las reglas de robotOps

Page 49: Re evolución robótica

Frameworks de robóticaEn Hybrid Group, hemos dedicado gran parte de

nuestro tiempo pensando en estas y otras necesidades.

Y hemos creado 3 frameworks de software libre:

Cylon.js, Artoo, and Gobot

incorporando las reglas de robotOps

Page 50: Re evolución robótica

Frameworks de robótica

• Estos frameworks están escritos en javascript, ruby y go.

• Proveen una interfaz simple (pero poderosa) para crear so luc iones que incorporen múlt ip les disposi t ivos de hardware

Page 51: Re evolución robótica

Frameworks de robótica

• Estos frameworks están escritos en javascript, ruby y go.

• Proveen una interfaz simple (pero poderosa) para crear so luc iones que incorporen múlt ip les disposi t ivos de hardware

Page 52: Re evolución robótica

Dispositivos soportados

Page 53: Re evolución robótica

artoo

Page 54: Re evolución robótica

artoo

Page 55: Re evolución robótica

artoo

Page 56: Re evolución robótica

Arquitectura

Page 57: Re evolución robótica

Arquitectura

Page 58: Re evolución robótica

Arquitectura

Page 59: Re evolución robótica

Instalación

Page 60: Re evolución robótica

Instalación

gem install artoo

Page 61: Re evolución robótica

Instalación

gem install artoo

npm install cylon

Page 62: Re evolución robótica

Instalación

gem install artoo

go get -u github.com/hybridgroup/gobot

npm install cylon

Page 63: Re evolución robótica

Ejemplos

Page 64: Re evolución robótica

Arduino + LED + Button

Page 65: Re evolución robótica

Pebble + Sphero

Page 66: Re evolución robótica

Pebble + Sphero

Page 67: Re evolución robótica

Parrot ARDrone

Page 68: Re evolución robótica

Leap motion + arduino

Page 69: Re evolución robótica

Sphero

Page 70: Re evolución robótica

+ RobotOps

Page 71: Re evolución robótica

API

Page 72: Re evolución robótica

Linea de comandos

Page 73: Re evolución robótica

Test Driven Robotics

Page 74: Re evolución robótica

Test Driven Robotics

Page 75: Re evolución robótica

Test Driven Robotics

Page 76: Re evolución robótica

Documentación

Page 77: Re evolución robótica

DocumentaciónArtoo!

http://artoo.io !

Cylon!http://cylonjs.com

!Gobot!

http://gobot.io !

RobotOps!http://robotops.com

Page 78: Re evolución robótica

DocumentaciónArtoo!

http://artoo.io !

Cylon!http://cylonjs.com

!Gobot!

http://gobot.io !

RobotOps!http://robotops.com

Page 79: Re evolución robótica

DocumentaciónArtoo!

http://artoo.io !

Cylon!http://cylonjs.com

!Gobot!

http://gobot.io !

RobotOps!http://robotops.com

Page 80: Re evolución robótica

DocumentaciónArtoo!

http://artoo.io !

Cylon!http://cylonjs.com

!Gobot!

http://gobot.io !

RobotOps!http://robotops.com

Page 81: Re evolución robótica

Pasa la voz

Frameworks para #losrobots @artooio @gobotio @cylonjs

via @hybrid_group !

Page 82: Re evolución robótica

Frameworks para #losrobots!@artooio @gobotio @cylonjs!

via @hybrid_group! @solojavier