Control de desplazamiento con evasión de obstáculos para un robot móvil en configuración diferencial, usando técnicas de inteligencia artificial

En este trabajo, se realizó el diseño y simulación de un controlador de desplazamiento mediante aprendizaje por refuerzo, que permite a una plataforma en configuración diferencial la navegación en un entorno desconocido. Se presenta una aproximación gradual a la plataforma diferencial Ceres-Agrobot...

Full description

Autores:
Navarro León, Cristian Mauricio
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2020
Institución:
Universidad Militar Nueva Granada
Repositorio:
Repositorio UMNG
Idioma:
spa
OAI Identifier:
oai:repository.umng.edu.co:10654/37321
Acceso en línea:
https://hdl.handle.net/10654/37321
Palabra clave:
INTELIGENCIA ARTIFICIAL
ROBOTICA
Inteligencia artificial
Aprendizaje por refuerzo
Robotica movil
Plataforma diferencial
CERES-Agrobot
Pioneer-3DX
MatLAB
ROS
Gazebo
Artificial intelligence
Reinforcement learning
Mobile robotics
Differential platform
CERES-Agrobot
Pioneer-3DX
MatLAB
ROS
Gazebo
Rights
openAccess
License
http://creativecommons.org/licenses/by-nc-nd/4.0/
id UNIMILTAR2_c1e3e74b8e8172f46b4d93c83a8f4fd1
oai_identifier_str oai:repository.umng.edu.co:10654/37321
network_acronym_str UNIMILTAR2
network_name_str Repositorio UMNG
repository_id_str
dc.title.spa.fl_str_mv Control de desplazamiento con evasión de obstáculos para un robot móvil en configuración diferencial, usando técnicas de inteligencia artificial
dc.title.eng.fl_str_mv Displacement control with obstacle avoidance for a mobile robot in differential configuration, using artificial intelligence techniques
title Control de desplazamiento con evasión de obstáculos para un robot móvil en configuración diferencial, usando técnicas de inteligencia artificial
spellingShingle Control de desplazamiento con evasión de obstáculos para un robot móvil en configuración diferencial, usando técnicas de inteligencia artificial
INTELIGENCIA ARTIFICIAL
ROBOTICA
Inteligencia artificial
Aprendizaje por refuerzo
Robotica movil
Plataforma diferencial
CERES-Agrobot
Pioneer-3DX
MatLAB
ROS
Gazebo
Artificial intelligence
Reinforcement learning
Mobile robotics
Differential platform
CERES-Agrobot
Pioneer-3DX
MatLAB
ROS
Gazebo
title_short Control de desplazamiento con evasión de obstáculos para un robot móvil en configuración diferencial, usando técnicas de inteligencia artificial
title_full Control de desplazamiento con evasión de obstáculos para un robot móvil en configuración diferencial, usando técnicas de inteligencia artificial
title_fullStr Control de desplazamiento con evasión de obstáculos para un robot móvil en configuración diferencial, usando técnicas de inteligencia artificial
title_full_unstemmed Control de desplazamiento con evasión de obstáculos para un robot móvil en configuración diferencial, usando técnicas de inteligencia artificial
title_sort Control de desplazamiento con evasión de obstáculos para un robot móvil en configuración diferencial, usando técnicas de inteligencia artificial
dc.creator.fl_str_mv Navarro León, Cristian Mauricio
dc.contributor.advisor.none.fl_str_mv Solaque Guzman, Leonardo Enrique
Velasco Vivas, Alexandra Elizabeth
dc.contributor.author.none.fl_str_mv Navarro León, Cristian Mauricio
dc.subject.lemb.spa.fl_str_mv INTELIGENCIA ARTIFICIAL
ROBOTICA
topic INTELIGENCIA ARTIFICIAL
ROBOTICA
Inteligencia artificial
Aprendizaje por refuerzo
Robotica movil
Plataforma diferencial
CERES-Agrobot
Pioneer-3DX
MatLAB
ROS
Gazebo
Artificial intelligence
Reinforcement learning
Mobile robotics
Differential platform
CERES-Agrobot
Pioneer-3DX
MatLAB
ROS
Gazebo
dc.subject.proposal.spa.fl_str_mv Inteligencia artificial
Aprendizaje por refuerzo
Robotica movil
Plataforma diferencial
CERES-Agrobot
Pioneer-3DX
MatLAB
ROS
Gazebo
dc.subject.proposal.eng.fl_str_mv Artificial intelligence
Reinforcement learning
Mobile robotics
Differential platform
CERES-Agrobot
Pioneer-3DX
MatLAB
ROS
Gazebo
description En este trabajo, se realizó el diseño y simulación de un controlador de desplazamiento mediante aprendizaje por refuerzo, que permite a una plataforma en configuración diferencial la navegación en un entorno desconocido. Se presenta una aproximación gradual a la plataforma diferencial Ceres-Agrobot a partir de la navegación en una cuadrícula y el control de nivel en un modelo dinámico para luego realizar la implementación de dos técnicas de aprendizaje por refuerzo sobre el modelo dinámico de la plataforma. Se implementa una simulación haciendo uso de ROS y Gazebo para validar el comportamiento de las señales de control generadas por el controlador, dichas señales son aplicadas sobre el modelo dinámico de la plataforma diferencial Pioneer 3DX en Gazebo. Los resultados evidencian la capacidad del aprendizaje por refuerzo de parametrizar sobre la marcha, el proceso de toma de decisiones en una plataforma diferencial en función del objetivo a cumplir de la navegación.
publishDate 2020
dc.date.accessioned.none.fl_str_mv 2020-12-22T03:04:25Z
dc.date.available.none.fl_str_mv 2020-12-22T03:04:25Z
dc.date.issued.none.fl_str_mv 2020-12-01
dc.type.local.spa.fl_str_mv Tesis/Trabajo de grado - Monografía - Pregrado
dc.type.driver.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.type.coar.none.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
format http://purl.org/coar/resource_type/c_7a1f
dc.identifier.uri.none.fl_str_mv https://hdl.handle.net/10654/37321
dc.identifier.instname.spa.fl_str_mv instname:Universidad Militar Nueva Granada
dc.identifier.reponame.spa.fl_str_mv reponame:Repositorio Institucional Universidad Militar Nueva Granada
dc.identifier.repourl.none.fl_str_mv repourl:https://repository.umng.edu.co
url https://hdl.handle.net/10654/37321
identifier_str_mv instname:Universidad Militar Nueva Granada
reponame:Repositorio Institucional Universidad Militar Nueva Granada
repourl:https://repository.umng.edu.co
dc.language.iso.none.fl_str_mv spa
language spa
dc.relation.references.spa.fl_str_mv D. Matus, «Digital Trends,» 11 01 2018. [En línea]. Available: https://es.digitaltrends.com/autos/autos-autonomos-ces-2018/. [Último acceso: 25 06 2019].
Syngenta, «Syngenta Colombia,» 12 01 2018. [En línea]. Available: http://www.syngenta.com.co/news/noticias/robots-en-el-campo. [Último acceso: 25 05 2019].
P. Long , L. Wenxiu y P. Jia, «Deep-Learned Collision Avoidance Policy for Distributed Multi-Agent Navigation,» IEEE Robotics and Automation Letters, vol. 2, nº 2, pp. 656-663, 2017.
A. Barrientos y J. del Cerro, «Interempresas,» 24 02 2016. [En línea]. Available: http://www.interempresas.net/Horticola/Articulos/151745-El-uso-de-robots-en-tareas-agricolas.html. [Último acceso: 26 06 2019].
L. Cancar , D. Sanz , J. D. Hernandez Vega y J. del Cerro, «Precision Humidity and Temperature Measuring in Farming Using Newer Ground Mobile Robots,» de ROBOT2013: First Iberian Robotics Conference: Advances in Robotics, Springer International Publishing, 2013, pp. 443-456.
L. Tai, S. Li y M. Liu, «A deep-network solution towards model-less obstacle avoidance,» de 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Daejeon, IEEE, 2016, pp. 2759-2764.
P. Robher, «Autonomous Driving: How Much Autonomy Driving Does Stand,» ATZelectronics worldwide, vol. 2, pp. 26-29, 2015.
J. Ibañez-Guzman, C. Laugier, J.-D. Yoder y S. Thrun, «Autonomous Driving: Context and State-of-the-Art,» de Handbook of Intelligent Vehicles, Londres, Springer, 2012, pp. 1271-1310.
R. Álvarez, «Zataka,» 7 11 2017. [En línea]. Available: https://www.xataka.com/automovil/el-coche-autonomo-de-google-waymo-se-vuelve-completamente-autonomo-y-por-primera-vez-sale-a-la-calle-sin-conductor. [Último acceso: 22 01 2019].
W. Xinglong, Y. Cao, Z. Zhao y Y. Yan, «Deep Reinforcement Learning Based Collision Avoidance Algorithm for Differential Drive Robot,» de Intelligent Robotics and Applications, Newcastle, Springer, 2018, pp. 186-198.
J. C. Lopez, «Xataka,» 09 03 2018. [En línea]. Available: https://www.xataka.com/automovil/donde-esta-realmente-el-coche-autonomo-a-dia-de-hoy-y-que-han-prometido-las-marcas-en-el-salon-de-ginebra-para-el-futuro. [Último acceso: 22 01 2019].
B. Paden , M. Cap, S. Z. Yong, D. Yershov y E. Frazzoli, «A Survey of Motion Planning and Control Techniques for Self-driving Urban Vehicles,» IEEE Transactions on Intelligent Vehicles, vol. 1, nº 1, pp. 33-35, 2016.
J.-R. Xue, J.-W. Fang y Z. Pu, «A Survey of Scene Understanding by Event Reasoning in Autonomous Driving,» International Journal of Automation and Computing, pp. 249-266, 18 04 2018.
Q. Tran y J. Firl, «Modelling of traffic situations at urban intersections with probabilistic non-parametric regression,» de 2013 IEEE Intelligent Vehicles Symposium (IV), Gold Coast, IEEE, 2013, pp. 334-339.
M. Alexis, «The Atlantic,» 15 05 2014. [En línea]. Available: https://www.theatlantic.com/technology/archive/2014/05/all-the-world-a-track-the-trick-that-makes-googles-self-driving-cars-work/370871/. [Último acceso: 14 04 2019].
D. N. Maryam Abadi y M. H. Khooban, «Design of optimal Mamdani-type fuzzy controller for nonholonomic wheeled mobile robots,» Journal of King Saud University - Engineering Sciences, vol. 27, nº 1, pp. 92-100, 2015.
P. S, «Sensor Fusion for Mobile Robot Navigation: Fuzzy Associative Memory,» Procedia Engineering, vol. 41, pp. 251-256, 2012.
M. N. Al-Din y K. Tahboub, «A Neuro-Fuzzy Reasoning System for Mobile Robot Navigation,» Jordan Journal of Mechanical and Industrial Engineering, vol. 3, nº 1, pp. 77-88, 2009.
A. Alireza, M. H. Khooban y D. N. Maryam Abadi, «Teaching-learning-based optimal interval type-2 fuzzy PID controller design: A nonholonomic wheeled mobile robots,» Robotica, vol. 31, nº 7, pp. 1059-1071, 2013.
S. Hu, C. Cao y J. Pan, «Deep-learned pedestrian avoidance policy for robot navigation,» de 2017 IEEE International Conference on Robotics and Biomimetics (ROBIO), Macau, IEEE, 2017, pp. 338-343.
F. Aznar, M. Pujol y R. Rizo, «Obtaining fault tolerance avoidance behavior using deep reinforcement learning,» Neurocomputing, vol. 345, pp. 77-91, 2019.
P. K. Mohanty, A. K. Sah, V. Kumar y S. Kundu, «Application of Deep Q-Learning for Wheel Mobile Robot Navigation,» de 2017 3rd International Conference on Computational Intelligence and Networks (CINE), Odisha, IEEE, 2017, pp. 88-93.
A. V. Ngo, N. H. Viet, S. Lee y T. Chung, «Obstacle Avoidance Path Planning for Mobile Robot Based on Ant-Q Reinforcement Learning Algorithm,» de Advances in Neural Networks - ISNN 2007, Nanjing, Springer, 2007, pp. 704-713.
L. Huang, H. Qu, M. Fu y W. Deng, «Reinforcement Learning for Mobile Robot Obstacle Avoidance Under Dynamic Environments,» de PRICAI 2018: Trends in Artificial Intelligence, Nanjing, Springer, 2018, pp. 441-453.
Precision Agriculture, «Precision Agriculture,» 27 07 2018. [En línea]. Available: https://precisionagricultu.re/es/el-impacto-de-la-agricultura-de-precision/#:~:text=La%20sostenibilidad%20a%20trav%C3%A9s%20de,monitoreo%20remoto%20de%20la%20granja.. [Último acceso: 13 09 2020].
Bloomberg, «Agro Negocios,» 27 03 2019. [En línea]. Available: https://www.agronegocios.co/tecnologia/indice-de-confianza-en-tractores-autonomos-aun-no-es-tan-alto-como-se-esperaba-2844642. [Último acceso: 26 06 2019].
CONtexto ganadero, «Contexto Ganadero,» 24 07 2018. [En línea]. Available: https://www.contextoganadero.com/agricultura/futuro-del-agro-en-colombia-esta-en-la-agricultura-de-precision-andres-sanchez. [Último acceso: 12 09 2020].
H. Valdés Conroy, «Sostenibilidad,» 06 04 2017. [En línea]. Available: https://blogs.iadb.org/sostenibilidad/es/agricultura-de-precision-una-posible-respuesta-al-cambio-climatico-y-a-la-seguridad-alimentaria-pero-es-asequible-para-todos-2/. [Último acceso: 12 09 2018].
S. Fratini, «Agronegocios e industria de alimentos,» 31 08 2019. [En línea]. Available: https://agronegocios.uniandes.edu.co/2019/08/31/agricultura-de-precision-el-futuro-del-agro-colombiano/. [Último acceso: 12 09 2020].
Skymind, «AI Wiki,» 2019. [En línea]. Available: https://pathmind.com/wiki/deep-reinforcement-learning#define. [Último acceso: 2019 06 20].
D. Ortego Delgado, «Open Webinars,» 21 09 2017. [En línea]. Available: https://openwebinars.net/blog/que-es-ros/. [Último acceso: 25 06 2019].
Gazebo, «Gazebo,» 30 01 2019. [En línea]. Available: http://gazebosim.org/. [Último acceso: 25 06 2019].
S. Ray, «A Quick Review of Machine Learning Algorithms,» de 2019 International Conference on Machine Learning, Big Data, Cloud and Parallel Computing (COMITCon), Faridabad, IEEE, 2019, pp. 35-39.
R. Sutton y A. G. Barto, Reinforcement Learning, Cambridge: MIT Press, 2018, pp. 1-13.
Diatech, «Inteligencia Artificial,» [En línea]. Available: https://inteligenciaartificial.io/machine-learning/. [Último acceso: 2020 02 15].
Tech Talks, «Raona,» 28 04 2017. [En línea]. Available: https://www.raona.com/machine-learning-tipos-machine-learning/. [Último acceso: 16 02 2020].
J. Luna Gonzalez, «Medium,» 8 02 2018. [En línea]. Available: https://medium.com/soldai/tipos-de-aprendizaje-autom%C3%A1tico-6413e3c615e2. [Último acceso: 15 02 2020].
Mathworks, «Mathworks,» [En línea]. Available: https://www.mathworks.com/content/dam/mathworks/ebook/gated/reinforcement-learning-ebook-part1.pdf. [Último acceso: 17 02 2020].
E. Alpaydin, «Introduction to Machine Learning,» de Reinforcement Learning, MIT Press, 2010, pp. 447-474.
M. Merino, «Xataka,» 17 01 2019. [En línea]. Available: https://www.xataka.com/inteligencia-artificial/conceptos-inteligencia-artificial-que-aprendizaje-refuerzo. [Último acceso: 22 02 2020].
I. Prado, «Medium,» [En línea]. Available: https://medium.com/@YoSoyIsma/introducci%C3%B3n-y-conceptos-clave-de-aprendizaje-reforzado-reinforcement-learning-8769b3f6d0e8. [Último acceso: 2020 02 23].
M'Saad y M. Farza, «Output feedback control of a class of nonlinear systems,» de CCCA12, Marsella, 2012.
MathWorks, «MathWorks,» [En línea]. Available: https://www.mathworks.com/help/reinforcement-learning/ug/what-is-reinforcement-learning.html. [Último acceso: 20 03 2020].
«Quora,» [En línea]. Available: https://www.quora.com/What-is-an-easy-way-to-explain-online-vs-offline-machine-learning-to-a-machine-learning-novice. [Último acceso: 02 03 2020].
MathWorks, «MathWorks,» [En línea]. Available: https://la.mathworks.com/help/reinforcement-learning/ug/train-q-learning-agent-to-solve-basic-grid-world.html. [Último acceso: 05 09 2020].
R. López, «Rúben López Wordpress,» 12 05 2015. [En línea]. Available: https://rubenlopezg.wordpress.com/2015/05/12/q-learning-aprendizaje-automatico-por-refuerzo/. [Último acceso: 02 04 2020].
A. Parkinson, «Medium,» 2 12 2019. [En línea]. Available: https://medium.com/analytics-vidhya/the-epsilon-greedy-algorithm-for-reinforcement-learning-5fe6f96dc870. [Último acceso: 03 27 2020].
MathWorks, «MathWorks,» [En línea]. Available: https://www.mathworks.com/help/reinforcement-learning/ref/rlqagentoptions.html. [Último acceso: 27 03 2020].
MathWorks, «MathWorks,» [En línea]. Available: https://www.mathworks.com/help/reinforcement-learning/ug/q-agents.html. [Último acceso: 02 04 2020].
Y. Wang, J. Tong , T.-Y. Song y W. Zhang-Hong, «Unmanned Surface Vehicle Course Tracking Control Based on Neural Network and Deep Deterministic Policy Gradient Algorithm,» de 2018 OCEANS - MTS/IEEE Kobe Techno-Oceans (OTO), Kobe, 2018.
Y. Liu, W. Zhang, F. Chen y J. Li, «Path planning based on improved Deep Deterministic Policy Gradient algorithm,» de 2019 IEEE 3rd Information Technology, Networking, Electronic and Automation Control Conference (ITNEC), Chengdu, 2019.
C. Yoon, «Towards Data Science,» 05 02 2019. [En línea]. Available: https://towardsdatascience.com/understanding-actor-critic-methods-931b97b6df3f. [Último acceso: 05 05 2020].
K. Vijay y J. Tsitsiklis, «Actor-Critic Algorithms,» Siam Journal on Control & Optimization, vol. 42, nº 4, pp. 1143-1166, 2003.
MathWorks, «MathWorks,» [En línea]. Available: https://www.mathworks.com/help/reinforcement-learning/ug/create-policy-and-value-function-representations.html. [Último acceso: 10 05 2020].
P. Yue, J. Xin, H. Zhao, D. Liu, M. Shan y J. Zhang, «Experimental Research on Deep Reinforcement Learning in Autonomous navigation of Mobile Robot,» de 2019 14th IEEE Conference on Industrial Electronics and Applications (ICIEA), Xian, IEEE, 2019, pp. 1612-1616.
S.-H. Han, H.-J. Choi, P. Benz y J. Loaciga, «Sensor-Based Mobile Robot Navigation via Deep Reinforcement Learning,» de 2018 IEEE International Conference on Big Data and Smart Computing (BigComp), Shanghai, IEEE, 2018, pp. 147-154.
P. Wang, H. Li y C.-Y. Chan, «Continuous Control for Automated Lane Change Behavior Based on Deep Deterministic Policy Gradient Algorithm,» de 2019 IEEE Intelligent Vehicles Symposium (IV), Paris, 2019.
MathWorks, «MathWorks,» [En línea]. Available: https://www.mathworks.com/help/reinforcement-learning/ref/rlddpgagentoptions.html. [Último acceso: 25 05 2020].
«StackExchange,» [En línea]. Available: https://ai.stackexchange.com/questions/11640/how-large-should-the-replay-buffer-be. [Último acceso: 27 05 2020].
T. Haarnoja, A. Zhou, P. Abbel y S. Levine, «Soft Actor-Critic: Off-Policy Maximum Entropy Deep Reinforcement Learning with a Stochastic Actor,» de ICML 2018, Computer Science, Mathematics, 2018.
MathWorks, «MathWorks,» [En línea]. Available: https://www.mathworks.com/help/reinforcement-learning/ug/ddpg-agents.html. [Último acceso: 02 06 2020].
J. Brownlee, «Machine Learning Mastery,» 28 01 20198. [En línea]. Available: https://machinelearningmastery.com/loss-and-loss-functions-for-training-deep-learning-neural-networks/. [Último acceso: 23 05 2020].
J. Hui, «Medium,» 12 09 2018. [En línea]. Available: https://medium.com/@jonathan_hui/rl-policy-gradients-explained-9b13b688b146. [Último acceso: 02 06 2020].
G. Zuo, T. Du y J. Lu, « Double DQN Method For Object Detection,» de Chinese Automation Congress (CAC), Jinan, IEEE, 2017, pp. 6727-6732.
MathWorks, «MathWorks,» [En línea]. Available: https://www.mathworks.com/help/reinforcement-learning/ug/dqn-agents.html. [Último acceso: 17 06 2020].
S. Zhou , X. Liu, X. Yingfu y J. Guo, «A Deep Q-network (DQN) Based Path Planning Method for Mobile Robots,» de International Conference on Information and Automation, Wuyishan, IEEE, 2018, pp. 366-371.
«GitHub,» 31 05 2019. [En línea]. Available: https://github.com/mario-serna/pioneer_p3dx_model. [Último acceso: 09 09 2020].
National Instruments, «National Instruments,» 14 05 2020. [En línea]. Available: https://www.ni.com/es-co/innovations/white-papers/17/what-is-hardware-in-the-loop-.html. [Último acceso: 07 08 2020].
MathWorks, «MathWorks,» [En línea]. Available: https://www.mathworks.com/help/reinforcement-learning/ug/create-simulink-environment-and-train-agent.html. [Último acceso: 19 04 2020].
dc.rights.uri.*.fl_str_mv http://creativecommons.org/licenses/by-nc-nd/4.0/
dc.rights.accessrights.none.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.creativecommons.*.fl_str_mv Attribution-NonCommercial-NoDerivatives 4.0 International
dc.rights.local.spa.fl_str_mv Acceso abierto
dc.rights.coar.none.fl_str_mv http://purl.org/coar/access_right/c_abf2
rights_invalid_str_mv http://creativecommons.org/licenses/by-nc-nd/4.0/
Attribution-NonCommercial-NoDerivatives 4.0 International
Acceso abierto
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.mimetype.spa.fl_str_mv applicaction/pdf
dc.coverage.sede.spa.fl_str_mv Calle 100
dc.publisher.program.spa.fl_str_mv Ingeniería en Mecatrónica
dc.publisher.faculty.spa.fl_str_mv Facultad de Ingeniería
dc.publisher.grantor.spa.fl_str_mv Universidad Militar Nueva Granada
institution Universidad Militar Nueva Granada
bitstream.url.fl_str_mv https://repository.umng.edu.co/bitstreams/b8a718a7-9ee7-4372-a17a-aba4b2d46eb7/download
https://repository.umng.edu.co/bitstreams/8224f71f-0e5e-4cfd-a9b5-ed66d87e7c3d/download
https://repository.umng.edu.co/bitstreams/42f3057b-1d25-45af-aa85-707f1d81b3e5/download
bitstream.checksum.fl_str_mv 4d087683e9667367729c8270010138bf
a609d7e369577f685ce98c66b903b91b
363607452aa2d4c744ea2d2395290d99
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Institucional UMNG
repository.mail.fl_str_mv bibliodigital@unimilitar.edu.co
_version_ 1851052825413419008
spelling Solaque Guzman, Leonardo EnriqueVelasco Vivas, Alexandra ElizabethNavarro León, Cristian MauricioIngeniero en Mecatrónica2020-12-22T03:04:25Z2020-12-22T03:04:25Z2020-12-01https://hdl.handle.net/10654/37321instname:Universidad Militar Nueva Granadareponame:Repositorio Institucional Universidad Militar Nueva Granadarepourl:https://repository.umng.edu.coEn este trabajo, se realizó el diseño y simulación de un controlador de desplazamiento mediante aprendizaje por refuerzo, que permite a una plataforma en configuración diferencial la navegación en un entorno desconocido. Se presenta una aproximación gradual a la plataforma diferencial Ceres-Agrobot a partir de la navegación en una cuadrícula y el control de nivel en un modelo dinámico para luego realizar la implementación de dos técnicas de aprendizaje por refuerzo sobre el modelo dinámico de la plataforma. Se implementa una simulación haciendo uso de ROS y Gazebo para validar el comportamiento de las señales de control generadas por el controlador, dichas señales son aplicadas sobre el modelo dinámico de la plataforma diferencial Pioneer 3DX en Gazebo. Los resultados evidencian la capacidad del aprendizaje por refuerzo de parametrizar sobre la marcha, el proceso de toma de decisiones en una plataforma diferencial en función del objetivo a cumplir de la navegación.In this work, the design and simulation of a displacement controller was carried out through reinforcement learning, which allows a platform in differential configuration to navigate in an unknown environment. A gradual approach to the Ceres-Agrobot differential platform is presented from the navigation in a grid and the level control in a dynamic model to then carry out the implementation of two reinforcement learning techniques on the dynamic model of the platform. A simulation is implemented using ROS and Gazebo to validate the behavior of the control signals generated by the controller, these signals are applied on the dynamic model of the Pioneer 3DX differential platform in Gazebo. The results show the capacity of reinforcement learning to parameterize on the fly, the decision-making process in a differential platform based on the objective to be met in navigation.1. PROBLEMA 12 1.1. Descripción 12 1.2. Planteamiento 13 2. OBJETIVOS 13 2.1. Objetivo General 13 2.2. Objetivos Específicos 13 3. ANTECEDENTES 14 4. JUSTIFICACIÓN 17 5. MARCO TEORICO 18 5.1. Aprendizaje Automático (Machine Learning) 19 5.1.1 Aprendizaje supervisado: 19 5.1.2 Aprendizaje no supervisado: 19 5.2. Aprendizaje por Refuerzo (Reinforcement Learning - RL) 20 5.2.1 Elementos del aprendizaje por refuerzo 21 5.2.2 La política y la recompensa 21 5.2.3 Analogía al control convencional 22 6. DESARROLLO 23 6.1. Aproximación RL en 2D Grid (Q-LEARNING) 24 6.1.1 Creación del entorno 24 6.1.2 Creación del agente 27 6.1.3 Entrenamiento 28 6.1.4 Resultados 29 6.1.5 Validación 30 6.2. Aproximación RL usando modelos dinámicos (Tanque de nivel) 31 6.2.1 Creación del entorno 31 6.2.2 Creación del agente 35 6.2.2.1 Critico 36 6.2.2.2 Actor 38 6.2.2.3 Agente 40 6.2.3 Entrenamiento 41 6.2.4 Resultados 43 6.2.5 Validación 44 6.3. Implementación modelo dinámico CERES con control PID para evasión de obstáculos usando DDPG 46 6.3.1 Creación del entorno 47 6.3.2 Creación del agente 54 6.3.2.1 Crítico 54 6.3.2.2 Actor 56 6.3.2.3 Agente 58 6.3.3 Entrenamiento 59 6.3.4 Resultados 60 6.3.5 Validación 60 6.4. Implementación modelo dinámico CERES con control PID para navegación usando DQN 65 6.4.1 Creación del entorno 66 6.4.2 Creación del agente: 73 6.4.2.1 Critico 73 6.4.2.2 Agente 75 6.4.3 Entrenamiento 75 6.4.4 Resultados 77 6.4.5 Validación 78 6.5. Simulación agente DQN usando modelo dinámico PIONEER 3DX sobre ROS y GAZEBO 81 6.5.1 Implementación del Pioneer 3DX y creación del entorno 82 6.5.2 Creación red ROS y envío señales de control 84 6.5.3 Validación trayectoria generada por el agente y ejecutada en Gazebo 85 7. CONCLUSIONES 87 8. BIBLIOGRAFÍA 88Pregradoapplicaction/pdfspahttp://creativecommons.org/licenses/by-nc-nd/4.0/info:eu-repo/semantics/openAccessAttribution-NonCommercial-NoDerivatives 4.0 InternationalAcceso abiertohttp://purl.org/coar/access_right/c_abf2Control de desplazamiento con evasión de obstáculos para un robot móvil en configuración diferencial, usando técnicas de inteligencia artificialDisplacement control with obstacle avoidance for a mobile robot in differential configuration, using artificial intelligence techniquesINTELIGENCIA ARTIFICIALROBOTICAInteligencia artificialAprendizaje por refuerzoRobotica movilPlataforma diferencialCERES-AgrobotPioneer-3DXMatLABROSGazeboArtificial intelligenceReinforcement learningMobile roboticsDifferential platformCERES-AgrobotPioneer-3DXMatLABROSGazeboTesis/Trabajo de grado - Monografía - Pregradoinfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fIngeniería en MecatrónicaFacultad de IngenieríaUniversidad Militar Nueva GranadaD. Matus, «Digital Trends,» 11 01 2018. [En línea]. Available: https://es.digitaltrends.com/autos/autos-autonomos-ces-2018/. [Último acceso: 25 06 2019].Syngenta, «Syngenta Colombia,» 12 01 2018. [En línea]. Available: http://www.syngenta.com.co/news/noticias/robots-en-el-campo. [Último acceso: 25 05 2019].P. Long , L. Wenxiu y P. Jia, «Deep-Learned Collision Avoidance Policy for Distributed Multi-Agent Navigation,» IEEE Robotics and Automation Letters, vol. 2, nº 2, pp. 656-663, 2017.A. Barrientos y J. del Cerro, «Interempresas,» 24 02 2016. [En línea]. Available: http://www.interempresas.net/Horticola/Articulos/151745-El-uso-de-robots-en-tareas-agricolas.html. [Último acceso: 26 06 2019].L. Cancar , D. Sanz , J. D. Hernandez Vega y J. del Cerro, «Precision Humidity and Temperature Measuring in Farming Using Newer Ground Mobile Robots,» de ROBOT2013: First Iberian Robotics Conference: Advances in Robotics, Springer International Publishing, 2013, pp. 443-456.L. Tai, S. Li y M. Liu, «A deep-network solution towards model-less obstacle avoidance,» de 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Daejeon, IEEE, 2016, pp. 2759-2764.P. Robher, «Autonomous Driving: How Much Autonomy Driving Does Stand,» ATZelectronics worldwide, vol. 2, pp. 26-29, 2015.J. Ibañez-Guzman, C. Laugier, J.-D. Yoder y S. Thrun, «Autonomous Driving: Context and State-of-the-Art,» de Handbook of Intelligent Vehicles, Londres, Springer, 2012, pp. 1271-1310.R. Álvarez, «Zataka,» 7 11 2017. [En línea]. Available: https://www.xataka.com/automovil/el-coche-autonomo-de-google-waymo-se-vuelve-completamente-autonomo-y-por-primera-vez-sale-a-la-calle-sin-conductor. [Último acceso: 22 01 2019].W. Xinglong, Y. Cao, Z. Zhao y Y. Yan, «Deep Reinforcement Learning Based Collision Avoidance Algorithm for Differential Drive Robot,» de Intelligent Robotics and Applications, Newcastle, Springer, 2018, pp. 186-198.J. C. Lopez, «Xataka,» 09 03 2018. [En línea]. Available: https://www.xataka.com/automovil/donde-esta-realmente-el-coche-autonomo-a-dia-de-hoy-y-que-han-prometido-las-marcas-en-el-salon-de-ginebra-para-el-futuro. [Último acceso: 22 01 2019].B. Paden , M. Cap, S. Z. Yong, D. Yershov y E. Frazzoli, «A Survey of Motion Planning and Control Techniques for Self-driving Urban Vehicles,» IEEE Transactions on Intelligent Vehicles, vol. 1, nº 1, pp. 33-35, 2016.J.-R. Xue, J.-W. Fang y Z. Pu, «A Survey of Scene Understanding by Event Reasoning in Autonomous Driving,» International Journal of Automation and Computing, pp. 249-266, 18 04 2018.Q. Tran y J. Firl, «Modelling of traffic situations at urban intersections with probabilistic non-parametric regression,» de 2013 IEEE Intelligent Vehicles Symposium (IV), Gold Coast, IEEE, 2013, pp. 334-339.M. Alexis, «The Atlantic,» 15 05 2014. [En línea]. Available: https://www.theatlantic.com/technology/archive/2014/05/all-the-world-a-track-the-trick-that-makes-googles-self-driving-cars-work/370871/. [Último acceso: 14 04 2019].D. N. Maryam Abadi y M. H. Khooban, «Design of optimal Mamdani-type fuzzy controller for nonholonomic wheeled mobile robots,» Journal of King Saud University - Engineering Sciences, vol. 27, nº 1, pp. 92-100, 2015.P. S, «Sensor Fusion for Mobile Robot Navigation: Fuzzy Associative Memory,» Procedia Engineering, vol. 41, pp. 251-256, 2012.M. N. Al-Din y K. Tahboub, «A Neuro-Fuzzy Reasoning System for Mobile Robot Navigation,» Jordan Journal of Mechanical and Industrial Engineering, vol. 3, nº 1, pp. 77-88, 2009.A. Alireza, M. H. Khooban y D. N. Maryam Abadi, «Teaching-learning-based optimal interval type-2 fuzzy PID controller design: A nonholonomic wheeled mobile robots,» Robotica, vol. 31, nº 7, pp. 1059-1071, 2013.S. Hu, C. Cao y J. Pan, «Deep-learned pedestrian avoidance policy for robot navigation,» de 2017 IEEE International Conference on Robotics and Biomimetics (ROBIO), Macau, IEEE, 2017, pp. 338-343.F. Aznar, M. Pujol y R. Rizo, «Obtaining fault tolerance avoidance behavior using deep reinforcement learning,» Neurocomputing, vol. 345, pp. 77-91, 2019.P. K. Mohanty, A. K. Sah, V. Kumar y S. Kundu, «Application of Deep Q-Learning for Wheel Mobile Robot Navigation,» de 2017 3rd International Conference on Computational Intelligence and Networks (CINE), Odisha, IEEE, 2017, pp. 88-93.A. V. Ngo, N. H. Viet, S. Lee y T. Chung, «Obstacle Avoidance Path Planning for Mobile Robot Based on Ant-Q Reinforcement Learning Algorithm,» de Advances in Neural Networks - ISNN 2007, Nanjing, Springer, 2007, pp. 704-713.L. Huang, H. Qu, M. Fu y W. Deng, «Reinforcement Learning for Mobile Robot Obstacle Avoidance Under Dynamic Environments,» de PRICAI 2018: Trends in Artificial Intelligence, Nanjing, Springer, 2018, pp. 441-453.Precision Agriculture, «Precision Agriculture,» 27 07 2018. [En línea]. Available: https://precisionagricultu.re/es/el-impacto-de-la-agricultura-de-precision/#:~:text=La%20sostenibilidad%20a%20trav%C3%A9s%20de,monitoreo%20remoto%20de%20la%20granja.. [Último acceso: 13 09 2020].Bloomberg, «Agro Negocios,» 27 03 2019. [En línea]. Available: https://www.agronegocios.co/tecnologia/indice-de-confianza-en-tractores-autonomos-aun-no-es-tan-alto-como-se-esperaba-2844642. [Último acceso: 26 06 2019].CONtexto ganadero, «Contexto Ganadero,» 24 07 2018. [En línea]. Available: https://www.contextoganadero.com/agricultura/futuro-del-agro-en-colombia-esta-en-la-agricultura-de-precision-andres-sanchez. [Último acceso: 12 09 2020].H. Valdés Conroy, «Sostenibilidad,» 06 04 2017. [En línea]. Available: https://blogs.iadb.org/sostenibilidad/es/agricultura-de-precision-una-posible-respuesta-al-cambio-climatico-y-a-la-seguridad-alimentaria-pero-es-asequible-para-todos-2/. [Último acceso: 12 09 2018].S. Fratini, «Agronegocios e industria de alimentos,» 31 08 2019. [En línea]. Available: https://agronegocios.uniandes.edu.co/2019/08/31/agricultura-de-precision-el-futuro-del-agro-colombiano/. [Último acceso: 12 09 2020].Skymind, «AI Wiki,» 2019. [En línea]. Available: https://pathmind.com/wiki/deep-reinforcement-learning#define. [Último acceso: 2019 06 20].D. Ortego Delgado, «Open Webinars,» 21 09 2017. [En línea]. Available: https://openwebinars.net/blog/que-es-ros/. [Último acceso: 25 06 2019].Gazebo, «Gazebo,» 30 01 2019. [En línea]. Available: http://gazebosim.org/. [Último acceso: 25 06 2019].S. Ray, «A Quick Review of Machine Learning Algorithms,» de 2019 International Conference on Machine Learning, Big Data, Cloud and Parallel Computing (COMITCon), Faridabad, IEEE, 2019, pp. 35-39.R. Sutton y A. G. Barto, Reinforcement Learning, Cambridge: MIT Press, 2018, pp. 1-13.Diatech, «Inteligencia Artificial,» [En línea]. Available: https://inteligenciaartificial.io/machine-learning/. [Último acceso: 2020 02 15].Tech Talks, «Raona,» 28 04 2017. [En línea]. Available: https://www.raona.com/machine-learning-tipos-machine-learning/. [Último acceso: 16 02 2020].J. Luna Gonzalez, «Medium,» 8 02 2018. [En línea]. Available: https://medium.com/soldai/tipos-de-aprendizaje-autom%C3%A1tico-6413e3c615e2. [Último acceso: 15 02 2020].Mathworks, «Mathworks,» [En línea]. Available: https://www.mathworks.com/content/dam/mathworks/ebook/gated/reinforcement-learning-ebook-part1.pdf. [Último acceso: 17 02 2020].E. Alpaydin, «Introduction to Machine Learning,» de Reinforcement Learning, MIT Press, 2010, pp. 447-474.M. Merino, «Xataka,» 17 01 2019. [En línea]. Available: https://www.xataka.com/inteligencia-artificial/conceptos-inteligencia-artificial-que-aprendizaje-refuerzo. [Último acceso: 22 02 2020].I. Prado, «Medium,» [En línea]. Available: https://medium.com/@YoSoyIsma/introducci%C3%B3n-y-conceptos-clave-de-aprendizaje-reforzado-reinforcement-learning-8769b3f6d0e8. [Último acceso: 2020 02 23].M'Saad y M. Farza, «Output feedback control of a class of nonlinear systems,» de CCCA12, Marsella, 2012.MathWorks, «MathWorks,» [En línea]. Available: https://www.mathworks.com/help/reinforcement-learning/ug/what-is-reinforcement-learning.html. [Último acceso: 20 03 2020].«Quora,» [En línea]. Available: https://www.quora.com/What-is-an-easy-way-to-explain-online-vs-offline-machine-learning-to-a-machine-learning-novice. [Último acceso: 02 03 2020].MathWorks, «MathWorks,» [En línea]. Available: https://la.mathworks.com/help/reinforcement-learning/ug/train-q-learning-agent-to-solve-basic-grid-world.html. [Último acceso: 05 09 2020].R. López, «Rúben López Wordpress,» 12 05 2015. [En línea]. Available: https://rubenlopezg.wordpress.com/2015/05/12/q-learning-aprendizaje-automatico-por-refuerzo/. [Último acceso: 02 04 2020].A. Parkinson, «Medium,» 2 12 2019. [En línea]. Available: https://medium.com/analytics-vidhya/the-epsilon-greedy-algorithm-for-reinforcement-learning-5fe6f96dc870. [Último acceso: 03 27 2020].MathWorks, «MathWorks,» [En línea]. Available: https://www.mathworks.com/help/reinforcement-learning/ref/rlqagentoptions.html. [Último acceso: 27 03 2020].MathWorks, «MathWorks,» [En línea]. Available: https://www.mathworks.com/help/reinforcement-learning/ug/q-agents.html. [Último acceso: 02 04 2020].Y. Wang, J. Tong , T.-Y. Song y W. Zhang-Hong, «Unmanned Surface Vehicle Course Tracking Control Based on Neural Network and Deep Deterministic Policy Gradient Algorithm,» de 2018 OCEANS - MTS/IEEE Kobe Techno-Oceans (OTO), Kobe, 2018.Y. Liu, W. Zhang, F. Chen y J. Li, «Path planning based on improved Deep Deterministic Policy Gradient algorithm,» de 2019 IEEE 3rd Information Technology, Networking, Electronic and Automation Control Conference (ITNEC), Chengdu, 2019.C. Yoon, «Towards Data Science,» 05 02 2019. [En línea]. Available: https://towardsdatascience.com/understanding-actor-critic-methods-931b97b6df3f. [Último acceso: 05 05 2020].K. Vijay y J. Tsitsiklis, «Actor-Critic Algorithms,» Siam Journal on Control & Optimization, vol. 42, nº 4, pp. 1143-1166, 2003.MathWorks, «MathWorks,» [En línea]. Available: https://www.mathworks.com/help/reinforcement-learning/ug/create-policy-and-value-function-representations.html. [Último acceso: 10 05 2020].P. Yue, J. Xin, H. Zhao, D. Liu, M. Shan y J. Zhang, «Experimental Research on Deep Reinforcement Learning in Autonomous navigation of Mobile Robot,» de 2019 14th IEEE Conference on Industrial Electronics and Applications (ICIEA), Xian, IEEE, 2019, pp. 1612-1616.S.-H. Han, H.-J. Choi, P. Benz y J. Loaciga, «Sensor-Based Mobile Robot Navigation via Deep Reinforcement Learning,» de 2018 IEEE International Conference on Big Data and Smart Computing (BigComp), Shanghai, IEEE, 2018, pp. 147-154.P. Wang, H. Li y C.-Y. Chan, «Continuous Control for Automated Lane Change Behavior Based on Deep Deterministic Policy Gradient Algorithm,» de 2019 IEEE Intelligent Vehicles Symposium (IV), Paris, 2019.MathWorks, «MathWorks,» [En línea]. Available: https://www.mathworks.com/help/reinforcement-learning/ref/rlddpgagentoptions.html. [Último acceso: 25 05 2020].«StackExchange,» [En línea]. Available: https://ai.stackexchange.com/questions/11640/how-large-should-the-replay-buffer-be. [Último acceso: 27 05 2020].T. Haarnoja, A. Zhou, P. Abbel y S. Levine, «Soft Actor-Critic: Off-Policy Maximum Entropy Deep Reinforcement Learning with a Stochastic Actor,» de ICML 2018, Computer Science, Mathematics, 2018.MathWorks, «MathWorks,» [En línea]. Available: https://www.mathworks.com/help/reinforcement-learning/ug/ddpg-agents.html. [Último acceso: 02 06 2020].J. Brownlee, «Machine Learning Mastery,» 28 01 20198. [En línea]. Available: https://machinelearningmastery.com/loss-and-loss-functions-for-training-deep-learning-neural-networks/. [Último acceso: 23 05 2020].J. Hui, «Medium,» 12 09 2018. [En línea]. Available: https://medium.com/@jonathan_hui/rl-policy-gradients-explained-9b13b688b146. [Último acceso: 02 06 2020].G. Zuo, T. Du y J. Lu, « Double DQN Method For Object Detection,» de Chinese Automation Congress (CAC), Jinan, IEEE, 2017, pp. 6727-6732.MathWorks, «MathWorks,» [En línea]. Available: https://www.mathworks.com/help/reinforcement-learning/ug/dqn-agents.html. [Último acceso: 17 06 2020].S. Zhou , X. Liu, X. Yingfu y J. Guo, «A Deep Q-network (DQN) Based Path Planning Method for Mobile Robots,» de International Conference on Information and Automation, Wuyishan, IEEE, 2018, pp. 366-371.«GitHub,» 31 05 2019. [En línea]. Available: https://github.com/mario-serna/pioneer_p3dx_model. [Último acceso: 09 09 2020].National Instruments, «National Instruments,» 14 05 2020. [En línea]. Available: https://www.ni.com/es-co/innovations/white-papers/17/what-is-hardware-in-the-loop-.html. [Último acceso: 07 08 2020].MathWorks, «MathWorks,» [En línea]. Available: https://www.mathworks.com/help/reinforcement-learning/ug/create-simulink-environment-and-train-agent.html. [Último acceso: 19 04 2020].Calle 100ORIGINALNavarroLeonCristianMauricio2020.pdfNavarroLeonCristianMauricio2020.pdfTrabajo de gradoapplication/pdf2725841https://repository.umng.edu.co/bitstreams/b8a718a7-9ee7-4372-a17a-aba4b2d46eb7/download4d087683e9667367729c8270010138bfMD51LICENSElicense.txtlicense.txttext/plain; charset=utf-83420https://repository.umng.edu.co/bitstreams/8224f71f-0e5e-4cfd-a9b5-ed66d87e7c3d/downloada609d7e369577f685ce98c66b903b91bMD52THUMBNAILNavarroLeonCristianMauricio2020.pdf.jpgNavarroLeonCristianMauricio2020.pdf.jpgIM Thumbnailimage/jpeg5709https://repository.umng.edu.co/bitstreams/42f3057b-1d25-45af-aa85-707f1d81b3e5/download363607452aa2d4c744ea2d2395290d99MD5310654/37321oai:repository.umng.edu.co:10654/373212020-12-27 01:24:45.103http://creativecommons.org/licenses/by-nc-nd/4.0/open.accesshttps://repository.umng.edu.coRepositorio Institucional UMNGbibliodigital@unimilitar.edu.coRWwgYXV0b3IgZGUgbGEgb2JyYSAodGVzaXMsIG1vbm9ncmFmw61hLCB0cmFiYWpvIGRlIGdyYWRvIG8gY3VhbHF1aWVyIG90cm8gZG9jdW1lbnRvCmNvbiBjYXLDoWN0ZXIgYWNhZMOpbWljbyksIGFjdHVhbmRvIGVuIG5vbWJyZSBwcm9waW8sIGhhY2UgZW50cmVnYSBkZWwgZWplbXBsYXIgcmVzcGVjdGl2bwp5IGRlIHN1cyBhbmV4b3MgZW4gZm9ybWF0byBkaWdpdGFsIG8gZWxlY3Ryw7NuaWNvLgoKRUwgRVNUVURJQU5URSAtIEFVVE9SLCBtYW5pZmllc3RhIHF1ZSBsYSBvYnJhIG9iamV0byBkZSBsYSBwcmVzZW50ZSBhdXRvcml6YWNpw7NuCmVzIG9yaWdpbmFsIHkgbGEgcmVhbGl6w7Mgc2luIHZpb2xhciBvIHVzdXJwYXIgZGVyZWNob3MgZGUgYXV0b3IgZGUgdGVyY2Vyb3MsIHBvcgpsbyB0YW50bywgbGEgb2JyYSBlcyBkZSBleGNsdXNpdmEgYXV0b3LDrWEgeSB0aWVuZSBsYSB0aXR1bGFyaWRhZCBzb2JyZSBsYSBtaXNtYS4KCkVuIGNhc28gZGUgcHJlc2VudGFyc2UgY3VhbHF1aWVyIHJlY2xhbWFjacOzbiBvIGFjY2nDs24gcG9yIHBhcnRlIGRlIHVuIHRlcmNlcm8gZW4KY3VhbnRvIGEgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIHNvYnJlIGxhIG9icmEgZW4gY3Vlc3Rpw7NuLCBFTCBFU1RVRElBTlRFIC0gQVVUT1IsCmFzdW1pcsOhIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkLCB5IHNhbGRyw6EgZW4gZGVmZW5zYSBkZSBsb3MgZGVyZWNob3MgYXF1w60gYXV0b3JpemFkb3M7CnBhcmEgdG9kb3MgbG9zIGVmZWN0b3MgbGEgdW5pdmVyc2lkYWQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCkFkZW3DoXMsICJMQSBVTklWRVJTSURBRCBNSUxJVEFSIE5VRVZBIEdSQU5BREEgY29tbyBpbnN0aXR1Y2nDs24gcXVlIGFsbWFjZW5hLCB5CnJlY29sZWN0YSBkYXRvcyBwZXJzb25hbGVzLCBhdGVuZGllbmRvIGxvIHByZWNlcHR1YWRvIGVuIGxhIGxleSAxNTgxIGRlIDIwMTIgeSBlbApEZWNyZXRvIDEzNzcgZGUgMjAxMywgcXVlIGRlc2Fycm9sbGFuIGVsIHByaW5jaXBpbyBjb25zdGl0dWNpb25hbCBxdWUgdGllbmVuIHRvZGFzCmxhcyBwZXJzb25hcyBhIGNvbm9jZXIsIGFjdHVhbGl6YXIgeSByZWN0aWZpY2FyIHRvZG8gdGlwbyBkZSBpbmZvcm1hY2nDs24gcmVjb2dpZGEKbywgcXVlIGhheWEgc2lkbyBvYmpldG8gZGUgdHJhdGFtaWVudG8gZGUgZGF0b3MgcGVyc29uYWxlcyBlbiBiYW5jb3MgbyBiYXNlcyBkZQpkYXRvcyB5IGVuIGdlbmVyYWwgZW4gYXJjaGl2b3MgZGUgZW50aWRhZGVzIHDDumJsaWNhcyBvIHByaXZhZGFzLCByZXF1aWVyZSBvYnRlbmVyCnN1IGF1dG9yaXphY2nDs24sIHBhcmEgcXVlLCBkZSBtYW5lcmEgbGlicmUsIHByZXZpYSwgZXhwcmVzYSwgdm9sdW50YXJpYSwgeQpkZWJpZGFtZW50ZSBpbmZvcm1hZGEsIHBlcm1pdGEgYSB0b2RhcyBudWVzdHJhcyBkZXBlbmRlbmNpYXMgYWNhZMOpbWljYXMgeQphZG1pbmlzdHJhdGl2YXMsIHJlY29sZWN0YXIsIHJlY2F1ZGFyLCBhbG1hY2VuYXIsIHVzYXIsIGNpcmN1bGFyLCBzdXByaW1pciwgcHJvY2VzYXIsCmNvbXBpbGFyLCBpbnRlcmNhbWJpYXIsIGRhciB0cmF0YW1pZW50bywgYWN0dWFsaXphciB5IGRpc3BvbmVyIGRlIGxvcyBkYXRvcyBxdWUKaGFuIHNpZG8gc3VtaW5pc3RyYWRvcyB5IHF1ZSBzZSBoYW4gaW5jb3Jwb3JhZG8gZW4gbnVlc3RyYXMgYmFzZXMgbyBiYW5jb3MgZGUKZGF0b3MsIG8gZW4gcmVwb3NpdG9yaW9zIGVsZWN0csOzbmljb3MgZGUgdG9kbyB0aXBvIGNvbiBxdWUgY3VlbnRhIGxhIFVuaXZlcnNpZGFkLgoKRXN0YSBpbmZvcm1hY2nDs24gZXMgeSBzZXLDoSB1dGlsaXphZGEgZW4gZWwgZGVzYXJyb2xsbyBkZSBsYXMgZnVuY2lvbmVzIHByb3BpYXMgZGUKbGEgVW5pdmVyc2lkYWQgZW4gc3UgY29uZGljacOzbiBkZSBpbnN0aXR1Y2nDs24gZGUgZWR1Y2FjacOzbiBzdXBlcmlvciwgZGUgZm9ybWEKZGlyZWN0YSBvIGEgdHJhdsOpcyBkZSB0ZXJjZXJvcyIuCgpTaSBzdSBkb2N1bWVudG8gZXMgZGUgYWNjZXNvIHJlc3RyaW5naWRvICwgc3UgdHJhYmFqbyBzZSBkZXBvc2l0YXLDoSBlbiBlbApSZXBvc2l0b3JpbyBVTU5HIMO6bmljYW1lbnRlIGNvbiBwcm9ww7NzaXRvcyBkZSBwcmVzZXJ2YWNpw7NuIGRvY3VtZW50YWwgeSBtZW1vcmlhCmluc3RpdHVjaW9uYWwsIGVudGVuZGllbmRvIHF1ZSwgc2Vyw6EgY29uc3VsdGFkbyBkZSBmb3JtYSBjb250cm9sYWRhIHNvbGFtZW50ZSBwb3IKbGEgY29tdW5pZGFkIE5lb2dyYW5hZGluYS4KClNpIHN1IGRvY3VtZW50byBlcyBkZSBhY2Nlc28gYWJpZXJ0bywgcGFyYSBwZXJtaXRpciBhbCBSZXBvc2l0b3JpbyBVTU5HIHJlcHJvZHVjaXIsCnRyYWR1Y2lyIHkgZGlzdHJpYnVpciBzdSBlbnbDrW8gYSB0cmF2w6lzIGRlbCBtdW5kbywgbmVjZXNpdGFtb3Mgc3UgY29uZm9ybWlkYWQgZW4KbG9zIHNpZ3VpZW50ZXMgdMOpcm1pbm9zOgoKWSBhdXRvcml6YSBhIGxhIFVOSVZFUlNJREFEIE1JTElUQVIgTlVFVkEgR1JBTkFEQSwgcGFyYSBxdWUgZW4gbG9zIHTDqXJtaW5vcwplc3RhYmxlY2lkb3MgZW46CgpMZXkgMjMgZGUgMTk4Mi0gTGV5IDQ0IGRlIDE5OTMgLUxleSAxOTE1IGRlIDIwMTggLSBEZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLQpEZWNyZXRvIDQ2MCBkZSAxOTk1IHkgZGVtw6FzIG5vcm1hcyBnZW5lcmFsZXMgc29icmUgbGEgbWF0ZXJpYSwgdXRpbGljZSB5IHVzZSBwb3IKY3VhbHF1aWVyIG1lZGlvIGNvbm9jaWRvIG8gcG9yIGNvbm9jZXIsIGxvcyBkZXJlY2hvcyBwYXRyaW1vbmlhbGVzIGRlIHJlcHJvZHVjY2nDs24sCmNvbXVuaWNhY2nDs24gcMO6YmxpY2EsIHRyYW5zZm9ybWFjacOzbiB5IGRpc3RyaWJ1Y2nDs24gZGUgbGEgb2JyYSBvYmpldG8gZGVsIHByZXNlbnRlCmRvY3VtZW50by4KCkxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gc2UgaGFjZSBleHRlbnNpdmEgbm8gc8OzbG8gYSBsYXMgZmFjdWx0YWRlcyB5IGRlcmVjaG9zIGRlCnVzbyBzb2JyZSBsYSBvYnJhIGVuIGZvcm1hdG8gbyBzb3BvcnRlIG1hdGVyaWFsLCBzaW5vIHRhbWJpw6luIHBhcmEgZm9ybWF0byB2aXJ0dWFsLAplbGVjdHLDs25pY28sIGRpZ2l0YWwsIHkgY3V5byB1c28gc2UgZGUgZW4gcmVkLCBpbnRlcm5ldCwgZXh0cmFuZXQsIGludHJhbmV0LCBldGMuLAp5IGVuIGdlbmVyYWwgZW4gY3VhbHF1aWVyIGZvcm1hdG8gY29ub2NpZG8gbyBwb3IgY29ub2Nlci4KClNpIHRpZW5lIGFsZ3VuYSBkdWRhIHNvYnJlIGxvcyBUw6lybWlub3MgeSBjb25kaWNpb25lcywgcG9yIGZhdm9yLCBjb250YWN0ZSBjb24gZWwKYWRtaW5pc3RyYWRvciBkZWwgc2lzdGVtYSBiaWJsaW9kaWdpdGFsQHVuaW1pbGl0YXIuZWR1LmNvCgpBY2VwdGUgVMOpcm1pbm9zIHkgY29uZGljaW9uZXMgc2VsZWNjaW9uYW5kbyAiQWNlcHRvIiB5IHB1bHNhbmRvICJDb21wbGV0YXIgZW52w61vIi4K