Taula de continguts:

Dispensador De Alimento Para Múltiples Mascotas Usando Inteligencia Artificial Con Watson: 11 Steps
Dispensador De Alimento Para Múltiples Mascotas Usando Inteligencia Artificial Con Watson: 11 Steps

Vídeo: Dispensador De Alimento Para Múltiples Mascotas Usando Inteligencia Artificial Con Watson: 11 Steps

Vídeo: Dispensador De Alimento Para Múltiples Mascotas Usando Inteligencia Artificial Con Watson: 11 Steps
Vídeo: Accidente con AK47. Uso Indebido de Armas de Fuego. 2024, Desembre
Anonim
Dispensador De Alimento Para Múltiples Mascotas Usando Inteligencia Artificial Con Watson
Dispensador De Alimento Para Múltiples Mascotas Usando Inteligencia Artificial Con Watson
Dispensador De Alimento Para Múltiples Mascotas Usando Inteligencia Artificial Con Watson
Dispensador De Alimento Para Múltiples Mascotas Usando Inteligencia Artificial Con Watson

En aquest instructible aprenem com fer un dispensador d’aliment per a les seves mascotes, pel general, o al menys en el meu cas sempre que vulgui fer un dispensador automàtic, sense embargament, que tinc un perro i un gat. Per ende no tinc una forma de saber cuál animal és per dispensar l’aliment adequat.

Ha trobat la solució, es tracta d’un sistema cognitiu que fa ús de la Intel·ligència Artificial per a què, per mitjà d’una càmera faci un processament d’imatge per a reconeixer-lo, de quin animal es tracta i dispensar l’aliment adequat.

Lògica del sistema:

  1. La mascota es tracta i es detecta per un sensor de distància
  2. El sistema pren una foto de l’animal
  3. La procesa i decidir què animal és
  4. Saluda a la mascota (Con voz humana)
  5. Dispensa l’aliment respectiu
  6. Envia un correu al degut indicant que ja el tens dispensat aliment

Pas 1: materials que necessitem

Materiales Que Necesitamos
Materiales Que Necesitamos
Materiales Que Necesitamos
Materiales Que Necesitamos
Materiales Que Necesitamos
Materiales Que Necesitamos

Este proyecto lo vamos a realizar en conjunto, así que es momento de vayas a comprar, pedir, buscar o la manera que tengas en mente, los siguientes materiales:)

  1. 1 Raspberry Pi, recomanant el model 3, però les anteriors també funcionen!
  2. 1 Cámara para raspberry pi
  3. 1 sensor ultrasònic HC-SR04
  4. 2 Driver motor (Pueden use any other, you use this because era the that tenía a mano!)
  5. 2 motors pas a pas
  6. 1 altaveu (Parlantes)
  7. 2 tubs T de PVC de pulgada i media (Les trobades en qualsevol ferreteria per menys de 2000 colons cada una.)
  8. Una làmina d’acrílic de 3mm per cortar, us utilitzo acrílic, us podeu fer servir qualsevol altre material, com a MDF.
  9. Una impressora 3D i cortadora làser que a Costa Rica, poden trobar a Inventoría LEAD.

Pas 2: Iniciando amb Raspberry Pi

Iniciando Amb Raspberry Pi
Iniciando Amb Raspberry Pi
Iniciando Con Raspberry Pi
Iniciando Con Raspberry Pi
Iniciando Con Raspberry Pi
Iniciando Con Raspberry Pi

Raspberri Pi és un microprocessador molt poderós que ens permet desenvolupar projectes que requereixin un alt poder computacional. És similar a un Arduino amb la diferència que Raspberry Pi no permet corregir un Sistema Operatiu dins de la targeta de desenvolupament.

En aquest cas utilitzeu raspbian que és una distribució de Linux, de codi obert, desenvolupat especialment per corregir sobre Raspberry Pi.

  • Primeros pasos con Raspbery Pi

    1. El primer pas és descarregar el raspbian com zip.
    2. Ahora debem quemarlo en una micro SD, per a ello: Usuaris MAC / Linux:

      1. Abrimos la terminal o consola del sistema, com es mostra a la foto.
      2. Utilitzeu coneixements d’ordre que expliquem per familiaritzar-nos i al final donar un exemple d’ús. diskutil list => Aquest comandament em devolució de la llista de tots els discos que trobeu al PC (una SD pot prendre com una discoteca externa.) Debemos buscar cuál es el nombre asignado a la SD, por el general puede ser "disk1", para efectes de este turorial le llamaremos "TuDisco". diskutil eraseDisk JHFS + UntitledUFS <TuDisco> => Permite borrar y formatear the disco escogido (TuDisco).

        diskutil unmountDisk / dev / <TuDisco> => Desmonta el disc per no poder utilitzar-lo.

        sudo dd if = of = / dev / <TuDisco> bs = 1m => Quema el sistema operatiu dins de la SD, podria durar fins a 1 hora en aquest pas.

        diskutil eject / dev / <TuDisco> => Expulsa el Disco

        Un ejemplo de uso de este, se encuentra adjunto en las fotos, los sintágicos del ejemplo sería así

llista diskutil

diskutil eraseDisk JHFS + UntitledUFS disk1 diskutil unmountDisk / dev / disk1 sudo dd if = / Users / bernalrojas / Downloads / 2017-11-29-raspbian-stretch.img of = / dev / disk1 bs = 1m diskutil eject / dev / disk1

Usuaris Windows: Podeu utilitzar Win32Disk, que és una eina senzilla o qualsevol altra de la seva elecció

  • Ver sistema operatiu

    1. Es pot aconseguir una pantalla, un cable HDMI, un ratolí i un teclat.
    2. Conectalos y enciende la raspberry pi, verás que al igual que una computadora normal es va iniciar de la mateixa manera sencilla que qualsevol altra (gravem que és una computadora).
    3. Ahora pots continuar treballant com una computadora normal o poden accedir remotament, així que ho farem d’aquesta última forma, per no dependre d’una pantalla per poder treballar.
    4. Vamos a hacer uso de ssh para acceder remotamente, antes de quitar la pantalla abrimos vamos a ir a nuestra terminal y escribimos "ifconfig" este comando nos va devolver la dirección IP de nuestro raspberry pi (guardelan porque los necesitaremos en el futuro). Ahora poden desconectar la pantalla.
    5. Vamos a ir a nuestra computadora y abrimos la terminal de la misma manera, y escribimos ssh pi @ donde es la dirección que acabamos de recuperar en el paso anterior, han de sustituir-se pels números que els retornen. Pueden ver un ejemplo en las fotos para no perse en este paso.
    6. Nosaltres va pedir la contrasenya de l'equip i una més de la raspberry que per default és "raspberry". Això ens obrirà la terminal immediatament.

Pas 3: Conectar Sensors I Actuadors Al Raspberry Pi

Conectant Sensors Y Actuadores Al Raspberry Pi
Conectant Sensors Y Actuadores Al Raspberry Pi
Conectant Sensors Y Actuadores Al Raspberry Pi
Conectant Sensors Y Actuadores Al Raspberry Pi
Conectant Sensors Y Actuadores Al Raspberry Pi
Conectant Sensors Y Actuadores Al Raspberry Pi

Cómo sabemos Raspberry Pi es una tarjeta de desarrollo que posee pines GPIO que podem configurar com entrades i salades per als nostres sensors i actuadors. Nuestros sensores son:

  1. Per al sensor de distància utilitzarem un sensor ultrasònic. Aquest sensor funciona per ultrasonidos, com un murcielago … Funciona emitant una honda (Trigger pin) que rebotarà en un objecte, el sensor la rebrà de tornada (Echo pin) i estimarà el temps que durarà en regresar. Pueden ver la imagen adjunta que tomé de Zona Maker donde tienen un excelente tutorial para entender a fondo como funciona este sensor
  2. Per a la visió artificial el sistema usarà una càmera.
  3. Com utilitzar un motor Stepper Motor?
  4. Per moure el motor utilitzarem Driver driver. En mi caso no tenía disponibles de estos pequeños, así que usaré los que tenía a mano, estos (La diferencia es que estos permiten manejar un corriente mayor). * Nota: * El diagrama adjunt es mostra un altre conductor (El vermell, és un easy driver) distinto a que he utilizado, esto fue para generalizar, ya que la mayoría de drivers tienen esa nomenclatura (dir y step). Con el que yo estoy utlizando (el TB6560) los pines "dir" y "step" los reemplazamos por "CW +" y "CLK +" respectivament. Y los 2 GND es reemplacen per CLK- y CW-.

Pas 4: Preparant Node-RED a El Raspberry Pi

Preparant Node-RED En El Raspberry Pi
Preparant Node-RED En El Raspberry Pi
Preparant Node-RED En El Raspberry Pi
Preparant Node-RED En El Raspberry Pi
Preparant Node-RED En El Raspberry Pi
Preparant Node-RED En El Raspberry Pi
Preparant Node-RED En El Raspberry Pi
Preparant Node-RED En El Raspberry Pi

Ahora vamos a començar a preparar todos los paquetes necesarios para hacer que nuestro sistema funcione con Node-RED, que és un IDE de programació gràfica molt senzill d’utilitzar.

Antes de començar a preparar tot el necessari per tenir el nostre equip actualitzat, per executar-los els següents comandaments a la nostra terminal:

sudo apt-get update

sudo apt-get dist-upgrade update-nodejs-and-nodered

Aquests comandos ens actualitzen al nostre equip. El darrer comandament, ens permet tenir el nostre entorn Node-RED actualitzat per poder instal·lar les dependències que necessitem en aquest pas, és important saltar aquesta actualització.

  • Node-RED ve precargat en raspbian per default, així que només debem iniciar-lo, per això vamos a ir a la terminal i escrivim "node-red-start" això ens va executar un servidor sota la mateixa xarxa, ara us assegura que la vostra computadora esté connectat a la mateixa red o wifi que las raspberry pi.
  • Es pot veure una línia que dóna alguna cosa similar a "Una vegada que Node-RED ha començat, apunteu un navegador a https://192.168.1.102:1880" direcció d’usos serà diferent a la meva.
  • Entrarem al nostre navegador web i copiem la direcció, això ens obrirà l’IDE de Node-RED
  • Ahora vamos a instalar el paquete que necesitamos, para ello vamos a ir a: botón de menú arriba a la derecha => manage palette => Install. Esto nos permetrà de manera gràfica instal·lar tots els paquets externs que necessitem, el que serien les libreries en codi.
  • Ahora vamos a instalar varios paquetes, esto lo haremos copiando el nombre del paquete que los dejaré abajo y dandole al botón instalar. Esto debe hacerse para cada uno de los paquetes que los dejo abajo

    1. node-red-contrib-camerapi => Per a la càmera
    2. node-red-node-pisrf => Para sensor ultrasónico
    3. node-red-contrib-speakerpi => Para altaveus
    4. node-red-node-watson => Para watson
    5. node-red-contrib-ibm-watson-iot => Para watson
    6. node-red-bluemix-nodes => Serveis del núvol d'IBM
    7. node-red-contrib-python-function => Interpretar Pytho

Pas 5: Programació El Sistema Cognitiu

Programant El Sistema Cognitiu
Programant El Sistema Cognitiu
Programant El Sistema Cognitiu
Programant El Sistema Cognitiu

Node-RED permet importar un programa per mitjà de copiar i codi que els deixo adjunt.

Deben ir a un botó de menú arriba a la dreta => import => clipboard => pegar el codi => import. Esto les hauria de generar els blocs del programa, alguns bloques han de configurar-se.

Configuració de flors:

  1. Per al primer bloqueig, que donem "Distància", donem doble clic i assegurem que els paràmetres són els mètodes de la fotografia adjunta.
  2. Per a "take photo python node", feu doble clic i igualment verificem els paràmetres al adjunt. * Important assegurant que "Nom del fitxer" hem posat "image.jpg" *
  3. Per correu electrònic enviat, feu doble clic i aquí teniu col·loqueu els nostres dades, a: seria a quina adreça de correu electrònic es va enviar el mail Usuari: Seria la direcció de correu de la persona que envia Contrasenya: La clau d’aquesta última direcció de correu.
  4. El darrer pas és configurar els serveis de Watson que farem una continuació en el següent pas.

Pas 6: Conectant un Watson

Conectant a Watson
Conectant a Watson
Conectant a Watson
Conectant a Watson
Conectant a Watson
Conectant a Watson

Watson és un servei d’IBM molt senzill d’utilitzar que funciona per mitjà d’API.

  1. En primer pas es crea una compte a l’IBM Cloud. (IBM les darà un mes de prova, per tenir en compte)
  2. Una vegada dins veran alguna cosa com a la foto, aquí busquem baix a l’esquerra Watson => Visual Recognition => Pondremos un nombre único y le damos a crear. Com es mostra en les fotografies adjuntes.
  3. Una vegada que estigui dins, poden observar que han generat un API, ara li donen al botó que donen "mostrar" (Ver cuarta foto) i han de copiar les credencials, on donen "api_key".
  4. Van de tornada a IDE de Node-RED i doble clic al bloqueig "Watson Visual Recognition", assegurar-se de pegar els seus credencials en l'espai correcte i ajustar els paràmetres igual que la foto.
  5. Això mateix ha de fer-se per text a veu, Watson => Texto a voz => Pondremos un nombre único y le damos a crear. Com es mostra en les fotografies adjuntes.
  6. Hemos generado una API nuevamente, ahora le dan al botón que dice "mostrar" (Ver cuarta foto) i han de copiar les credencials "username" y "password". Vamos de vuelta a IDE de Node-RED y doble clic al bloqueo "Hablar", assegurem de pegar les seves credencials en l'espai correcte i ajustar els paràmetres igual que la foto. * Això ha de fer-se per a les flors que dicen parlar *

I llest, així de senzill ja tenen el seu sistema funcionant!:) Error possible:

Si quan s’ha de prendre la foto ens retorna un error i la llum (roja) de la càmera sense encendre, debem revisar la carpeta / home / pi / Pictures. Ahora debem ver si la foto està en negre o té 0KB, si és així

El nostre sistema està configurat per guardar les fotos a la carpeta / home / pi / Pictures,. En cas que no existeixi foto o la foto no es pugui obrir (0KB), és possible que la càmera estigui mal connectada o que no estigui habilitada. Per habilitar la càmera ens obrim al botó d’inici de Raspbian “/ Preferències / Raspberry Pi / Configuració” i vamos a “Interfaces”. Ahí debemos aseguranos que “Cámara” està en “Habilitada”.

Pas 7: Intel·ligència Artificial

Inteligència Artificial
Inteligència Artificial
Inteligència Artificial
Inteligència Artificial

Procésar una imatge no és quelcom senzill de fer, requereix intel·ligència artificial per poder detectar patrons en aquesta imatge dels quals es generarà una o diverses prediccions d’objectes que podria ser el que es mostra en la imatge. Aquest tipus d’algoritmes poden fer-se de diverses maneres, un d’ells es fa servir redes neuronals profundes que en l’actualitat requereix un poc de temps per poder enviar a construir l’arquitectura i programar aquesta vermella, el nom específic per al tipus de vermell que s’utilitzarà es Redes Neuronales Convolucionales, que és l’algoritme que més es veu a les neurones en la corta visual humana. En estos algoritmos siempre se debe entrenar el sistema, con un conjunto de datos certeros y uno falso, es dirán muchas fotos con el objeto que queremos reconocer y otro montón de fotos agrupadas, sin el objeto que queremos reconocer.

Una de les ventasses d’utilitzar de Watson, és que fa aquest treball pesat per nosaltres inclòs que l’algoritme estigui entrenat per a reconeixer objectes universals, per suposar-se disposa d’una eina o "camp d’entrenament" per entrenar el nostre sistema a objectes poc menys comunes., en aquest cas, els gats i el perro els reconeguen per defecte.

A continuación haré un paréntesis on explicaré com funciona una red neuronal artificial, amb fines merament didàctiques, No és necessari per a la realització de l’instructible. (Si el teu interès és replicar el projecte ràpidament, pots saltar fins a la fi del parèntesi).

Cómo funciona una Red Neuronal Básica (Inicio Opcional Informativo)

Una red està composta de diversos elements indivuals (la unitat bàsica) que es diu percebre o el que equivaldria a una neurona en el nostre cervell. Està composta de 3 parts principals:

  1. Entrades
  2. Funció de suma (Σ)
  3. Funció d'activació

Entrades:

Aquestes són les representacions en la imatge com x1, x2, x3, x … Seran multiplicades per un pes w (amb un valor aleatori a l'inici)

Funció de suma (Σ):

En aquest punt ocorre una suma de totes les entrades multiplicades pel seu pes amb respecte, al finalitzar l'operació, envia el resultat a la funció d'activació.

Funció d'activació:

Funció com a llindar o umbral, és dir, si el valor del resultat supera un cert nombre (per lo general 0) s’activarà la sortida de la neurona. Podem dir que és com una llave que deja passar l'aigua o terra el pas de l'aigua. Solo que en este caso, hablamos de la salida de una neurona.

Ahora que coneixem la unitat bàsica d’una red neuronal (perceptró) estem llistats per veure com funcionen en una red. Com observar en la segona imatge, està composta de 3 capes principals:

  1. Capa d’entrada
  2. Capa oculta
  3. Capa de sortida

Capa d’entrada:

Aquí és on rep totes les entrades, poden existir en un nombre indefinit de neurones.

Capa oculta:

Recibiu la sortida de cada neurona que existeix en la primera capa, realitza el mateix procés en cada percetró i la seva sortida es lliurarà a la capa de sortida.

Capa de sortida:

Aquesta és la capa de classificació, aquí existeix el nombre de neurones iguals al nombre de classificadors que necessita, es diu si es vol saber si és un gat o per necessitaries 2 neurones, una per a gats i una altra perros.

Tot això és molt bo, però ¿Dónde ocorre realment l'aprenentatge? Esto ocurre en cada perceptron por individual, el algoritmo resulta que en calcular correctamente y ajustar los pesos w (Que inicialment tenien un valor aleatori). Això pot fer-se mitjançant l’aprenentatge no supervisat o l’aprenentatge supervisat, la manera més senzilla, calculant l’error, és dir, la diferència entre el valor de la sortida que esperen i el que realment em diu.

(Fin del Opcional Informatiu)

Watson està creat utilitzant molts algoritmes com el que acabem de ver, però amb una major profunditat i complexitat per suposat, abans que aquest sigui l’ús de Visual Recognition API, o API de reconeixement visual, (Que ara sabem que es tracta de redisseny neuronal convolucionals i alguns altres algoritmos més), resulta molt senzill d’utilitzar, això perquè quan configurem el bloqueig amb les nostres credencials i ens ha donat el processament d’una imatge, Watson ens devolverà un arxiu tipus JSON amb un motó de possibilitats d’objectes que podran estar presents en aquesta fotografia. Es diu, quan processem la foto, Watson fa el seu anàlisi i no devolució d’una llista amb objectes probables que ha detectat en aquesta foto, així de senzill s’utilitza Watson!

Luego solo usamos un script para recorrer todas esas opciones posibles y si en esa lista encuentra conciencia con un perro o un gato le avisará al resto del sistema para que dispense la comida correcta:)

És necessari que es doni compte que la intel·ligència artificial no sigui quelcom tan complex, especialment quan hi ha serveis com Watson que ha fet el treball pesat per nosaltres!:)

Pas 8: Construint Un maquinari

Construint Un maquinari
Construint Un maquinari
Construint Un Hardware
Construint Un Hardware
Construint Un maquinari
Construint Un maquinari

Aquest pas ho hem realitzat a la Inventòria LEAD (Ver laboratorio) el qual és un maker space a Costa Rica desenvolupat per Fundació Costa Rica per a la Innovació.

En el laboratori contem amb impressores 3D i cortadora làser entre un altre muntatge d’eines i tecnologies a disposició de nosaltres, la comunitat, per prototipar i desenvolupar les nostres idees i projectes de la mà amb experts a l’àrea.

Pas 9: Imprimiendo El Mecanismo De Dispensado

Imprimiendo El Mecanismo De Dispensado
Imprimiendo El Mecanismo De Dispensado
Imprimiendo El Mecanismo De Dispensado
Imprimiendo El Mecanismo De Dispensado
Imprimiendo El Mecanismo De Dispensado
Imprimiendo El Mecanismo De Dispensado

Com es pot comentar en inventari LEAD tenim una disposició de les nostres impressores 3D, dels quals es fa servir en aquest projecte per fer-ho realment. Adjunto encontrarán los archivos listos para imprimir, recomiendo seguir Este instructable el cuál explica paso a paso como hacer uso de las impresoras 3D de Inventoría, ya que en estos espacios buscan que todos nosotros aprendemos a hacer las cosas por nosotros mismos y no que alguien més nos las haga, por ello con este instructable aprenderán a utilizar estas máquinas y poner a imprimir las piezas por ustedes mismos.

Pas 10: Cortando En Láser El Case

Cortando En Láser El Case
Cortando En Láser El Case
Cortando En Láser El Case
Cortando En Láser El Case
Cortando En Láser El Case
Cortando En Láser El Case
Cortando En Láser El Case
Cortando En Láser El Case

De la mateixa forma, hicimos ús de la cortadora làser, on el disseny es va realitzar utilitzant inkscape el que és una versió Open Source de programes de disseny gràfic que permet generar vectors.;

El material: Per a aquest disseny és important saber que hem de fer servir material de 3mm, un major pot fer que les peces no es calculin adequadament. treballs amb molt d’ofici i elegància, i aquest material crea un efecte visual molt interessant, de lleis es pot confondre amb alumini negre, el que li dóna molta elegància al projecte.

Es poden utilitzar el material que desitgen, si es poden realitzar alguna cosa de baix cost, poden fer ús de MDF de 3mm el que és un material molt econòmic i acabats de molt bons també.

Pas 11: Ensamblando El Hardware

Ensamblando El Hardware
Ensamblando El Hardware
Ensamblando El Hardware
Ensamblando El Hardware
Ensamblando El Hardware
Ensamblando El Hardware

Una vegada que tinguem totes les peces completes, l’electrònica i el software llest, podem començar a ensamblar.

En les fotos adjuntes veran el procés!:)

  • Passos per a armats:

    1. Armar las dos caixes i pegarlas amb cinta (això perquè poden desarmar-se), com comentarem us acrílic, per a pegar aquest material és necessari utilitzar pegament d’acrílic o, per semblar més interessants i intel·lectuals abans d’una altra persona, podem dir Cloruro de metileno … Luego me agradecen el tip;) jaja
    2. Aplicar el cloruro de metileno: -Este pegament és un àcid que és molt peligroso, es recomana aplicar-lo amb una xeringa i guants.

      -El procés ha de realitzar-se amb calma i cura, ja que una gota en un lloc equivocat pot donar l'estètica del nostre acrílic. Com a recomanació personal, sempre que tingui un projecte realitzat amb molt ofici i detalls. Cuidar els cables és una cosa important, un projecte net i agradable a la vista té un impacte major que un amb cables desordenats, que es veu desordenat, compleix o sucio.

* Ensable de la caixa 1, la dispensadora (Amb els motors) -En aquest punt debem prendre l’acolliment dels motors que imprimim en 3D i adornant-los al motor, tal i com es mostren a la foto. Poden utilitzar tornells amb mesura M3, el llarg sense importar … -Ahora debem prendre l’espiral i, a pressió, haurem de fer calar l’hueco que té per debat amb el rotor (palito que gira) del motor i haurem de quedar-nos com es mostren a les fotos.-Ahora insertamos la pieza completa dentro del Tubo de PVC. (Aquest sistema és molt utilitzat en la indústria com a màquina d’injecció, un exemple d’aplicació és en les màquines d’injecció de plàstic, adjuntament es controlarà un diagrama de com funcionen aquestes màquines) -Hacemos la inserción de las dos piezas completas dentro de la caja de modo que nos quede un acople correcto entre los huecos de salida de la caja y la salida del tubo de PVC-Colocamos la tapa superior o cobertor cobertor. * Ensamble de la caixa 2, la de l'electrònica.-Colocamos el sensor ultrasónico en los orificios. Con contadoble cara fijamos la cámara a la pared de acrílico.-Acomodamos la electrónica, esto lo hice como se muestra en la foto, pero ustedes pueden acomodarlo al su gusto. Próximos RetosAhora sigue que lo ajusten a sus necesidades y lo hackeen per complet, el suggerim alguns retos:

  1. Ajustar a les seves mascotes (per tipus d’animal)
  2. Construir un cas amb més sistemes de dispensació, per a més animals, així com configurar el sistema per reconèixer més animals
  3. Connecteu-vos amb IBM IoT per controlar el sistema des de qualsevol part del món
  4. Afegir un dispensador d'aigua
  5. Hacerle qualsevol canvi que sea oportuno para ti:)

* Aquest instructable ha estat realitzat per Bernal Rojas amb Cesar Rodriguez Bravo com a coautor *

Recomanat: