Método de cinemática inversa en tiempo real basado en FABRIK para estructuras altamente restrictas

ilustraciones, tablas

Autores:
Chaparro Cuevas, Sebastian Eduardo
Tipo de recurso:
Fecha de publicación:
2021
Institución:
Universidad Nacional de Colombia
Repositorio:
Universidad Nacional de Colombia
Idioma:
spa
OAI Identifier:
oai:repositorio.unal.edu.co:unal/79872
Acceso en línea:
https://repositorio.unal.edu.co/handle/unal/79872
https://repositorio.unal.edu.co/
Palabra clave:
620 - Ingeniería y operaciones afines::629 - Otras ramas de la ingeniería
Cinemática
Kinematics
Cinemática inversa
Restricciones rotacionales
Reconstrucción de movimiento
Animación de personajes
Inverse kinematics
Rotational constraints
Motion reconstruction
Character animation
Robótica
Robotics
Control automático
Automatic control
Rights
openAccess
License
Reconocimiento 4.0 Internacional
id UNACIONAL2_008a5d59f8c5d8159fde5fc64936d1fb
oai_identifier_str oai:repositorio.unal.edu.co:unal/79872
network_acronym_str UNACIONAL2
network_name_str Universidad Nacional de Colombia
repository_id_str
dc.title.spa.fl_str_mv Método de cinemática inversa en tiempo real basado en FABRIK para estructuras altamente restrictas
dc.title.translated.eng.fl_str_mv FABRIK based real-time inverse kinematics method for highly constrained articulated bodies
title Método de cinemática inversa en tiempo real basado en FABRIK para estructuras altamente restrictas
spellingShingle Método de cinemática inversa en tiempo real basado en FABRIK para estructuras altamente restrictas
620 - Ingeniería y operaciones afines::629 - Otras ramas de la ingeniería
Cinemática
Kinematics
Cinemática inversa
Restricciones rotacionales
Reconstrucción de movimiento
Animación de personajes
Inverse kinematics
Rotational constraints
Motion reconstruction
Character animation
Robótica
Robotics
Control automático
Automatic control
title_short Método de cinemática inversa en tiempo real basado en FABRIK para estructuras altamente restrictas
title_full Método de cinemática inversa en tiempo real basado en FABRIK para estructuras altamente restrictas
title_fullStr Método de cinemática inversa en tiempo real basado en FABRIK para estructuras altamente restrictas
title_full_unstemmed Método de cinemática inversa en tiempo real basado en FABRIK para estructuras altamente restrictas
title_sort Método de cinemática inversa en tiempo real basado en FABRIK para estructuras altamente restrictas
dc.creator.fl_str_mv Chaparro Cuevas, Sebastian Eduardo
dc.contributor.advisor.none.fl_str_mv Charalambos Hernández, Jean Pierre
dc.contributor.author.none.fl_str_mv Chaparro Cuevas, Sebastian Eduardo
dc.subject.ddc.spa.fl_str_mv 620 - Ingeniería y operaciones afines::629 - Otras ramas de la ingeniería
topic 620 - Ingeniería y operaciones afines::629 - Otras ramas de la ingeniería
Cinemática
Kinematics
Cinemática inversa
Restricciones rotacionales
Reconstrucción de movimiento
Animación de personajes
Inverse kinematics
Rotational constraints
Motion reconstruction
Character animation
Robótica
Robotics
Control automático
Automatic control
dc.subject.lemb.none.fl_str_mv Cinemática
Kinematics
dc.subject.proposal.spa.fl_str_mv Cinemática inversa
Restricciones rotacionales
Reconstrucción de movimiento
Animación de personajes
dc.subject.proposal.eng.fl_str_mv Inverse kinematics
Rotational constraints
Motion reconstruction
Character animation
dc.subject.unesco.none.fl_str_mv Robótica
Robotics
Control automático
Automatic control
description ilustraciones, tablas
publishDate 2021
dc.date.accessioned.none.fl_str_mv 2021-07-30T14:58:32Z
dc.date.available.none.fl_str_mv 2021-07-30T14:58:32Z
dc.date.issued.none.fl_str_mv 2021
dc.type.spa.fl_str_mv Trabajo de grado - Maestría
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/masterThesis
dc.type.version.spa.fl_str_mv info:eu-repo/semantics/acceptedVersion
dc.type.content.spa.fl_str_mv Text
dc.type.redcol.spa.fl_str_mv http://purl.org/redcol/resource_type/TM
status_str acceptedVersion
dc.identifier.uri.none.fl_str_mv https://repositorio.unal.edu.co/handle/unal/79872
dc.identifier.instname.spa.fl_str_mv Universidad Nacional de Colombia
dc.identifier.reponame.spa.fl_str_mv Repositorio Institucional Universidad Nacional de Colombia
dc.identifier.repourl.spa.fl_str_mv https://repositorio.unal.edu.co/
url https://repositorio.unal.edu.co/handle/unal/79872
https://repositorio.unal.edu.co/
identifier_str_mv Universidad Nacional de Colombia
Repositorio Institucional Universidad Nacional de Colombia
dc.language.iso.spa.fl_str_mv spa
language spa
dc.relation.references.spa.fl_str_mv R. P. Paul, Robot manipulators: mathematics, programming, and control: the computer control of robot manipulators. Richard Paul, 1981.
“Autodesk maya.” https://www.autodesk.com/products/maya/overview, Accedido: 2020-11-20.
“Autodesk 3ds max.” https://www.autodesk.com/products/3ds-max/overview, Accedido: 2020-11-2.
“Blender.” https://www.blender.org, Accedido: 2020-11-2.
C. Hecker, B. Raabe, R. W. Enslow, J. DeWeese, J. Maynard, and K. van Prooijen, “Real-time motion retargeting to highly varied user-created morphologies,” ACM Transactions on Graphics (TOG), vol. 27, no. 3, pp. 1–11, 2008.
S. Coros, P. Beaudoin, and M. Van de Panne, “Generalized biped walking control,” ACM Transactions On Graphics (TOG), vol. 29, no. 4, pp. 1–9, 2010.
S. Starke, H. Zhang, T. Komura, and J. Saito, “Neural state machine for character-scene interactions.,” ACM Trans. Graph., vol. 38, no. 6, pp. 209–1, 2019.
A. Aristidou and J. Lasenby, “Motion capture with constrained inverse kinematics for real-time hand tracking,” in 2010 4th International Symposium on Communications, Control and Signal Processing (ISCCSP), pp. 1–5, IEEE, 2010.
C. Malleson, A. Gilbert, M. Trumble, J. Collomosse, A. Hilton, and M. Volino, “Real-time full-body motion capture from video and imus,” in 2017 International Conference on 3D Vision (3DV), pp. 449–457, IEEE, 2017.
Y. Huang, M. Kaufmann, E. Aksan, M. J. Black, O. Hilliges, and G. Pons-Moll, “Deep inertial poser: Learning to reconstruct human pose from sparse inertial measurements in real time,” ACM Transactions on Graphics (TOG), vol. 37, no. 6, pp. 1–15, 2018.
A. Aristidou, J. Lasenby, Y. Chrysanthou, and A. Shamir, “Inverse Kinematics Techniques in Computer Graphics: A Survey,” Computer Graphics Forum, vol. 37, no. 6, pp. 35–58, 2018.
L. Unzueta, M. Peinado, R. Boulic, and A. Suescun, “Full-body performance animation with Sequential Inverse Kinematics,” Graphical Models, vol. 70, no. 5, pp. 87–104, 2008.
A. Aristidou and J. Lasenby, “FABRIK: A fast, iterative solver for the Inverse Kinematics problem,” Graphical Models, vol. 73, no. 5, pp. 243–260, 2011.
C. Welman, “Inverse kinematics and geometric constraints for articulated figure manipulation,” Master’s thesis, Theses (School of Computing Science)/Simon Fraser University, 1993.
B. Kenwright, “Inverse Kinematics – Cyclic Coordinate Descent (CCD),” Journal of Graphics Tools, vol. 16, no. 4, pp. 177–217, 2012.
A. Aristidou, Y. Chrysanthou, and J. Lasenby, “Extending FABRIK with model constraints,” Comput. Animat. Virtual Worlds, vol. 27, pp. 35–57, Jan. 2016.
L. . T. Wang and C. C. Chen, “A combined optimization method for solving the inverse kinematics problems of mechanical manipulators,” IEEE Transactions on Robotics and Automation, vol. 7, no. 4, pp. 489–499, 1991.
R. Muller-Cajar and R. Mukundan, “Triangualation - A New Algorithm for Inverse Kinematics,” Image and Vision Computing New Zealand (IVCNZ) 2007, no. December, pp. 181–186, 2007.
S. Starke, Bio IK: A Memetic Evolutionary Algorithm for Generic Multi-Objective Inverse Kinematics. PhD thesis, Universität Hamburg, Fachbereich Informatik, 2016.
F. Dunn and I. Parberry, 3D Math Primer for Graphics and Game Development. Boca Raton, FL: A K Peters/CRC Press, second ed., 2011.
N. M. Bajaj, A. J. Spiers, and A. M. Dollar, “State of the art in prosthetic wrists: Commercial and research devices,” in 2015 IEEE International Conference on Rehabilitation Robotics (ICORR), pp. 331–338, 2015.
M. P. Johnson, Exploiting Quaternions to Support Expressive Interactive Character Motion. PhD thesis, 2003.
A. J. Hanson, Visualizing Quaternions. San Francisco, CA, USA: Morgan Kaufmann Publishers Inc., 2006.
W. R. Hamilton, “Theory of quaternions,” Proceedings of the Royal Irish Academy (1836-1869), vol. 3, pp. 1–16, 1844.
F. S. Grassia, “Practical parameterization of rotations using the exponential map,” J. Graph. Tools, vol. 3, p. 29–48, Mar. 1998.
B. Huyghe, Design and implementation of a mobile sensor system for human posture tracking. PhD thesis, 01 2011.
J. Wilhelms and A. V. Gelder, “Fast and Easy Reach-Cone Joint Limits,” Journal of Graphics Tools, vol. 6, no. 2, pp. 27–41, 2001.
M. Engell-Nørregard, S. Niebe, and K. Erleben, “A joint-constraint model for human joints using signed distance-fields,” Multibody System Dynamics, vol. 28, 08 2012.
R. Diankov, “Automated construction of robotic manipulation programs,” 2010.
D. Tolani, A. Goswami, and N. I. Badler, “Real-time inverse kinematics techniques for anthropomorphic limbs,” Graphical Models, vol. 62, no. 5, pp. 353 – 388, 2000.
S. Buss, “Introduction to inverse kinematics with jacobian transpose, pseudoinverse and damped least squares methods,” IEEE Transactions in Robotics and Automation, vol. 17, 05 2004.
N. Courty and E. Arnaud, “Inverse kinematics using sequential monte carlo methods,” in International Conference on Articulated Motion and Deformable Objects, pp. 1–10, Springer, 2008.
A. El-Sherbiny, M. A. Elhosseini, and A. Y. Haikal, “A comparative study of soft computing methods to solve inverse kinematics problem,” Ain Shams Engineering Journal, vol. 9, no. 4, pp. 2535–2548, 2018.
J. Demby’s, Y. Gao, and G. N. DeSouza, “A study on solving the inverse kinematics of serial robots using artificial neural network and fuzzy neural network,” in 2019 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE), pp. 1–6, IEEE, 2019.
S. Otte, A. Zwiener, R. Hanten, and A. Zell, “Inverse recurrent models – an application scenario for many-joint robot arm control,” pp. 149–157, 09 2016.
Y. Du, Y. Wong, Y. Liu, F. Han, Y. Gui, Z. Wang, M. Kankanhalli, and W. Geng, “Marker-less 3d human motion capture with monocular image sequence and heightmaps,” in European Conference on Computer Vision, pp. 20–36, Springer, 2016.
T. von Marcard, R. Henschel, M. J. Black, B. Rosenhahn, and G. Pons-Moll, “Recovering accurate 3d human pose in the wild using imus and a moving camera,” in Proceedings of the European Conference on Computer Vision (ECCV), pp. 601–617, 2018.
M. Shi, K. Aberman, A. Aristidou, T. Komura, D. Lischinski, D. Cohen-Or, and B. Chen, “Motionet: 3d human motion reconstruction from monocular video with skeleton consistency,” ACM Transactions on Graphics (TOG), vol. 40, no. 1, pp. 1–15, 2020.
D. Holden, J. Saito, and T. Komura, “A deep learning framework for character motion synthesis and editing,” ACM Transactions on Graphics (TOG), vol. 35, no. 4, pp. 1–11, 2016.
X. B. Peng, G. Berseth, K. Yin, and M. Van De Panne, “Deeploco: Dynamic locomotion skills using hierarchical deep reinforcement learning,” ACM Transactions on Graphics (TOG), vol. 36, no. 4, pp. 1–13, 2017.
K. Bergamin, S. Clavet, D. Holden, and J. R. Forbes, “Drecon: data-driven responsive control of physics-based characters,” ACM Transactions On Graphics (TOG), vol. 38, no. 6, pp. 1–11, 2019.
R. Kulpa and F. Multon, “Fast inverse kinematics and kinetics solver for human-like figures,” in 5th IEEE-RAS International Conference on Humanoid Robots, 2005., pp. 38– 43, 2005.
J. Huang, M. Fratarcangeli, Y. Ding, and C. Pelachaud, “Inverse kinematics using dynamic joint parameters: inverse kinematics animation synthesis learnt from sub-divided motion micro-segments,” The Visual Computer, vol. 33, no. 12, pp. 1541–1553, 2017.
B. Kenwright, “Inverse kinematics with dual-quaternions, exponential-maps, and joint limits,” International journal on advances in intelligent systems, vol. 6, pp. 53–65, 2013.
M. Meredith and S. Maddock, “Real-time inverse kinematics: The return of the jacobian,” 01 2004.
Y. Nakamura and H. Hanafusa, “Inverse kinematic solutions with singularity robustness for robot manipulator control,” 1986.
C. W. Wampler, “Manipulator inverse kinematic solutions based on vector formulations and damped least-squares methods,” IEEE Transactions on Systems, Man, and Cybernetics, vol. 16, no. 1, pp. 93–101, 1986.
S. R. Buss and J.-S. Kim, “Selectively damped least squares for inverse kinematics,” Journal of Graphics tools, vol. 10, no. 3, pp. 37–49, 2005.
Y.-C. Chen and I. D. Walker, “A consistent null-space based approach to inverse kinematics of redundant robots,” in [1993] Proceedings IEEE International Conference on Robotics and Automation, pp. 374–381, IEEE, 1993.
P. Baerlocher and R. Boulic, “An inverse kinematics architecture enforcing an arbitrary number of strict priority levels,” The visual computer, vol. 20, no. 6, pp. 402–417, 2004.
M. Meredith and S. Maddock, “Adapting motion capture data using weighted real-time inverse kinematics,” Computers in Entertainment (CIE), vol. 3, no. 1, pp. 5–5, 2005.
J. Nocedal and S. J. Wright, Numerical Optimization. New York, NY, USA: Springer, second ed., 2006.
R. Fletcher, Practical methods of optimization. John Wiley & Sons, 2013.
J. Zhao and N. I. Badler, “Inverse kinematics positioning using nonlinear programming for highly articulated figures,” ACM Transactions on Graphics (TOG), vol. 13, no. 4, pp. 313–336, 1994.
P. Beeson and B. Ames, “Trac-IK: An open-source library for improved solving of generic inverse kinematics,” in 2015 IEEE-RAS 15th International Conference on Humanoid Robots (Humanoids), pp. 928–935, 2015.
K. Erleben and S. Andrews, “Solving inverse kinematics using exact hessian matrices,” Computers and Graphics, vol. 78, pp. 1 – 11, 2019.
T. Yenamandra, F. Bernard, J. Wang, F. Mueller, and C. Theobalt, “Convex optimisation for inverse kinematics,” 2019 International Conference on 3D Vision (3DV), 2019.
J. Kennedy and R. Eberhart, “Particle swarm optimization,” in Proceedings of ICNN’95- International Conference on Neural Networks, vol. 4, pp. 1942–1948, IEEE, 1995.
J. H. Holland, Adaptation in Natural and Artificial Systems. University of Michigan Press, 1975. second edition, 1992.
T. Collins and W.-M. Shen, “Paso: An integrated, scalable pso-based optimization framework for hyper-redundant manipulator path planning and inverse kinematics.”,” Information Sciences Institute Technical Report, 2016.
J. K. Parker, A. R. Khoogar, and D. E. Goldberg, “Inverse kinematics of redundant robots using genetic algorithms,” in Proceedings, 1989 International Conference on Robotics and Automation, pp. 271–276 vol.1, 1989.
M. Stollenga, L. Pape, M. Frank, J. Leitner, A. F¨orster, and J. Schmidhuber, “Task-relevant roadmaps: A framework for humanoid motion planning,” in 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 5772–5778, 2013.
J. Lander and G. Content, “Making kine more flexible,” Game Developer Magazine, vol. 1, no. November, pp. 15–22, 1998.
H. J. Shin, J. Lee, S. Y. Shin, and M. Gleicher, “Computer puppetry: An importance-based approach,” ACM Transactions on Graphics, vol. 20, no. 2, pp. 67–94, 2001.
D. Merrick and T. Dwyer, “Skeletal Animation for the Exploration of Graphs,” Australasian Symposium on Information Visualisation, (invis.au’04), vol. 35, pp. 61–70, 2004.
O. Cardwell and R. Mukundan, “Visualization and analysis of inverse kinematics algorithms using performance metric maps,” in 19th International Conference in Central Europe on Computer Graphics, Visualization and Computer Vision, WSCG 2011 - In Co-operation with EUROGRAPHICS, Full Papers Proceedings, (Department of Computer Science and Software Engineering, University of Canterbury, Christchurch, New Zealand), pp. 163–168, 2011.
A. Martín, A. Barrientos, and J. Del Cerro, “The natural-CCD algorithm, a novel method to solve the inverse kinematics of hyper-redundant and soft robots,” Soft Robotics, vol. 5, no. 3, pp. 242–257, 2018.
J. O. Kim, B. R. Lee, C. H. Chung, J. Hwang, and W. Lee, “The inductive inverse kinematics algorithm to manipulate the posture of an articulated body,” in Computational Science — ICCS 2003 (P. M. A. Sloot, D. Abramson, A. V. Bogdanov, J. J. Dongarra, A. Y. Zomaya, and Y. E. Gorbachev, eds.), (Berlin, Heidelberg), pp. 305–313, Springer Berlin Heidelberg, 2003.
R. Mukundan, “A robust inverse kinematics algorithm for animating a joint chain,” International Journal of Computer Applications in Technology, vol. 34, no. 4, pp. 303– 308, 2009.
A. Aristidou and J. Lasenby, “Real-time marker prediction and cor estimation in optical motion capture,” The Visual Computer, vol. 29, no. 1, pp. 7–26, 2013.
A. Lansley, P. Vamplew, P. Smith, and C. Foale, “Caliko: An inverse kinematics software library implementation of the FABRIK algorithm,” Journal of Open Research Software, vol. 4, no. 1, 2016.
“Fffbik: Fabric canvas FABRIK fullbody ik.” https://github.com/yamahigashi/ fabric-fabrik-fullbody-ik, Accedido: 2020-11-20.
“Root-motion, final-ik.” http://root-motion.com, Accedido: 2020-11-20.
“Unreal engine - FABRIK.” https://docs.unrealengine.com/en-US/ AnimatingObjects/SkeletalMeshAnimation/NodeReference/Fabrik/index.html, Accedido: 2020-11-20.
J. Huang and C. Pelachaud, “An efficient energy transfer inverse kinematics solution,” in Motion in Games (M. Kallmann and K. Bekris, eds.), (Berlin, Heidelberg), pp. 278–289, Springer Berlin Heidelberg, 2012.
S. Moya and F. Colloud, “A fast geometrically-driven prioritized inverse kinematics solver,” 2013.
A. Bentrah, A. Djeffal, M. Babahenini, C. Gillet, P. Pudlo, and A. Taleb-Ahmed, “Full body adjustment using iterative inverse kinematic and body parts correlation,” in Computational Science and Its Applications – ICCSA 2014 (B. Murgante, S. Misra, A. M. A. C. Rocha, C. Torre, J. G. Rocha, M. I. Falcao, D. Taniar, B. O. Apduhan, and O. Gervasi, eds.), (Cham), pp. 681–694, Springer International Publishing, 2014.
S. Tao and Y. Yang, “Collision-free motion planning of a virtual arm based on the FABRIK algorithm,” Robotica, vol. 35, no. 6, p. 1431–1450, 2017.
T. Ribeiro and A. Paiva, “Expressive Inverse Kinematics Solving in Real-time for Virtual and Robotic Interactive Characters,” no. October, 2019.
K. S. Arun, T. S. Huang, and S. D. Blostein, “Least-squares fitting of two 3-d point sets,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. PAMI-9, no. 5, pp. 698–700, 1987.
J. Wu, “Rigid 3-d registration: A simple method free of svd and eigendecomposition,” IEEE Transactions on Instrumentation and Measurement, vol. 69, no. 10, pp. 8288– 8303, 2020.
The Processing Foundation, “Processing,” Accedido: 2020-01-17.
Charalambos, Jean, “Nub,” 2020-08-17.
N. Hurley and S. Rickard, “Comparing measures of sparsity,” IEEE Transactions on Information Theory, vol. 55, no. 10, pp. 4723–4741, 2009.
H. Heike, H. Wickham, and K. Kafadar, “Letter-value plots: Boxplots for large data,” J. Comput. Graph. Stat, vol. 26, pp. 469–477, 2017.
“Truebones zoo collection.” https://gumroad.com/truebones/p/ free-truebones-zoo-over-75-animals-and-animations, Accedido: 2020-11-20.
“CMU graphics lab motion capture database.” mocap.cs.cmu.edu, Accedido: 2020-11- 20.
L. Kavan, “Part i: direct skinning methods and deformation primitives,” in ACM SIGGRAPH, vol. 2014, pp. 1–11, 2014
dc.rights.spa.fl_str_mv Derechos reservados al autor, 2021
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.license.spa.fl_str_mv Reconocimiento 4.0 Internacional
dc.rights.uri.spa.fl_str_mv http://creativecommons.org/licenses/by/4.0/
dc.rights.accessrights.spa.fl_str_mv info:eu-repo/semantics/openAccess
rights_invalid_str_mv Reconocimiento 4.0 Internacional
Derechos reservados al autor, 2021
http://creativecommons.org/licenses/by/4.0/
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.extent.spa.fl_str_mv 109 páginas
dc.format.mimetype.spa.fl_str_mv application/pdf
dc.publisher.spa.fl_str_mv Universidad Nacional de Colombia
dc.publisher.program.spa.fl_str_mv Bogotá - Ingeniería - Maestría en Ingeniería - Ingeniería de Sistemas y Computación
dc.publisher.department.spa.fl_str_mv Departamento de Ingeniería de Sistemas e Industrial
dc.publisher.faculty.spa.fl_str_mv Facultad de Ingeniería
dc.publisher.place.spa.fl_str_mv Bogotá, Colombia
dc.publisher.branch.spa.fl_str_mv Universidad Nacional de Colombia - Sede Bogotá
institution Universidad Nacional de Colombia
bitstream.url.fl_str_mv https://repositorio.unal.edu.co/bitstream/unal/79872/1/license.txt
https://repositorio.unal.edu.co/bitstream/unal/79872/2/1015435451.2021.pdf
https://repositorio.unal.edu.co/bitstream/unal/79872/3/license_rdf
https://repositorio.unal.edu.co/bitstream/unal/79872/4/1015435451.2021.pdf.jpg
bitstream.checksum.fl_str_mv cccfe52f796b7c63423298c2d3365fc6
c596cfef1d6d92be96927df805426aa9
0175ea4a2d4caec4bbcc37e300941108
1f9ba6c0fa8d51689f72abe6b51ca640
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Institucional Universidad Nacional de Colombia
repository.mail.fl_str_mv repositorio_nal@unal.edu.co
_version_ 1806886460088909824
spelling Reconocimiento 4.0 InternacionalDerechos reservados al autor, 2021http://creativecommons.org/licenses/by/4.0/info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Charalambos Hernández, Jean Pierreaab4375298860f604fab47e0d87b0728Chaparro Cuevas, Sebastian Eduardof1abbeb8dfd0801010ad092f973ca1832021-07-30T14:58:32Z2021-07-30T14:58:32Z2021https://repositorio.unal.edu.co/handle/unal/79872Universidad Nacional de ColombiaRepositorio Institucional Universidad Nacional de Colombiahttps://repositorio.unal.edu.co/ilustraciones, tablasEste trabajo introduce un método de cinemática inversa en tiempo real para estructuras altamente restrictas mediante el uso de pasos heurísticos, definidos en el espacio de las orientaciones, que pueden acoplarse para producir resultados precisos y movimientos suaves. Estos pasos buscan aprovechar las mejores propiedades de tres de los algoritmos heurísticos más relevantes en el estado del arte: Cyclic Coordinate Descent (CCD), Triangulation (TIK) y Forward and Backward Reaching Inverse Kinematics (FABRIK), prestando mayor interés en este último dado su correcto desempeño en términos de suavidad visual. Adicionalmente, se introduce el algoritmo Generic Heuristic Inverse Kinematics (GHIK) encargado de aplicar los pasos propuestos de forma iterativa, garantizar el cumplimiento de las restricciones rotacionales y evitar situaciones de estancamiento; además, es capaz de trabajar con objetivos orientacionales y estructuras articuladas con múltiples efectores finales. Los resultados obtenidos muestran que la aproximación descrita puede aplicarse en tiempo real sobre estructuras arbitrarias complejas y que su desempeño en términos de precisión, escalabilidad y suavidad visual, es superior al obtenido por otras heurísticas en estado del arte. (Texto tomado de la fuente)This thesis introduces a novel Inverse Kinematics (IK) method for highly constrained articulated bodies via real time heuristic steps, given in orientation space, that may be coupled together in order to generate accurate and visually smooth results. These steps harness widely known IK heuristic algorithms best properties, such as Cyclic Coordinate Descent (CCD), Triangulation (TIK) and Forward and Backward Reaching Inverse Kinematics (FABRIK), focusing on the last one due to its visual smoothness. It is also introduced a Generic Heuristic algorithm (GHIK) that solves IK iteratively using the introduced heuristic steps and is able to deal with orientation constraints, deadlock issues, target orientations and articulated bodies with multiple end effectors. Obtained results suggest that the proposed approach is able to solve IK in real time for complex arbitrary articulated bodies and outperforms other tested heuristics regarding accuracy, scalability and visual smoothness. (Text taken from source)MaestríaMagíster en Ingeniería - Ingeniería de Sistemas y ComputaciónComputación gráfica109 páginasapplication/pdfspaUniversidad Nacional de ColombiaBogotá - Ingeniería - Maestría en Ingeniería - Ingeniería de Sistemas y ComputaciónDepartamento de Ingeniería de Sistemas e IndustrialFacultad de IngenieríaBogotá, ColombiaUniversidad Nacional de Colombia - Sede Bogotá620 - Ingeniería y operaciones afines::629 - Otras ramas de la ingenieríaCinemáticaKinematicsCinemática inversaRestricciones rotacionalesReconstrucción de movimientoAnimación de personajesInverse kinematicsRotational constraintsMotion reconstructionCharacter animationRobóticaRoboticsControl automáticoAutomatic controlMétodo de cinemática inversa en tiempo real basado en FABRIK para estructuras altamente restrictasFABRIK based real-time inverse kinematics method for highly constrained articulated bodiesTrabajo de grado - Maestríainfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/acceptedVersionTexthttp://purl.org/redcol/resource_type/TMR. P. Paul, Robot manipulators: mathematics, programming, and control: the computer control of robot manipulators. Richard Paul, 1981.“Autodesk maya.” https://www.autodesk.com/products/maya/overview, Accedido: 2020-11-20.“Autodesk 3ds max.” https://www.autodesk.com/products/3ds-max/overview, Accedido: 2020-11-2.“Blender.” https://www.blender.org, Accedido: 2020-11-2.C. Hecker, B. Raabe, R. W. Enslow, J. DeWeese, J. Maynard, and K. van Prooijen, “Real-time motion retargeting to highly varied user-created morphologies,” ACM Transactions on Graphics (TOG), vol. 27, no. 3, pp. 1–11, 2008.S. Coros, P. Beaudoin, and M. Van de Panne, “Generalized biped walking control,” ACM Transactions On Graphics (TOG), vol. 29, no. 4, pp. 1–9, 2010.S. Starke, H. Zhang, T. Komura, and J. Saito, “Neural state machine for character-scene interactions.,” ACM Trans. Graph., vol. 38, no. 6, pp. 209–1, 2019.A. Aristidou and J. Lasenby, “Motion capture with constrained inverse kinematics for real-time hand tracking,” in 2010 4th International Symposium on Communications, Control and Signal Processing (ISCCSP), pp. 1–5, IEEE, 2010.C. Malleson, A. Gilbert, M. Trumble, J. Collomosse, A. Hilton, and M. Volino, “Real-time full-body motion capture from video and imus,” in 2017 International Conference on 3D Vision (3DV), pp. 449–457, IEEE, 2017.Y. Huang, M. Kaufmann, E. Aksan, M. J. Black, O. Hilliges, and G. Pons-Moll, “Deep inertial poser: Learning to reconstruct human pose from sparse inertial measurements in real time,” ACM Transactions on Graphics (TOG), vol. 37, no. 6, pp. 1–15, 2018.A. Aristidou, J. Lasenby, Y. Chrysanthou, and A. Shamir, “Inverse Kinematics Techniques in Computer Graphics: A Survey,” Computer Graphics Forum, vol. 37, no. 6, pp. 35–58, 2018.L. Unzueta, M. Peinado, R. Boulic, and A. Suescun, “Full-body performance animation with Sequential Inverse Kinematics,” Graphical Models, vol. 70, no. 5, pp. 87–104, 2008.A. Aristidou and J. Lasenby, “FABRIK: A fast, iterative solver for the Inverse Kinematics problem,” Graphical Models, vol. 73, no. 5, pp. 243–260, 2011.C. Welman, “Inverse kinematics and geometric constraints for articulated figure manipulation,” Master’s thesis, Theses (School of Computing Science)/Simon Fraser University, 1993.B. Kenwright, “Inverse Kinematics – Cyclic Coordinate Descent (CCD),” Journal of Graphics Tools, vol. 16, no. 4, pp. 177–217, 2012.A. Aristidou, Y. Chrysanthou, and J. Lasenby, “Extending FABRIK with model constraints,” Comput. Animat. Virtual Worlds, vol. 27, pp. 35–57, Jan. 2016.L. . T. Wang and C. C. Chen, “A combined optimization method for solving the inverse kinematics problems of mechanical manipulators,” IEEE Transactions on Robotics and Automation, vol. 7, no. 4, pp. 489–499, 1991.R. Muller-Cajar and R. Mukundan, “Triangualation - A New Algorithm for Inverse Kinematics,” Image and Vision Computing New Zealand (IVCNZ) 2007, no. December, pp. 181–186, 2007.S. Starke, Bio IK: A Memetic Evolutionary Algorithm for Generic Multi-Objective Inverse Kinematics. PhD thesis, Universität Hamburg, Fachbereich Informatik, 2016.F. Dunn and I. Parberry, 3D Math Primer for Graphics and Game Development. Boca Raton, FL: A K Peters/CRC Press, second ed., 2011.N. M. Bajaj, A. J. Spiers, and A. M. Dollar, “State of the art in prosthetic wrists: Commercial and research devices,” in 2015 IEEE International Conference on Rehabilitation Robotics (ICORR), pp. 331–338, 2015.M. P. Johnson, Exploiting Quaternions to Support Expressive Interactive Character Motion. PhD thesis, 2003.A. J. Hanson, Visualizing Quaternions. San Francisco, CA, USA: Morgan Kaufmann Publishers Inc., 2006.W. R. Hamilton, “Theory of quaternions,” Proceedings of the Royal Irish Academy (1836-1869), vol. 3, pp. 1–16, 1844.F. S. Grassia, “Practical parameterization of rotations using the exponential map,” J. Graph. Tools, vol. 3, p. 29–48, Mar. 1998.B. Huyghe, Design and implementation of a mobile sensor system for human posture tracking. PhD thesis, 01 2011.J. Wilhelms and A. V. Gelder, “Fast and Easy Reach-Cone Joint Limits,” Journal of Graphics Tools, vol. 6, no. 2, pp. 27–41, 2001.M. Engell-Nørregard, S. Niebe, and K. Erleben, “A joint-constraint model for human joints using signed distance-fields,” Multibody System Dynamics, vol. 28, 08 2012.R. Diankov, “Automated construction of robotic manipulation programs,” 2010.D. Tolani, A. Goswami, and N. I. Badler, “Real-time inverse kinematics techniques for anthropomorphic limbs,” Graphical Models, vol. 62, no. 5, pp. 353 – 388, 2000.S. Buss, “Introduction to inverse kinematics with jacobian transpose, pseudoinverse and damped least squares methods,” IEEE Transactions in Robotics and Automation, vol. 17, 05 2004.N. Courty and E. Arnaud, “Inverse kinematics using sequential monte carlo methods,” in International Conference on Articulated Motion and Deformable Objects, pp. 1–10, Springer, 2008.A. El-Sherbiny, M. A. Elhosseini, and A. Y. Haikal, “A comparative study of soft computing methods to solve inverse kinematics problem,” Ain Shams Engineering Journal, vol. 9, no. 4, pp. 2535–2548, 2018.J. Demby’s, Y. Gao, and G. N. DeSouza, “A study on solving the inverse kinematics of serial robots using artificial neural network and fuzzy neural network,” in 2019 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE), pp. 1–6, IEEE, 2019.S. Otte, A. Zwiener, R. Hanten, and A. Zell, “Inverse recurrent models – an application scenario for many-joint robot arm control,” pp. 149–157, 09 2016.Y. Du, Y. Wong, Y. Liu, F. Han, Y. Gui, Z. Wang, M. Kankanhalli, and W. Geng, “Marker-less 3d human motion capture with monocular image sequence and heightmaps,” in European Conference on Computer Vision, pp. 20–36, Springer, 2016.T. von Marcard, R. Henschel, M. J. Black, B. Rosenhahn, and G. Pons-Moll, “Recovering accurate 3d human pose in the wild using imus and a moving camera,” in Proceedings of the European Conference on Computer Vision (ECCV), pp. 601–617, 2018.M. Shi, K. Aberman, A. Aristidou, T. Komura, D. Lischinski, D. Cohen-Or, and B. Chen, “Motionet: 3d human motion reconstruction from monocular video with skeleton consistency,” ACM Transactions on Graphics (TOG), vol. 40, no. 1, pp. 1–15, 2020.D. Holden, J. Saito, and T. Komura, “A deep learning framework for character motion synthesis and editing,” ACM Transactions on Graphics (TOG), vol. 35, no. 4, pp. 1–11, 2016.X. B. Peng, G. Berseth, K. Yin, and M. Van De Panne, “Deeploco: Dynamic locomotion skills using hierarchical deep reinforcement learning,” ACM Transactions on Graphics (TOG), vol. 36, no. 4, pp. 1–13, 2017.K. Bergamin, S. Clavet, D. Holden, and J. R. Forbes, “Drecon: data-driven responsive control of physics-based characters,” ACM Transactions On Graphics (TOG), vol. 38, no. 6, pp. 1–11, 2019.R. Kulpa and F. Multon, “Fast inverse kinematics and kinetics solver for human-like figures,” in 5th IEEE-RAS International Conference on Humanoid Robots, 2005., pp. 38– 43, 2005.J. Huang, M. Fratarcangeli, Y. Ding, and C. Pelachaud, “Inverse kinematics using dynamic joint parameters: inverse kinematics animation synthesis learnt from sub-divided motion micro-segments,” The Visual Computer, vol. 33, no. 12, pp. 1541–1553, 2017.B. Kenwright, “Inverse kinematics with dual-quaternions, exponential-maps, and joint limits,” International journal on advances in intelligent systems, vol. 6, pp. 53–65, 2013.M. Meredith and S. Maddock, “Real-time inverse kinematics: The return of the jacobian,” 01 2004.Y. Nakamura and H. Hanafusa, “Inverse kinematic solutions with singularity robustness for robot manipulator control,” 1986.C. W. Wampler, “Manipulator inverse kinematic solutions based on vector formulations and damped least-squares methods,” IEEE Transactions on Systems, Man, and Cybernetics, vol. 16, no. 1, pp. 93–101, 1986.S. R. Buss and J.-S. Kim, “Selectively damped least squares for inverse kinematics,” Journal of Graphics tools, vol. 10, no. 3, pp. 37–49, 2005.Y.-C. Chen and I. D. Walker, “A consistent null-space based approach to inverse kinematics of redundant robots,” in [1993] Proceedings IEEE International Conference on Robotics and Automation, pp. 374–381, IEEE, 1993.P. Baerlocher and R. Boulic, “An inverse kinematics architecture enforcing an arbitrary number of strict priority levels,” The visual computer, vol. 20, no. 6, pp. 402–417, 2004.M. Meredith and S. Maddock, “Adapting motion capture data using weighted real-time inverse kinematics,” Computers in Entertainment (CIE), vol. 3, no. 1, pp. 5–5, 2005.J. Nocedal and S. J. Wright, Numerical Optimization. New York, NY, USA: Springer, second ed., 2006.R. Fletcher, Practical methods of optimization. John Wiley & Sons, 2013.J. Zhao and N. I. Badler, “Inverse kinematics positioning using nonlinear programming for highly articulated figures,” ACM Transactions on Graphics (TOG), vol. 13, no. 4, pp. 313–336, 1994.P. Beeson and B. Ames, “Trac-IK: An open-source library for improved solving of generic inverse kinematics,” in 2015 IEEE-RAS 15th International Conference on Humanoid Robots (Humanoids), pp. 928–935, 2015.K. Erleben and S. Andrews, “Solving inverse kinematics using exact hessian matrices,” Computers and Graphics, vol. 78, pp. 1 – 11, 2019.T. Yenamandra, F. Bernard, J. Wang, F. Mueller, and C. Theobalt, “Convex optimisation for inverse kinematics,” 2019 International Conference on 3D Vision (3DV), 2019.J. Kennedy and R. Eberhart, “Particle swarm optimization,” in Proceedings of ICNN’95- International Conference on Neural Networks, vol. 4, pp. 1942–1948, IEEE, 1995.J. H. Holland, Adaptation in Natural and Artificial Systems. University of Michigan Press, 1975. second edition, 1992.T. Collins and W.-M. Shen, “Paso: An integrated, scalable pso-based optimization framework for hyper-redundant manipulator path planning and inverse kinematics.”,” Information Sciences Institute Technical Report, 2016.J. K. Parker, A. R. Khoogar, and D. E. Goldberg, “Inverse kinematics of redundant robots using genetic algorithms,” in Proceedings, 1989 International Conference on Robotics and Automation, pp. 271–276 vol.1, 1989.M. Stollenga, L. Pape, M. Frank, J. Leitner, A. F¨orster, and J. Schmidhuber, “Task-relevant roadmaps: A framework for humanoid motion planning,” in 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 5772–5778, 2013.J. Lander and G. Content, “Making kine more flexible,” Game Developer Magazine, vol. 1, no. November, pp. 15–22, 1998.H. J. Shin, J. Lee, S. Y. Shin, and M. Gleicher, “Computer puppetry: An importance-based approach,” ACM Transactions on Graphics, vol. 20, no. 2, pp. 67–94, 2001.D. Merrick and T. Dwyer, “Skeletal Animation for the Exploration of Graphs,” Australasian Symposium on Information Visualisation, (invis.au’04), vol. 35, pp. 61–70, 2004.O. Cardwell and R. Mukundan, “Visualization and analysis of inverse kinematics algorithms using performance metric maps,” in 19th International Conference in Central Europe on Computer Graphics, Visualization and Computer Vision, WSCG 2011 - In Co-operation with EUROGRAPHICS, Full Papers Proceedings, (Department of Computer Science and Software Engineering, University of Canterbury, Christchurch, New Zealand), pp. 163–168, 2011.A. Martín, A. Barrientos, and J. Del Cerro, “The natural-CCD algorithm, a novel method to solve the inverse kinematics of hyper-redundant and soft robots,” Soft Robotics, vol. 5, no. 3, pp. 242–257, 2018.J. O. Kim, B. R. Lee, C. H. Chung, J. Hwang, and W. Lee, “The inductive inverse kinematics algorithm to manipulate the posture of an articulated body,” in Computational Science — ICCS 2003 (P. M. A. Sloot, D. Abramson, A. V. Bogdanov, J. J. Dongarra, A. Y. Zomaya, and Y. E. Gorbachev, eds.), (Berlin, Heidelberg), pp. 305–313, Springer Berlin Heidelberg, 2003.R. Mukundan, “A robust inverse kinematics algorithm for animating a joint chain,” International Journal of Computer Applications in Technology, vol. 34, no. 4, pp. 303– 308, 2009.A. Aristidou and J. Lasenby, “Real-time marker prediction and cor estimation in optical motion capture,” The Visual Computer, vol. 29, no. 1, pp. 7–26, 2013.A. Lansley, P. Vamplew, P. Smith, and C. Foale, “Caliko: An inverse kinematics software library implementation of the FABRIK algorithm,” Journal of Open Research Software, vol. 4, no. 1, 2016.“Fffbik: Fabric canvas FABRIK fullbody ik.” https://github.com/yamahigashi/ fabric-fabrik-fullbody-ik, Accedido: 2020-11-20.“Root-motion, final-ik.” http://root-motion.com, Accedido: 2020-11-20.“Unreal engine - FABRIK.” https://docs.unrealengine.com/en-US/ AnimatingObjects/SkeletalMeshAnimation/NodeReference/Fabrik/index.html, Accedido: 2020-11-20.J. Huang and C. Pelachaud, “An efficient energy transfer inverse kinematics solution,” in Motion in Games (M. Kallmann and K. Bekris, eds.), (Berlin, Heidelberg), pp. 278–289, Springer Berlin Heidelberg, 2012.S. Moya and F. Colloud, “A fast geometrically-driven prioritized inverse kinematics solver,” 2013.A. Bentrah, A. Djeffal, M. Babahenini, C. Gillet, P. Pudlo, and A. Taleb-Ahmed, “Full body adjustment using iterative inverse kinematic and body parts correlation,” in Computational Science and Its Applications – ICCSA 2014 (B. Murgante, S. Misra, A. M. A. C. Rocha, C. Torre, J. G. Rocha, M. I. Falcao, D. Taniar, B. O. Apduhan, and O. Gervasi, eds.), (Cham), pp. 681–694, Springer International Publishing, 2014.S. Tao and Y. Yang, “Collision-free motion planning of a virtual arm based on the FABRIK algorithm,” Robotica, vol. 35, no. 6, p. 1431–1450, 2017.T. Ribeiro and A. Paiva, “Expressive Inverse Kinematics Solving in Real-time for Virtual and Robotic Interactive Characters,” no. October, 2019.K. S. Arun, T. S. Huang, and S. D. Blostein, “Least-squares fitting of two 3-d point sets,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. PAMI-9, no. 5, pp. 698–700, 1987.J. Wu, “Rigid 3-d registration: A simple method free of svd and eigendecomposition,” IEEE Transactions on Instrumentation and Measurement, vol. 69, no. 10, pp. 8288– 8303, 2020.The Processing Foundation, “Processing,” Accedido: 2020-01-17.Charalambos, Jean, “Nub,” 2020-08-17.N. Hurley and S. Rickard, “Comparing measures of sparsity,” IEEE Transactions on Information Theory, vol. 55, no. 10, pp. 4723–4741, 2009.H. Heike, H. Wickham, and K. Kafadar, “Letter-value plots: Boxplots for large data,” J. Comput. Graph. Stat, vol. 26, pp. 469–477, 2017.“Truebones zoo collection.” https://gumroad.com/truebones/p/ free-truebones-zoo-over-75-animals-and-animations, Accedido: 2020-11-20.“CMU graphics lab motion capture database.” mocap.cs.cmu.edu, Accedido: 2020-11- 20.L. Kavan, “Part i: direct skinning methods and deformation primitives,” in ACM SIGGRAPH, vol. 2014, pp. 1–11, 2014LICENSElicense.txtlicense.txttext/plain; charset=utf-83964https://repositorio.unal.edu.co/bitstream/unal/79872/1/license.txtcccfe52f796b7c63423298c2d3365fc6MD51ORIGINAL1015435451.2021.pdf1015435451.2021.pdfTesis de Maestría en Ingeniería - Ingeniería de Sistemas y Computaciónapplication/pdf5894194https://repositorio.unal.edu.co/bitstream/unal/79872/2/1015435451.2021.pdfc596cfef1d6d92be96927df805426aa9MD52CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8908https://repositorio.unal.edu.co/bitstream/unal/79872/3/license_rdf0175ea4a2d4caec4bbcc37e300941108MD53THUMBNAIL1015435451.2021.pdf.jpg1015435451.2021.pdf.jpgGenerated Thumbnailimage/jpeg4730https://repositorio.unal.edu.co/bitstream/unal/79872/4/1015435451.2021.pdf.jpg1f9ba6c0fa8d51689f72abe6b51ca640MD54unal/79872oai:repositorio.unal.edu.co:unal/798722024-07-25 23:14:22.489Repositorio Institucional Universidad Nacional de Colombiarepositorio_nal@unal.edu.coUExBTlRJTExBIERFUMOTU0lUTwoKQ29tbyBlZGl0b3IgZGUgZXN0ZSDDrXRlbSwgdXN0ZWQgcHVlZGUgbW92ZXJsbyBhIHJldmlzacOzbiBzaW4gYW50ZXMgcmVzb2x2ZXIgbG9zIHByb2JsZW1hcyBpZGVudGlmaWNhZG9zLCBkZSBsbyBjb250cmFyaW8sIGhhZ2EgY2xpYyBlbiBHdWFyZGFyIHBhcmEgZ3VhcmRhciBlbCDDrXRlbSB5IHNvbHVjaW9uYXIgZXN0b3MgcHJvYmxlbWFzIG1hcyB0YXJkZS4KCk5PVEFTOgoqU0kgTEEgVEVTSVMgQSBQVUJMSUNBUiBBRFFVSVJJw5MgQ09NUFJPTUlTT1MgREUgQ09ORklERU5DSUFMSURBRCBFTiBFTCBERVNBUlJPTExPIE8gUEFSVEVTIERFTCBET0NVTUVOVE8uIFNJR0EgTEEgRElSRUNUUklaIERFIExBIFJFU09MVUNJw5NOIDAyMyBERSAyMDE1LCBQT1IgTEEgQ1VBTCBTRSBFU1RBQkxFQ0UgRUwgUFJPQ0VESU1JRU5UTyBQQVJBIExBIFBVQkxJQ0FDScOTTiBERSBURVNJUyBERSBNQUVTVFLDjUEgWSBET0NUT1JBRE8gREUgTE9TIEVTVFVESUFOVEVTIERFIExBIFVOSVZFUlNJREFEIE5BQ0lPTkFMIERFIENPTE9NQklBIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgVU4sIEVYUEVESURBIFBPUiBMQSBTRUNSRVRBUsONQSBHRU5FUkFMLgoqTEEgVEVTSVMgQSBQVUJMSUNBUiBERUJFIFNFUiBMQSBWRVJTScOTTiBGSU5BTCBBUFJPQkFEQS4KUGFyYSB0cmFiYWpvcyBkZXBvc2l0YWRvcyBwb3Igc3UgcHJvcGlvIGF1dG9yOiBBbCBhdXRvYXJjaGl2YXIgZXN0ZSBncnVwbyBkZSBhcmNoaXZvcyBkaWdpdGFsZXMgeSBzdXMgbWV0YWRhdG9zLCBZbyBnYXJhbnRpem8gYWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBVTiBlbCBkZXJlY2hvIGEgYWxtYWNlbmFybG9zIHkgbWFudGVuZXJsb3MgZGlzcG9uaWJsZXMgZW4gbMOtbmVhIGRlIG1hbmVyYSBncmF0dWl0YS4gRGVjbGFybyBxdWUgZGljaG8gbWF0ZXJpYWwgZXMgZGUgbWkgcHJvcGllZGFkIGludGVsZWN0dWFsIHkgcXVlIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgVU4gbm8gYXN1bWUgbmluZ3VuYSByZXNwb25zYWJpbGlkYWQgc2kgaGF5IGFsZ3VuYSB2aW9sYWNpw7NuIGEgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIGFsIGRpc3RyaWJ1aXIgZXN0b3MgYXJjaGl2b3MgeSBtZXRhZGF0b3MuIChTZSByZWNvbWllbmRhIGEgdG9kb3MgbG9zIGF1dG9yZXMgYSBpbmRpY2FyIHN1cyBkZXJlY2hvcyBkZSBhdXRvciBlbiBsYSBww6FnaW5hIGRlIHTDrXR1bG8gZGUgc3UgZG9jdW1lbnRvLikgRGUgbGEgbWlzbWEgbWFuZXJhLCBhY2VwdG8gbG9zIHTDqXJtaW5vcyBkZSBsYSBzaWd1aWVudGUgbGljZW5jaWE6IExvcyBhdXRvcmVzIG8gdGl0dWxhcmVzIGRlbCBkZXJlY2hvIGRlIGF1dG9yIGRlbCBwcmVzZW50ZSBkb2N1bWVudG8gY29uZmllcmVuIGEgbGEgVW5pdmVyc2lkYWQgTmFjaW9uYWwgZGUgQ29sb21iaWEgdW5hIGxpY2VuY2lhIG5vIGV4Y2x1c2l2YSwgbGltaXRhZGEgeSBncmF0dWl0YSBzb2JyZSBsYSBvYnJhIHF1ZSBzZSBpbnRlZ3JhIGVuIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwsIHF1ZSBzZSBhanVzdGEgYSBsYXMgc2lndWllbnRlcyBjYXJhY3RlcsOtc3RpY2FzOiBhKSBFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWUgZW4gZWwgcmVwb3NpdG9yaW8sIHF1ZSBzZXLDoW4gcHJvcnJvZ2FibGVzIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gcGF0cmltb25pYWwgZGVsIGF1dG9yLiBFbCBhdXRvciBwb2Ryw6EgZGFyIHBvciB0ZXJtaW5hZGEgbGEgbGljZW5jaWEgc29saWNpdMOhbmRvbG8gYSBsYSBVbml2ZXJzaWRhZC4gYikgTG9zIGF1dG9yZXMgYXV0b3JpemFuIGEgbGEgVW5pdmVyc2lkYWQgTmFjaW9uYWwgZGUgQ29sb21iaWEgcGFyYSBwdWJsaWNhciBsYSBvYnJhIGVuIGVsIGZvcm1hdG8gcXVlIGVsIHJlcG9zaXRvcmlvIGxvIHJlcXVpZXJhIChpbXByZXNvLCBkaWdpdGFsLCBlbGVjdHLDs25pY28gbyBjdWFscXVpZXIgb3RybyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSB5IGNvbm9jZW4gcXVlIGRhZG8gcXVlIHNlIHB1YmxpY2EgZW4gSW50ZXJuZXQgcG9yIGVzdGUgaGVjaG8gY2lyY3VsYSBjb24gdW4gYWxjYW5jZSBtdW5kaWFsLiBjKSBMb3MgYXV0b3JlcyBhY2VwdGFuIHF1ZSBsYSBhdXRvcml6YWNpw7NuIHNlIGhhY2UgYSB0w610dWxvIGdyYXR1aXRvLCBwb3IgbG8gdGFudG8sIHJlbnVuY2lhbiBhIHJlY2liaXIgZW1vbHVtZW50byBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgQ3JlYXRpdmUgQ29tbW9ucyBjb24gcXVlIHNlIHB1YmxpY2EuIGQpIExvcyBhdXRvcmVzIG1hbmlmaWVzdGFuIHF1ZSBzZSB0cmF0YSBkZSB1bmEgb2JyYSBvcmlnaW5hbCBzb2JyZSBsYSBxdWUgdGllbmVuIGxvcyBkZXJlY2hvcyBxdWUgYXV0b3JpemFuIHkgcXVlIHNvbiBlbGxvcyBxdWllbmVzIGFzdW1lbiB0b3RhbCByZXNwb25zYWJpbGlkYWQgcG9yIGVsIGNvbnRlbmlkbyBkZSBzdSBvYnJhIGFudGUgbGEgVW5pdmVyc2lkYWQgTmFjaW9uYWwgeSBhbnRlIHRlcmNlcm9zLiBFbiB0b2RvIGNhc28gbGEgVW5pdmVyc2lkYWQgTmFjaW9uYWwgZGUgQ29sb21iaWEgc2UgY29tcHJvbWV0ZSBhIGluZGljYXIgc2llbXByZSBsYSBhdXRvcsOtYSBpbmNsdXllbmRvIGVsIG5vbWJyZSBkZWwgYXV0b3IgeSBsYSBmZWNoYSBkZSBwdWJsaWNhY2nDs24uIGUpIExvcyBhdXRvcmVzIGF1dG9yaXphbiBhIGxhIFVuaXZlcnNpZGFkIHBhcmEgaW5jbHVpciBsYSBvYnJhIGVuIGxvcyDDrW5kaWNlcyB5IGJ1c2NhZG9yZXMgcXVlIGVzdGltZW4gbmVjZXNhcmlvcyBwYXJhIHByb21vdmVyIHN1IGRpZnVzacOzbi4gZikgTG9zIGF1dG9yZXMgYWNlcHRhbiBxdWUgbGEgVW5pdmVyc2lkYWQgTmFjaW9uYWwgZGUgQ29sb21iaWEgcHVlZGEgY29udmVydGlyIGVsIGRvY3VtZW50byBhIGN1YWxxdWllciBtZWRpbyBvIGZvcm1hdG8gcGFyYSBwcm9ww7NzaXRvcyBkZSBwcmVzZXJ2YWNpw7NuIGRpZ2l0YWwuIFNJIEVMIERPQ1VNRU5UTyBTRSBCQVNBIEVOIFVOIFRSQUJBSk8gUVVFIEhBIFNJRE8gUEFUUk9DSU5BRE8gTyBBUE9ZQURPIFBPUiBVTkEgQUdFTkNJQSBPIFVOQSBPUkdBTklaQUNJw5NOLCBDT04gRVhDRVBDScOTTiBERSBMQSBVTklWRVJTSURBRCBOQUNJT05BTCBERSBDT0xPTUJJQSwgTE9TIEFVVE9SRVMgR0FSQU5USVpBTiBRVUUgU0UgSEEgQ1VNUExJRE8gQ09OIExPUyBERVJFQ0hPUyBZIE9CTElHQUNJT05FUyBSRVFVRVJJRE9TIFBPUiBFTCBSRVNQRUNUSVZPIENPTlRSQVRPIE8gQUNVRVJETy4KUGFyYSB0cmFiYWpvcyBkZXBvc2l0YWRvcyBwb3Igb3RyYXMgcGVyc29uYXMgZGlzdGludGFzIGEgc3UgYXV0b3I6IERlY2xhcm8gcXVlIGVsIGdydXBvIGRlIGFyY2hpdm9zIGRpZ2l0YWxlcyB5IG1ldGFkYXRvcyBhc29jaWFkb3MgcXVlIGVzdG95IGFyY2hpdmFuZG8gZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBVTikgZXMgZGUgZG9taW5pbyBww7pibGljby4gU2kgbm8gZnVlc2UgZWwgY2FzbywgYWNlcHRvIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHBvciBjdWFscXVpZXIgaW5mcmFjY2nDs24gZGUgZGVyZWNob3MgZGUgYXV0b3IgcXVlIGNvbmxsZXZlIGxhIGRpc3RyaWJ1Y2nDs24gZGUgZXN0b3MgYXJjaGl2b3MgeSBtZXRhZGF0b3MuCkFsIGhhY2VyIGNsaWMgZW4gZWwgc2lndWllbnRlIGJvdMOzbiwgdXN0ZWQgaW5kaWNhIHF1ZSBlc3TDoSBkZSBhY3VlcmRvIGNvbiBlc3RvcyB0w6lybWlub3MuCgpVTklWRVJTSURBRCBOQUNJT05BTCBERSBDT0xPTUJJQSAtIMOabHRpbWEgbW9kaWZpY2FjacOzbiAyNy8yMC8yMDIwCg==