1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(Luận văn thạc sĩ) contribution au développement d’une intelligence de conduite pour le train autonome ,đóng góp phát triển thông minh nhân tạo cho lái tàu tự động

56 34 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 56
Dung lượng 1,27 MB

Nội dung

UNIVERSITÉ NATIONALE DU VIETNAM, HANOÏ INSTITUT FRANCOPHONE INTERNATIONAL Yasser HAMIDULLAH Contribution au développement d’une intelligence de conduite pour le train autonome Đóng góp phát triển thơng minh nhân tạo cho lái tàu tự động MÉMOIRE DE FIN D’ÉTUDES DU MASTER INFORMATIQUE HANOÏ - 2019 UNIVERSITÉ NATIONALE DU VIETNAM, HANOÏ INSTITUT FRANCOPHONE INTERNATIONAL Yasser HAMIDULLAH Contribution au développement d’une intelligence de conduite pour le train autonome Đóng góp phát triển thơng minh nhân tạo cho lái tàu tự động Spécialité : Systèmes Intelligents et Multimédia Code : Programme pilote MÉMOIRE DE FIN D’ÉTUDES DU MASTER INFORMATIQUE Sous la direction de : M Sébastien LEFEBVRE ( Chef de projet - IRT Railenium) HANOÏ - 2019 ATTESTATION SUR L’HONNEUR J’atteste sur l’honneur que ce mémoire a été réalisé par moi-même et que les données et les résultats qui y sont présentés sont exacts et n’ont jamais été publiés ailleurs La source des informations citées dans ce mémoire a été bien précisée LỜI CAM ĐOAN Tơi cam đoan cơng trình nghiên cứu riêng Các số liệu, kết nêu Luận văn trung thực chưa cơng bố cơng trình khác Các thơng tin trích dẫn Luận văn rõ nguồn gốc Signature de l’étudiant Yasser HAMIDULLAH Remerciements La réalisation de ce mémoire a été possible grâce au concours de plusieurs personnes qui je voudrais témoigner toute ma gratitude J’aimerais tout d’abord remercier mon encadreur pédagogique de stage Dr Damien Trenteseaux du Laboratoire d’Automatique, de Mécanique et d’Informatique Industrielles et Humaines(LAMIH) l’Université Polytechnique Hauts-de-France La porte du bureau du professeur Trenteseaux était toujours ouverte chaque fois que je rencontrais un problème ou si j’avais une question sur mes recherches Il a toujours permis que ce document soit mon propre travail, mais il m’a guidé dans la bonne direction chaque fois qu’il pensait que j’en avais besoin Je tiens également remercier M Sebastien LEFEBVRE et toute l’équipe de l’IRT Railenium qui ont participé la réalisation et validation de ce projet Ce travail n’aurait pu être accompli sans leur effort et leur contribution passionnées Je voudrais remercier notre responsable de Master Dr Ho Tuong Vinh ainsi que tous les personnels pédagogiques et administratifs de l’Institut Francophone International, Université National de Vietnam Hanoi Je leur suis reconnaissant de tout cœur pour avoir assuré et amélioré la qualité de notre formation Enfin, je tiens exprimer ma profonde gratitude mes parents, ma famille et Mme Võ Thu Trang pour m’avoir apporté un soutien indéfectible et des encouragements constants tout au long de mes années de Master Sans oublier mes amis qui ont toujours été pour moi Votre soutien inconditionnel et vos encouragements ont été d’une grande aide Je vous remercie Yasser HAMIDULLAH Résumé Ce projet en collaboration avec l’IRT Railenium & LAMIH vise principalement résoudre le problème de conduite autonome dont la première tentative de résolution était base des données En effet, ces données ne sont pas encore disponibles, alors les tâches préliminaires faire étaient la récolte et génération des données nécessaires dont le formattage de ces dernières fait parti des objectifs secondaires de ce projet Malgrộ ỗa, nous avons proposộ et implémenté une approche utilisant une structure perceptron multi-couche avec cross-entropy (MLP-CE) entrainée avec des données de conduite du simulateur qui n’a pas abouti un bon résultat Ceci nous a mené traiter d’abord ce problème d’un autre point de vue, de la décision et contrôle en faisant appel aux approches du domaine différents "théorie de contrôle" qui cherche généralement le contrôle optimal d’un système ; et de "l’apprentissage par renforcement" qui est basé sur la théorie d’optimalité de Bellman D’une part le PID avec lequel on a eu un résultat plus stable cependant sa versatilité n’est pas très assurée et d’autre part le RL Qlearning avec une discrétisation de l’espace d’état qui a montré sa capabilité de s’adapter et le comportement préventif ; malgré cela cette technique souffre d’un sérieux problème au niveau de stockage qui pourra ralentir l’algorithme Face ce problème nous avons proposé une solution typique avec un réseau de neurone de type Deep Q-Network qui échappera le problème de stockage mais qui peut être inutile si l’espace est continu Notre contribution principale dans ce projet est la modélisation de ce problème en processus de décision markovien qui nous a permis d’utiliser les techniques dérivées telles que le Qlearning, et le Deep Q-learning La contribution technique est caractérisée par l’utilisation du MLP-CE et l’adaptation du contrôleur PID aux contraintes spécifiques de notre simulateur Les prochaines étapes dans ce projet seront la validation de nos résultats avec des données réelles ou des simulateurs haute fidélité ou encore avec des simulateurs niveau d’abstraction moyenne qui est adéquat pour le système de transport Enfin, des scènes et cas plus complexes seront aux limites des modèles mathématiques, physiques et dynamiques nécessiteront une recherche parallèle dans l’éthique En faisant correspondre le comportement du nouveau système l’éthique, nous faciliterons son acceptation auprès de la société Mots clés : Train autonome, système autonome, intelligence artificielle, théorie de contrôle, apprentissage automatique, apprentissage par renforcement, processus de décision markovien Abstract This project in collaboration with the IRT Railenium LAMIH is mainly aimed at solving the problem of autonomous driving whose first attempt at resolution was based on the data In fact, these data are not yet available, so the preliminary tasks to be done were the collection and generation of the necessary data, the formatting of which is part of the secondary objectives of this project In spite of that, we proposed and implemented an approach using a multi-layer perceptron with cross-entropy (MLP-CE) trained with generated data from simulator that did not lead to a good result This has led us to deal with this problem from another point of view, from decision and control, using the different approaches from "control theory" which generally seeks the optimal control of a system ; and "reinforcement learning" which is based on Bellman’s theory of optimality On the one hand the PID controller, with which we had a more stable result whose versatility is not very assured On the other hand RL Qlearning with a discretization of the state space of the MDP problem that showed its ability to adapt and gives a preventative behavior ; despite this, this technique suffers from a serious storage problem that may slow down the algorithm Faced with this problem we have proposed a solution with neural network (DQN) that will escape the storage problem but may be useless if the space is continuous Our main contribution in this project is the modeling of this problem as Markov decision process problem which allowed us to use derived techniques such as Qlearning, and Deep Q-learning The technical contribution is characterized by the use of the MLP-CE and the adaptation of the PID controller to the specific constraints of our simulator The next steps in this project will be the validation of our results with real data or high-fidelity simulators or with a medium-level abstraction simulator that is adequate for the transport system Finally, more complex scenes and cases will be at the limits of mathematical, physical and dynamic models will require a parallel search in ethics By matching the behavior of the new system to ethics, we will make it easier for society to accept it Keywords : Autonomous train, machine learning, reinforcement learning, autonomous system, artificial intelligence, control theory, Markov decision process Table des matières Liste des tableaux iv Table des figures v Introduction générale 1.1 Présentation de l’établissement d’accueil 1.1.1 IRT Railenium 1.1.2 LAMIH 1.2 Contexte et problématique 1.2.1 Le projet Train Autonome 1.2.1.1 Objectifs 1.2.1.2 Problématiques Etat de l’art 2.1 Train Autonome 2.2 Optimisation de trajectoire 2.2.1 Méthodes analytiques 2.2.2 Algorithmes numériques 2.2.3 Algorithmes évolutionnaires 2.3 Contrôle de vitesse de train 2.3.1 Contrôleur PID 2.3.2 Méthodes de contrôle intelligents 2.3.3 Méthodes de contrôle adaptatives 2.4 Conlusion 3 5 5 8 9 10 10 11 11 12 12 13 Solutions proposées et contributions 3.1 Architecture générale des solutions 3.2 Approche : Qlearning 3.2.1 Les concepts utilisés 3.2.1.1 Processus de décision markovien (MDP) 3.2.1.2 Processus de récompense markovien (MRP) 14 14 16 16 16 17 i TABLE DES MATIÈRES 3.2.1.3 MDP en espace continu normalisée (discrétisation) 3.2.1.4 Qlearning, Deep Qlearning, Q-Networks Deep Q-Networks 3.2.2 L’algorithme proposé 3.2.2.1 Qlearning 3.2.2.2 Deep Q-Network (Qlearning avec réseau de neurone approximateur) 3.3 Approche : PID (Proportionnel Intégral Dérivé) 3.3.1 Les concepts utilisés 3.3.1.1 Réglage proportionnel (P) 3.3.1.2 Réglage intégral (I) 3.3.1.3 Réglage dérivé 3.3.1.4 Les méthodes de réglage de PID A Algorithme Twiddle B La descente du gradient stochastique avec backpropagation C Réglage manuelle 3.3.2 L’algorithme proposé A Implémentation 3.4 Approche : Percéptron multicouche avec Cross-Entropy 3.4.1 Les concepts utilisés 3.4.1.1 Perceptron, Perceptron multicouches 3.4.1.2 Cross-Entropy 3.4.1.3 Données utilisées 3.4.2 L’algorithme proposé 3.4.3 La structure du MLP 3.4.3.1 La méthode d’entrnement 17 18 19 19 20 20 21 21 21 21 21 21 22 22 22 23 23 23 24 24 24 24 24 25 Résultats et analyses 26 Résultats et analyses 4.1 La phase d’entrnement 4.1.1 Le suivi du profil 4.1.2 Le suivi du retard en temps 4.1.3 Le suivi de la récompense (pour DQN/Qlearning) 4.2 Résultats 4.2.1 Règles basiques 4.2.2 Qlearning 4.2.3 MLP avec cross-entropy 4.2.4 PID 4.3 Discussions 26 26 26 27 27 27 29 29 30 31 32 Conclusion et Perspectives 35 5.1 Conclusion générale 35 5.2 Perspectives 36 ii TABLE DES MATIÈRES A Algorithmes 40 A.1 Implémentation du Qlearning 40 A.2 Implémentation de la structure du DQN 41 A.3 PID A.4 MLP iii CHAPITRE RÉSULTATS ET ANALYSES 4.2.1 Règles basiques Dans la figure 4.4 on aperỗoit le suivi presque parfait du plan recommandé (en rouge) du profil réel (en bleue), ce qui est logique car les règles basiques ont ộtộ conỗu au plus juste du contexte du problốme Il y a aussi l’influence de la fonction calculatrice d’accélération qu’on a mise en place afin de rendre la tâche des algorithmes d’intelligence plus légère Cette dernière donne toujours la meilleure valeur d’accélération pour arriver un point avec une vitesse plus ou moins exacte En tout cas cela ne doit pas poser un grand avantage par rapport aux autres, car, on a utilisé cette fonction d’accélération dans chacune des expérimentations Par contre, le temps du retard indique qu’il ne peut pas s’adapter des situations, mais respecte les recommandations correctement Mais sa stabilité est intéressante pour garantir le confort des passagers et aussi la sécurité F IGURE 4.4 – Règles basiques 4.2.2 Qlearning TABLE 4.1 – Paramètres Qlearning Nombre d’épisode 1000 10000 20000 Paramètres α = 0.01, β = 0.02, = 0.99 α = 0.005, β = 0.002, = 0.99 α = 0.001, β = 0.002, = 0.99 Récompense moyenne 0.356 0.9099 0.9203 Point sur le suivi du profil, comme on a vu dans 4.2.1, la fonction d’accélération aide beaucoup dans l’ajustement du suivi Dans ce résultat du Qlearning, sa courbe n’est pas tout fait lisse et fait parfois des décisions qui n’ont pas avoir le plan de vitesse Cela s’explique par le fait que l’exploration on ne l’a pas tout a fait éliminé, on a juste réduit 0.01 Mais ce fait n’est pas risqué car notre agent est suffisamment entrné et qu’il peut faire une anticipation selon ses propres estimations 29 CHAPITRE RÉSULTATS ET ANALYSES Voyons sa décision pour anticiper la deuxième montée dans la figure 4.5, et aussi dans la dernière descente On peut parfois voir des décisions inhabituelles, non évidentes par l’agent Qlearning mais ỗa lui donne la capacitộ danticiper ses pas et au final on constate qu’il n’est pas venu en retard, ce qui est plus positif Cet aspect rend ce type d’approche avantageux pour un agent dans un environnement ouvert, mais il faudra peut être trouver une certaine solution d’équilibre et lui donner du regret lorsqu’il anticipe pour aucune raison F IGURE 4.5 – Qlearning 4.2.3 MLP avec cross-entropy TABLE 4.2 – Paramètres MLP-CE Nombre d’épisode 200 400 800 Batch size N = 5000, α = 0.01 N = 5000, α = 0.01 N = 5000, α = 0.01 Loss 0.4288 0.6300 0.0002 On a fait une expérimentation de cette méthode base des données extrait du simulateur, puis entrner cette méthode Le résultat ne nous a pas permis d’avoir un autre choix que de refaire l’analyse de données Comme on le voit dans la figure 4.6, la première représente la courbe de perte durant l’apprentissage, on voit très bien que celle ci décroit vers la fin mais cela n’a pas fait bouger l’intervalle de récompense des épisodes : ceci signifie qu’on a un problème de données d’apprentissage Après avoir analysé les données d’apprentissage, on s’est rendu compte qu’il y a pas assez de variabilité afin de différencier un épisode d’une autre On peut relancer la même simulation avec la règle basique, il n’y a qu’une petite différence qui est souvent non-remarquable La raison est que nos données ne sont pas indépendantes et identiquement distribuées Mais cette même technique est prête être utilisée une fois qu’il y ait une présence de données enregistrées des conducteurs réels 30 CHAPITRE RÉSULTATS ET ANALYSES F IGURE 4.6 – MLP avec Cross-Entropy 4.2.4 PID TABLE 4.3 – Paramètres PID Kp 0.9 Ki 0.2 Kd 0.4 La figure 4.7 montre le profil recommandé et la vitesse actuelle du train Celle-ci nous montre quel point notre algorithme n’arrive pas suivre de plus près les recommandations Les raisons qui justifient cela est qu’il faut encore optimiser et régler le PDI pour améliorer le résultat Dun autre cụtộ on peut prendre ỗa comme un rộsultat intéressant car si on mésure le temps de retard entre la règle basique et le PID, la différence ne va pas être énormes Cependant le suivi du plan n’est pas encore très optimale, le comportement obtenu est plus ou moins stable F IGURE 4.7 – PID 31 CHAPITRE RÉSULTATS ET ANALYSES 4.3 Discussions Dans ce section nous présentons le tableau 4.4 Tableau comparatif sur les différents points et résultats de chaque techniques proposées Ce projet en collaboration avec l’IRT Railenium & LAMIH vise principalement résoudre le problème de conduite autonome dont la première tentative de résolution était base des données En effet, ces données ne sont pas encore disponibles, alors les tâches préliminaires faire étaient la récolte et génération des données nécessaires dont le formattage de ces dernières fait parti des objectifs secondaires de ce projet Malgrộ ỗa, nous avons proposộ et implộmentộ une approche utilisant une structure perceptron multi-couche avec cross-entropy (MLP-CE) entrainée avec des données de conduite du simulateur qui n’a pas abouti un bon résultat Ceci nous a mené traiter d’abord ce problème d’un autre point de vue, de la décision et contrôle en faisant appel aux approches du domaine différents "théorie de contrôle" qui cherche généralement le contrôle optimal d’un système ; et de "l’apprentissage par renforcement" qui est basé sur la théorie d’optimalité de Bellman D’une part, les algorithmes d’apprentissage automatique de type Reinforcement Learning que nous avons expérimenté dans ce benchmark ne sont pas les seuls compatibles pour ce genre de problème Nous avons spécifiquement pris une catégorie d’algorithme fonctionnant sans modèle (model free) Car nous supposons qu’il faut vraiment créer ce modèle de l’environnement dans lequel l’espace d’état est continu, il faudra une infinité de temps ce qui ne sera pas pratique comme solution D’où la proposition de Qlearning avec discrétisation d’espace d’état, plus simple et permet de tester l’efficacité de ses dérivées Le résultat obtenu n’est pas totalement optimal mais nous avons pu voir qu’avec cet algorithme le train prend des décisions pas seulement selon son plan mais avec prédiction, ce qui l’incite anticiper s’il y voit des optimisations au niveau du comportement et le but final Il n’obéit pas exactement comme on le souhaite mais agit autrement et s’améliore avec le temps Sachant que le Qlearning stocke les valeurs des actions (Qv al ues), qui n’est pas envisageable vu les risques et d’autres problốmes que ỗa peut engendrer (Exemple : temps de lecture lorsqu’il y aura une quantité importante de données) En réponse cela, l’alternative avec réseau de neurone qui permet d’apprendre et approxime ces valeurs au lieu de les stocker Le réseau de neurones de type Deep Q-Network est fait pour cette approche, mais possède aussi ses limites (Exemple : l’impraticabilité de la solution dans l’espace continu) Ce qui ne nous donne pas entièrement confiance que ce sera suffisant pour assurer la conduite autonome de ce système très complexe D’autre part l’algorithme de contrôle, le PID, comme le montre nos résultats, ils sont plus efficaces produire un contrôle via une intelligence classique, mais ils ne sont pas par défaut autonome Tout au long de l’expérience nous avons constaté la facilité de leur mise en marche et aussi la constance du comportement obtenu partir de ces algorithmes Même si l’on ne peut toujours pas généraliser la performance de l’ensemble de cette catégorie après juste avoir testé seulement le PID Il est très évident que les adaptations faire pour les rendre efficaces dans ce problème semble32 CHAPITRE RÉSULTATS ET ANALYSES rait plus être un preréquis que l’on peut appliquer tout autre approche de la théorie de contrôle comme (Exemple : Bang-bang control ou on-off control, Model Predictive Control, etc) Cette limite ne nous pousse pas ne pas les utiliser.Vu leurs points fort sur la stabilité, cette limite nous incite chercher d’autre brique dans les autres types d’algorithme tel que le Machine Learning et les algorithmes Evolutionnaires pour leur apporter un plus sur la versatilité de la solution obtenue 33 CHAPITRE RÉSULTATS ET ANALYSES TABLE 4.4 – Tableau comparatif Techniques PID RL_Qlearning/DQN MLP-CE En temps d’exécution Le plus rapide Rapidité selon la structure / la taille de la table Q Plus rapide que DQN moins rapide que Qlearning Résoud blème ? OUI OUI - Conditions de mise en marche Ajustement des valeurs des coefficients Paramètres régler α, β, et une bonne fonction de récompense / des hyper-paramètres pour DQN Données de bonne qualité et de taille suffisante et optimisation des hyper-paramètres Convergence Facile converger mais n’est pas toujours compatible, d’où l’adaptation est toujours nécessaire La convergence n’est pas toujours garanti même après exploration, mais permet toujours d’avoir la politique optimale après convergence Convergence peut-être atteint sans retrouver une solution optimale Qualité de résultat Suit le profil recommandé mais arrive en retard Pas de retard mais le profil n’est pas toujours suivi par l’agent - Inconvénients Cette technique seule ne peut pas résoudre efficacement ce problème pourtant les adaptations réduisent la performance, et en même temps modifie le comportement normal Son efficacité et convergence est lié directement la modélisation du MDP (surtout la récompense) Les sorties du réseau DQN rend le système bte noire Requiert l’utilisation des données massives et frches, c’est-àdire des données jour, n’assure pas la gestion des exceptions Son évolution au cours de l’utilisation n’est pas visible voire nulle Avantages Stable une fois Donne un aspect configurée, facile plus adaptatif de mettre en marche l’agent, comporet converger tement prédictif Permet en même Plus adéquat pour 34 temps de suivre être exploité dans le profil plus ou un environnemoins exacte ment ouvert avec POMDP Peut-être utilisé comme un modèle départ , et couplé avec d’autre techniques predictives Ne requiert pas une modèlisation spécifique du problème le pro- Chapitre Conclusion et Perspectives 5.1 Conclusion générale Ce chapitre traitera des conclusions basées sur les résultats du chapitre 6, ainsi que des limites du cadre et des travaux futurs pouvant être réalisés En conclusion, ce travail nous a permis de faire une première tentative de la résolution de la conduite autonome Plusieurs problématique ont été abordées, par les biais de différentes expérimentations et divers point de vue du problème Nous avons essayé d’aborder ce problème en utilisant les données, ce qui n’a pas donné un bon résultat Par la suite, nous avons effectué des implémentations d’autres techniques ne nécessitant pas des données, base de la théorie de contrôle (PID) et la théorie d’optimalité (Qlearning) Nos comparaisons nous a montré que les deux techniques présentent des aspects utiles pour former une solution robuste, car la première souffre d’une manque d’adaptabilité et la deuxième peut être limitée par l’espace d’état La conduite du train autonome a besoin justement d’un système qui sera capable d’avoir des comportements prédictifs lorsqu’une exception se produit dans l’environnement aussi dans le train, et la fois être stable et ponctuel lorsque ceci n’est pas nécessaire Les limites de nos travaux sont principalement liées au simulateur sur lequel nous avons testé les différentes techniques La consistance de nos résultats et conclusions doivent-être suivi d’une validation avec des données et des cas réels Nous avons eu besoin d’un simulateur de haute fidélité qui nous permet de simuler des scènes plus ou moins réaliste, ou bien un simulateur dont le niveau d’abstraction répond conformément aux pré-requis de la simulation dans le domaine du transport qui est de niveau moyen Ceci est sans parler des techniques disponibles dans l’état de l’art qui sont munies des contraintes que notre simulateur ne possédait pas Nous étions donc obligé de ne pas utiliser les propositions de la littérature 35 CHAPITRE CONCLUSION ET PERSPECTIVES 5.2 Perspectives Malgré nos intentions dans ce travail, de faire une comparaison avec les approches prédictives de la théorie de contrôle (MPC), c’est la seule catégorie des techniques mentionnées dans l’état de l’art qu’on n’a pas pu avoir au moment de la rédaction Les prochaines étapes dans ce projet seront de valider nos approches sur des simulateurs de haute fidélité, ou un simulateur simple mais avec niveau moyen d’abstraction En plus, il est nécessaire de recueillir les données et informations disponibles au sein de la SNCF sur les conduites et cas des accidents, afin de générer des scénarios d’exceptions Ceci facilitera l’obtention rapide d’un comportement répondant aux attentes Dans cet axe se concentre la suite du travail qui consiste travailler parallèlement sur l’aspect de l’intelligence et de l’éthique Il existe des systèmes plus complexes la limite des modèles mathématiques, dynamiques et physiques ( cas du problème de Trolley), d’où une recherche accrue sur l’éthique de l’agent autonome dans un environnement ouvert Les modèles validés durant cette recherche doivent-être mesurés et évalués dans le cadre de l’éthique pour avoir son autorisation et une facilité d’accéptation dans la société et aux futurs utilisateurs de ce système Les questions qui ne semblent pas avoir trouvé de réponses sont les suivantes : comment le train autonome va passer ce niveau d’automatisaton ? Sera t-il vraiment autonome ? Les différents besoins pour son exploitation sont-ils déjà prêts ? Et si finalement serait t-il mieux d’investir dans la mise en place des zones d’essais ? La promesse de mettre sur les rails d’ici 2023 ce produit serait t-elle tenue ? 36 Bibliographie [1] Jiateng Yin, Tao Tang, Lixing Yang, Jing Xun, Yeran Huang, Ziyou Gao "Research and development of automatic train operation for railway transportation systems: A survey" Transportation Research Part C 85 (2017) 548–572 [2] Howlett, Philip G., Pudney, Peter J "Energy-Efficient Train Control" 2017, ISBN 978-1-4471-3084-0 [3] Liu, Rongfang and Golovitcher, Iakov "Energy-efficient operation of rail vehicles" Transportation Research Part A: Policy and Practice2000, p 917-932 [4] Khmelnitsky "On an optimal control problem of train operation" 2000, IEEE Transactions on Automatic Control, p 1257-1266 [5] Ko, H and Koseki, Takafumi and Miyatake, Masafumi "Application of dynamic programming to optimization of running profile of a train", 2004 [6] Pengling WangRob M.P GoverdeRob M.P Goverde "Multiple-phase train trajectory optimization with signalling and operational constraints", Transportation Research Part C Emerging Technologies 69:255-275, 2016 [7] K K Wong et T K Ho, "Dynamic coast control of train movement with genetic algorithm" October 2004 International Journal of Systems Science 35(13):835-846 [8] Sekine, S., Imasaki, N., Endo, T., 1995 Application of fuzzy neural network control to automatic train operation and tuning of its control rules In: Fuzzy Systems International Joint Conference of the Fourth IEEE International Conference on Fuzzy Systems and The Second International Fuzzy Engineering Symposium 4, pp 1741–1746 [9] Sicre, C., Cucala, A.P., Fernández, A., Lukaszewicz, P., 2012 Modeling and optimizing energy-efficient manual driving on 37 BIBLIOGRAPHIE high-speed lines IEEJ Trans Electr Electron Eng (6), 633–640 [10] Song, Q., Song, Y.D., 2011 Data-based fault-tolerant control of high-speed trains with traction/braking notch nonlinearities and actuator failures IEEE Trans Neural Netw 22 (12), 2250–2261 [11] Song, Q., Song, Y.D., Tang, T., Ning, B., 2011 Computationally inexpensive tracking control of high-speed trains with traction/braking saturation IEEE Trans Intell Transp Syst 12 (4), 1116–1125 [12] Song, Y., Song, Q., Cai, W., 2014 Fault-tolerant adaptive control of high-speed trains under traction/braking failures: a virtual parameter-based approach IEEE Trans Intell Transp Syst 15 (2), 737–748 [13] Su, S., Li, X., Tang, T., Gao, Z., 2013 A subway train timetable optimization approach based on energy-efficient operation strategy IEEE Trans Intell Transp Syst 14 (2), 883–893 [14] Su, S., Tang, T., Robert, C., 2015 A cooperative train control model for energy saving IEEE Trans Intell Transp Syst 16 (2), 622–631 [15] Sun, H., Hou, Z., Li, D., 2013 Coordinated iterative learning control schemes for train trajectory tracking with overspeed protection IEEE Trans Automat Sci Eng 10 (2), 2013 [16] Tang, T., Huang, L., 2003 A survey of control algorithm for automatic train operation J China Railway Soc 25 (2), 98–102 (In Chinese) [17] Tang, H., Tyler Dick, P.E., Feng, X., 2015 A coordinated train control algorithm to improve regenerative energy receptivity in metro transit systems Transp Res Rec.: J Transp Res Board, 15–1318 [18] Wang, P., Goverde, R.M.P., 2016 Multiple-phase train trajectory optimization with signalling and operational constraints Transp Res Part C 69, 23–50 [19] Wang, Y., De Schutter, B., van den Boom, T.J.J., Tang, T., Ning, B., 2013 Optimal trajectory planning for trains – a pseudospectral method and a mixed integer linear programming approach Transp Res Part C 29, 97–114 [20] Wang, Y., Tang, T., Ning, B., van den Boom, T.J.J., Schutter, B., 2015 Passenger-demands-oriented train scheduling for an urban rail transit network Transp Res Part C 60, 1–23 38 BIBLIOGRAPHIE [21] Wang, Y., Zhang, M., Ma, J., Zhou, X., 2016 Survey on driverless train operation for urban rail transit systems Urban Rail Transit (3–4), 106–113 [22] Wong, K.K., Ho, T.K., 2004 Coast control for mass rapid transit railways with searching methods IEE Proc.-Electr Power Appl 151 (3), 365–376 [23] Mark George New et Al, "A high-resolution data set of surface climate over global land areas", May 2002 Climate Research 21(1):1–25 [24] Bodgan Djukic, "Non-AI approach for steering self-driving car", 2017 https://towardsdatascience.com/non-ai-approach-for-steering-self-driving-c [25] Alberto Escarlate, "PID Control for self-driving", 2017 https://medium.com/@cacheop/pid-control-for-self-driving-1128b4dd [26] Ivan Kazakov, "Tuning PID Controller Parameters with Backpropagation" https://medium.com/@ivankazakov/tuning-pid-controller-paramete 39 Annexe A Algorithmes A.1 Implémentation du Qlearning GAMMA = 0.9 ALPHA = 0.2 ACTION_SPACE = class Agent : def init ( self ) : self values = collections defaultdict ( float ) 10 11 12 13 14 15 def b e s t _ v a l u e _ a n d _ a c t i o n ( self , state ) : best_value , best_action = None , None for action in range ( ACTION_SPACE ) : action_value = self values [( state , action ) ] if best_value is None or best_value < action_value : best_value = action_value best_action = action return best_value , best_action 16 17 18 19 20 21 def value_update ( self , s , a , r , next_s ) : best_v , _ = self b e s t _ v a l u e _ a n d _ a c t i o n ( next_s ) new_val = r + GAMMA * best_v old_val = self values [( s , a ) ] self values [( s , a ) ] = old_val * (1 - ALPHA ) + new_val * ALPHA 22 23 24 25 26 def next_best_action ( self , state ) : total_reward = 0.0 _ , action = self b e s t _ v a l u e _ a n d _ a c t i o n ( state ) return action Listing A.1 – Agent Qlearning https ://github.com/PacktPublishing/Deep-Reinforcement-Learning-Hands-On 40 ANNEXE A ALGORITHMES A.2 Implémentation de la structure du DQN shape = State getState () class DQNConv1D ( nn Module ) : def init ( self , shape , actions_n ) : super ( DQNConv1D , self ) init () 10 11 12 self conv = nn Sequential ( nn Conv1d ( shape [0] , 128 , 5) , nn ReLU () , nn Conv1d (128 , 128 , 5) , nn ReLU () , ) 13 14 out_size = self _get_conv_out ( shape ) 15 16 17 18 def _get_conv_out ( self , shape ) : o = self conv ( torch zeros (1 , * shape ) ) return int ( np prod ( o size () ) ) 19 20 21 def forward ( self , x ) : return self conv ( x ) view ( x size () [0] , -1) Listing A.2 – Structure de notre Deep Q-Network A.3 PID : Mise jour et prise de décision def update ( self ,E , t ) : self delta_t = t - t_last self E_t += E * delta_t self E_prime = ( E - E_last ) self E_last = E return ( self E * self Kp ) + ( self E_t * self Ki ) + ( self E_prime * self Kd ) 10 11 12 13 while ( True ) : E = ge t_ me as ur ed _e rr or ( plan , current ) if (E > M IN _ T HR E S H_ D I FF _ E RR ) : update (E , current time ) acc = get_acceleration ( current ) # sending to the simulator Listing A.3 – La fonction de mis jour et la prise de décision A.4 MLP : Implémentation de la structure class Net ( nn Module ) : def init ( self , obs_size , 128 , n_actions ) : super ( Net , self ) init () self net = nn Sequential ( 41 ANNEXE A ALGORITHMES nn Linear ( obs_size , 128) , nn ReLU () , nn Linear (128 , n_actions ) ) 10 11 def forward ( self , x ) : return self net ( x ) Listing A.4 – Structure du MLP 42 ANNEXE A ALGORITHMES 43 ... NATIONALE DU VIETNAM, HANOÏ INSTITUT FRANCOPHONE INTERNATIONAL Yasser HAMIDULLAH Contribution au développement d’une intelligence de conduite pour le train autonome Đóng góp phát triển thơng minh nhân. .. mod? ?le entrainé Utiliser le mod? ?le pour N épisodes Calculer la récompense totale pour chaque épisode et décider de la limite (pour éliminer les outliers) Eliminer les épisodes qui sont en dessous... circuler une automotrice d’une manière autonome l’aide d’un logiciel (commande de conduite, freinage et contr? ?le des points d’arrêts et obstacles) Ils se sont aussi lancés dans le développement des

Ngày đăng: 03/12/2020, 19:04

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w