Frambuesa Pi Web Robot controlado / autónomo

Introducción (actualizado 26/12/15)

Este es siempre mi primer intento de construir un robot web controlada con construido en modo autónomo. El proyecto comenzado como un Arduino Nano robot de evitación de colisión construido para inspirar a los niños de primaria y desarrollar un interés en computación y electrónica.

Al principio el robot era un robot de evitación de colisión simple que luego añadí un Raspberry Pi. A la Pi era un detector de movimiento PIR y un C270 Logitech Web Cam, todo montado en la parte superior. Armé un programa de python pequeño utilizando fswebcam para tomar fotos con la Web Cam cada vez que el detector de movimiento PIR detecta movimiento, que era todo el tiempo que el robot se movía. Las fotografías fueron substituidas más adelante con un flujo de vídeo vivo, llevado a cabo utilizando un programa de python llamado MJPG-Streamer.

Después de mucha investigación el Pi fue conectado con el Nano en una interfaz (dos hilos) serie i2c para servir una página Web que podría ser utilizado para enviar y recibir comandos para controlar el movimiento del robot y ver la secuencia de vídeo.

Esto es todavía un trabajo en progreso y está lejos de terminar, pero pensé que ya era hora que he creado un blog en la construcción. Si me da tiempo en una fecha posterior que haré un paso a paso, en el entretanto no dude me pregunta preguntas y si puedo te ayudo.

Lista de partes:

1. frambuesa Pi modelo B

2. Logitech C270 Webcam

3. Arduino Nano AT-Mega328P (copia China)

4. PIR Detector (redundante en la última versión)

5. EasyAcc 10000mAh batería USB (para la frambuesa Pi)

6. LiPo 7.4v batería recargable

7. WiFi Dongle

8. HC-SR04 Sensor ultrasónico módulo

9. L298N Dual 'H' puente tablero de conductor del Motor

10. 9g Servo Micro

10. plexiglás chasis (con 2 x motores de corriente continua y rueda)

11. zorros de galleta y lata de reloj G Shock

12. macho a macho y de macho a hembra Cables de puente

13. sin soldadura Breadboard

La construcción

Inicialmente, como he mencionado anteriormente, el robot comenzó en la vida como consecuencia de la necesidad de construir un robot de evitación de colisión para un club de robótica de la escuela. La idea fue identificar piezas lo suficientemente baratas como hacer la construcción de un robot asequibles para los miembros del club que estaban en Y5 y Y6 en la escuela primaria en la que yo estoy actualmente formación. El robot inicial fue basado en un Arduino Nano AT-Mega328P, para mantener los costos. También incorpora un Kit de chasis de plexiglás que incluye 2 motores x y una rueda del echador. Detección de colisiones se estableció usando un Sensor de ultrasonidos y un controlador de Motor de puente H de doble usado para controlar los motores. Energía fue proporcionada inicialmente de 1 pila de 9v x PP3 (no hay investigación en baterías y alimentación en este punto).

Este plan inicial era que el Sensor de ultrasonidos montar en el Micro Servo de 9g sin embargo la opción de batería pobres y poco investigada resultó inadecuada para manejar todo con el servo conectado.

Con el servo que se omite el robot funcionó admirablemente y demostró para ser un favorito y seguía siendo la versión adquirido y construido por los niños.

Requisitos de alimentación

Como se mencionó anteriormente el robot fue inicialmente impulsado por una batería PP3 de 9v. Esto estaba bien para alimentar a los motores y los sensores de ultrasonidos, sin embargo, en orden para esta versión del robot con un sensor ultrasónico montado en un servo de rotación se necesita una mejor alimentación. Después de investigar los requerimientos de energía en vamos a hacer Robots, que me aconsejaron el PP3 de 9v de la zanja (que por cierto están diseñados para los artículos de consumo de energía muy baja como detectores de humo) y optar por pilas AA, recargables preferiblemente con alrededor de un grado de 2000mAh. Me dijeron que use 6 como AA recargable salida alrededor de 1.2v en lugar de 1, 5V de salida por el tipo no recargable.

Otra opción que me dijeron que seguir era usar baterías de polímero de litio (LiPo), comúnmente utilizadas entre la fraternidad de la robótica. Mientras que las baterías tienen un precio razonable (alrededor de £11 para un paquete de la célula 2 - 7.4v) le será también necesario un cargador de equilibrio que son caros. Esto es un desembolso inicial elevado pero es un costo.

Al final compré un 7.4v (Turnigy) batería recargable LiPo:

http://www.hobbyking.com/hobbyking/Store/__9172__T...

Y un cargador de B6ACBalance de Imax:

http://www.hobbyking.com/hobbyking/Store/__58285 __...

También se recomienda que usted consigue una LiPo carga bolsa de fuego que prueba, estas baterías son bastante seguras, pero si uno se daña y se carga puede ser similar a la luz de un fuego artificial en su casa!!!!

Para utilizar esta batería con este cargador tuve que soldar un conector diferente en el extremo de la batería.

Detalles de cómo se conecta la batería está cubierta por debajo.

El Raspberry Pi es alimentado mediante un paquete de energía recargable USB, en mi caso usé un EasyAcc 10000mAh del paquete que cuando completamente cargada última para las edades (no una unidad técnica de medida, pero usted consigue mi deriva).

Actualización del chasis

Para darle un cuerpo y cambiar el aspecto visual del robot me había montado una lata de galletas de zorros en la parte superior del chasis de plexiglás y ocupa toda la electrónica dentro de él. El Sensor ultrasónico fue montado dentro de una lata que viene con un nuevo Casio G Shock. La lata fue cortada usando una combinación de recortes de estaño, tijeras y un cuchillo de Stanley, una vez que corte tener cuidado porque los bordes son afiladísimo, arena, pero también les cubrió con cinta de PVC.

Microprocesadores

En el momento de escribir este robot cuenta con dos microprocesadores, un Pi de frambuesa y un Arduino Nano. El Arduino Nano impulsa los motores de DC y el Sensor de ultrasonidos y el IPC ofrece el WiFi Web Control, funciona una cámara web y tiene capacidad para más lejos mejorar / ampliar este robot.

El Nano y el RPi están conectados mediante una conexión de dos hilos de ic2, el Nano está configurado como un dispositivo esclavo y el IPC es el maestro. Usando el Nano para conducir los motores y los sensores de esta manera evita atar para arriba de los pines GPIO de Pis que asegura la capacidad de ampliación.

Como un principiante, configurar el i2c tomó una gran cantidad de investigación y aunque trabaja el control del motor todavía necesita afinación fino.

Electrónica

El x 2 motores están conectados a un tablero de conductor del Motor L298N H puente, estas juntas permiten el control de motores de corriente continua para echar hacia delante y hacia atrás. El L298 también viene con un regulador de voltaje de 5v a bordo. El L298 es una opción barata pero sufren de una caída de voltaje grande, así que asegúrese de que la batería es bastante más grande.

La batería está conectado del L298 a través de un simple poste solo tiro singular (SPST) interruptor on / off. El L298 entonces proporciona energía de 5v a la placa sin soldadura que alternadamente proporciona la energía para el Sensor de ultrasonidos HC-SR04, el Micro Servo de 9g en que el sensor se monta y el Arduino Nano.

Cómo funciona

El IPC está configurado con acceso remoto y una vez encendida entrar en ella con SSH (Secure Shell) e iniciar el programa de Python que actúa como el programa para controlar Arduino i2c. Desde dentro del programa de Python que es un script bash ejecute que comienza otro programa de Python para servir una página Web utilizando WebIOPi un programa de Python para el Control de la Web, esto también llama a otro programa de Python, mjpg-streamer que se enciende la Web Cam y marcos de mjpg de arroyos que se ven en las páginas web servidas por WebIOPi. La página web que he creado contiene un panel de control simplemente con botones marcados hacia adelante, atrás, izquierda, derecha y Stop. También he añadido un par de botones para activar el servo que el cabezal se monta sobre.

Cuando la robusteza sí mismo se enciende el Nano se dispara para arriba y empieza a escuchar para comandos que llegan sobre la interfaz i2c de la Pi (cuando se presiona un botón en el panel de control de página web). También tengo instalación de un 'modo autónomo' que espera un periodo de tiempo determinado y si no los comandos reciben el robot empieza a navega por su entorno.

El código de

Hay tres programas asociados a este proyecto, HTML, Python y bosquejo.

El archivo HTML es la página web de la Pi con WebIOpi, el código Python comienza el programa principal de i2c, inicia WebIOPi y llama mjpg-streamer para transmitir el video feed. El código de bosquejo está subido a Arduino para configurarlo como esclavo y a la espera y comandos de acción proveniente de la Pi, así como proporcionan el modo autónomo.

YouTube

Aquí hay un enlace a un video de YouTube corto del robot en acción (sólo en modo autónomo), chocar unos cuantos pero los edité :-)

Temas de actualidad

En el momento de esta actualización hay dos problemas con la versión actual:

1. movimiento (sobre todo izquierdo y derecho). Control sobre la interfaz web necesita más trabajo, haciendo clic en un botón de control en el panel de control de página web (un ratón .html evento) hace que el robot para moverse, hay demasiado retraso entre el envío de la orden de parada (el ratón evento cuando el usuario suelta el botón del ratón) y el robot detener el comando actual. Mientras que esto no es particularmente sensible cuando se mueve hacia adelante y hacia atrás, cuando da vuelta el robot convierte cerca de 270 grados cada vez que lo hace fino control imposible. ¿Más trabajo requerido?

2. modo autónomo. Modo autónomo entra en acción después de unos minutos de inactividad sin embargo cuando el usuario intenta tomar el control otra vez algo modo autónomo Cesar, continúa dando por resultado una lucha entre el usuario y los robots AI para control!!!! Probablemente un simple fijar sin embargo una vez más más trabajo requiere.

Tienen configuración de una cuenta de GitHub para albergar el código sin embargo yo nunca he usado Git Hub antes por lo que estoy luchando para trabajar todo lo posible como lo hago voy a publicar el enlace al código diferentes utilizado en este proyecto.

Espero que os guste este blog / proyecto y si usted necesita cualquier ayuda con esto por favor no dude en dejar un comentario o me encontrar en LMR.

Artículos Relacionados

Robot humanoide autónomo barato

Robot humanoide autónomo barato

conoce a Johnny 5.Él es un robot humanoide autónomo 53 cm de alto, pesa casi 1 kg, y tiene 20 servomotores cada uno capaces de 14 kg * cm del esfuerzo de torsión. A bordo, circuitos personalizados unir cuatro microprocesadores de gran alcance: dos de
Robot Solar autónomo etapa 1

Robot Solar autónomo etapa 1

fondo:Hola, mi nombre es Ben Rawstron y este es el robot que he estado trabajando, recientemente en mi segundo año (décimo grado) año de secundaria. He creado este proyecto como un "estudio independiente" en mi escuela local aquí en Waldoboro Ma
RC coche Robot Arduino autónomo

RC coche Robot Arduino autónomo

¿Usted siempre deseó construir un simple robot autónomo de Arduino? Me inspiré para construir un robot básico de Arduino para ayudar a mi comprensión de Arduino, el IDE de Arduino y el funcionamiento de sensores de ultrasonidos y controladores de mot
Robot bombero autónomo

Robot bombero autónomo

Es un robot que autónomamente detectar y extinguir el fuego. Utiliza sensor de llama para el tablero de detección y arduino para su procesamiento. Extintor de incendios junto con válvula electrónica (actuador) se utiliza para apagar el incendio detec
Robot humano autónomo/RC

Robot humano autónomo/RC

intro: 18 +soy estudiante edad 24 años en el Instituto Técnico de York estudiando ingeniería eléctrica y este es mi robot que se han ido acumulando para un proyecto y quería compartir con todos los estudiantes, educadores y aficionados.Este robot pue
Robot autónomo principiante (parcialmente)

Robot autónomo principiante (parcialmente)

Todos los no parcialmente programación del robot VI requiere spdt interruptores que pueden obtener fácilmente activados, pero no tengo ese lujo. Así que hice un simple y fácil de hacer robot parcialmente autónomo.Paso 1: Ir a buscar las cosas2 x moto
Robot de combate de Sumo autónomo con aleta neumática - cómo

Robot de combate de Sumo autónomo con aleta neumática - cómo

Bot Sumo este fue diseñado, construido, programado y probado durante un período de 12 semanas para uno de mi último año de clases de ingeniería. El objetivo fue diseñar y construir un ligero sumo totalmente autónoma lucha contra el robot para una cla
Spider cerdo - robot hexápodo autónomo

Spider cerdo - robot hexápodo autónomo

Proyecto de tesis de licenciatura por un grupo de siete estudiantes (en física aplicada e ingeniería eléctrica) en la Universidad de Linköping, Suecia.Hardware principal:1 x AX PhantomX Metal hexápodo Mark II Kit (incluyendo 18 x servos Dynamixel AX-
Robot autónomo que ya tiene en su bolsillo!

Robot autónomo que ya tiene en su bolsillo!

En este tutorial quiero aprender algo, quizás cambiar de opinión. Y drones autónomos disponibles para todo el mundo.Simple pregunta es: ¿Qué necesitas hacer tu robot autónomo?.Respuesta:-GPS-Acelerómetro-Giroscopio-Sistema inalámbrico telemetría-Cáma
Construir un Robot autónomo de Wall-E

Construir un Robot autónomo de Wall-E

Hola! Después pide una kabillion, aquí tienes! Este robot está ejecutando el EZ-B disponible en http://www.ez-robot.comPrimero una pequeña introducción, ver el vide: http://www.youtube.com/watch?v=OJiMUzJHYFkComencé con el juguete titulado "Wall-E in
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
Chefbot: Un bricolaje móvil robot autónomo para servir comida en los hoteles

Chefbot: Un bricolaje móvil robot autónomo para servir comida en los hoteles

Como dice el titulo, vamos a ver cómo construir un robot móvil autónomo llamado Chefbot que es para servicio de alimentos y bebidas en hoteles y restaurantes.Este fue un proyecto de hobby y construí este robot después de ver un robot llamado Turtlebo
Desviación de obstáculo de Robot autónomo MICBot

Desviación de obstáculo de Robot autónomo MICBot

MICBot es un robot autónomo para detección de obstáculos y desviaciones y va alrededor,obras interiores o exteriores.Paso 1: Ultrasonido Sensor SFR05 Por lo tanto, esta solución utiliza el sensor de ultrasonidos como una medida de distancia y le perm
Morder el Robot autónomo obstáculos «Sanglier» (jabalí)

Morder el Robot autónomo obstáculos «Sanglier» (jabalí)

concepto GeneralNuestra primera idea fue crear un robot oruga capaz de subir escaleras y un montón de otros obstáculos, para llegar a una buena velocidad (alrededor de 10 o 15 km/h) mientras que la filmación y transmisión de datos. Se decidirá si pue