Table des matières:

Vision arrière du véhicule : 9 étapes (avec photos)
Vision arrière du véhicule : 9 étapes (avec photos)

Vidéo: Vision arrière du véhicule : 9 étapes (avec photos)

Vidéo: Vision arrière du véhicule : 9 étapes (avec photos)
Vidéo: Le Plus Grand Point Noir Du Monde ?😱 2024, Juillet
Anonim
Image
Image

Pourquoi construisons-nous la vision arrière du véhicule ?

La collision en marche arrière a été un problème majeur, le Center for Disease Control des États-Unis a rapporté qu'entre 2001 et 2003, environ 7 475 enfants (2 492 par an) de moins de 15 ans ont été traités pour des accidents de marche arrière. Environ 300 décès par an résultent de collisions de secours. D'ici 2018, toutes les voitures vendues aux États-Unis nécessiteront une caméra de recul obligatoire.

Comment résolvons-nous le problème?

La plupart des voitures sur le marché aujourd'hui n'ont toujours pas de caméra de recul, ce qui comprend environ la moitié des voitures vendues aux États-Unis aujourd'hui et bien plus de la moitié à travers le monde. On peut résoudre ce problème en installant une caméra à l'arrière de la voiture, en utilisant l'espace de la plaque d'immatriculation.

Walabot pourra détecter la distance de la cible la plus proche du véhicule.

La caméra Intel RealSense R200 nous donnera plus de détails sur ce qui est vu, y compris les situations de faible luminosité.

Le kit de développement Intel Joule est suffisamment puissant pour exécuter des caméras RealSense avec Walabot. Raspberry Pi n'est pas assez puissant pour faire fonctionner une caméra 3D RealSense, dans laquelle nous pouvons ajouter beaucoup plus de fonctionnalités à l'avenir qui peuvent améliorer les fonctionnalités de la voiture. La même version peut être utilisée avec Pi avec une caméra USB normale, mais ce ne sera pas bon pour la nuit.

Téléphone/tablette Android utilisé pour afficher la caméra de recul, ceci afin de réduire le coût d'un écran supplémentaire. La version iOS peut être construite sur demande.

Grâce à ces composants, nous serons en mesure de créer une vision arrière qui montre à l'utilisateur l'arrière de la voiture.

Étape 1: Rassemblez le matériel dont vous avez besoin

Installez Ubuntu sur Joule et les bibliothèques nécessaires à son exécution
Installez Ubuntu sur Joule et les bibliothèques nécessaires à son exécution
  1. Intel-joule
  2. Walabot Pro
  3. Caméra Intel R200 RealSense
  4. Téléphone/tablette Android fonctionnant sous la version 5.0 ou supérieure
  5. Adaptateur de voiture pour prise de sortie et adaptateur secteur 12VDC (c'est pour la démonstration pour alimenter le Joule, la version de production contiendra un mécanisme d'alimentation différent)
  6. Hub USB pour brancher la caméra et le Walabot (USB3 pour la caméra et USB2 pour le Walabot)
  7. Onduleur enfichable direct CC à CA
  8. Imprimante 3D générique pour imprimer le cadre de plaque d'immatriculation personnalisé

Étape 2: Installez Ubuntu sur Joule et les bibliothèques nécessaires à son exécution

Puisque nous avons décidé d'opter pour la route Linux, suivez le guide https://developer.ubuntu.com/core/get-started/intel-joule pour installer Ubuntu sur Joule. Ubuntu nous offre une grande flexibilité pour exécuter un système d'exploitation réel sur une puce basée sur l'IoT.

Étape 3: Diffusez la caméra RealSense

Diffusez la caméra RealSense
Diffusez la caméra RealSense
Diffusez la caméra RealSense
Diffusez la caméra RealSense

Parce que nous utilisons un téléphone/une tablette Android pour économiser le coût de la nomenclature, également plus accessible aux utilisateurs, nous utiliserons la bibliothèque de mouvements pour héberger la caméra similaire aux caméras de sécurité. Une fois Ubuntu installé et connecté au wifi, nous pouvons ouvrir le terminal et utiliser la commande suivante. Nous connectons d'abord la caméra à Joule via le port USB3, puis procédons comme suit.

une. Installation de motion sur Ubuntu:

sudo apt-get updatesudo apt-get install motion

b. Copiez les fichiers de configuration:

mkdir.motion sudo cp /etc/motion/motion.conf ~/.motion/motion.conf

c. En configurant le fichier, ceux qui connaissent ubuntu peuvent installer Sublime pour faciliter l'édition de texte, sinon nous pouvons le modifier dans la ligne de commande.

sudo nano ~/.motion/motion.conf

ré. Après avoir branché la caméra R200, nous pouvons modifier les lignes suivantes dans motion.conf

Il s'agit de le mettre en mode arrière-plan:

# Démarrez en mode démon (arrière-plan) et relâchez le terminal (par défaut: désactivé) démon activé

Cela permet d'utiliser la vue de la caméra de RealSense Camera.

# Videodevice à utiliser pour la capture (par défaut /dev/video0) # pour FreeBSD par défaut est /dev/bktr0 videodevice /dev/video2

Changer la largeur et la hauteur, 1280 x 720 a très bien fonctionné pour moi, mais vous pouvez jouer avec les dimensions pour voir ce qui correspond à vos besoins.

# Largeur de l'image (pixels). Plage valide: dépendante de la caméra, par défaut: 352 largeur 1280 # Hauteur de l'image (pixels). Plage valide: dépendante de la caméra, par défaut: 288 hauteur 720

Je l'ai mis à 30, plus le nombre est élevé, plus cela nécessiterait de puissance de calcul. Vous pouvez jouer pour voir quelle est la référence pour cela, mais 30 a très bien fonctionné pour moi.

# Nombre maximum d'images à capturer par seconde. # Plage valide: 2-100. Par défaut: 100 (presque aucune limite). fréquence d'images 30

Étant donné que nous diffusons toujours en continu de la voiture, nous pouvons définir un port dédié, nous utilisons 5001

##################################################### ######### # Serveur de diffusion en direct ##################################### ####################### # Le serveur mini-http écoute les requêtes sur ce port (par défaut: 0 = désactivé) stream_port 5001 # Qualité du jpeg (en pourcentage) images produites (par défaut: 50) stream_quality 50 # Images de sortie à 1 ips lorsqu'aucun mouvement n'est détecté et augmente jusqu'au # taux donné par stream_maxrate lorsqu'un mouvement est détecté (par défaut: off) stream_motion off # Fréquence d'images maximale pour les flux de flux (par défaut: 1) stream_maxrate 60 # Restreindre les connexions de flux à localhost uniquement (par défaut: on) stream_localhost off

Vous pouvez ensuite exécuter ifconfig et déterminer l'adresse IP et exécuter dans le terminal, le port sera 5001.

mouvement

S'il n'y a pas d'erreurs, il est facile de vérifier l'appareil photo à partir de votre ordinateur à l'aide de l'adresse IP, corrigez les erreurs telles que les problèmes d'autorisation s'il y en a.

Une fois que cela s'exécute, nous pouvons l'ajouter à l'application de démarrage dans Ubuntu.

Démarrage du mouvement pour la caméra

motion.conf est joint dans la section code, vous pouvez y vérifier plus de paramètres.

Étape 4: Configurer Walabot

Configurer Walabot
Configurer Walabot
Configurer Walabot
Configurer Walabot
Configurer Walabot
Configurer Walabot
Configurer Walabot
Configurer Walabot

Avec la caméra en place, nous devons encore configurer le walabot, cela peut détecter la distance entre le véhicule et l'objet derrière, donnant une vision claire sur la façon dont nous devons

a, téléchargez le fichier deb depuis

Suivez les instructions de https://api.walabot.com/_install.html#_linuxInstall pour installer l'API Walabot afin qu'elle puisse être importée dans des projets python.

Il y a une erreur sur le site Web de la partie où il installe l'API Walabot https://walabot.com/api/_pythonapi.html#_installingwalabotapi où il est indiqué

python -m pip "/usr/share/walabot/python/WalabotAPI-1.0.21.tar.gz"

Ça devrait être

python -m pip install "/usr/share/walabot/python/WalabotAPI-1.0.21.tar.gz"

b. connectez Walabot Pro via USB 2, je n'ai pas pu faire fonctionner l'usb3, mais l'usb2 fonctionne bien en se connectant à Linux. Puisque Joule n'a qu'un seul port USB3, connectez un port USB2 supplémentaire pour accueillir Walabot Pro ici

c. Testez le projet Walabot tel que https://github.com/Walabot-Projects/Walabot-Senso… en exécutant la commande suivante dans le dossier

python SensorTargets.py

Cela devrait vous donner un bon test pour voir si Walabot fonctionne correctement, ainsi que comment mesurer la distance sur les choses que vous voulez. L'exemple DistanceMeasure n'était pas trop cohérent sur la mesure, et zPosCm semble être extrêmement précis, j'ai donc décidé d'utiliser le zPosCM pour la démo.

ré. Nous devons toujours transmettre les données au périphérique d'affichage, car nous l'exécutons sur Android pour réduire le coût du matériel, nous pouvons utiliser des sockets. Nous utilisons le code suivant pour configurer le socket et udp en python.

MYPORT = 5002 import sys, time from socket import * s = socket(AF_INET, SOCK_DGRAM) s.bind(('', 0)) s.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1) s.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)

La commande suivante diffusera les données lors de la mise à jour

s.sendto(str(cibles[0].zPosCm), ('255.255.255.255', MYPORT))

e. Lorsque cela est fait, nous pouvons le configurer dans l'application de démarrage

F. Walabot est maintenant en train de configurer et de transférer des données via UDP, le code python complet est visible dans la zone de pièce jointe du code. La capture d'écran ci-dessous est l'impression de ce à quoi cela devrait ressembler lorsqu'il n'y a pas de zone. Le code est joint dans la section code.

Étape 5: Création d'un point d'accès Wifi à partir de Joule

Création d'un hotspot Wifi à partir de Joule
Création d'un hotspot Wifi à partir de Joule

Nous créons notre propre point d'accès wifi pour appareil Android afin de transférer des données. L'utilisation de la commande suivante au démarrage le configurera automatiquement. Ceci est utilisé pour Ubuntu 16.04 ou version ultérieure, car cela est utilisé. Nous allons le connecter automatiquement via l'application Android à l'étape suivante. Utilisez cette commande dans les applications de démarrage.

périphérique nmcli point d'accès wifi con-name véhicule-vision arrière ssid véhicule-vision arrière bande bg mot de passe safedriving

Dans le fichier python de Walabot, nous le mettrons également à jour où nous enverrons un message udp aux appareils connectés via un point d'accès privé. C'est pour s'assurer qu'aucun paquet n'est perdu.

out = os.popen('ip neigh').read().splitlines()for i, line in enumerate(out, start=1): ip = line.split(' ')[0] s.sendto(str (cibles[0].zPosCm), (ip, MYPORT))

Étape 6: Créer Android comme écran d'affichage

Construire Android comme écran d'affichage
Construire Android comme écran d'affichage

L'application Android est conçue pour afficher l'appareil, principalement parce qu'elle réduit la nomenclature, sinon un écran séparé peut être à la fois coûteux et difficile à installer. Quant à ce projet, nous pouvons utiliser un téléphone/tablette Android.

Android se concentre sur 3 parties que nous avons faites plus tôt,

  • Connectez-vous au point d'accès wifi créé via un appareil IoT (Intel Joule)
  • Diffusez la caméra RealSense via le mouvement via le wifi
  • Mesurer la distance de la cible Walabot via udp

Après avoir tout configuré et installé l'application Android (open source ici), vous pourrez voir la caméra fonctionner avec walabot

Étape 7: tout tester

Image
Image
Tout tester
Tout tester
Tout tester
Tout tester

Maintenant que tout fonctionne, nous devrions avoir une configuration de base de tous les composants attachés. Lorsque nous démarrons la carte Joule, le point d'accès devrait être automatiquement configuré, l'application Motion et Walabot démarrera avec elle, et lorsque nous allumons notre application Android, nous devrions pouvoir diffuser à partir de la caméra. Cela signifie que le clavier/la souris et le moniteur ne sont plus nécessaires pour que l'appareil IoT fonctionne. Si des problèmes surviennent à ce moment, tels que des bibliothèques non installées correctement, nous devons le résoudre avant de passer à l'étape suivante.

L'impression 3D du boîtier pouvant contenir l'appareil photo est très importante.

Lors de la construction du matériel, nous devrions avoir notre boîtier imprimé en 3D personnalisé prêt pour la caméra. Puisqu'il s'agit d'un prototype, cela peut devenir un peu lâche, mais lorsque nous construisons un support de plaque d'immatriculation personnalisé, nous nous attendons à ce que tous les composants soient à l'intérieur du support.

Étape 8: Tester sur une vraie voiture

Image
Image
Essai sur une vraie voiture
Essai sur une vraie voiture
Essai sur une vraie voiture
Essai sur une vraie voiture

Maintenant que tout fonctionne, nous allons pouvoir le tester sur une vraie voiture. Puisqu'il s'agit d'un prototype, les choses peuvent être un peu approximatives, nous utilisons du ruban adhésif pour certains des composants.

Afin d'alimenter le kit Joule IoT, nous avons utilisé un onduleur enfichable direct DC vers AC, puis avons simplement connecté une longue prise de courant au tronc.

Nous aurons la partie avant et la partie arrière. Ce n'est qu'un prototype pour le moment, la prochaine version intégrerait les puces à l'intérieur du support de plaque d'immatriculation.

Et pour la partie avant, nous pouvons soit utiliser un support de téléphone ou simplement du ruban adhésif pour tablette Android.

Étape 9: Utilisez-le dans le monde

Utilisez-le dans le monde
Utilisez-le dans le monde

En utilisant cet outil, nous pouvons sauvegarder la voiture en toute sécurité sur d'autres voitures et pouvoir surveiller les piétons. Vous pouvez regarder la vidéo de démonstration au début. L'objectif du projet est d'encourager des pratiques de conduite plus sûres.

Vous pouvez consulter le projet sur

Conseillé: