Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Planification de mouvement en temps réel pour une voiture autonome dans plusieurs situations, dans un environnement urbain simulé

Les voitures autonomes avancées ont une signification révolutionnaire pour l'industrie automobile. Alors que de plus en plus d'entreprises ont déjà commencé à construire leurs propres voitures autonomes, personne n'a encore mis sur le marché une voiture autonome pratique. L'un des principaux problèmes de leurs voitures est l'absence d'un système de planification de mouvement actif et fiable en temps réel pour l'environnement urbain. Un système de planification de mouvement en temps réel permet aux voitures de conduire de manière sûre et stable dans l'environnement urbain. L'objectif final de ce projet est de concevoir et de mettre en œuvre un système fiable de planification de mouvement en temps réel pour réduire les taux d'accidents dans les voitures autonomes au lieu des conducteurs humains. Le système de planification de mouvement en temps réel comprend le maintien de la voie, l'évitement des obstacles, l'évitement des voitures en mouvement, le régulateur de vitesse adaptatif et la fonction d'évitement des accidents. Dans le cadre de la recherche, les véhicules EGO seront construits et équipés d'une unité de traitement d'images, d'un LIDAR et de deux capteurs à ultrasons pour détecter l'environnement. Ces données d'environnement permettent de mettre en œuvre un programme de contrôle complet dans le système de planification de mouvement en temps réel. Le programme de contrôle sera mis en œuvre et testé dans un véhicule EGO à échelle réduite avec un environnement urbain à échelle réduite. Le projet a été divisé en trois phases :construire des véhicules EGO, mettre en œuvre le programme de contrôle du système de planification de mouvement en temps réel et améliorer le programme de contrôle en testant dans un environnement urbain à échelle réduite. Dans la première phase, chaque véhicule EGO sera construit par un kit de châssis de véhicule EGO, un Raspberry Pi, un LIDAR, deux capteurs à ultrasons, une batterie et une carte d'alimentation. Dans la deuxième phase, le programme de contrôle du système de planification de mouvement en temps réel sera mis en œuvre dans le cadre du programme de maintien de voie dans Raspberry Pi. Python est le langage de programme qui sera utilisé pour implémenter le programme. Les fonctions de maintien de voie, d'évitement d'obstacles, d'évitement de voiture en mouvement, de régulateur de vitesse adaptatif seront intégrées dans ce programme de contrôle. Dans la dernière phase, les travaux de test et d'amélioration seront terminés. Des tests de fiabilité seront conçus et réalisés. Plus la saisie de données à partir des tests est importante, plus la stabilité du système de planification de mouvement en temps réel peut être mise en œuvre. Enfin, un système de planification de mouvement fiable sera construit, qui sera utilisé dans

véhicules EGO à échelle normale pour réduire considérablement les taux d'accidents en milieu urbain.

Présentation

Il existe déjà de nombreuses voitures autonomes de niveau 3 produites sur le marché, qui permettent aux conducteurs de ne pas avoir les mains, les yeux, en permettant à l'ordinateur de prendre en charge la tâche de conduite. Cependant, les consommateurs ont un accès limité à l'utilisation de ces fonctions en raison de problèmes de sécurité lors de la conduite de leurs voitures autonomes de niveau 3, car les voitures de niveau 3 ne peuvent pas totalement reprendre le travail de conduite de l'homme. Ainsi, la plupart des pays considèrent que les voitures de niveau 3 ne sont pas totalement sûres et fiables. Bien que les voitures de niveau 3 puissent être techniquement autonomes, les ordinateurs ne sont pas encore matures pour gérer les urgences. Une voiture autonome de niveau supérieur (niveau 4) est nécessaire pour libérer les conducteurs physiquement et même psychologiquement. Ainsi, construire la voiture autonome de niveau 4 et la mettre sur le marché est la priorité de la recherche. Pour rendre cela pratique dans la vie quotidienne, de nombreux systèmes doivent être équipés, et l'un d'eux est le système de planification de mouvement en temps réel. Il recevra les signaux traités de l'unité de traitement d'image, du LIDAR et des capteurs à ultrasons pour réaliser de nombreuses fonctions utiles pour les voitures de niveau 4. Comme une fonction fiable d'évitement d'obstacles, etc. Cependant, le problème est que la plupart de ces fonctions à équiper dans la voiture sont encore des fonctions passives et uniquement conçues pour la route. En bref, dans cette recherche, il est nécessaire de concevoir un système de planification de mouvement en temps réel plus intelligent et plus fiable pour l'environnement urbain. La recherche se basera sur un environnement urbain réduit avec un véhicule EGO réduit pour concevoir et tester des algorithmes dans un système de planification de mouvement en temps réel. Les logiques de contrôle des voitures et les algorithmes fiables sont des points clés pour concevoir un système de planification de mouvement en temps réel intelligent et fiable pour l'environnement urbain. Dans la première phase du projet, l'équipe du matériel construira les véhicules EGO avec le matériel acheté. Chaque véhicule EGO sera construit avec un kit de châssis de véhicule, un Raspberry Pi, un LIDAR, deux capteurs à ultrasons, une batterie et une carte d'alimentation. La deuxième phase du projet de système de planification de mouvement en temps réel débutera une fois la préparation du matériel terminée. L'équipe de contrôle utilisera le code construit par l'équipe de traitement d'image pour créer d'abord un algorithme de maintien de voie. Le système de planification de mouvement en temps réel du véhicule sera construit après la construction de l'algorithme de maintien de voie. Dans le système de planification de mouvement en temps réel, le LIDAR sera utilisé comme capteur principal du véhicule. Une méthode appropriée sera trouvée, qui permettra au LIDAR de détecter les obstacles et de renvoyer les signaux utilisables pour une programmation ultérieure. Trois fonctions principales seront intégrées au projet de système de planification de mouvement en temps réel. La première fonction est l'évitement d'obstacles, qui peut permettre au véhicule EGO de s'arrêter devant les obstacles. La deuxième fonction est de déplacer l'évitement de la voiture, ce qui peut permettre au véhicule EGO de changer de voie pour éviter un accident de voiture et revenir sur la voie d'origine. La dernière fonction est le régulateur de vitesse adaptatif, qui permettra au véhicule EGO d'ajuster sa propre vitesse pour maintenir la distance de sécurité par rapport à la voiture de devant. Sur la base de ces trois fonctions, une fonction de base d'évitement des accidents sera formée dans le système de planification de mouvement en temps réel. Dans la dernière phase du projet, le système de planification de mouvement en temps réel intégré

mettre en œuvre et tester sur le véhicule EGO dans un environnement urbain réduit. Plusieurs tests seront conçus pour tester la fiabilité du système de planification de mouvement en temps réel et résumer l'amélioration future du système de planification de mouvement en temps réel.

Matériel

Les véhicules EGO réduits de la figure 1 sont utilisés comme objets de test dans ce projet. Ces robots sont construits sur la base de kits de châssis de robot avec des moteurs à courant continu. Le kit de châssis de robot avec moteurs à courant continu apporte un cadre utilisable et un système d'entraînement pour les véhicules EGO. En fonction de son extensibilité, d'autres composants peuvent être ajoutés sur un châssis, notamment Raspberry Pi, un circuit moteur, un LIDAR, deux capteurs à ultrasons et un banc de batteries. Raspberry Pi a été choisi comme plate-forme informatique pour ce projet car il s'agit d'une plate-forme mature et le code Python peut y être implémenté. Les circuits moteurs sont utilisés pour distribuer une quantité appropriée de puissance aux moteurs à courant continu et faire bouger les robots, par l'instruction de la logique de commande. Un LIDAR est utilisé comme capteur principal pour ce système de planification de mouvement en temps réel car il peut apporter une capacité de détection d'obstacles (plus de 15 cm) à ces véhicules EGO réduits, et la capacité de détection d'obstacles est la capacité de base la plus importante pour ce temps réel. système de planification de mouvement dans ce projet. Les capteurs à ultrasons peuvent permettre au véhicule EGO de détecter des objets plus proches à moins de 15 cm de distance que LIDAR ne peut pas détecter. Les banques de batteries sont utilisées comme source d'alimentation pour ces véhicules EGO, et elles peuvent alimenter le Raspberry Pi, les LIDAR et les moteurs. Le schéma fonctionnel détaillé de la connexion matérielle est illustré ci-dessous dans la figure 2.

Châssis de véhicule EGO réduit :

Adafruit (PID 3244) Mini kit de châssis de robot rond à 3 couches - 2 roues motrices avec moteurs à courant continu illustrés à la figure 3 sont utilisés comme châssis pour ce projet. L'extensibilité du châssis peut permettre d'ajouter des composants dessus. De plus, le kit châssis comprend deux moteurs et roues, ce qui signifie qu'il comprend également un système d'alimentation dans ce kit. Ce système d'alimentation permet à l'équipe du matériel de construire facilement le véhicule EGO sans plus de temps pour trouver un système d'alimentation adapté au châssis du robot.

Framboise Pi :

Il existe plusieurs modèles de Raspberry Pi pouvant être utilisés pour ce projet, et le Raspberry Pi 3B+ illustré dans la figure 4 a été choisi pour être utilisé dans ce projet. La principale raison de choisir Raspberry Pi 3B+ est qu'il a suffisamment de puissance de calcul pour ce projet. En outre, il dispose d'une connexion Wi-Fi intégrée et l'efficacité de la transmission Wi-Fi est plus rapide que le modèle précédent. De plus, Raspberry Pi 3B+ n'a besoin que d'une entrée de source d'alimentation 5 V/1,5 A et sur le marché, de nombreux bancs de batteries peuvent être choisis pour répondre à cette exigence d'alimentation. C'est aussi la même raison pour laquelle Raspberry Pi 4 n'a pas été choisi. Raspberry Pi 4 a besoin d'une entrée de source d'alimentation 9V/2A, et sur le marché, les batteries ont une sortie 9V/2A est chère et rare. De plus, Raspberry Pi 4 a un prix plus élevé que Raspberry Pi 3B+, et même ces deux modèles ont une puissance de calcul similaire. Les broches GPIO sur Raspberry Pi seront utilisées comme broches d'entrée pour recevoir le signal d'un LIDAR, deux capteurs à ultrasons ; De plus, les broches GPIO seront des broches de sortie pour envoyer un signal à un pilote de moteur.

Circuit de commande de moteur (carte d'alimentation) :

Le pilote de moteur DRV8833 illustré à la figure 3 a été choisi pour ce projet. Le pilote de moteur peut distribuer l'alimentation aux moteurs et recevoir des commandes de contrôle de Raspberry pi. Il y a quatre broches d'entrée (AIN1,2; BIN1,2), quatre broches de sortie (AOUT1,2; BOUT1,2), une broche de masse (GND), une broche SLP et une broche VM sont utilisées dans ce projet (figure 5). Les broches de sortie sont utilisées pour distribuer l'alimentation à ces deux moteurs et contrôler ces deux moteurs pour permettre aux véhicules EGO de se déplacer. Les broches d'entrée sont utilisées pour recevoir les signaux de contrôle des broches GPIO sur Raspberry Pi et laisser ces deux moteurs tourner selon les besoins de l'opérateur. La broche VM sera alimentée par la broche « + » du groupe de batteries, connue sous le nom de VCC. La broche SLP se connectera à la broche VM, c'est la broche d'activation pour le pilote de moteur. Connectez-le à VCC pour l'activer ou à une broche GPIO haute pour le contrôle. La broche GND connectera à la fois la broche « - » du banc de batteries et la broche de masse du Raspberry Pi. La figure 6 montre la connexion détaillée de la carte d'alimentation sous forme de schéma fonctionnel.

Les cartes de circuits imprimés seront des plates-formes permettant aux conducteurs de moteurs de fabriquer des cartes de puissance. Les pilotes de moteur peuvent être branchés et débranchés facilement sur ces circuits de carte PCB. Cela évite de souder directement le pilote du moteur sur les cartes PCB. Étant donné que la progression de la fixation des pilotes de moteur soudés sur les cartes PCB est plus difficile que la fixation des cartes PCB avec ces circuits, cette procédure peut permettre aux membres de l'équipe du projet d'éviter de souder les pilotes de moteur directement sur les cartes PCB. (figure 7 et figure 8)

LIDAR :

Le LIDAR de la figure 9 a été choisi pour ce projet. L'environnement environnant peut être détecté par LIDAR pour générer des données de distance et d'angle, sur cette base, les véhicules EGO auront une capacité de détection, et l'évitement des obstacles, l'évitement des voitures en mouvement, les fonctions de contrôle adaptatif peuvent être intégrées dans le système de planification de mouvement en temps réel. LIDAR a un port micro-USB qui peut être directement connecté à Raspberry Pi, permet à Raspberry Pi de lire les données de LIDAR. De plus, LIDAR sera alimenté par Raspberry Pi via le même port USB.

Batterie :

La taille du parc de batteries est un problème clé de ce projet. Étant donné que le véhicule EGO a un espace limité pour placer la batterie, les batteries minces préfèrent choisir. Les banques de batteries doivent avoir une capacité de puissance d'au moins 10 000 mAh pour garantir que deux moteurs, deux Raspberry Pi, un LIDAR peuvent fonctionner correctement sur chaque véhicule EGO. La taille des batteries doit également être aussi adaptée que possible à la taille des véhicules EGO. Ainsi, le chargeur portable Anker Power Core 13000 illustré à la figure 10 est choisi pour ce projet car il convient non seulement à la taille des véhicules EGO, mais a également une capacité de puissance de 13 000 mAh.

Capteurs à ultrasons :

Les capteurs à ultrasons de la figure 11 sont utilisés pour détecter la distance rapprochée puisque la distance de détection minimale pour le LIDAR est de 15 cm, tout autre obstacle à moins de 15 cm n'est pas détectable par le LIDAR. Les capteurs à ultrasons peuvent détecter la plage proche même en dessous de 5 cm. Ainsi, deux capteurs à ultrasons ont été assemblés sur le côté gauche et le côté droit du véhicule EGO pour détecter la voiture sur la voie de recul. La broche VCC est connectée à la broche 2 ou à la broche 4 qui est la broche VCC Raspberry Pi, et GND est connectée à la broche de masse Raspberry Pi

Logiciel

Dans ce projet, les véhicules EGO doivent être contrôlés sans fil. Pour que cela soit possible, le moniteur et le shell sur Raspberry Pi doivent être connectés sans fil au PC/Mac local. Pour y parvenir, une commande shell sans fil et un logiciel de connexion VNC [7] doivent être utilisés. De plus, dans ce projet, Python 3 a été choisi comme langage de programmation car il est mature et facile à utiliser. Il existe un nombre important de packages sur python pouvant être utilisés sur ce projet, par exemple, python a un package LIDAR [6] qui peut être utilisé pour contrôler le LIDAR utilisé dans ce projet. Le package LIDAR ne peut être implémenté que sous l'environnement Python 3. Tous les logiciels fonctionneront dans le système d'exploitation Raspbian sur Raspberry Pi.

Connectez Shell dans Raspberry Pi avec un PC/MAC local :


Les véhicules EGO doivent être contrôlés sans fil et le shell de Raspberry Pi doit être connecté au shell PC/MAC local. Pour connecter des shells, la commande suivante doit être saisie :
Tout d'abord, saisissez la commande « sudo raspi-config » dans le shell Pi pour activer le serveur ssh dans Pi. Ensuite, entrez la commande 'ifconfig' dans le shell Pi, l'adresse IP '192.168.xxx.xxx' sera trouvée après cette commande. Dans le shell PC/MAC local, entrez la commande « ssh [email protected] » pour connecter le shell Pi. Le nom d'utilisateur par défaut du Raspberry Pi est « pi », et le mot de passe par défaut du Raspberry Pi est « raspberry » doit être saisi. Enfin, le shell Raspberry Pi peut être contrôlé par un shell PC/MAC local.

Version Python :


Dans la carte de version Raspberry Pi 3B+, le Python 2 est l'environnement de programme par défaut, cependant le package LIDAR ne peut être utilisé que sous l'environnement Python3. La commande suivante sera utilisée pour définir Python 3 comme environnement de programme par défaut dans le shell :

Entrez d'abord 'sudo rm /usr/bin/python' pour supprimer le lien Python par défaut du système par défaut

lien. Ensuite, entrez 'sudo

-s /usr/bin/python3.X

commande pour réaffecter le nouveau

le lien python par défaut vers la version Python doit être utilisé. Dans cette commande, « X » signifie le Python3

version déjà installée. Après cela, entrez « Python » pour vérifier la version par défaut de Python.

Forfait LIDAR :

Le package LIDAR doit être installé pour que le signal du LIDAR soit programmable. Sous l'environnement Python3, dans la fenêtre du shell, entrez la commande suivante pour installer le package LIDAR :Saisissez « sudo pip3 install LIDAR » pour installer le package LIDAR.

Connexion VNC :

Le serveur VNC et le programme de connexion VNC ont été choisis pour être utilisés dans ce projet, afin de permettre au PC/MAC local de surveiller le Raspberry Pi sans fil. Pour activer le serveur VNC et installer VNC connect, la commande suivante doit être saisie :
Tout d'abord, saisissez la commande « sudo raspi-config » pour accéder au menu de configuration du Raspberry Pi. Ensuite, entrez la commande 'vncserver' pour activer le serveur VNC dans Raspberry Pi (après avoir redémarré le Pi, ce paramètre doit être à nouveau activé). Ensuite, téléchargez et installez la connexion VNC sur le PC/MAC local. Après cela, entrez l'adresse IP Raspberry Pi trouvée auparavant dans la barre d'adresse de VNC connect. Entrez le nom d'utilisateur et le mot de passe de Raspberry Pi qui ont déjà été mentionnés dans la partie shell. Enfin, le PC/MAC local peut surveiller le Raspberry Pi sans fil.

Méthodologie

Phase1 :

Le véhicule EGO sera assemblé par Raspberry Pi, une carte d'alimentation, un LIDAR, deux capteurs à ultrasons et un banc de batteries. Après l'assemblage, le logiciel comprend python, le package LIDAR, la connexion VNC et la connexion shell seront installés et configurés de manière appropriée. Le moyen de transférer LIDAR des données brutes lisibles aux données de détection utilisables pour la programmation de la phase suivante sera trouvé. Le véhicule EGO sera préparé après les trois étapes précédentes, et prêt pour la programmation et les tests.

Phase2 :

Trois scénarios pour tester la fonction d'évitement d'obstacles, la fonction d'évitement de voiture en mouvement et la fonction de régulateur de vitesse adaptatif seront conçus. Après trois scénarios, une logique de contrôle de trois fonctions sera conçue et trois organigrammes de trois logiques de contrôle seront esquissés. Une fois les organigrammes générés, plusieurs révisions des organigrammes doivent être effectuées, jusqu'à ce que les logiques de contrôle soient logiquement méticuleuses. Ensuite, des programmes et des algorithmes de trois fonctions distinctes seront programmés à travers les organigrammes. Le véhicule EGO sera prêt à tester trois fonctions dans la dernière phase.

Phase3 :

Le premier groupe de tests fiables sera effectué selon trois scénarios conçus avec trois fonctions distinctes. Les problèmes et les améliorations futures seront trouvés par ces tests. Ensuite, à la suite de ces problèmes trouvés et des améliorations futures, la logique de contrôle, les programmes de trois fonctions, l'algorithme et le matériel seront améliorés ; les problèmes seront résolus. Trois fonctions distinctes seront combinées avec un programme de maintien de voie en un seul système fonctionnel de planification de mouvement en temps réel pour ce projet. Le deuxième groupe de tests fiables sera effectué selon trois scénarios conçus avec cette fonction déjà combinée. Après la fin de deux groupes de tests fiables, la version finale du système de planification de mouvement en temps réel de ce projet sera achevée.

LIDAR

Il existe quatre types de données pouvant être lues à partir du LIDAR, et seuls deux types de données seront utilisés dans ce projet, ce sont l'angle et la distance. La mesure d'angle en degré [0,360), et la mesure de distance seront supérieures à 15cm (autre distance inférieure à 15cm, la valeur 0 sera renvoyée). Le problème rencontré est que seules les données de distance et d'angle peuvent être lues à partir du LIDAR, mais comment ces données peuvent-elles être utilisées dans la détection d'obstacles ? La solution consiste à diviser la plage de détection LIDAR en 4 sections et à détecter la valeur de distance des obstacles pour prendre la décision de contrôler le mouvement de l'étape suivante du véhicule. Comme le montre la figure 12, 315 degrés à 45 degrés correspondent à la section avant et 135 degrés à 225 degrés correspondent à la section arrière. Étant donné que le Lidar ne peut détecter que l'objet à plus de 15 cm, donc, pour l'instant, ces deux sections ne sont utilisées que. Pour les sections gauche et droite, le capteur à ultrasons peut gérer le travail de détection pour ces deux sections.

Voici le graphique qui montre comment ces deux sections de détection fonctionnent sur la route :

Comme le montre la figure 13, le véhicule EGO roule sur la voie de droite et la voiture B roule sur la voie inverse. Le cercle vert autour du véhicule EGO est la plage de détection valide mentionnée précédemment. La plage de détection sera divisée en quatre sections et la distance de détection est supérieure à 15 cm. Comme testé, cette section de détection avant n'influencera pas la voiture B, à moins que la voiture B ne franchisse la ligne pointillée entre deux voies.

Formulation du problème

Évitement d'obstacles :

Trois scénarios ont été envisagés. Le premier scénario consiste à tester la fonction d'évitement d'obstacles illustrée à la figure 14. Il y a un obstacle au milieu de la route, et le véhicule EGO s'en approche, et la voiture B roule en sens inverse sur l'autre voie juste à côté du véhicule EGO . Le véhicule EGO ne peut pas changer de voie pour éviter un accident car il s'écrasera sur la voiture B. Le seul choix laissé à la voiture A est complètement arrêté devant l'obstacle rencontré.

Éviter les voitures en mouvement (autre scénario d'évitement d'obstacles) :

Le deuxième scénario est conçu sur la base d'un autre scénario d'évitement d'obstacles et nommé fonction d'évitement de la voiture en mouvement dans la figure 15. La voiture B roule dans la mauvaise direction et sur la même voie que le véhicule EGO. Cette fois, il n'y a pas de voiture ou d'obstacle sur l'autre voie, ainsi, le véhicule EGO peut choisir de changer de voie pour éviter la voiture B, et après avoir évité la voiture B, le véhicule EGO peut revenir sur la bonne voie.

Le dernier scénario est conçu pour tester la fonction de régulateur de vitesse adaptatif de la figure 16. La voiture B se déplace vers l'avant, le véhicule EGO doit garder une distance de sécurité avec la voiture B pour éviter les accidents. Le véhicule EGO ajustera sa propre vitesse pour garder la distance de sécurité.

Régulateur de vitesse adaptatif :

Logique de contrôle

Définir les variables :

Logique de contrôle d'évitement d'obstacles :

Dans la logique de contrôle d'évitement d'obstacle illustrée à la figure 17, si la détection de distance est la plus éloignée, la voiture continuera à avancer. Si la détection de distance est en distance de danger et que la détection d'angle indique que l'obstacle est dans la section de détection avant. Ensuite, le véhicule EGO détectera la voie de marche arrière, et s'il y a des obstacles ou des voitures sur la voie de marche arrière, le véhicule EGO sera complètement arrêté.

Logique de contrôle d'évitement des voitures en mouvement :

Dans la logique de contrôle d'évitement de la voiture en mouvement illustrée à la figure 18, si la détection de distance est la plus éloignée, la voiture continuera à avancer. Si la détection de distance est en distance de danger et que la détection d'angle indique que l'obstacle est dans la section de détection avant. Ensuite, le véhicule EGO détectera la voie de marche arrière, et s'il n'y a pas d'obstacles ou de voitures sur la voie de marche arrière détectés par des capteurs à ultrasons, le véhicule EGO passera à la voie de marche arrière pour éviter la voiture dans la mauvaise direction. Une fois qu'il n'y a plus d'obstacles ou de voitures sur la voie d'origine, le véhicule EGO reviendra sur la voie d'origine.

Logique de contrôle de fonction de régulateur de vitesse adaptatif :

Dans le scénario de la fonction de régulateur de vitesse adaptatif, deux problèmes seront rencontrés, l'un est que le véhicule EGO se déplace trop vite, l'autre est que le véhicule EGO se déplace trop lentement. La figure 19 représente la logique de contrôle complet de la fonction de régulateur de vitesse adaptatif.

Logique de contrôle combinée :

Voici les organigrammes de la logique de contrôle pour la logique de contrôle combinée des trois logiques de contrôle précédentes :

Dans la logique combinée, le maintien de la voie et le programme de régulateur de vitesse adaptatif ne seront pas modifiés. Cependant, la fonction d'évitement d'obstacles et la fonction d'évitement de voiture en mouvement seront combinées en une seule fonction. Auparavant, la fonction d'évitement d'obstacle ne pouvait que laisser la voiture s'arrêter complètement près de l'obstacle au milieu de la route, mais quelle est la prochaine étape du contrôle ? Cette fonction peut être combinée avec la fonction d'évitement de la voiture en mouvement qui peut dépasser la voiture qui arrive et changer de voie. Dans la fonction d'évitement d'obstacles, la voiture peut utiliser des capteurs à ultrasons et LIDAR pour détecter l'environnement, pour vérifier qu'il y a une autre voiture sur l'autre voie, après s'être complètement arrêtée devant l'obstacle. S'il n'y a pas de voiture ou d'obstacle sur la voie de recul, alors la voiture peut passer à travers l'obstacle et continuer son voyage.

Résultats

Résultats précédents :

Les véhicules EGO sont assemblés avec succès avec du matériel qui a été choisi pour être utilisé. L'équipe de maintien de voie met en œuvre avec succès un programme de maintien de voie utilisable basé sur le travail de l'équipe de traitement d'image qui utilisera le signal de la caméra. Les données brutes LIDAR sont transférées de manière appropriée en données utilisables par la méthode de programmation mentionnée précédemment. Le système de planification de mouvement en temps réel avec des fonctions d'évitement d'obstacles, d'évitement de voiture en mouvement et de régulateur de vitesse adaptatif a été conçu en trois programmes de contrôle distincts basés sur un programme de maintien de voie. Les tests précédents sont basés sur ces trois programmes de contrôle distincts pour tester la stabilité, car les combiner pour tester la stabilité est plus difficile que de les tester séparément. La fonction d'évitement d'obstacles fonctionne bien, le véhicule EGO peut forcer l'arrêt devant l'obstacle prédéfini. Cependant, le véhicule EGO est trop lourd avec deux cartes Raspberry Pi et un  LIDAR, parfois le véhicule EGO

va basculer depuis son poids lourd. Dans la fonction d'évitement de voiture en mouvement, la logique de changement de voie fonctionne bien, cependant, son itinéraire d'évitement n'est pas exactement comme prévu. Deux capteurs à ultrasons doivent être ajoutés sur le véhicule EGO, pour que le véhicule EGO puisse détecter des objets à moins de 15 cm, en particulier les obstacles sur les côtés gauche et droit. Dans la fonction de régulateur de vitesse adaptatif, le programme de contrôle de réglage de la distance fonctionne, cependant, pendant le processus de réglage de la distance, la vitesse du véhicule EGO n'est pas stable comme prévu. La raison en est que la logique de contrôle du régulateur de vitesse adaptatif ne laisse la voiture accélérer et ralentir qu'à la même vitesse. Un algorithme de réglage de distance plus intelligent devrait être ajouté dans la logique de contrôle de la fonction de régulateur de vitesse adaptatif.

Attendez des résultats :

Après les résultats des tests des tests précédents, plusieurs améliorations ont été appliquées aux programmes de contrôle et au véhicule EGO. Premièrement, le poids et la hauteur du véhicule EGO ont été réduits pour réduire le risque de basculement. Ensuite, deux capteurs à ultrasons et un programme accompagné ont été ajoutés au programme de contrôle d'évitement des voitures en mouvement, ce qui permet au véhicule EGO d'avoir une capacité de détection plus précise pour la distance de l'objet gauche et droit au véhicule EGO. Ensuite, un algorithme de réglage de distance plus intelligent a été ajouté dans la partie régulateur de vitesse adaptatif. Différent de la logique de contrôle précédente, un algorithme d'accélération et de ralentissement a été ajouté, le véhicule EGO peut accélérer et ralentir à un pour cent de la vitesse actuelle ou à cinq pour cent de la vitesse actuelle en fonction de la demande. Enfin, ces trois fonctions seront combinées avec le programme de maintien de voie en tant que version finale du système de planification de mouvement en temps réel dans ce projet.

Pour la première amélioration, le poids et la hauteur du véhicule EGO ont été réduits, ils réduiront considérablement le risque de basculement. La réduction du poids du véhicule EGO réduira la force d'inertie du véhicule EGO pendant le processus d'arrêt forcé. Selon la deuxième loi du mouvement de Newton, la force d'inertie est égale aux temps d'accélération par rapport à la masse de l'objet. Puisque, au même taux d'accélération qu'auparavant, réduire la masse (poids) du véhicule EGO réduira considérablement la force d'inertie endurée par le véhicule EGO. Cela réduira le risque de basculement pendant le processus d'arrêt forcé directement. De plus, la réduction de la hauteur réduira la position du centre de gravité

du véhicule EGO, ce qui réduira également le risque de basculement. Auparavant, il y avait une autre carte Raspberry Pi sur le dessus du véhicule EGO, la retirer réduira la position du centre de gravité du véhicule EGO. La raison est simple, la position du centre de gravité du véhicule EGO affecte sa stabilité. Plus la position du centre de gravité est basse, plus le véhicule EGO est stable. Ainsi, la première amélioration réduira avec succès le risque de basculement pendant le processus de la fonction d'évitement d'objet appliquée.
Pour la deuxième amélioration, deux capteurs à ultrasons ont été ajoutés sur le véhicule EGO pour détecter le côté gauche et droit -distance de l'objet latéral au véhicule EGO. Dans le test précédent, le véhicule EGO ne peut pas détecter la distance entre les objets des côtés gauche et droit du véhicule EGO car le LIDAR ne peut détecter aucun objet à moins de 15 cm du véhicule EGO. Après deux capteurs à ultrasons ajoutés sur le véhicule EGO et la logique de contrôle de la fonction d'évitement de la voiture en mouvement, le véhicule EGO peut conduire sur un itinéraire beaucoup plus précis lors du changement de voie en marche arrière et revenir à la voie d'origine. Auparavant, le LIDAR est le seul équipement de détection d'environnement pouvant être utilisé pour la fonction d'évitement de voiture en mouvement, l'itinéraire d'évitement de voiture en mouvement est prédéfini. Le véhicule EGO peut conduire en suivant l'itinéraire prédéfini une fois qu'il y a des objets (voitures) devant lui. C'est la raison pour laquelle la route d'évitement ne peut pas être précisément avant l'amélioration. Après l'amélioration, le véhicule EGO détectera la distance entre les objets du côté gauche et du côté droit du véhicule EGO. Le véhicule EGO commencera le processus d'évitement pour changer de voie une fois qu'il y aura des objets devant lui détectés par LIDAR, puis, les capteurs à ultrasons commenceront à détecter la distance d'objet des deux côtés. Une fois que les capteurs à ultrasons détectent qu'il n'y a aucun objet à moins de 10 cm du véhicule EGO, le véhicule EGO peut alors démarrer le processus de retour pour revenir à la voie d'origine. En bref, la deuxième amélioration permet au véhicule EGO d'avoir un itinéraire plus précis pendant le processus d'évitement de la voiture en mouvement.
Pour la dernière amélioration, un algorithme de réglage de distance plus intelligent sera ajouté. Cet algorithme rendra le processus d'accélération et de ralentissement du véhicule EGO en douceur par rapport au précédent, puisque la vitesse de réglage n'est plus une valeur fixe, ce sera une valeur dynamique. Dans les tests précédents, comme l'algorithme n'est pas assez intelligent, la voiture ne peut accélérer et ralentir qu'une valeur de vitesse fixe prédéfinie. Le processus de régulateur de vitesse adaptatif ne sera pas assez fluide et le véhicule EGO semble câblé pendant le processus de réglage de la distance par rapport à la voiture avant. Après l'ajout de l'algorithme plus intelligent dans le programme de contrôle du régulateur de vitesse adaptatif, le véhicule EGO peut accélérer et ralentir à un pour cent de la vitesse actuelle ou à cinq pour cent de la vitesse actuelle, le processus sera plus fluide qu'auparavant. La raison en est que la vitesse sera basée sur la vitesse actuelle pour s'ajuster dynamiquement, et le véhicule EGO accélérera et ralentira plus doucement car la vitesse est continue et a une petite fluctuation. En bref, la dernière amélioration rendra la conduite du véhicule EGO plus fluide pendant le processus de réglage de la distance sous la fonction de régulateur de vitesse adaptatif.

Après trois améliorations dans trois programmes de contrôle séparés de trois fonctions dans le système de planification de mouvement en temps réel, ces trois programmes de contrôle séparés seront combinés avec un programme de maintien de voie pour générer un système final de planification de mouvement en temps réel. Étant donné que ces trois programmes de contrôle distincts fonctionneront très bien après ces améliorations, le programme de maintien de voie sera facilement combiné avec eux. Une fois le programme de maintien de la voie ajouté, le véhicule EGO roulera juste dans la voie et évitera de franchir la ligne. Cela rendra la conduite du véhicule EGO plus stable qu'auparavant dans un environnement urbain réduit.

Amélioration future

There are many future improvement aspects can be imagined from this project. First, the function of real-time motion planning is not enough. In the future, there are many ways to combine and improve these three functions makes the EGO vehicle have more and more functions, to generate a real-time motion planning system in fully functional. Secondly, the algorithm of lane keeping, adaptive cruise control, and moving car avoidance are not smart enough. There exists more advance algorithm for these three functions need to be found. For example, even the distance detection algorithm in adaptive cruise control already has been improved, however, there is still have possibility to improve the algorithm. Currently, the speed adjustment is based on five percent

of current speed or one percent of current speed, however, the speed adjustment is not dynamically. If there is an algorithm of memory for saving current speed or speed calculation based on distance and time can be added, then, the adaptive cruise control will be prefect. Also, multiple EGO vehicle driving on the same scaled-down urban environment, and EGO vehicle communication system need to be added in the real-time motion planning system to manage the traffic. In short, there will be a lot of aspects in the real-time motion planning system need to be improved in the future work.

Conclusion

Hardware and software are assembled and set appropriately in this project. The LIDAR raw data are appropriately transfer to usable data by the previous mentioned method for programing. Three different scenarios have been designed for testing obstacle avoidance function, moving car avoidance function, and adaptive cruise function. The control logic based on obstacle avoidance scenario, moving car avoidance scenario, and adaptive cruise control scenario have been designed and programmed. If the test results as expect, the real-time motion planning system has been implemented and works perfect in these three scenarios. However, the current real-time motion planning system is not perfect yet, it needs more works and more times to improve it. These three functions are the most basic function in real-time motion planning system. The final goal is to make this EGO vehicle has accident avoidance function; however, these three functions cannot let the EGO vehicle has the fully functional accident avoidance function. Apply permutations and combinations of these three basic functions will generate more possibility, which will bring a lot of different new functions in the real-time motion planning system.

Acknowledgements

First and foremost, I would like to show my deepest gratitude to my research advisor, Dr. Lisa Fiorentini, who has provided me with valuable guidance in every stage of the project and writing of this thesis. Without her instruction, kindness and patience, I could not have completed my thesis. I shall extend my thanks to my mom for all her encouragement and mental help. The work of last two semesters exhausted me, since I have onerous courses, individual research, and written work for applying graduate school. Without her encouragement and mental help, I cannot stick to now. Finally, I would like to thank all my friends, for their encouragement and support.

Reference

  1. Aqib, “What is Raspberry pi? Getting Started with Raspberry Pi 3,” Electronics Hobbyists, 18-Jan-2019. [Online]. Available:https://electronicshobbyists.com/tutorial-1-what-is-raspberry-pi-getting-started-with- raspberry-pi-3/. [Accessed:25-Apr-2020].
  2. Adafruit Industries, “Mini 3-Layer Round Robot Chassis Kit – 2WD with DC Motors,” adafruit industries blog RSS. [Online]. Available:https://www.adafruit.com/product/3244. [Accessed:25-Apr-2020].
  3. Adafruit Industries, “Adafruit DRV8833 DC/Stepper Motor Driver Breakout Board,” adafruit industries blog RSS. [Online]. Available:https://www.adafruit.com/product/3297. [Accessed:25-Apr-2020].
  4. T. Huang, “RPLIDAR-A1 360°Laser Range Scanner _ Domestic Laser Range Scanner,” SLAMTEC. [Online]. Available:https://www.slamtec.com/en/Lidar/A1. [Accessed:25-Apr-2020].
  5. “PowerCore 13000,” Anker. [Online]. Available:https://www.anker.com/store/powercore- 13000/A1215011. [Accessed:25-Apr-2020].
  6. “Welcome to lidar’s documentation! ¶,” Welcome to lidar’s documentation! – lidar documentation. [Online]. Available:https://lidar.readthedocs.io/en/latest/. [Accessed:25-Apr-2020].
  7. “RealVNC,” Download VNC Viewer for macOS | VNC® Connect. [Online]. Available:https://www.realvnc.com/en/connect/download/viewer/macos/. [Accessed:25-Apr-2020].
  8. Adafruit Industries, “HC-SR04 Ultrasonic Sonar Distance Sensor 2 x 10K resistors,” adafruit industries blog RSS. [Online]. Available:https://www.adafruit.com/product/3942. [Accessed:25-Apr-2020].

Processus de fabrication

  1. Computer Vision comme capteur de mouvement pour SmartThings
  2. Système de capteur de mouvement infrarouge DIY pour Raspberry Pi
  3. Autonomous Driving AI for Donkey Car Garbage Collector
  4. Planification de la maintenance :qu'est-ce que cela vous apporte ?
  5. Préparer un avenir autonome
  6. Utilisations multiples d'un chariot de plate-forme
  7. Système de suivi de mouvement 3D pour technologie autonome
  8. Technologie de capteur autonome pour une rétroaction en temps réel sur la réfrigération et le chauffage
  9. Crémaillère hélicoïdale pour mouvement linéaire