Skip to content
This repository has been archived by the owner on Aug 1, 2019. It is now read-only.

Faire de la reconnaissance visuelle sur un Raspberry Pi avec OpenCV

Notifications You must be signed in to change notification settings

Team5553-RoboLyon/Raspberry-Vision

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Raspberry-Vision

Ce repository a pour but d'aider à mettre en place une reconnaissance visuelle sur Raspberry Pi pour la FRC. Il contient un script bash pour installer les librairies ntcore, cscore et opencv nécéssaires pour la reconnaissance visuelle. Il contient aussi des exemples complets de reconnaissance visuelle.

Le script et les exemples peuvent être executés par n'importe quel Rasberry tournant sous Rasbian mais il est cependant préférable d'avoir une installation "fraîche" de Rasbian Stretch (très facile à installer avec NOOBS).

Configuration du Raspberry

Installation des librairies

Pour installer opencv, cscore et ntcore sur le Raspberry il faudra donc suivre ces étapes:

  • Installer git pour pouvoir cloner le repository:

    sudo apt-get update

    sudo apt-get install git

  • Cloner le repository dans /home/pi:

    git clone https://github.com/Team5553-RoboLyon/Raspberry-Vision

  • Ouvrir le script "Raspberry_init.bash" avec n'importe quel éditeur de texte et remplacer la ligne 33 par:

    OPENCV_VER="<Le dernier numéro de version stable d'opencv>"

  • Executer le script:

    ~/Raspberry-Vision/Raspberry_init.bash

Le script prend pas mal de temps avant de se terminer.

Acceder au raspberry par le réseau

Pour pouvoir controller le raspberry sans écran, on peut se connecter avec lui par ssh avec PuTTY (uniquement la console) ou par VNC Viewer (avec interface graphique). Pour ne pas avoir à connaître l'adresse IP du raspberry chaque fois que l'on veut s'y connecter, il faut aussi définir un nom d'hôte.

Pour activer le ssh et vnc sur le raspberry et définir un nom d'hôte:

  • Entrer dans la console : sudo raspi-config

  • Aller à Interfacing Options puis à SSH

  • Sélectionner Oui

  • Faire la même chose avec VNC

  • Aller à Network Options puis à Hostname

  • Sélectionner Ok puis entrer le nouveau nom d'hôte

  • Aller à Finish et redémarrer le Raspberry

Maintenant, quand le Raspberry est sur le même réseau ou connecté par ethernet avec un PC, on peut remplacer l'IP du raspberry par : <hostname>.local

Configuration pour la compétition

Exécuter un programme au démarrage

Pour exécuter un des programme au démarrage du Raspberry :

  • Editer le fichier /etc/rc.local avec les droits root :

    sudo nano /etc/rc.local

  • Ajouter la commande pour exécuter le programme en laissant la ligne exit 0 à la fin.

    Exemple du fichier /etc/rc.local pour full_processing :

    #!/bin/sh -e
    
    #... Script déjà existant que l'on laisse (sauf exit 0) ...
    
    #Si le fichier existe alors on l'exécute
    if [ -e /home/pi/Raspberry-Vision/Vision_example/full_processing/full_processing.exe ]
    then
            /home/pi/Raspberry-Vision/Vision_example/full_processing/full_processing.exe &
    fi
    
    exit 0
  • ctrl + o puis Entrer pour sauvegarder, ctrl + x pour fermer

⚠️ Attention : les programmes avec une interface graphique ne peuvent pas être exécutés au démarrage avec cette méthode

Desactiver le wifi et bluetooth

  • Editer le fichier /boot/config.txt : sudo nano /boot/config.txt

  • Ajouter ces lignes à la fin du fichier :

    # Uncomment this to disbale Wifi
    dtoverlay=pi3-disable-wifi
    
    # Uncomment this to disable Bluetooth
    dtoverlay=pi3-disable-bt
    
  • ctrl + o puis Entrer pour sauvegarder, ctrl + x pour fermer

Desactiver l'interface graphique

  • Entrer dans la console : sudo raspi-config

  • Aller à Boot Options puis à Desktop / CLI

  • Sélectionner l'option Console Autologin

  • Aller à Finish puis redémarrer le Raspberry

Pour lancer l'interface graphique après avoir démarré en mode console, entrer startx.

Exemples

Après l'éxécution du script, il est possible de faire de la reconnaissance visuelle. Pour compiler et executer les exemples, lire leur README.

About

Faire de la reconnaissance visuelle sur un Raspberry Pi avec OpenCV

https://www.robolyon.com

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published