Raspberry Pi Web Robot contrôlé / autonome

Introduction (mise à jour le 26/12/15)

C’est mon premier jamais tentative de construire un robot web contrôlée avec construit en mode autonome. Le projet a commencé comme un Arduino Nano basé robot évitement de collision construit pour inspirer les élèves du primaire et de développer un intérêt pour l’informatique et l’électronique.

Dans un premier temps le robot est un robot d’évitement de collision simple auxquels j’ai ensuite ajouté un Pi de framboise. Attaché à la Pi est un détecteur de mouvement PIR et un Logitech C270 webcam, tous montés sur le dessus. J’ai mis sur pied un programme de petit python en utilisant fswebcam pour prendre des photos à l’aide de la came de Web chaque fois que le détecteur de mouvement PIR détecté un mouvement qui a été tout le temps que le robot se déplaçait. Les images fixes ont été plus tard remplacés par un flux vidéo en direct, réalisé à l’aide d’un programme de python appelé MJPG-Streamer.

Après beaucoup de recherches la Pi a été connecté à la Nano sur une interface de série (2 fils) d’i2c pour servir une Page Web qui pourrait être utilisé pour envoyer et recevoir des commandes pour contrôler le mouvement du robot et de visualiser le flux vidéo.

C’est toujours un travail en cours et est loin d’être terminé, mais j’ai pensé qu’il était temps que j’ai créé un blog sur la construction. Si je reçois de temps à une date ultérieure, que je vais faire une étape par étape, dans le même temps, n’hésitez pas à me poser des questions et si je peux je vais vous aider.

Liste des pièces :

1. raspberry Pi modèle B

2. Logitech C270 webcam

3. Arduino Nano AT-Mega328P (copie chinoise)

4. capteur PIR (redondant dans la dernière version)

5. EasyAcc 10000mAh USB Battery Pack (pour alimenter le Raspberry Pi)

6. LiPo 7.4V batterie Rechargeable

7. WiFi Dongle

8. HC-SR04 Module de capteur à ultrasons

9. L298N double « H » Bridge Motor Driver Board

10. 9g Servo Micro

10. perspex châssis (avec 2 moteurs à courant continu et roulette)

11. renards biscuit et étain montre G Shock

12. mâle/mâle et le mâle/femelle Cables de démarrage

13. sans soudure Breadboard

La Build

Au début, comme j’ai mentionné ci-dessus, le robot a commencé dans la vie en raison de la nécessité de construire un robot d’évitement de collision pour un club de robotique de l’école. L’idée était d’identifier les pièces assez bon marchés pour rendre l’immeuble d’un robot abordable aux membres du club qui se trouvaient à Y5 et Y6 à l’école primaire au cours de laquelle je m’entraîne actuellement. Le robot initial était fondé sur un Arduino Nano AT-Mega328P, à minimiser les coûts. Il a également incorporé un Kit châssis Perspex qui comprenait 2 x moteurs à courant continu et une roue de roulette. Détection de collision a été créée à l’aide d’un capteur à ultrason et un double pont H moteur pilote utilisé pour commander les moteurs. Puissance, initialement assuré par 1 pile de 9v x PP3 (aucune recherche faite sur les piles et la tension requise à ce stade).

Ce plan initial prévoyait que le capteur à ultrasons être monté sur le 9g Servo Micro toutefois le choix de batterie faible et non documenté s’est avérée insuffisant pour tout piloter avec le servo attaché.

Avec le servo omis le robot a fonctionné admirablement et s’est avéré pour être un favori et est resté à la version acheté et construit par les enfants.

Exigences d’alimentation

Comme indiqué plus haut le robot a été initialement alimenté par une batterie de 9v PP3. Cela allait bien pour alimenter juste les moteurs et les capteurs à ultrasons, cependant, pour cette version du robot puisse avoir un capteur ultrasonique monté sur un rotatif servo il aurait besoin d’une meilleure alimentation. Après des recherches sur les exigences de puissance sur nous allons faire des Robots, j’ai m’a conseillé d’abandonner le PP3 9v (qui soit dit en passant sont conçus pour les consommations de très faible puissance comme les détecteurs de fumée) et opter pour piles AA, préférence rechargeables avec autour d’une cote de 2000mAh. On m’a dit d’utiliser 6 comme AA rechargeable sortie autour de 1,2 v au lieu de 1, 5V sortie par le type non rechargeable.

Une autre option qui m’a dit de poursuivre a été d’utiliser des piles au Lithium polymère (LiPo), couramment utilisées parmi la Fraternité de la robotique. Alors que les piles sont à un prix raisonnable (environ £11 pour un Pack de cellule 2 - 7.4V) vous sera également nécessaire un chargeur équilibre qui coûtent cher. C’est une dépense initiale élevée mais un coût unique.

En fin de compte, j’ai acheté un 7.4V (Turnigy) Accu LiPo :

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

Et un chargeur de B6ACBalance Imax :

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

Il est également recommandé que vous obtenez une LiPo charger le sac qui est feu preuve, ces batteries sont assez fiable mais si on est endommagé et qu’il est facturé qu’ils peuvent s’apparenter à la lumière un feu d’artifice dans votre maison !

Pour utiliser cette batterie avec ce chargeur, j’ai eu à souder sur un connecteur différent sur l’extrémité de la pile.

Détails de la façon dont la batterie est connectée est traité ci-dessous.

Le Raspberry Pi est alimenté à l’aide d’un bloc d’alimentation Rechargeable USB, dans mon cas que j’ai utilisé un EasyAcc 10000mAh pack qui, s’il est totalement chargé en dernier pour les âges (pas une unité technique de mesure, mais vous avez ma dérive).

Mise à niveau de châssis

Pour lui donner un corps et de changer l’aspect visuel du robot, j’ai monté une boîte de conserve de renards biscuit sur le dessus du châssis perspex et logés tous l’électronique à l’intérieur de celui-ci. Le capteur ultrasonique a été monté à l’intérieur d’une boîte de conserve qui est venu avec une nouvelle Casio G Shock. L’étain a été coupé en utilisant un mélange d’étain cisailles, ciseaux et un couteau Stanley, une fois coupe faites attention car les bords sont rasoir, j’ai poncé les mais aussi eux recouverts de ruban PVC.

Microprocesseurs

Au moment de l’écriture, ce robot a deux microprocesseurs, un Pi de framboise et un Arduino Nano. L’Arduino Nano alimente les moteurs à courant continu et le capteur à ultrasons et le RPi fournit le WiFi / contrôle Web, exécute une caméra web et a la capacité d’encore améliorer / développer ce robot.

Le Nano et le RPi sont connectés à l’aide d’une connexion à deux fils d’ic2, le Nano est configuré comme un périphérique esclave et l’IPD est le maître. À l’aide de la Nano de conduire les moteurs et les capteurs de cette façon évite ligoté les broches GPIO Pis qui assure une évolutivité.

En tant que débutant, mise en place de l’i2c a pris beaucoup de recherche et même si ça marche il faut encore peaufiner la motricité.

Electronics

Le x 2 moteurs à courant continu sont connectés à un L298N H Bridge Motor Driver carte, ces cartes permettent le contrôle des moteurs à courant continu de les chasser avant et en arrière. Le L298 est également livré avec un régulateur de tension de 5v à bord. Le L298 est une option peu coûteuse mais souffre d’une chute de tension importante alors assurez-vous que votre batterie n’est plus assez grand.

La batterie est connectée à la L298 via un simple unique pôle unique jeter (SPST) interrupteur marche / arrêt. Le L298 puis fournit une alimentation de 5v pour le montage d’essai sans soudure qui alimente à son tour à la sonde ultrasonique de HC-SR04, le 9g Servo Micro sur lequel le capteur est monté et l’Arduino Nano.

Comment ça marche

L’IPD est configuré avec accès à distance et une fois mis sous tension j’ouvrir une session à l’aide de SSH (Secure Shell) et démarrer le programme Python qui agit comme le programme maître i2c pour contrôler l’Arduino. Depuis le programme Python qu'est un script bash exécute qui démarre un autre programme Python pour servir une Page Web à l’aide de WebIOPi un programme Python pour le contrôle Web, cela demande aussi un autre programme Python, mjpg-streamer qui allume la webcam et les cadres de mjpg de ruisseaux qui sont affichées sur les pages web servi par WebIOPi. La page web que j’ai créé contient un simple panneau de commande avec boutons marqués avant, arrière, gauche, droite et Stop. J’ai aussi ajouté quelques boutons pour mettre le servo monté sur la tête.

Lorsque le robot est allumé le Nano se déclenche et commence à écouter les commandes venant via l’interface i2c de la Pi (lorsqu’une touche est pressée sur le panneau de contrôle de page web). J’ai également installé un « Mode autonome » qui attend qu’une période de temps spécifiée et si aucune commande n’est reçu le robot démarre auto naviguer autour de son environnement.

Le Code

Il existe trois programmes associés à ce projet, HTML, Python et croquis.

Le fichier HTML est la page web servi par le chercheur principal à l’aide de WebIOpi, le code Python démarre le programme maître i2c, commence WebIOPi et appelle mjpg-streamer pour diffuser le flux vidéo. Le code de l’esquisse est transféré à l’Arduino à mis en place comme un esclave et vous attendent et commandes d’action a reçu de la Pi ainsi que de fournissent le mode autonome.

YouTube

Voici un lien vers une petite vidéo YouTube du robot en action (mode autonome uniquement), il ne s’est écrasé peu de temps mais j’ai ceux édité:-)

Questions d’actualité

Au moment de cette mise à jour il y a deux problèmes avec la version actuelle :

1. mouvement (surtout à gauche et à droite). Le contrôle via l’interface web doit poursuivre les travaux, en cliquant sur un bouton de commande sur le panneau de contrôle de page web (un .html événement de souris appuyée) provoque au robot de se déplacer, il y a trop de retard entre l’envoi de la commande de stop (la souris un événement lorsque l’utilisateur relâche le bouton de la souris) et le robot s’arrêtant la commande actuelle. Alors que ce n’est pas particulièrement visible lors du déplacement vers l’avant et en arrière, quand en tournant le robot se met environ 270 degrés chaque fois qui rend très bien contrôler impossible. Plus de travail requis ?

2. Mode autonome. Mode autonome intervient après environ une minute d’inactivité cependant lorsque l’utilisateur essaie de prendre le contrôle à nouveau plutôt que cessant de mode autonome, elle exerce ce qui entraîne une lutte entre l’utilisateur et les robots AI pour contrôle!! Probablement un simple Difficulté cependant une nouvelle fois plus de travail requis.

J’ai installation un compte GitHub pour héberger le code mais je n’ai jamais utilisé Git Hub avant donc je me bats pour travailler tout ça dès que je fais je vais poster le lien vers le code divers utilisé dans ce projet.

J’espère que vous aimez ce blog / projet et si vous avez besoin d’aide avec elle s’il vous plaît n’hésitez pas à laisser un commentaire ou me trouver sur les LMR.

Articles Liés

DOUBLE MODE ROBOT => (contrôle autonome / manuel)

DOUBLE MODE ROBOT => (contrôle autonome / manuel)

DTMF ou dual tone multi fréquence est chouette petite voie de contrôle des machines à votre téléphone portable. Cette instructable vous, lecteur doux montre comment faire un moins cher que la saleté DTMF contrôlée robot qui peut également fonctionner
Robot humanoïde autonome bon marché

Robot humanoïde autonome bon marché

rencontrer Johnny 5.Il est un robot humanoïde autonome qui est de 53 cm de haut, pèse à peu près 1 kg et dispose de 20 moteurs servo capables chacun de 14 kg * cm de couple. À bord, des cartes de circuits personnalisés attacher ensemble quatre puissa
Bras robotisé contrôlé par Edison Intel

Bras robotisé contrôlé par Edison Intel

Bonjour, mon ami !Ici je vais vous montrer comment j'ai fait un bras robotisé contrôlé par Intel Edison et commandé par le mouvement de saut.Le modèle 3D utilisé dans ce projet est un projet opensource très bon trouvé ici : http://inmoov.frEtape 1: C
Un autre carton--aspirateur robot contrôlé par Arduino

Un autre carton--aspirateur robot contrôlé par Arduino

Il s'agit de simple--aspirateur robot contrôlé par Arduino.Cela peut être encore plus simple si au lieu de turbine et bac à poussière - utiliser un mouchoir en papier de cuisine ou un morceau de tissu synthétique.Étape 1: Composants requisArduinoMote
Distance robot contrôlé avec enregistrement vidéo mobile

Distance robot contrôlé avec enregistrement vidéo mobile

magalie les gars ! Il s'agit de mon premier instructable... aujourd'hui iam vapour montrer u comment faire un robot contrôlé à distance avec la caméra (enregistrement vidéo mobile)alors, suivez les étapes suivantes...ÉTAPE 1 :matériel requis :1) moto
K-9 2.0. Chien Robot contrôlé et autonome de WiFi.

K-9 2.0. Chien Robot contrôlé et autonome de WiFi.

REMARQUE :À l'étape 22, j'ai posté une mise à jour, expliquant certains changements/améliorations récentes que j'ai faite, principalement au système électrique de K-9 et les capteurs qui peuvent vous être utiles.CaractéristiquesRobuste en bois (MDF)
Raspberry Pi et Wiimote contrôlée Robot Arm

Raspberry Pi et Wiimote contrôlée Robot Arm

un bras de robot, j'ai reçu comme cadeau d'anniversaire, mais après tout le premier jour le contrôleur qui l'accompagne est devenu un peu terne à utiliser. Plus tard, j'ai acheté le contrôleur usb qui a été fait pour le robot, mais une fois de plus l
Raspberry Pi Robot contrôlé via Bluetooth

Raspberry Pi Robot contrôlé via Bluetooth

ce tutoriel est basé sur un précédent Instructable -Robots de bâtiment avec Raspberry Pi et PythonLe but est de présenter un exemple de comment mettre en place une connexion série Bluetooth avec Arduino pour contrôler un robot Raspberry Pi. Mais perm
Web RoboT multifonction commandé

Web RoboT multifonction commandé

Faire un robot web contrôle multi fonctionnel construit avec du matériel minimal et build programmation base sur pi de i.e framboise plate-forme open source populaires. En dehors de la motricité fondamentale, ce tutoriel vise à intégrer capteur popul
Faire un Robot contrôlé de Wi-Fi en utilisant un LinkIt

Faire un Robot contrôlé de Wi-Fi en utilisant un LinkIt

Voici un guide étape par étape qui vous aidera à construire le premier robot et ajouter à la complexité, que vous suivez le long. En plus de construire un base obstacle évitant le robot à l'aide d'un capteur à ultrasons et Sparkfun moteur pilote , vo
De l’esquisse à Wifi Robot contrôlé

De l’esquisse à Wifi Robot contrôlé

Il s'agit d'un petit guide sur la façon de construire un auto équilibrage robot à un seul week-end. Nous utilisons uniquement des pièces de stock.Le cadre se compose de panneaux en plastique rectangulaire. Est-il possible d'utiliser la colle pour la
Raspberry Pi CNC Hat contrôlé moteur pas à pas CDROM

Raspberry Pi CNC Hat contrôlé moteur pas à pas CDROM

Objectif: apprendre comment il est simple d'utiliser le Raspberry Pi CNC chapeau de Protoneer en le testant dehors sur un moteur pas à pas CDROM.Pourquoi: beaucoup d'entre nous rêvent de faire notre propre routeur CNC / graveur mais get s'enliser dan
Distant Arduino Robot contrôlée à l’aide d’émetteurs-récepteurs Wixel

Distant Arduino Robot contrôlée à l’aide d’émetteurs-récepteurs Wixel

mise à jour JAN 2012 : ce projet a été présenté sur le site de Pololu au titre des projets de ressources et de la collectivité.  http://www.Pololu.com/resources/communityprojectsINTRODUCTIONDans ce projet, j'utilise deux Pololu Wixel émetteurs-récept
Robot contrôlé Android

Robot contrôlé Android

basé sur robot DFRobot 4x4.Contrôlée à l'aide d'un téléphone Android via bluetooth.Comme étant distance contrôlée par un téléphone, possède un mode qui recherchera la lumière.Parce que chaque robot a besoin feux clignotants ont LEDs qui clignotent et