Slide 1

Slide 1 text

@solojavier

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

La re-evolución robótica! ! llegó para quedarse ! ! !

Slide 4

Slide 4 text

La re-evolución robótica! ! llegó para quedarse ! ¿Estamos preparados? !

Slide 5

Slide 5 text

La re-evolución robótica! ! llegó para quedarse ! ¿Estamos preparados? ! RobotOps al rescate

Slide 6

Slide 6 text

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. !

Slide 7

Slide 7 text

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.

Slide 8

Slide 8 text

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. ! !

Slide 9

Slide 9 text

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.

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

Test Driven Robotics

Slide 12

Slide 12 text

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. ! !

Slide 13

Slide 13 text

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.

Slide 14

Slide 14 text

Linea de Comandos

Slide 15

Slide 15 text

Linea de comandos • Las actualizaciones de software/firmware, el reinicio de dispositivos y otras 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.

Slide 16

Slide 16 text

Linea de comandos • Las actualizaciones de software/firmware, el reinicio de dispositivos y otras 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.

Slide 17

Slide 17 text

Múltiples plataformas/dispositivos

Slide 18

Slide 18 text

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 incorporar platafor mas similares es ineficiente y dificulta la entrada de nuevos desarrolladores a un proyecto

Slide 19

Slide 19 text

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 incorporar platafor mas similares es ineficiente y dificulta la entrada de nuevos desarrolladores a un proyecto

Slide 20

Slide 20 text

Generadores de código

Slide 21

Slide 21 text

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.

Slide 22

Slide 22 text

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.

Slide 23

Slide 23 text

Grupos (swarms)

Slide 24

Slide 24 text

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 dispositivos al mismo tiempo. • Estos dispositivos deberán ser capaces de coordinar sus propias actividades, así como recibir comandos del centro de control.

Slide 25

Slide 25 text

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 dispositivos al mismo tiempo. • Estos dispositivos deberán ser capaces de coordinar sus propias actividades, así como recibir comandos del centro de control.

Slide 26

Slide 26 text

API

Slide 27

Slide 27 text

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.

Slide 28

Slide 28 text

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.

Slide 29

Slide 29 text

Herramientas administrativas

Slide 30

Slide 30 text

Herramientas administrativas • A s í c o m o u n m ó d e m contiene una página para su administració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.

Slide 31

Slide 31 text

Herramientas administrativas • A s í c o m o u n m ó d e m contiene una página para su administració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.

Slide 32

Slide 32 text

Sintaxis declarativa

Slide 33

Slide 33 text

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)

Slide 34

Slide 34 text

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)

Slide 35

Slide 35 text

Documentación y soporte

Slide 36

Slide 36 text

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.

Slide 37

Slide 37 text

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.

Slide 38

Slide 38 text

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.

Slide 39

Slide 39 text

Seguridad

Slide 40

Slide 40 text

Seguridad • La autenticación y autorización deben ser consideradas, especialmente 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.

Slide 41

Slide 41 text

Seguridad • La autenticación y autorización deben ser consideradas, especialmente 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.

Slide 42

Slide 42 text

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.

Slide 43

Slide 43 text

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.

Slide 44

Slide 44 text

Frameworks de robótica RobotOps en funcionamiento

Slide 45

Slide 45 text

Frameworks de robótica

Slide 46

Slide 46 text

Frameworks de robótica En 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

Slide 47

Slide 47 text

Frameworks de robótica En 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

Slide 48

Slide 48 text

Frameworks de robótica En 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

Slide 49

Slide 49 text

Frameworks de robótica En 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

Slide 50

Slide 50 text

Frameworks de robótica • Estos frameworks están escritos en javascript, ruby y go. • Proveen una interfaz simple (pero poderosa) para crear soluciones que incorporen múltiples dispositivos de hardware

Slide 51

Slide 51 text

Frameworks de robótica • Estos frameworks están escritos en javascript, ruby y go. • Proveen una interfaz simple (pero poderosa) para crear soluciones que incorporen múltiples dispositivos de hardware

Slide 52

Slide 52 text

Dispositivos soportados

Slide 53

Slide 53 text

artoo

Slide 54

Slide 54 text

artoo

Slide 55

Slide 55 text

artoo

Slide 56

Slide 56 text

Arquitectura

Slide 57

Slide 57 text

Arquitectura

Slide 58

Slide 58 text

Arquitectura

Slide 59

Slide 59 text

Instalación

Slide 60

Slide 60 text

Instalación gem install artoo

Slide 61

Slide 61 text

Instalación gem install artoo npm install cylon

Slide 62

Slide 62 text

Instalación gem install artoo go get -u github.com/hybridgroup/gobot npm install cylon

Slide 63

Slide 63 text

Ejemplos

Slide 64

Slide 64 text

Arduino + LED + Button

Slide 65

Slide 65 text

Pebble + Sphero

Slide 66

Slide 66 text

Pebble + Sphero

Slide 67

Slide 67 text

Parrot ARDrone

Slide 68

Slide 68 text

Leap motion + arduino

Slide 69

Slide 69 text

Sphero

Slide 70

Slide 70 text

+ RobotOps

Slide 71

Slide 71 text

API

Slide 72

Slide 72 text

Linea de comandos

Slide 73

Slide 73 text

Test Driven Robotics

Slide 74

Slide 74 text

Test Driven Robotics

Slide 75

Slide 75 text

Test Driven Robotics

Slide 76

Slide 76 text

Documentación

Slide 77

Slide 77 text

Documentación Artoo! http://artoo.io ! Cylon! http://cylonjs.com ! Gobot! http://gobot.io ! RobotOps! http://robotops.com

Slide 78

Slide 78 text

Documentación Artoo! http://artoo.io ! Cylon! http://cylonjs.com ! Gobot! http://gobot.io ! RobotOps! http://robotops.com

Slide 79

Slide 79 text

Documentación Artoo! http://artoo.io ! Cylon! http://cylonjs.com ! Gobot! http://gobot.io ! RobotOps! http://robotops.com

Slide 80

Slide 80 text

Documentación Artoo! http://artoo.io ! Cylon! http://cylonjs.com ! Gobot! http://gobot.io ! RobotOps! http://robotops.com

Slide 81

Slide 81 text

Pasa la voz Frameworks para #losrobots @artooio @gobotio @cylonjs via @hybrid_group !

Slide 82

Slide 82 text

Frameworks para #losrobots! @artooio @gobotio @cylonjs! via @hybrid_group! @solojavier