Implementation and Evaluation of an Automated Collision Detection System for a Simulated Test Robot
Tamminiemi, Onni (2025)
Tamminiemi, Onni
2025
Automaatiotekniikan DI-ohjelma - Master's Programme in Automation Engineering
Tekniikan ja luonnontieteiden tiedekunta - Faculty of Engineering and Natural Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2025-06-03
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202506026561
https://urn.fi/URN:NBN:fi:tuni-202506026561
Tiivistelmä
Simulation environments for complex optical testing systems, such as the Waveguide Image Quality (WG-IQ) Test System, require robust validation methodologies to prevent damage to physical hardware. Existing manual collision checking processes are often excessively time-consuming, prone to human error, and offer incomplete checking coverage, thereby posing risks to equipment and hindering development efficiency.
This thesis adresses these limitations by designing, implementing, and evaluating an automated collision detection system for the WG-IQ Test System's JavaScript-based simulator. Key research objectives included selecting a convex decomposition algorithm for preparing non-convex 3D component models for physics-based checking and developing a kinematic mirror system utilizing the PyBullet physics engine for automated collision detection.
The methodology involved a comparative study of convex decomposition algorithms including Volumetric Hierarchical Approximate Convex Decomposition (V-HACD), a Computational Geometry Algorithms Library (CGAL) based method, and a custom Blender approach. V-HACD version 4.1 was selected for its optimal balance of geometric fidelity and practical suitability. The automated collision detection system was then implemented by mirroring the primary simulator's kinematic state into a PyBullet environment via a TCP/IP server, with collision checks performed using PyBullet's integrated Gilbert-Johnson-Keerthi (GJK) algorithm on convex hull representations. The system's effectiveness was validated through functional demonstrations, performance benchmarking, and direct comparative analysis against the previous manual SolidWorks-based workflow.
The evaluation demonstrated that the automated system detected both direct collisions and critical close proximities. Significant efficiency gains were recorded; the system reduced Device Under Test (DUT) compatibility check times by 43.7% for simple 1-pose scenarios, increasing to 70.26% for complex 22-pose scenarios compared to the manual method. The system increased collision pair coverage by over seven-fold and enhanced DUT check reliability, exhibiting 100% consistency in known-state tests, contrasting with manual measurement variability.
The developed automated collision detection system provides a more comprehensive, reliable, and efficient solution for identifying and mitigating collision risks within the WG-IQ Test System's simulation environment. This enhancement leads to increased operational safety, reduced development and testing time, and improved overall confidence in system operations before physical hardware engagement.
This thesis adresses these limitations by designing, implementing, and evaluating an automated collision detection system for the WG-IQ Test System's JavaScript-based simulator. Key research objectives included selecting a convex decomposition algorithm for preparing non-convex 3D component models for physics-based checking and developing a kinematic mirror system utilizing the PyBullet physics engine for automated collision detection.
The methodology involved a comparative study of convex decomposition algorithms including Volumetric Hierarchical Approximate Convex Decomposition (V-HACD), a Computational Geometry Algorithms Library (CGAL) based method, and a custom Blender approach. V-HACD version 4.1 was selected for its optimal balance of geometric fidelity and practical suitability. The automated collision detection system was then implemented by mirroring the primary simulator's kinematic state into a PyBullet environment via a TCP/IP server, with collision checks performed using PyBullet's integrated Gilbert-Johnson-Keerthi (GJK) algorithm on convex hull representations. The system's effectiveness was validated through functional demonstrations, performance benchmarking, and direct comparative analysis against the previous manual SolidWorks-based workflow.
The evaluation demonstrated that the automated system detected both direct collisions and critical close proximities. Significant efficiency gains were recorded; the system reduced Device Under Test (DUT) compatibility check times by 43.7% for simple 1-pose scenarios, increasing to 70.26% for complex 22-pose scenarios compared to the manual method. The system increased collision pair coverage by over seven-fold and enhanced DUT check reliability, exhibiting 100% consistency in known-state tests, contrasting with manual measurement variability.
The developed automated collision detection system provides a more comprehensive, reliable, and efficient solution for identifying and mitigating collision risks within the WG-IQ Test System's simulation environment. This enhancement leads to increased operational safety, reduced development and testing time, and improved overall confidence in system operations before physical hardware engagement.
