K-9 2.0. Perro Robot controlada y Autónoma de WiFi. (21 / 23 paso)

Paso 21: programación.

Ahora comienza la verdadera diversión. Para alguien como yo para hacer K-9 2.0 hacer todas las cosas que él puede, como conversación dinámica, reaccionar para reconocimiento de voz, seguimiento de caras de colores, objetos y de los pueblos, y para darle capacidades autónomas, estos habría quedado sólo como ideas y sueños. Pero con el software EZ-Robot "EZ-Builder", esta hecho todo lo mencionado y más, posible. Todavía había mucho de averiguar y aprender a hacer, pero la forma EZ-Builder software y tutoriales disponibles, así como una comunidad foro amistoso y bien informado, estos hacen cosas mucho más fácil.

Suministrar unos scripts básicos para diversas funciones y muestran algunas de las principales funciones y controles de K-9. No escribo muchas instrucciones en secuencias de comandos y programación oír, ya que esto sería mucho que leer, tal vez a veces confuso y pueden no ser adecuadas para sus propias necesidades. Pero toda la información que necesitas está disponible en el sitio web EZ-Robots, donde K-9 también se ofrece en su propio "proyecto vitrina". Pero si querías echar un vistazo y usar algunas de las funciones de K-9, programación de secuencias de comandos y controles, uno de los archivos de proyecto más básicos de K-9 se almacena en instalaciones de almacenamiento de proyectos en línea EZ-Robots, la 'EZ-Cloud'. El proyecto que desea buscar se llama "K-9 proyecto MK2". Usted necesitará el software EZ-Builder para acceder a este, que es para descargar gratis.

Tan aquí son algunas de las principales funciones de K-9 2.0.

Control de dispositivo móvil.

EZ-Robot ofrece la posibilidad de crear tus propias aplicaciones móviles para el control de sus robots, pero decidí ir una dirección diferente, ya que necesitaba la compartido conexión WiFi para conectarse de K-9 EZ-Builder proyecto y acceso al servidor de web de chatbot Pandorabot al mismo tiempo, que las aplicaciones móviles de EZ-Builder no soporta todavía. Así que lo que hice en lugar de otro fue de utilizar un PC de VPN remoto instalado en mi iPhone. Esto me da la capacidad de ver una imagen de espejo de pantalla de mi PC que corre EZ-Builder, así como utilizar la pantalla táctil del iPhone para controlar el PC, así que controla K-9. Y usando el motor de texto a voz del iPhone, puedo usar el control Pandorabot y control de reconocimiento de discurso de K-9. Porque el motor de reconocimiento de texto a voz del iPhone es tan confiable (en el 98% de exactitud), esto permite que yo, o cualquier otra persona a tener una conversación muy confiable con él.

Luces de funcionamiento.

Con un servo de 180 grados en su lugar, un sencillo script para girar el servo a 90 grados en cualquier dirección, presione el botón de modo intermitente y regresa a la posición del centro es todo lo que se necesita. Este script combinado con un efecto de sonido de caja de resonancia, puede el ser usado con el móvil, reconocimiento de voz, código Pandorabot AIML, joystick o un control aleatorio escritura autónoma.

El servo que acciona las luces, interruptor de encendido/apagado puede controlarse de la misma manera. La adición sólo usé fue cuando poderes K-9 hasta que la activa una secuencia de comandos para encender las luces.

Aquí está un sencillo script para cambiar la fase de iluminación (suponiendo el servo se conecta al puerto D13 en la v4 de EZ-B):

ControlCommand ("efectos de sonido", Track_3)
servo(D13,90)

Sleep(500)

Release(D13)

Controlar el sistema de impulsión.

Como los motores son controlados utilizando un controlador de motor de puente H, es necesario un tipo diferente de escritura. Esto es dependiente en cómo está cableado el puente H para seleccionar correctamente el motor correcto para dar vuelta, la dirección que se convierten, y la velocidad. Se utiliza la secuencia de comandos en un editor de secuencia de comandos o un movimiento que se puede acceder mediante joystick, rec de voz, controles móviles y programación autónoma por supuesto. Una característica de seguridad adicional se agregó donde la energía de entrada para el puente H pasa por uno de los canales en el circuito de control remoto. Aquí se pulse el botón "A" en el llavero para sistemas de energía K-9. Una vez establecida una conexión inalámbrica Pulse el botón "B" en el llavero para activar el puente en H. Esto también es útil para el mantenimiento.

Aquí está un script simple para impulsión K-9 remite (suponiendo que H-puente está conectado a los puertos de D1, D2, D3, D4 en el v4 de EZ-B):

Set(D1, OFF)

Set(D3, OFF)

PWM (D0, 50)

PWM (D2, 50)

Movimientos de la cabeza.

Al igual que la iluminación, los servos utilizados para mover la cabeza arriba/abajo/izquierda necesita algunos scripts sencillos que pueden llamar a otros controles en. La diferencia aquí es que la velocidad de servo y el rango de movimiento necesitan reducir como la cabeza y el cuello han limitado límites de recorrido máximo.

Un guión corto que da vuelta a la cabeza en un control móvil (suponiendo el servo se conecta al puerto D19 en el EZ-B)

if(getservo(D19) > 10)
servodown(D19,7)

endif

Sleep(100)

Rotación de las orejas.

Las orejas tienen servos independientes que pueden activar uno a la vez, simultáneamente en contrario o en las mismas direcciones. Aquí la velocidad y la cantidad de veces que giran las orejas pueden cambiar con diferentes scripts. Dos de los scripts que uso más son, por una rotación rápida estándar, y otra velocidad más lenta vuelta con un efecto de sonido de radar cuando K-9 entra en "Modo exploración"

Aquí está un script simple para girar las orejas (suponiendo que servos conectados a puertos D16, D17 de la v4 de EZ-B):

servo(D16,20)
servospeed(D16,1)

servo(D17,160)

servospeed(D17,1)

Sleep(700)

servo(D16,160)

servospeed(D16,1)

servo(D17,20)

servospeed(D17,1)

Sleep(1000)

servo(D16,20)

servospeed(D16,1)

servo(D17,160)

servospeed(D17,1)

Sleep(1000)

servo(D16,90)

servospeed(D16,1)

servo(D17,90)

servospeed(D17,1)

Sleep(1000)

Reconocimiento de voz.

La mayoría de las funciones de K-9 es atada a un control de reconocimiento de voz con todos los scripts de código de comando necesarias para sus funciones. El control de reconocimiento de voz utiliza el motor de reconocimiento de voz de Microsoft SAPI, así que algún entrenamiento en su computadora con Windows, así como un micrófono micrófono o auriculares de buena calidad es necesario para obtener resultados más precisos. También tengo un sistema de rec muy confiable discurso secundario que mencioné anteriormente, utilizando el motor de rec de voz del iPhone. Pero volvamos al control de rec del discurso principal. Cada secuencia de comandos y control en proyectos de software de K-9 generan un "comando de Control". Estas son esencialmente sola línea corta secuencias de comandos que accede casi todo en todo el proyecto. Estos códigos se introducen en el el editor de reconocimiento de voz y los comandos de voz que desea utilizar para ejecutar los comandos se escriben exactamente igual que les diría. Varios comandos de voz se pueden agregar para ejecutar un script único. Por ejemplo, dices "Hola K-9" y él responde con "Hola. ¿Cuál es tu nombre? ". Pero agrega otro comando donde diría "Saludos K-9" y se oye la misma respuesta. El control de reconocimiento de voz es muy potente y útil.

Una escritura de reconocimiento de discurso pequeño dirigir izquierda K-9

Frase:

K9, girar a la izquierda

Comando:

Left(255,1200)

Síntesis de voz.

K-9 tiene un acento inglés muy claro habla la voz con un ligero efecto robótico. Adquirió el software de voz de Cepstraly las voces disponibles tienen gran Pronunciación. Esto utiliza Microsoft SAPI texto al motor del discurso y se ejecuta a través del control de la EZ-constructor "Síntesis de voz". Aquí se puede ajustar la tasa de volumen, énfasis y expresión de voz. El audio es portado entonces al altavoz a bordo bajo panel dorsal de K-9. La puesta en marcha es muy simple, y el control es muy confiable. Gente le encanta oírle hablar.

Un comando de secuencia de comandos simple para K-9 aquí hablan:

SayEZB ("Hola. Mi nombre es K9, y puedo hablar")

Jugador de medios de comunicación.

El software tiene dos controles de audio tarjeta de sonido. Se reproduce audio a través del altavoz de EZ-B (que uso para efectos de sonido y frases de discurso grabado), y el otro a través de la PC de sonido tarjeta. Esto significa que puedo conectar mi PC a mi sistema estéreo casero via HDMI, Wi-Fi o Bluetooth y audio desempeñado el control de la tarjeta de sonido de PC se escuchará a través de mis Altavoces estereofónicos. Utilizo un VCN iPhone app para controlar el audio mediante pantalla táctil, pero lo utilizo sobre todo es el reconocimiento de voz, así que puede pedir K-9 para reproducir una cierta canción por un determinado artista, o pedir una canción al azar ser jugado a través de mi sistema de audio doméstico. Y por supuesto puedo decirle para cambiar, pausar o detener una pista de juego. Gran entretenimiento en el partido. Él tiene la opción de reproducir vídeos así con un método similar, la diferencia es que se uso EZ-Builder a mis archivos de video almacenados en mi PC y jugar a través de mi TV.

Cámara de seguimiento.

La cámara de a bordo es de alta calidad y puede transmitir vídeo con sin latencia. Debido a esto, reconocimiento de la cámara es muy buena y muy útil. El control de la cámara de seguimiento tiene algunas funciones que se utilizan. Estos son...

  • Reconocimiento de hechos y seguimiento,
  • Reconocimiento de los colores y el seguimiento,
  • Reconocimiento de objetos y de seguimiento (sólo objetos de forma básica pueden reconocerse en el momento, pero que está aprendiendo todo el tiempo así que más formas complejas no será muy lejos),
  • Reconocimiento de movimiento y seguimiento,
  • Y la capacidad de analizar y reconocer los códigos QR que se pueden utilizar para la navegación por ejemplo.

La secuencia de vídeo puede verse en un PC, smartphone, tablet PC o smart TV. Esto puede hacerse a través de una WiFi o conexión celular y puede verse desde casi cualquier lugar del mundo. Y con el control de reconocimiento de movimiento activo, esto es ideal para seguridad en el hogar como K-9 puede ser programado para tomar ciertas acción basada en cualquier cosa veo que es fuera de lo común.

Los controles de seguimiento de cámara están vinculados a los comandos de secuencia de comandos que controlan sus movimientos de cabeza del servo, junto con controles de motor y manejo de unidad. K-9 también puede grabar vídeo y fotografiar aún cuando pidió hacerlo, o autónomo basado en lo que vea de.

Manejar los controles.

Los controles de unidad se escriben principalmente en forma de secuencia de comandos, como los comandos de control que he mencionado anteriormente (atajos) para su unidad de sistema se puede utilizar en muchos controles como discurso reconocimiento y touch control de pantalla. Como los motores están conectados a un regulador del motor de puente H, secuencias de comandos tuvieron que ser escrito usando los valores de PWM (modulación de anchura de pulso). Esto es lo que se utiliza para controlar la velocidad en que los motores activar roaming K-9 alrededor. Aquí está un ejemplo rápido del código utilizado en la interfaz del móvil. Presione el botón "Adelante" una vez y K-9 se mueve hacia delante. De Pulse el botón otra vez, parada K-9.

IF (! $pressed)
Set(D1, OFF)

Set(D3, OFF)

PWM (D0, 40)

PWM (D2, 40)

$pressed = 1 ELSE

Set(D1, OFF)

Set(D3, OFF)

PWM (D0, 0)

PWM (D2, 0)

$pressed = 0

ENDIF

Personalidad autónoma.

Capacidades autónomas de K-9 son gestionados por uso de un generador aleatorio de la personalidad y scripts que se atan los sensores a bordo de la sincronización. El generador de personalidad permite K-9 a realizar patrullas de seguridad de la casa al azar, Dile un chiste al azar o dato curioso, o iniciar una conversación. Las secuencias de comandos de sincronización pueden iniciar códigos para diversos controles y toma sensores acciones recogió como el detector de humo/gas a bordo.

Un código de comando para contar chistes (scripts de broma que ya están programados)...


ControlCommand ("Script Manager", ScriptStart, "Random chistes limpios")

Y un script para alertar de la detección de humo o gas (asumiendo que humo sensor está conectado al puerto analógica ADC0)...

: lazo
$smoke=getADC(adc0)

if($Smoke>70)

sayEZB ("Steve. Mis sensores han detectado, los regalos de humo o de gas.")

endif

Sleep(7000)

goto(Loop)

Objeto evitar la detección.

El corazón del sistema de detección y evitación de objeto es un sensor de distancia ultrasónico, un servo que gira 180 grados y un control de radar en el software EZ-Builder. El ultrasónico puede actuar como un sensor de detección de movimiento puede activar códigos de control, o con el servo barriendo lentamente de izquierda a derecha y espalda, si se detectan objetos, como paredes o muebles dentro de un rango previamente definido, una secuencia de comandos en los controles de unidad de K-9 puede parar los motores, invertir y encontrar un camino alrededor del objeto.

Línea siguiente asignación de habitaciones.

Línea siguiente habría sido una fácil implementación para agregar, utiliza un sensor IR y algunas secuencias de comandos del programa. Pero el hecho del asunto es que mi casa no tiene las líneas pintadas en el suelo. Pero había una mejor manera para K-9 seguir líneas si él o yo deseaba, y las líneas no serían visibles para el ojo humano. Esto se haría mediante un control de asignación de suelo . Para decirlo simplemente, conseguiría K-9 para moverse de una habitación y que dibuje una línea virtual. Esta línea podría el ser utilizado para K-9 a seguir una vez, o para ser registrado y seguido otra vez. La opción de grabación también da la posibilidad al mapa una habitación o número de habitaciones. Muy útil para cuando él vaga alrededor de la casa en modo autónomo.

Aquí está un script corto que puede ser utilizado en "Mapeo del suelo" (asumiendo el control de mapa de piso está activo)

ControlCommand ("Mapa del piso", Reset)
Forward(150,4000)

Sleep(2000)

Right(100,2000)

Sleep(7000)

Forward(150,4000)

Sleep(2000)

STOP()

Llamadas y notificaciones por correo electrónico.

Como el altavoz incorporado debajo del panel dorsal es compatible con Bluetooth, conectar un teléfono al altavoz puede permitir K-9 notificar de los llamadas telefónicas, correos electrónicos, mensajes de texto, alertas de FaceBook y Twitter, alarmas, notificaciones y recordatorios de eventos. Pero K-9 puede ir uno mejor mi realidad diciendo que es llamando o enviando un correo electrónico te. Para ello utilicé el software de edición de audio "Audacity" y registró una lista de archivos de sonido de K-9 utilizando su función de síntesis de voz diciendo cosas como "Tienes una llamada telefónica de su amigo, Richard" y "Han recibido un mensaje de texto de su amigo, marca". Esto fue cortado y volumen ajustado en Audacity con un tono estándar superpuesto. Por ejemplo, cuando hay una llamada de teléfono oyes dos segundos de un tono alto, el volumen bajaría de 50% y entonces se podía escuchar la voz. Cuando la voz termina la frase el volumen de la melodía se eleva a 100%.

Así, para el iPhone que uso, una vez todas las alertas son creados, editados y guardados, necesitan convertir en archivos de tono de llamada que el teléfono puede usar y guarda en tu biblioteca de iTunes.

  1. En tu PC, lanzar iTunes.
  2. De su biblioteca, haga clic derecho sobre la canción que desea usar como tono de llamada y seleccione "Obtener información".
  3. Seleccione la ficha Opciones y luego seleccione los cuadros hora de inicio y Stop Time. Lo que hice en Audacity fue recortar todos los tonos de 29 segundos para que este paso no era necesario. Entrar en tiempos en que desea el tono para iniciar y detener. ¡ Compruebe si su tono es 30 segundos (ya que es el límite máximo) o menos. Si no es así, necesita primero escuchar el tono de llamada y anote el tiempo que desea que comience.
  4. Haga clic en "OK". Ahora haga clic derecho sobre la pista otra vez y luego seleccione "Create AAC versión". iTunes ahora será convertir el tono de llamada. Aparece como una pista duplicada que se puede identificar "Track info" y luego "Tipo de archivo".
  5. Click derecho en el tono de llamada y luego utilizando las opciones de pestaña del menú "Obtener información", desmarca el inicio y parada veces para volver a su tiempo original y luego haga clic en Aceptar.
  6. Ahora haga clic derecho en tu pista más corta de tono de llamada y haga clic en "Mostrar en explorador de Windows". Haga doble clic en el archivo para agregar a la sección "Tonos" la biblioteca de iTunes. Nota: Los pasos descritos anteriormente se necesitan un tono a la vez que es un proceso largo dependiendo de cuántos archivos que creaste, pero es una cosa de tiempo
  7. Eliminar el tono original de la biblioteca que ya no va a jugar.
  8. Finalmente conecta tu iPhone y cargar los nuevos tonos de llamada en el teléfono, seleccionar el tono correcto para cada uno de tus contactos, alarmas o notificaciones. Conectar el teléfono al altavoz y cada vez que su teléfono le avisa, K-9 dirá qué es esa alerta.

Hay muchas más funciones y características que K-9 2.0, pero es demasiado muchos para mencionarlos aquí sin dar información de sobrecarga. Pero se debe obtener la idea versátil, útil y único K-9 es, como muchos de los robots que sólo podrían soñar de hacer la mitad de lo que es capaz de K-9 y cuán bien lo hace. Pero diré esto, si pude hacerlo, tú también puedes. Los controles en el Generador de EZ facilitan las cosas, pero serán más trabajo que hacéis secuencias de comandos, programación y aprender a aprovechar al máximo todos los controles disponibles, la mejor y más impresionante robot. Y lo mismo pasa con la construcción de sí mismo. Cuanto más tiempo que tome y la disposición a aprender nuevas habilidades, mejor será el resultado final.

Artículos Relacionados

Robot de AAA (autónoma analógico Arduino)

Robot de AAA (autónoma analógico Arduino)

la AAA Robot es un robot perfecto para principiantes. Es versátil, fácil de construir y discute muchos de los temas entre deben aprender, incluyendo pero no limitado a interruptores de transistor, motor de sensores analógicos de nad. Este Instructabl
Loco perro Robot

Loco perro Robot

IntroducciónDespués de ver la computadora de IBM Watson derrotó a dos ex campeones en peligro este año, me preguntaba si un robot simple podría competir con gente de retos más físicos.Aquí es un DIY robot diseñado para competir en el desafío de "Mad
El módulo táctil - un perro robot de juguete.

El módulo táctil - un perro robot de juguete.

La idea era inventar un juguete basado en Arduino, robótico que interactuar y jugar con mi perro. Uno que podría registrar puntuaciones, automáticamente entregar golosinas y crecer más avanzados como el perro aprende a jugar con él. Quise encontrar u
FrankenDog! Animatronic DIY - controlar un perro robot de i-cybie con un piano de juguete

FrankenDog! Animatronic DIY - controlar un perro robot de i-cybie con un piano de juguete

¿Tienes juguetes muertos ahí? En este video tutorial dar nueva vida a un perro robot de muertos i-Cybie cuyo "cerebro" fue destruido después de corto circuito y casi se incendió. Aprende a animar a los muertos!El -cybie es un clon barato de AIBO
Perro robot

Perro robot

Me encanta hacer robots y decidió compartir una forma divertida y barata de hacer un perro robot!Paso 1: Reúna sus materiales Se necesita:1) cobre alambre2) Blutack3) una tuerca4) mediana cuatro tornillos5) un tornillo pequeño6) lo tubo metálico (no
ROBOT de CONTROL MANUAL / autónoma (mediante la técnica de la fusión de sensores)

ROBOT de CONTROL MANUAL / autónoma (mediante la técnica de la fusión de sensores)

DTMF o doble frecuencia múltiple de tono es ingenioso poco controlantes máquinas con su teléfono móvil. Este instructivo usted, amable lector muestra cómo hacer un más barato que la suciedad DTMF controlada robot que puede funcionar autónomamente, ye
Autónoma / voz controlada - 3D exploración plataforma de impresión 3D

Autónoma / voz controlada - 3D exploración plataforma de impresión 3D

La idea detrás de la voz controlada / autónoma plataforma exploración 3D permitir una digitalización captura 3D para trabajar tan suave como sea posible con el mínimo esfuerzo para la persona como realiza una exploración como para la persona cómo est
Swarmscapers: Robots de impresión 3D móvil autónoma

Swarmscapers: Robots de impresión 3D móvil autónoma

Swarmscapers es un mes 2 proyecto de larga investigación realizada en el estudio de Máquinas de arquitectura creativa , impartido por Jason Kelly Johnson y Michael Shiloh en el California College of the Arts en el Laboratorio de Arte Digital. Es una
Wallbots: Robots magnéticos autónomos que atraviesan las superficies verticales

Wallbots: Robots magnéticos autónomos que atraviesan las superficies verticales

este Instructable le mostrará cómo crear robots magnéticos que atraviesan las superficies verticales. Estos robots pueden moverse en las paredes metálicas, incluyendo elevadores, pizarras, neveras o puertas metálicas.El robot está equipado con varios
Perro robot: Robot de Lego Rover con Webcam

Perro robot: Robot de Lego Rover con Webcam

Aquí es cómo hacer un robot de Lego que se puede controlar desde cualquier pantalla por wifi. También tiene una webcam para que pueda ver donde sus IR LED luces para los ojos! Este es un gran proyecto a hacer con sus hijos, lo que pueden hacer el edi
Lanzador de bolas de perro Robot Dogzooka

Lanzador de bolas de perro Robot Dogzooka

"Pixel", mi fiel mascota Schnoodle (mezcla de Schnauzer/Poodle) es un paquete de energía. Le encanta jugar a fetch y fielmente ejecutará sus funciones de recuperación indefinidamente - si estás dispuesto a disfrutar de le. Ella me lleva hacia fu
El edificio de Q.T.Pi: un Robot de Sumo autónomo

El edificio de Q.T.Pi: un Robot de Sumo autónomo

¿Quieres aprender a construir un robot?Este Instructables te dirá cómo construimos nuestros 20 libras (9,07185 kilogramos) autónomoRobot de sumo.Esto es como empezamos con la construcción de motores de sumo. La universidad local que lleva a cabo la c
Araña de Terra: Robot de reparación autónoma

Araña de Terra: Robot de reparación autónoma

Este proyecto fue diseñado y construido por los estudiantes en el programa de arquitectura en la Universidad de California de los artes; Manali Chitré (MAAD), Anh Vu (BArch) y Mallory Van Ness (marzo). El curso de estudio se llamó máquinas de arquite
Cómo hacer un baloncesto autónoma jugar robot utilizando un iRobot Create como base

Cómo hacer un baloncesto autónoma jugar robot utilizando un iRobot Create como base

esta es mi entrada para el iRobot Create desafío. La parte más difícil de todo este proceso para mí fue decidir lo que el robot se iba a hacer. Quería demostrar las características interesantes de la creación, mientras que también agrega en algún est