Sistema de percepción para el agarre inteligente de objetos por parte de robots manipuladores usando ROS2
En este documento se presenta el desarrollo y evaluación de un sistema de percepción robótica diseñado para el agarre de objetos independientemente de su posición y orientación por parte de robots manipuladores utilizando ROS 2 como middleware. En dicho sistema se utiliza como sensor un Microsoft Ki...
- Autores:
-
Dorado Sevilla, Federico
- Tipo de recurso:
- Trabajo de grado de pregrado
- Fecha de publicación:
- 2023
- Institución:
- Universidad Autónoma de Occidente
- Repositorio:
- RED: Repositorio Educativo Digital UAO
- Idioma:
- spa
- OAI Identifier:
- oai:red.uao.edu.co:10614/15076
- Acceso en línea:
- https://hdl.handle.net/10614/15076
https://red.uao.edu.co/
- Palabra clave:
- Ingeniería Mecatrónica
ROS 2
MoveIt 2
Pick and place
Percepción robótica
Detección de objetos
Estimación de pose
- Rights
- openAccess
- License
- Derechos reservados - Universidad Autónoma de Occidente, 2023
id |
REPOUAO2_81073db4b2712f5b048775b8897fc3b2 |
---|---|
oai_identifier_str |
oai:red.uao.edu.co:10614/15076 |
network_acronym_str |
REPOUAO2 |
network_name_str |
RED: Repositorio Educativo Digital UAO |
repository_id_str |
|
dc.title.spa.fl_str_mv |
Sistema de percepción para el agarre inteligente de objetos por parte de robots manipuladores usando ROS2 |
title |
Sistema de percepción para el agarre inteligente de objetos por parte de robots manipuladores usando ROS2 |
spellingShingle |
Sistema de percepción para el agarre inteligente de objetos por parte de robots manipuladores usando ROS2 Ingeniería Mecatrónica ROS 2 MoveIt 2 Pick and place Percepción robótica Detección de objetos Estimación de pose |
title_short |
Sistema de percepción para el agarre inteligente de objetos por parte de robots manipuladores usando ROS2 |
title_full |
Sistema de percepción para el agarre inteligente de objetos por parte de robots manipuladores usando ROS2 |
title_fullStr |
Sistema de percepción para el agarre inteligente de objetos por parte de robots manipuladores usando ROS2 |
title_full_unstemmed |
Sistema de percepción para el agarre inteligente de objetos por parte de robots manipuladores usando ROS2 |
title_sort |
Sistema de percepción para el agarre inteligente de objetos por parte de robots manipuladores usando ROS2 |
dc.creator.fl_str_mv |
Dorado Sevilla, Federico |
dc.contributor.advisor.none.fl_str_mv |
Romero Cano, Víctor Adolfo |
dc.contributor.author.none.fl_str_mv |
Dorado Sevilla, Federico |
dc.contributor.corporatename.spa.fl_str_mv |
Universidad Autónoma de Occidente |
dc.subject.spa.fl_str_mv |
Ingeniería Mecatrónica |
topic |
Ingeniería Mecatrónica ROS 2 MoveIt 2 Pick and place Percepción robótica Detección de objetos Estimación de pose |
dc.subject.proposal.eng.fl_str_mv |
ROS 2 MoveIt 2 Pick and place |
dc.subject.proposal.spa.fl_str_mv |
Percepción robótica Detección de objetos Estimación de pose |
description |
En este documento se presenta el desarrollo y evaluación de un sistema de percepción robótica diseñado para el agarre de objetos independientemente de su posición y orientación por parte de robots manipuladores utilizando ROS 2 como middleware. En dicho sistema se utiliza como sensor un Microsoft Kinect 2 con el que se realiza una etapa de detección de objetos en 2D, una de estimación de posición y orientación en 3D (Pose) y una etapa de transformación entre marcos de referencia para obtener dicha pose con respecto a la base del robot manipulador. Para su implementación se utiliza el robot Open Source Centauri, desarrollado en la Universidad Autónoma de Occidente. Este en primera instancia necesitó de una repotenciación de su middleware hacia ROS 2 para después poder transmitirle la información de la pose adquirida, para que utilizando la herramienta de ROS MoveIt 2, este fuera capaz de planificar y ejecutar una trayectoria que le permita acceder al objeto detectado y realizar una rutina de Pick and Place. Finalmente, se evaluó el sistema realizando pruebas que comparen los valores reales y estimados, en las que se obtuvo un error absoluto en la medición del sensor de ±0.0072 m para el eje X , ±0.0075 m para el eje Y y de ±0.0103 m para el eje Z; y un error absoluto en las transformaciones entre marcos de ±0.0075 m para el eje X , ±0.0138 m para el eje Y y de ±0.006 m para el eje Z, permitiendo concluir que los datos estimados resultan precisos para ser enviados hacia un robot manipulador y ser aprovechados por este. Adicionalmente, se delimitó el espacio de trabajo del robot Centauri y se comprobó con éxito el funcionamiento integrado del sistema de percepción aplicado en tareas de Pick and Place. |
publishDate |
2023 |
dc.date.accessioned.none.fl_str_mv |
2023-10-26T15:04:31Z |
dc.date.available.none.fl_str_mv |
2023-10-26T15:04:31Z |
dc.date.issued.none.fl_str_mv |
2023-10-10 |
dc.type.spa.fl_str_mv |
Trabajo de grado - Pregrado |
dc.type.coarversion.fl_str_mv |
http://purl.org/coar/version/c_71e4c1898caa6e32 |
dc.type.coar.eng.fl_str_mv |
http://purl.org/coar/resource_type/c_7a1f |
dc.type.content.eng.fl_str_mv |
Text |
dc.type.driver.eng.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
dc.type.redcol.eng.fl_str_mv |
https://purl.org/redcol/resource_type/TP |
format |
http://purl.org/coar/resource_type/c_7a1f |
dc.identifier.uri.none.fl_str_mv |
https://hdl.handle.net/10614/15076 |
dc.identifier.instname.spa.fl_str_mv |
Universidad Autónoma de Occidente |
dc.identifier.reponame.spa.fl_str_mv |
Repositorio Educativo Digital |
dc.identifier.repourl.spa.fl_str_mv |
https://red.uao.edu.co/ |
url |
https://hdl.handle.net/10614/15076 https://red.uao.edu.co/ |
identifier_str_mv |
Universidad Autónoma de Occidente Repositorio Educativo Digital |
dc.language.iso.spa.fl_str_mv |
spa |
language |
spa |
dc.relation.cites.spa.fl_str_mv |
Dorado Sevilla, F. (2023). Sistema de percepción para el agarre inteligente de objetos por parte de robots manipuladores usando ROS2 (Proyecto de grado). Universidad Autónoma de Occidente. Cali. Colombia. https://red.uao.edu.co/handle/10614/15076 |
dc.relation.references.none.fl_str_mv |
[1] F. M. Sánchez-Martín et al., “Historia de la robótica: de Arquitas de Tarento al Robot da Vinci (Parte II)”, Actas Urol. Españolas, vol. 31, n.º 3, marzo de 2007. Accedido el 18 de octubre de 2023. [En línea]. Disponible: https://doi.org/10.4321/s0210-48062007000300002 [2] D. Marshall, C. Bredin, “Historia de un éxito”. Revista ABB, 2008, pp. 56-62. Accedido el 1 de septiembre de 2022. [En línea]. Disponible: https://library.e.abb.com/public/016504791f969ab1c125746a003ec756/Revista%20ABB%202_2008_72dpi.pdf [3] A. Ollero Baturone, Robótica: manipuladores y robots móviles. Barcelona: Marcombo S.A., 2001. Accedido el 3 de septiembre de 2022. [En línea]. Disponible: http://el.uy/doc/robotica/Ollero%20Baturone,%20Aníbal.%202001.%20Robótica,%20manipuladores%20y%20robots%20móviles.pdf [4] O. Glaufe, O. Gladstone, E. Ciro, C. C. A. T. y L. Jose, “Development of Robotic Arm Control System Using Computational Vision”, IEEE Latin America Trans., vol. 17, n.º 08, pp. 1259–1267, agosto de 2019. Accedido el 29 de septiembre de 2023. [En línea]. Disponible: https://doi.org/10.1109/tla.2019.8932334 [5] M. D. E. Ramírez, “Sistema de visión computacional estereoscópico aplicado a un robot cilíndrico accionado neumáticamente”, Tesis de maestría, Universidade Federal do Rio Grande do Sul, Porto Alegre, 2017, pp. 17. Accedido el 29 de septiembre de 2023. [En línea]. Disponible: http://hdl.handle.net/10183/165141 [6] Robotlink Automation S.L.L. “Historia y Origen de los Robots y de la Robótica”. Robotnik. Accedido el 1 de septiembre de 2022. [En línea]. Disponible: https://robotnik.eu/es/historia-de-los-robots-y-la-robotica/ [7] P. L. D. Robles, “Caracterización y reconocimiento de objetos mediante algoritmos de visión computacional para la interacción de un robot con su entorno”, Tesis de maestría , Pontif. Univ. Catol. Del Perú, 2016. Accedido el 29 de septiembre de 2023. [En línea]. Disponible: http://tesis.pucp.edu.pe/repositorio/handle/123456789/7376 [8] Á. Moreno Montero, “Procedimientos de obtención de configuraciones de agarre en manipulación robótica”, Tesis Doctoral, Univ. Salamanca, Salamanca, 2013. Accedido el 3 de septiembre de 2022. [En línea]. Disponible: https://gredos.usal.es/bitstream/handle/10366/123011/DIA_Morenomontero_configuracionesagarreenmanipulacionrobotica.pdf?sequence=1&isAllowed=y [9] F. J. Pedroza Fernández y A. F. Araque Mora. “Desarrollo de un robot manipulador de 6 grados de libertad con tecnologías abiertas”. Universidad Autónoma de Occidente, 2019. Trabajo de Grado, 2019. Accedido el 3 de septiembre de 2022. [En línea]. Disponible: https://red.uao.edu.co/bitstream/handle/10614/11016/T08578.pdf?sequence=5&isAllowed=y [10] Entrust Consultores. “Automatización Robotizada de Procesos (RPA)”. Accedido el 27 de septiembre de 2023. [En línea]. Disponible: http://www.entrustla.com/rpa-es/ [11] F. Torres Medina, “Percepción en Robótica”, Univ. Alicante, San Vicente del Raspeig, 2004. Accedido el 27 de septiembre de 2023. [En línea]. Disponible: http://www.univerano.ua.es/es/cursosprevios/cursos2004/robotica/fernandotorres.p df [12] D. A. Nava Arsola, “Desarrollo de un sistema de visión para un robot industrial KUKA KR 5-2 (Reconocimiento y Simulación)”, Trabajo de Grado, Univ. Nac. Auton. Mex., Ciudad de México, 2022. Accedido el 3 de septiembre de 2022. [En línea]. Disponible: http://www.ptolomeo.unam.mx:8080/jspui/bitstream/RepoFi/17761/5/Tesis.pdf [13] D. C. Hoang, A. J. Lilienthal y T. Stoyanov. “Object-RPE: Dense 3D reconstruction and pose estimation with convolutional neural networks”. European Conference on Mobile Robots (ECMR). IEEE, 2019. Accedido el 3 de septiembre de 2022. [En línea]. Disponible: https://sites.google.com/view/objectrpe/home?authuser=0 [14] G. Veiga et al. “Scalable automation for flexible production systems”. INESCTEC. Accedido el 3 de septiembre de 2022. [En línea]. Disponible: https://www.inesctec.pt/en/projects/scalable4-0#technical_sheet [15] M. Gualtieri, A. ten Pas, K. Saenko y R. Platt. “High precision grasp pose detection in dense clutter”. Northeastern University and University of Massachusetts. Accedido el 5 de septiembre de 2022. [En línea]. Disponible: https://github.com/atenpas/gpg [16] F. Luna Santander, “Visión robótica de baja resolución, con recursos limitados”, Tesis de Maestría, Tecnol. Nac. Mex., Cuernavaca, 2023. Accedido el 29 de septiembre de 2023. [En línea]. Disponible: http://rinacional.tecnm.mx/bitstream/TecNM/5430/1/MC_Fernando_Abisai_Luna_Santander.pdf [17] J. Weisberg. “3D Printed Robotic Arm Uses Computer Vision for ObjectSpecific Pick and Place”. Accedido el 12 de septiembre de 2022. [En línea]. Disponible: https://www.roboticgizmos.com/3d-printed-robotic-arm-pick-place/ [18] M. Zubair Irshad, T. Kollar, M. Laskey, K. Stone y Z. Kira, “CenterSnap: Single-Shot Multi-Object 3D Shape Reconstruction and Categorical 6D Pose and Size Estimation”, Cornell Univ., p. 9, marzo de 2022. [19] Real Academia Española y Asociación de Academias de la Lengua Española. «Diccionario panhispánico de dudas». Accedido el 12 de septiembre de 2022. [En línea]. Disponible: https://www.rae.es/dpd/robot [20] I. Gracia Ruiz, “Manipulación robótica colaborativa mediante el Sistema Operativo Robótico”, Trabajo de Grado, Universidad de Zaragoza, Zaragoza, 2019, pp. 4. Accedido el 12 de septiembre de 2022. [En línea]. Disponible: https://zaguan.unizar.es/record/87329/files/TAZ-TFG-2019-4518.pdf [21] R. Siegwart, M. Rufli. “Robots See-Think-Act Cycle”. Accedido el 12 de septiembre de 2022. [En línea]. Disponible: https://www.researchgate.net/figure/Robots-See-Think-Act-Cycle3_fig2_335127899 [22] “Percepción Robótica”. Notas de clase. Universidad Autónoma de Occidente, tercer periodo académico, 2022. [23] Microsoft. “¿Qué es middleware?” Microsoft Azure. Accedido el 17 de septiembre de 2022. [En línea]. Disponible: https://azure.microsoft.com/eses/resources/cloud-computing-dictionary/what-is-middleware/ [24] Open Robotics. “Robot Operating System (ROS)”. ROS. Accedido el 17 de septiembre de 2022. [En línea]. Disponible: https://www.ros.org/ [25] Open Robotics. “Distributions of ROS”. Accedido el 17 de septiembre de 2022. [En línea]. Disponible: http://wiki.ros.org/Distributions [26] Open Robotics. “ROS 2 Documentation”. ROS 2 Distributions. Accedido el 17 de septiembre de 2022. [En línea]. Disponible: https://docs.ros.org/en/rolling/Releases.html [27] Open Robotics. “Rviz”. Accedido el 24 de septiembre de 2022. [En línea]. Disponible: http://wiki.ros.org/rviz [28] PickNik Robotics. “Moveit 2 Documentation”. Accedido el 24 de septiembre de 2022. [En línea]. Disponible: https://moveit.picknik.ai/main/index.html [29] K. Bridge y A. Buck. “Kinect para Windows”. Accedido el 25 de septiembre de 2022. [En línea]. Disponible: https://learn.microsoft.com/eses/windows/apps/design/devices/kinect-for-windows [30] Intel. “Tecnología Intel® RealSense™”. Accedido el 25 de septiembre de 2022. [En línea]. Disponible: https://www.intel.la/content/www/xl/es/architectureand-technology/realsense-overview.html [31] Microsoft. “Azure Kinect DK”. Accedido el 25 de septiembre de 2022. [En línea]. Disponible: https://azure.microsoft.com/es-es/products/kinect-dk [32] J. McCarthy, “What is artificial intelligence?”, Stanford University, Stanford, CA, noviembre de 2007. [En línea]. Disponible: https://wwwformal.stanford.edu/jmc/whatisai.pdf [33] La Máquina Oráculo. “Detección de objetos I: YOLO”. Accedido el 25 de septiembre de 2022. [En línea]. Disponible: https://lamaquinaoraculo.com/deeplearning/deteccion-de-objetos/ [34] A. Fawzy Gad. “Faster R-CNN Explained for Object Detection Tasks”. Accedido el 1 de octubre de 2022. [En línea]. Disponible: https://blog.paperspace.com/faster-r-cnn-explained-object-detection/ [35] E. Forson. “Understanding SSD MultiBox — Real-Time Object Detection In Deep Learning”. Accedido el 1 de octubre de 2022. [En línea]. Disponible: https://towardsdatascience.com/understanding-ssd-multibox-real-time-objectdetection-in-deep-learning-495ef744fab [36] J. J. Craig, Robótica, tercera edición. Pearson Educación, 2006, pp. 4-6. [37] Ionos Digital Guide. “El modelo en cascada: desarrollo secuencial de software”. Accedido el 26 de noviembre de 2023. [En línea]. Disponible: https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/el-modelo-encascada/ [38] Intel RealSense. Depth Camera D435. Accedido el 22 de octubre de 2022. [En línea]. Disponible: https://www.intelrealsense.com/depth-camera-d435/ [39] Microsoft. “Azure Kinect DK. Accedido el 22 de octubre de 2022. [En línea]. Disponible: https://azure.microsoft.com/es-es/products/kinect-dk [40] Intel RealSense. “IP65 rated GMSL FAKRA. Secure Performance.” Accedido el 23 de octubre de 2022. [En línea]. Disponible: https://www.intelrealsense.com/depth-camera-d457/ [41] Modelado y visualización geoespacial. “Microsoft Kinect – Hardware”. Accedido el 23 de octubre de 2022. [En línea]. Disponible: https://gmv.cast.uark.edu/scanning/hardware/microsoft-kinect-resourceshardware/ [42] RF Solutions. “Kinect v2 – What’s New”. Accedido el 23 de octubre de 2022. [En línea]. Disponible: https://rfilkov.com/2014/05/13/kinect-v2-whats-new/ [43] Intel RealSense. “Intel® RealSense™ D405. See the world up close.” Accedido el 8 de octubre de 2022. [En línea]. Disponible: https://www.intelrealsense.com/depth-camera-d405/ [44] L. Xiang et al. “Libfreenect2”. OpenKinect, 2021. Accedido el 2 de marzo de 2023. [En línea]. Disponible: https://github.com/OpenKinect/libfreenect2 [45] T. Wiedemeyer. IAI Kinect2. Institute for Artificial Intelligence, University Bremen. 2018. Accedido el 2 de marzo de 2023. [En línea]. Disponible: https://github.com/code-iai/iai_kinect2 [46] P. Shuvo. IAI Kinect2 for OpenCV . Accedido el 2 de marzo de 2023. [En línea]. Disponible: https://github.com/paul-shuvo/iai_kinect2_opencv4 [47] D. Thomas, J. Perron y S. Loretz. Bridge communication between ROS 1 and ROS 2. Accedido el 8 de junio de 2023. [En línea]. Disponible: https://index.ros.org/p/ros1_bridge/ [48] M. Bjelonic. “YOLO ROS: Real-Time Object Detection for ROS”. Accedido el 2 de abril de 2023. [En línea]. Disponible: https://github.com/leggedrobotics/darknet_ros [49] F. M. Rico y F. González. “Darknet_ros_3d”. Accedido el 10 de mayo de 2023. [En línea]. Disponible: https://github.com/IntelligentRoboticsLabs/gb_visual_detection_3d [50] F. González Ramos. “Darknet_ros_3d”. Accedido el 26 de junio de 2023. [En línea]. Disponible: https://github.com/fgonzalezr1998/gb_visual_detection_3d [51] E. Alegre y L. Fernández Robles, “SIFT (SCALE INVARIANT FEATURE TRANSFORM)”. pp. 1–22–23. ”. Accedido el 9 de septiembre de 2023. [En línea]. Disponible: https://buleria.unileon.es/bitstream/handle/10612/11065/cap%208%20ConceptosyMetodosenVxC.pdf;jsessionid=A0CED08A1E7CCFEA52BC70C92E394E75?sequ ence=1 [52] J. de Vicente Sugue, “Análisis de algoritmos de detección de características de OpenCV en Raspberry Pi”, Trabajo de Fin de Grado, Univ. Sevilla, Sevilla, 2020. Accedido el 9 de septiembre de 2023. [En línea]. Disponible: https://idus.us.es/bitstream/handle/11441/105164/TFG-3163-DE%20VICENTE%20SUGUE.pdf?sequence=1 [53] Z. Jaadi. “A Step-by-Step Explanation of Principal Component Analysis (PCA)”. BuiltIn. Accedido el 14 de agosto de 2023. [En línea]. Disponible: https://builtin.com/data-science/step-step-explanation-principal-componentanalysis [54] Scikit-learn developers. “FastICA on 2D point clouds”. Scikit-learn. Accedido el 14 de julio de 2023. [En línea]. Disponible: https://scikitlearn.org/stable/auto_examples/decomposition/plot_ica_vs_pca.html#sphx-glrauto-examples-decomposition-plot-ica-vs-pca-py [55] PickNik Robotics. “Moving robots into the future”. MoveIt. Accedido el 2 de agosto de 2023. [En línea]. Disponible: https://moveit.ros.org/ |
dc.rights.spa.fl_str_mv |
Derechos reservados - Universidad Autónoma de Occidente, 2023 |
dc.rights.coar.fl_str_mv |
http://purl.org/coar/access_right/c_abf2 |
dc.rights.uri.eng.fl_str_mv |
https://creativecommons.org/licenses/by-nc-nd/4.0/ |
dc.rights.accessrights.eng.fl_str_mv |
info:eu-repo/semantics/openAccess |
dc.rights.creativecommons.spa.fl_str_mv |
Atribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0) |
rights_invalid_str_mv |
Derechos reservados - Universidad Autónoma de Occidente, 2023 https://creativecommons.org/licenses/by-nc-nd/4.0/ Atribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0) http://purl.org/coar/access_right/c_abf2 |
eu_rights_str_mv |
openAccess |
dc.format.extent.spa.fl_str_mv |
118 páginas |
dc.format.mimetype.eng.fl_str_mv |
application/pdf |
dc.publisher.spa.fl_str_mv |
Universidad Autónoma de Occidente |
dc.publisher.program.spa.fl_str_mv |
Ingeniería Mecatrónica |
dc.publisher.faculty.spa.fl_str_mv |
Facultad de Ingeniería |
dc.publisher.place.spa.fl_str_mv |
Cali |
institution |
Universidad Autónoma de Occidente |
bitstream.url.fl_str_mv |
https://dspace7-uao.metacatalogo.com/bitstreams/94b5a531-3df4-4096-963b-bffc8dc21f28/download https://dspace7-uao.metacatalogo.com/bitstreams/9ad6efad-cb30-4b31-810e-5fe937871551/download https://dspace7-uao.metacatalogo.com/bitstreams/f8c1cb53-2b34-48fe-ac98-e9267029b0be/download https://dspace7-uao.metacatalogo.com/bitstreams/da7277c1-6c25-4795-9658-503ba10f560f/download https://dspace7-uao.metacatalogo.com/bitstreams/c1a1c47b-ba1c-48db-9f56-82499bef5e8c/download https://dspace7-uao.metacatalogo.com/bitstreams/5a47bf80-a9d7-49fb-a698-60f8a2462e91/download https://dspace7-uao.metacatalogo.com/bitstreams/1eb2bcf6-384a-496e-943c-7e3d9d64e4ef/download https://dspace7-uao.metacatalogo.com/bitstreams/970d3709-96c1-4d0d-9153-bf87994b5bc1/download |
bitstream.checksum.fl_str_mv |
527e36d6b39419c2de7177edfbc60504 a1dce5be6c479a65a32509ef80cb0e22 5e5fb2a637de424e87fb53acbad2f7d5 20b5ba22b1117f71589c7318baa2c560 e656ef50faf4c65ef43a15dbf1742e4e ef4e8a92e458322d307cdbca70fa0596 191a27e5af43d6a81278e9bc5fd1eaee c89cfe4eac4f24571f92281fd0edfe2c |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositorio UAO |
repository.mail.fl_str_mv |
repositorio@uao.edu.co |
_version_ |
1814260237375373312 |
spelling |
Romero Cano, Víctor Adolfo9954a524fa7777dea88ef2222f28cb52Dorado Sevilla, Federicobb86092f128ea5eb0ac169952abf5406Universidad Autónoma de Occidente2023-10-26T15:04:31Z2023-10-26T15:04:31Z2023-10-10https://hdl.handle.net/10614/15076Universidad Autónoma de OccidenteRepositorio Educativo Digitalhttps://red.uao.edu.co/En este documento se presenta el desarrollo y evaluación de un sistema de percepción robótica diseñado para el agarre de objetos independientemente de su posición y orientación por parte de robots manipuladores utilizando ROS 2 como middleware. En dicho sistema se utiliza como sensor un Microsoft Kinect 2 con el que se realiza una etapa de detección de objetos en 2D, una de estimación de posición y orientación en 3D (Pose) y una etapa de transformación entre marcos de referencia para obtener dicha pose con respecto a la base del robot manipulador. Para su implementación se utiliza el robot Open Source Centauri, desarrollado en la Universidad Autónoma de Occidente. Este en primera instancia necesitó de una repotenciación de su middleware hacia ROS 2 para después poder transmitirle la información de la pose adquirida, para que utilizando la herramienta de ROS MoveIt 2, este fuera capaz de planificar y ejecutar una trayectoria que le permita acceder al objeto detectado y realizar una rutina de Pick and Place. Finalmente, se evaluó el sistema realizando pruebas que comparen los valores reales y estimados, en las que se obtuvo un error absoluto en la medición del sensor de ±0.0072 m para el eje X , ±0.0075 m para el eje Y y de ±0.0103 m para el eje Z; y un error absoluto en las transformaciones entre marcos de ±0.0075 m para el eje X , ±0.0138 m para el eje Y y de ±0.006 m para el eje Z, permitiendo concluir que los datos estimados resultan precisos para ser enviados hacia un robot manipulador y ser aprovechados por este. Adicionalmente, se delimitó el espacio de trabajo del robot Centauri y se comprobó con éxito el funcionamiento integrado del sistema de percepción aplicado en tareas de Pick and Place.This document presents the development, implementation and evaluation of a robotic perception system designed for the grasping of objects independently of their position and orientation by manipulator robots using ROS 2 as middleware. This system has a 2D object detection stage, a 3D position and orientation estimation (Pose) stage and a transformation stage between reference frames to obtain the pose with respect to the base of the manipulator robot. For its implementation, the Open Source robot Centauri, developed at the Universidad Autónoma de Occidente, is used. This firstly needed a repowering of its middleware to ROS 2 to be able to transmit the information of the acquired pose so that using the ROS MoveIt tool, it would be able to plan and execute a trajectory that allows it to access the detected object and perform a Pick and Place routine. Finally, the system was evaluated by performing tests comparing the real and estimated values, in which an absolute error was found in the sensor measurement of ±0.0072 m for the X-axis, ±0.0075 m for the Y-axis and ±0. 0103 m for the Z axis; an absolute error in the transformations between frames of ±0.0075 m for the X axis, ±0.0138 m for the Y axis and ±0.006 m for the Z axis, allowing to conclude that the estimated data are accurate to be sent to a manipulator robot. Additionally, the workspace of the Centauri robot was delimited and the integrated operation of the perception system applied to Pick and Place tasks was successfully tested.Proyecto de grado (Ingeniero Mecatrónico)-- Universidad Autónoma de Occidente, 2023PregradoIngeniero(a) Mecatrónico(a)118 páginasapplication/pdfspaUniversidad Autónoma de OccidenteIngeniería MecatrónicaFacultad de IngenieríaCaliDerechos reservados - Universidad Autónoma de Occidente, 2023https://creativecommons.org/licenses/by-nc-nd/4.0/info:eu-repo/semantics/openAccessAtribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0)http://purl.org/coar/access_right/c_abf2Ingeniería MecatrónicaROS 2MoveIt 2Pick and placePercepción robóticaDetección de objetosEstimación de poseSistema de percepción para el agarre inteligente de objetos por parte de robots manipuladores usando ROS2Trabajo de grado - Pregradohttp://purl.org/coar/resource_type/c_7a1fTextinfo:eu-repo/semantics/bachelorThesishttps://purl.org/redcol/resource_type/TPhttp://purl.org/coar/version/c_71e4c1898caa6e32Dorado Sevilla, F. (2023). Sistema de percepción para el agarre inteligente de objetos por parte de robots manipuladores usando ROS2 (Proyecto de grado). Universidad Autónoma de Occidente. Cali. Colombia. https://red.uao.edu.co/handle/10614/15076[1] F. M. Sánchez-Martín et al., “Historia de la robótica: de Arquitas de Tarento al Robot da Vinci (Parte II)”, Actas Urol. Españolas, vol. 31, n.º 3, marzo de 2007. Accedido el 18 de octubre de 2023. [En línea]. Disponible: https://doi.org/10.4321/s0210-48062007000300002[2] D. Marshall, C. Bredin, “Historia de un éxito”. Revista ABB, 2008, pp. 56-62. Accedido el 1 de septiembre de 2022. [En línea]. Disponible: https://library.e.abb.com/public/016504791f969ab1c125746a003ec756/Revista%20ABB%202_2008_72dpi.pdf[3] A. Ollero Baturone, Robótica: manipuladores y robots móviles. Barcelona: Marcombo S.A., 2001. Accedido el 3 de septiembre de 2022. [En línea]. Disponible: http://el.uy/doc/robotica/Ollero%20Baturone,%20Aníbal.%202001.%20Robótica,%20manipuladores%20y%20robots%20móviles.pdf[4] O. Glaufe, O. Gladstone, E. Ciro, C. C. A. T. y L. Jose, “Development of Robotic Arm Control System Using Computational Vision”, IEEE Latin America Trans., vol. 17, n.º 08, pp. 1259–1267, agosto de 2019. Accedido el 29 de septiembre de 2023. [En línea]. Disponible: https://doi.org/10.1109/tla.2019.8932334[5] M. D. E. Ramírez, “Sistema de visión computacional estereoscópico aplicado a un robot cilíndrico accionado neumáticamente”, Tesis de maestría, Universidade Federal do Rio Grande do Sul, Porto Alegre, 2017, pp. 17. Accedido el 29 de septiembre de 2023. [En línea]. Disponible: http://hdl.handle.net/10183/165141[6] Robotlink Automation S.L.L. “Historia y Origen de los Robots y de la Robótica”. Robotnik. Accedido el 1 de septiembre de 2022. [En línea]. Disponible: https://robotnik.eu/es/historia-de-los-robots-y-la-robotica/[7] P. L. D. Robles, “Caracterización y reconocimiento de objetos mediante algoritmos de visión computacional para la interacción de un robot con su entorno”, Tesis de maestría , Pontif. Univ. Catol. Del Perú, 2016. Accedido el 29 de septiembre de 2023. [En línea]. Disponible: http://tesis.pucp.edu.pe/repositorio/handle/123456789/7376[8] Á. Moreno Montero, “Procedimientos de obtención de configuraciones de agarre en manipulación robótica”, Tesis Doctoral, Univ. Salamanca, Salamanca, 2013. Accedido el 3 de septiembre de 2022. [En línea]. Disponible: https://gredos.usal.es/bitstream/handle/10366/123011/DIA_Morenomontero_configuracionesagarreenmanipulacionrobotica.pdf?sequence=1&isAllowed=y[9] F. J. Pedroza Fernández y A. F. Araque Mora. “Desarrollo de un robot manipulador de 6 grados de libertad con tecnologías abiertas”. Universidad Autónoma de Occidente, 2019. Trabajo de Grado, 2019. Accedido el 3 de septiembre de 2022. [En línea]. Disponible: https://red.uao.edu.co/bitstream/handle/10614/11016/T08578.pdf?sequence=5&isAllowed=y[10] Entrust Consultores. “Automatización Robotizada de Procesos (RPA)”. Accedido el 27 de septiembre de 2023. [En línea]. Disponible: http://www.entrustla.com/rpa-es/[11] F. Torres Medina, “Percepción en Robótica”, Univ. Alicante, San Vicente del Raspeig, 2004. Accedido el 27 de septiembre de 2023. [En línea]. Disponible: http://www.univerano.ua.es/es/cursosprevios/cursos2004/robotica/fernandotorres.p df[12] D. A. Nava Arsola, “Desarrollo de un sistema de visión para un robot industrial KUKA KR 5-2 (Reconocimiento y Simulación)”, Trabajo de Grado, Univ. Nac. Auton. Mex., Ciudad de México, 2022. Accedido el 3 de septiembre de 2022. [En línea]. Disponible: http://www.ptolomeo.unam.mx:8080/jspui/bitstream/RepoFi/17761/5/Tesis.pdf[13] D. C. Hoang, A. J. Lilienthal y T. Stoyanov. “Object-RPE: Dense 3D reconstruction and pose estimation with convolutional neural networks”. European Conference on Mobile Robots (ECMR). IEEE, 2019. Accedido el 3 de septiembre de 2022. [En línea]. Disponible: https://sites.google.com/view/objectrpe/home?authuser=0[14] G. Veiga et al. “Scalable automation for flexible production systems”. INESCTEC. Accedido el 3 de septiembre de 2022. [En línea]. Disponible: https://www.inesctec.pt/en/projects/scalable4-0#technical_sheet[15] M. Gualtieri, A. ten Pas, K. Saenko y R. Platt. “High precision grasp pose detection in dense clutter”. Northeastern University and University of Massachusetts. Accedido el 5 de septiembre de 2022. [En línea]. Disponible: https://github.com/atenpas/gpg[16] F. Luna Santander, “Visión robótica de baja resolución, con recursos limitados”, Tesis de Maestría, Tecnol. Nac. Mex., Cuernavaca, 2023. Accedido el 29 de septiembre de 2023. [En línea]. Disponible: http://rinacional.tecnm.mx/bitstream/TecNM/5430/1/MC_Fernando_Abisai_Luna_Santander.pdf[17] J. Weisberg. “3D Printed Robotic Arm Uses Computer Vision for ObjectSpecific Pick and Place”. Accedido el 12 de septiembre de 2022. [En línea]. Disponible: https://www.roboticgizmos.com/3d-printed-robotic-arm-pick-place/[18] M. Zubair Irshad, T. Kollar, M. Laskey, K. Stone y Z. Kira, “CenterSnap: Single-Shot Multi-Object 3D Shape Reconstruction and Categorical 6D Pose and Size Estimation”, Cornell Univ., p. 9, marzo de 2022.[19] Real Academia Española y Asociación de Academias de la Lengua Española. «Diccionario panhispánico de dudas». Accedido el 12 de septiembre de 2022. [En línea]. Disponible: https://www.rae.es/dpd/robot[20] I. Gracia Ruiz, “Manipulación robótica colaborativa mediante el Sistema Operativo Robótico”, Trabajo de Grado, Universidad de Zaragoza, Zaragoza, 2019, pp. 4. Accedido el 12 de septiembre de 2022. [En línea]. Disponible: https://zaguan.unizar.es/record/87329/files/TAZ-TFG-2019-4518.pdf[21] R. Siegwart, M. Rufli. “Robots See-Think-Act Cycle”. Accedido el 12 de septiembre de 2022. [En línea]. Disponible: https://www.researchgate.net/figure/Robots-See-Think-Act-Cycle3_fig2_335127899[22] “Percepción Robótica”. Notas de clase. Universidad Autónoma de Occidente, tercer periodo académico, 2022.[23] Microsoft. “¿Qué es middleware?” Microsoft Azure. Accedido el 17 de septiembre de 2022. [En línea]. Disponible: https://azure.microsoft.com/eses/resources/cloud-computing-dictionary/what-is-middleware/[24] Open Robotics. “Robot Operating System (ROS)”. ROS. Accedido el 17 de septiembre de 2022. [En línea]. Disponible: https://www.ros.org/[25] Open Robotics. “Distributions of ROS”. Accedido el 17 de septiembre de 2022. [En línea]. Disponible: http://wiki.ros.org/Distributions[26] Open Robotics. “ROS 2 Documentation”. ROS 2 Distributions. Accedido el 17 de septiembre de 2022. [En línea]. Disponible: https://docs.ros.org/en/rolling/Releases.html[27] Open Robotics. “Rviz”. Accedido el 24 de septiembre de 2022. [En línea]. Disponible: http://wiki.ros.org/rviz[28] PickNik Robotics. “Moveit 2 Documentation”. Accedido el 24 de septiembre de 2022. [En línea]. Disponible: https://moveit.picknik.ai/main/index.html[29] K. Bridge y A. Buck. “Kinect para Windows”. Accedido el 25 de septiembre de 2022. [En línea]. Disponible: https://learn.microsoft.com/eses/windows/apps/design/devices/kinect-for-windows[30] Intel. “Tecnología Intel® RealSense™”. Accedido el 25 de septiembre de 2022. [En línea]. Disponible: https://www.intel.la/content/www/xl/es/architectureand-technology/realsense-overview.html[31] Microsoft. “Azure Kinect DK”. Accedido el 25 de septiembre de 2022. [En línea]. Disponible: https://azure.microsoft.com/es-es/products/kinect-dk[32] J. McCarthy, “What is artificial intelligence?”, Stanford University, Stanford, CA, noviembre de 2007. [En línea]. Disponible: https://wwwformal.stanford.edu/jmc/whatisai.pdf[33] La Máquina Oráculo. “Detección de objetos I: YOLO”. Accedido el 25 de septiembre de 2022. [En línea]. Disponible: https://lamaquinaoraculo.com/deeplearning/deteccion-de-objetos/[34] A. Fawzy Gad. “Faster R-CNN Explained for Object Detection Tasks”. Accedido el 1 de octubre de 2022. [En línea]. Disponible: https://blog.paperspace.com/faster-r-cnn-explained-object-detection/[35] E. Forson. “Understanding SSD MultiBox — Real-Time Object Detection In Deep Learning”. Accedido el 1 de octubre de 2022. [En línea]. Disponible: https://towardsdatascience.com/understanding-ssd-multibox-real-time-objectdetection-in-deep-learning-495ef744fab[36] J. J. Craig, Robótica, tercera edición. Pearson Educación, 2006, pp. 4-6.[37] Ionos Digital Guide. “El modelo en cascada: desarrollo secuencial de software”. Accedido el 26 de noviembre de 2023. [En línea]. Disponible: https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/el-modelo-encascada/[38] Intel RealSense. Depth Camera D435. Accedido el 22 de octubre de 2022. [En línea]. Disponible: https://www.intelrealsense.com/depth-camera-d435/[39] Microsoft. “Azure Kinect DK. Accedido el 22 de octubre de 2022. [En línea]. Disponible: https://azure.microsoft.com/es-es/products/kinect-dk[40] Intel RealSense. “IP65 rated GMSL FAKRA. Secure Performance.” Accedido el 23 de octubre de 2022. [En línea]. Disponible: https://www.intelrealsense.com/depth-camera-d457/[41] Modelado y visualización geoespacial. “Microsoft Kinect – Hardware”. Accedido el 23 de octubre de 2022. [En línea]. Disponible: https://gmv.cast.uark.edu/scanning/hardware/microsoft-kinect-resourceshardware/[42] RF Solutions. “Kinect v2 – What’s New”. Accedido el 23 de octubre de 2022. [En línea]. Disponible: https://rfilkov.com/2014/05/13/kinect-v2-whats-new/[43] Intel RealSense. “Intel® RealSense™ D405. See the world up close.” Accedido el 8 de octubre de 2022. [En línea]. Disponible: https://www.intelrealsense.com/depth-camera-d405/[44] L. Xiang et al. “Libfreenect2”. OpenKinect, 2021. Accedido el 2 de marzo de 2023. [En línea]. Disponible: https://github.com/OpenKinect/libfreenect2[45] T. Wiedemeyer. IAI Kinect2. Institute for Artificial Intelligence, University Bremen. 2018. Accedido el 2 de marzo de 2023. [En línea]. Disponible: https://github.com/code-iai/iai_kinect2[46] P. Shuvo. IAI Kinect2 for OpenCV . Accedido el 2 de marzo de 2023. [En línea]. Disponible: https://github.com/paul-shuvo/iai_kinect2_opencv4[47] D. Thomas, J. Perron y S. Loretz. Bridge communication between ROS 1 and ROS 2. Accedido el 8 de junio de 2023. [En línea]. Disponible: https://index.ros.org/p/ros1_bridge/[48] M. Bjelonic. “YOLO ROS: Real-Time Object Detection for ROS”. Accedido el 2 de abril de 2023. [En línea]. Disponible: https://github.com/leggedrobotics/darknet_ros[49] F. M. Rico y F. González. “Darknet_ros_3d”. Accedido el 10 de mayo de 2023. [En línea]. Disponible: https://github.com/IntelligentRoboticsLabs/gb_visual_detection_3d[50] F. González Ramos. “Darknet_ros_3d”. Accedido el 26 de junio de 2023. [En línea]. Disponible: https://github.com/fgonzalezr1998/gb_visual_detection_3d[51] E. Alegre y L. Fernández Robles, “SIFT (SCALE INVARIANT FEATURE TRANSFORM)”. pp. 1–22–23. ”. Accedido el 9 de septiembre de 2023. [En línea]. Disponible: https://buleria.unileon.es/bitstream/handle/10612/11065/cap%208%20ConceptosyMetodosenVxC.pdf;jsessionid=A0CED08A1E7CCFEA52BC70C92E394E75?sequ ence=1[52] J. de Vicente Sugue, “Análisis de algoritmos de detección de características de OpenCV en Raspberry Pi”, Trabajo de Fin de Grado, Univ. Sevilla, Sevilla, 2020. Accedido el 9 de septiembre de 2023. [En línea]. Disponible: https://idus.us.es/bitstream/handle/11441/105164/TFG-3163-DE%20VICENTE%20SUGUE.pdf?sequence=1[53] Z. Jaadi. “A Step-by-Step Explanation of Principal Component Analysis (PCA)”. BuiltIn. Accedido el 14 de agosto de 2023. [En línea]. Disponible: https://builtin.com/data-science/step-step-explanation-principal-componentanalysis[54] Scikit-learn developers. “FastICA on 2D point clouds”. Scikit-learn. Accedido el 14 de julio de 2023. [En línea]. Disponible: https://scikitlearn.org/stable/auto_examples/decomposition/plot_ica_vs_pca.html#sphx-glrauto-examples-decomposition-plot-ica-vs-pca-py[55] PickNik Robotics. “Moving robots into the future”. MoveIt. Accedido el 2 de agosto de 2023. [En línea]. Disponible: https://moveit.ros.org/Comunidad generalPublicationORIGINALT10833_Sistema de percepción para el agarre inteligente de objetos por parte de robots manipuladores usando ROS2.pdfT10833_Sistema de percepción para el agarre inteligente de objetos por parte de robots manipuladores usando ROS2.pdfTexto archivo completo del trabajo de gradoapplication/pdf7106039https://dspace7-uao.metacatalogo.com/bitstreams/94b5a531-3df4-4096-963b-bffc8dc21f28/download527e36d6b39419c2de7177edfbc60504MD51T10833A_Anexo A. Demostración del trabajo de grado realizado.mp4T10833A_Anexo A. Demostración del trabajo de grado realizado.mp4Anexo A. Demostración del trabajo de grado realizadovideo/mp4151740413https://dspace7-uao.metacatalogo.com/bitstreams/9ad6efad-cb30-4b31-810e-5fe937871551/downloada1dce5be6c479a65a32509ef80cb0e22MD52TA10833_Autorización publicación trabajo de grado.pdfTA10833_Autorización publicación trabajo de grado.pdfTexto archivo completo del trabajo de grado. PDFapplication/pdf197720https://dspace7-uao.metacatalogo.com/bitstreams/f8c1cb53-2b34-48fe-ac98-e9267029b0be/download5e5fb2a637de424e87fb53acbad2f7d5MD54LICENSElicense.txtlicense.txttext/plain; charset=utf-81665https://dspace7-uao.metacatalogo.com/bitstreams/da7277c1-6c25-4795-9658-503ba10f560f/download20b5ba22b1117f71589c7318baa2c560MD53TEXTT10833_Sistema de percepción para el agarre inteligente de objetos por parte de robots manipuladores usando ROS2.pdf.txtT10833_Sistema de percepción para el agarre inteligente de objetos por parte de robots manipuladores usando ROS2.pdf.txtExtracted texttext/plain123519https://dspace7-uao.metacatalogo.com/bitstreams/c1a1c47b-ba1c-48db-9f56-82499bef5e8c/downloade656ef50faf4c65ef43a15dbf1742e4eMD55TA10833_Autorización publicación trabajo de grado.pdf.txtTA10833_Autorización publicación trabajo de grado.pdf.txtExtracted texttext/plain4345https://dspace7-uao.metacatalogo.com/bitstreams/5a47bf80-a9d7-49fb-a698-60f8a2462e91/downloadef4e8a92e458322d307cdbca70fa0596MD57THUMBNAILT10833_Sistema de percepción para el agarre inteligente de objetos por parte de robots manipuladores usando ROS2.pdf.jpgT10833_Sistema de percepción para el agarre inteligente de objetos por parte de robots manipuladores usando ROS2.pdf.jpgGenerated Thumbnailimage/jpeg7419https://dspace7-uao.metacatalogo.com/bitstreams/1eb2bcf6-384a-496e-943c-7e3d9d64e4ef/download191a27e5af43d6a81278e9bc5fd1eaeeMD56TA10833_Autorización publicación trabajo de grado.pdf.jpgTA10833_Autorización publicación trabajo de grado.pdf.jpgGenerated Thumbnailimage/jpeg13083https://dspace7-uao.metacatalogo.com/bitstreams/970d3709-96c1-4d0d-9153-bf87994b5bc1/downloadc89cfe4eac4f24571f92281fd0edfe2cMD5810614/15076oai:dspace7-uao.metacatalogo.com:10614/150762024-01-19 17:36:49.818https://creativecommons.org/licenses/by-nc-nd/4.0/Derechos reservados - Universidad Autónoma de Occidente, 2023open.accesshttps://dspace7-uao.metacatalogo.comRepositorio UAOrepositorio@uao.edu.coRUwgQVVUT1IgYXV0b3JpemEgYSBsYSBVbml2ZXJzaWRhZCBBdXTDs25vbWEgZGUgT2NjaWRlbnRlLCBkZSBmb3JtYSBpbmRlZmluaWRhLCBwYXJhIHF1ZSBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsYSBMZXkgMjMgZGUgMTk4MiwgbGEgTGV5IDQ0IGRlIDE5OTMsIGxhIERlY2lzacOzbiBhbmRpbmEgMzUxIGRlIDE5OTMsIGVsIERlY3JldG8gNDYwIGRlIDE5OTUgeSBkZW3DoXMgbGV5ZXMgeSBqdXJpc3BydWRlbmNpYSB2aWdlbnRlIGFsIHJlc3BlY3RvLCBoYWdhIHB1YmxpY2FjacOzbiBkZSBlc3RlIGNvbiBmaW5lcyBlZHVjYXRpdm9zLiBQQVJBR1JBRk86IEVzdGEgYXV0b3JpemFjacOzbiBhZGVtw6FzIGRlIHNlciB2w6FsaWRhIHBhcmEgbGFzIGZhY3VsdGFkZXMgeSBkZXJlY2hvcyBkZSB1c28gc29icmUgbGEgb2JyYSBlbiBmb3JtYXRvIG8gc29wb3J0ZSBtYXRlcmlhbCwgdGFtYmnDqW4gcGFyYSBmb3JtYXRvIGRpZ2l0YWwsIGVsZWN0csOzbmljbywgdmlydHVhbCwgcGFyYSB1c29zIGVuIHJlZCwgSW50ZXJuZXQsIGV4dHJhbmV0LCBpbnRyYW5ldCwgYmlibGlvdGVjYSBkaWdpdGFsIHkgZGVtw6FzIHBhcmEgY3VhbHF1aWVyIGZvcm1hdG8gY29ub2NpZG8gbyBwb3IgY29ub2Nlci4gRUwgQVVUT1IsIGV4cHJlc2EgcXVlIGVsIGRvY3VtZW50byAodHJhYmFqbyBkZSBncmFkbywgcGFzYW50w61hLCBjYXNvcyBvIHRlc2lzKSBvYmpldG8gZGUgbGEgcHJlc2VudGUgYXV0b3JpemFjacOzbiBlcyBvcmlnaW5hbCB5IGxhIGVsYWJvcsOzIHNpbiBxdWVicmFudGFyIG5pIHN1cGxhbnRhciBsb3MgZGVyZWNob3MgZGUgYXV0b3IgZGUgdGVyY2Vyb3MsIHkgZGUgdGFsIGZvcm1hLCBlbCBkb2N1bWVudG8gKHRyYWJham8gZGUgZ3JhZG8sIHBhc2FudMOtYSwgY2Fzb3MgbyB0ZXNpcykgZXMgZGUgc3UgZXhjbHVzaXZhIGF1dG9yw61hIHkgdGllbmUgbGEgdGl0dWxhcmlkYWQgc29icmUgw6lzdGUuIFBBUkFHUkFGTzogZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBhbGd1bmEgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybywgcmVmZXJlbnRlIGEgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIHNvYnJlIGVsIGRvY3VtZW50byAoVHJhYmFqbyBkZSBncmFkbywgUGFzYW50w61hLCBjYXNvcyBvIHRlc2lzKSBlbiBjdWVzdGnDs24sIEVMIEFVVE9SLCBhc3VtaXLDoSBsYSByZXNwb25zYWJpbGlkYWQgdG90YWwsIHkgc2FsZHLDoSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvczsgcGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgbGEgVW5pdmVyc2lkYWQgIEF1dMOzbm9tYSBkZSBPY2NpZGVudGUgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4gVG9kYSBwZXJzb25hIHF1ZSBjb25zdWx0ZSB5YSBzZWEgZW4gbGEgYmlibGlvdGVjYSBvIGVuIG1lZGlvIGVsZWN0csOzbmljbyBwb2Ryw6EgY29waWFyIGFwYXJ0ZXMgZGVsIHRleHRvIGNpdGFuZG8gc2llbXByZSBsYSBmdWVudGUsIGVzIGRlY2lyIGVsIHTDrXR1bG8gZGVsIHRyYWJham8geSBlbCBhdXRvci4gRXN0YSBhdXRvcml6YWNpw7NuIG5vIGltcGxpY2EgcmVudW5jaWEgYSBsYSBmYWN1bHRhZCBxdWUgdGllbmUgRUwgQVVUT1IgZGUgcHVibGljYXIgdG90YWwgbyBwYXJjaWFsbWVudGUgbGEgb2JyYS4K |