A Self-Collision Detection Algorithm of a Dual-Manipulator System Based on GJK and Deep Learning
Abstract
:1. Introduction
2. Multi-Manipulator System and Collider Modeling
2.1. Kinematic Modeling of Multi-Manipulator System
2.2. Collider Construction of Manipulators
3. GJK Algorithm for Dual-Manipulator Self-Collision Detection
3.1. Introduction of GJK Algorithm
3.1.1. Minkowski Difference
3.1.2. Basic Principle of GJK Algorithm
- (a)
- is the origin, and collide, and the GJK algorithm is exited;
- (b)
- The dot product of and is less than zero (), at this time, the simplex containing the origin cannot be found in , no collision occurs between and , and the GJK algorithm is exited.
3.2. GJK Self-Collision Detection for Dual-Manipulator System
4. DLGJK Algorithm
4.1. Structure of DLGJK Algorithm
4.2. Structure and Training of DLNet
4.2.1. Gathering DLNet Training Data
4.2.2. Structure and Parameters of DLNet
4.3. Judgment Logic of DLNet for Self-Collision
Algorithm 1 DLGJK self-collision detection of the LF-RF dual-manipulator system |
1. Input: motor data, containing motor data of 8 joints of the system. 2. Extract [LF1, LF2, RF1, RF2]. 3. Hvalue ← LF1-RF1. 4. Call the DLNet, input [Hvalue, LF2, RF2] If OutDL > K: Return no self-collision occurs in the system, exit DLGJK algorithm; If OutDL ≤ K: Continue to execute the next step. 5. Call GJK algorithm, input [LF1, LF2, RF1, RF2] If GJK algorithm detects no self-collision: Return no self-collision occurs in the system, exit DLGJK algorithm; If GJK algorithm detects the occurrence of self-collision: Return self-collision occurs in the system, exit DLGJK algorithm. |
Algorithm 2 DLGJK self-collision detection of the four-manipulator system |
1. Input: motor data, containing motor data of 16 joints of the system. 2. Extract [LF1, LF2, RF1, RF2], [RS1, RS2, RF1, RF2], [LS1, LS2, LF1, LF2]. 3. Apply DLGJK algorithm simultaneously for three groups of dual-manipulator systems: DLGJK algorithm detection for LF-RF, input [LF1, LF2, RF1, RF2] If self-collision is detected: Return LF-RF occurs self-collision, exit DLGJK algorithm; If no self-collision is detected: Return LF-RF no self-collision; DLGJK algorithm detection for RS-RF, input [RS1, RS2, RF1, RF2] If self-collision is detected: Return RS-RF occurs self-collision, exit DLGJK algorithm; If no self-collision is detected: Return RS-RF no self-collision; DLGJK algorithm detection for LS-LF, input [LS1, LS2, LF1, LF2] If self-collision is detected: Return LS-LF occurs self-collision, exit DLGJK algorithm; If no collision is detected: Return LS-LF no self-collision; 4. If no self-collision occurs in the three groups of dual-manipulator systems, then no self-collision occurs in the four-manipulator system, exit DLGJK algorithm. |
5. Experiment and Discussion
5.1. Experimental Platform and Simulation Environment
5.2. Single Detection Time of DLGJK Algorithm
5.2.1. Single Detection Time of DLNet and GJK Algorithm
5.2.2. Theoretical Single-Detection Time of DLGJK Algorithm
5.2.3. Actual Single-Detection Time of the DLGJK Algorithm
5.3. DLGJK Algorithm Self-Collision Detection for Working Path
6. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Tang, W.X.; Cheng, C.; Ai, H.P.; Chen, L. Dual-arm robot trajectory planning based on deep reinforcement learning under complex environment. Micromachines 2022, 13, 254. [Google Scholar] [CrossRef]
- Shen, Y.; Guo, D.J.; Long, F.; Mateos, L.A.; Ding, H.Z.; Xiu, Z.; Hellman, R.B.; King, A.; Chen, S.X.; Zhang, C.K. Robots under COVID-19 pandemic: A comprehensive survey. IEEE Access 2021, 9, 1590–1615. [Google Scholar] [CrossRef]
- Zhu, Y.K.; Qiao, J.Z.; Long, F.; Guo, L. Adaptive sliding mode disturbance observer-based composite control with prescribed performance of space manipulators for target capturing. IEEE T. Ind. Electron. 2019, 66, 1973–1983. [Google Scholar] [CrossRef]
- Zhang, T.; Yue, X.K.; Ning, X.; Yuan, J.P. Stabilization and parameter identification of tumbling space debris with bounded torque in postcapture. Acta Astronaut. 2016, 123, 301–309. [Google Scholar] [CrossRef] [Green Version]
- Arents, J.; Abolins, V.; Judvaitis, J.; Vismanis, O.; Oraby, A.; Ozols, K. Human–robot collaboration trends and safety aspects: A systematic review. J. Sens. Actuator Netw. 2021, 10, 48. [Google Scholar]
- Robla-Gomez, S.; Becerra, V.M.; Llata, J.R.; Gonzalez-Sarabia, E.; Torre-Ferrero, C.; Perez-Oria, J. Working Together: A review on safe human-robot collaboration in industrial environments. IEEE Access 2017, 5, 26754–26773. [Google Scholar] [CrossRef]
- Pan, T.Y.; Wells, A.M.; Shome, R.; Kavraki, L.E. A general task and motion planning framework for multiple manipulators. In Proceedings of the International Conference on Intelligent Robots and Systems (IROS), Electronic Network, Prague, Czech Republic, 27 September–1 October 2021; pp. 3168–3174. [Google Scholar]
- Ostyn, F.; Vanderborght, B.; Crevecoeur, G. Comparison of collision detection techniques for high-Speed industrial robot actuators with overload clutch. In Proceedings of the International Conference on Advanced Intelligent Mechatronics (AIM), Electronic Network, Delft, The Netherlands, 12–16 July 2021; pp. 448–453. [Google Scholar]
- Haddadin, S.; De-Luca, A.; Albu-Schaffer, A. Robot collisions: A survey on detection, isolation, and identification. IEEE T. Robot 2017, 33, 1292–1312. [Google Scholar] [CrossRef] [Green Version]
- Sivcev, S.; Rossi, M.; Coleman, J.; Omerdic, E.; Dooly, G.; Toal, D. Collision detection for underwater ROV manipulator systems. Sensors 2018, 18, 1117. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Hoang, X.B.; Pham, P.C.; Kuo, Y.L. Collision detection of a HEXA parallel robot based on dynamic model and a multi-dual depth camera system. Sensors 2022, 22, 5923. [Google Scholar] [CrossRef]
- Huang, S.F.; Gao, M.; Liu, L.; Chen, J.H.; Zhang, J.W. Collision detection for cobots: A back-input compensation approach. IEEE-Asme T. Mech. 2022; accepted. [Google Scholar]
- Park, K.M.; Park, Y.; Yoon, S.; Park, F.C. Collision detection for robot manipulators using unsupervised anomaly detection algorithms. IEEE-Asme T. Mech. 2021; accepted. [Google Scholar]
- Min, F.Y.; Wang, G.; Liu, N. Collision detection and identification on robot manipulators based on vibration analysis. Sensors 2019, 19, 1080. [Google Scholar] [CrossRef] [Green Version]
- Kong, M.X.; Bai, Y.H. An efficient collision detection algorithm for the dual-Robot coordination system. In Proceedings of the Advanced Information Technology, Electronic and Automation Control Conference (IAEAC), Chongqing, China, 12–14 October 2018; pp. 1533–1537. [Google Scholar]
- Gottschalk, S.; Lin, M.C.; Manocha, D. OBBTree: A hierarchical structure for rapid interference detection. In Proceedings of the International Conference on Computer Graphics and Interactive Techniques, New Orleans, LA, USA, 4–9 August 1996. [Google Scholar]
- Schulman, J.; Duan, Y.; Ho, J.; Lee, A.; Awwal, I.; Bradlow, H.; Pan, J.; Patil, S.; Goldberg, K.; Abbeel, P. Motion planning with sequential convex optimization and convex collision checking. Int. J. Robot. Res. 2014, 33, 1251–1270. [Google Scholar] [CrossRef]
- Salehian, S.S.M.; Figueroa, N.; Billard, A. A unified framework for coordinated multi-arm motion planning. Int. J. Robot. Res. 2018, 37, 1205–1232. [Google Scholar]
- Park, K.W.; Kim, M.; Kim, J.S.; Park, J.H. Path planning for multi-Arm Manipulators using Soft Actor-Critic algorithm with position prediction of moving obstacles via LSTM. Appl. Sci. 2022, 12, 9837. [Google Scholar] [CrossRef]
- Prianto, E.; Kim, M.; Park, J.H.; Bae, J.H.; Kim, J.S. Path planning for multi-arm manipulators using deep reinforcement learning: Soft actor-critic with hindsight experience replay. Sensors 2020, 20, 5911. [Google Scholar] [CrossRef] [PubMed]
- Gilbert, E.G.; Johnson, D.W.; Keerthi, S.S. A fast procedure for computing the distance between complex objects in 3-dimensional space. IEEE J. Robot. Autom. 1988, 4, 193–203. [Google Scholar] [CrossRef] [Green Version]
- Gilbert, E.G.; Foo, C.P. Computing the distance between smooth objects in 3-dimensional space. In Proceedings of the International Conference On Robotics and Automation, Scottsdale, AZ, USA, 4–9 May 1989. [Google Scholar]
- Cameron, S. Enhancing GJK: Computing minimum and penetration distances between convex polyhedron. In Proceedings of the International Conference On Robotics and Automation, Albuquerque, NM, USA, 20–25 April 1997. [Google Scholar]
- Huang, S.; Huang, L.C.; Lai, Z.S.; Bae, J.H.; Kim, J.S. An extension of the Fourier series-based particle model to the GJK-based contact detection and resolution framework for DEM. Comput. Part. Mech. 2022, 9, 381–391. [Google Scholar] [CrossRef]
- Descantes, Y.; Tricoire, F.; Richard, P. Classical contact detection algorithms for 3D DEM simulations: Drawbacks and solutions. Comput. Geotech. 2019, 114, 103134. [Google Scholar] [CrossRef] [Green Version]
- Ferreira, T.D.; Santos, R.G.; Vianna, S.S.V. A coupled finite volume method and Gilbert-Johnson-Keerthi distance algorithm for computational fluid dynamics modelling. Comput. Method. Appl. Mech. Eng. 2019, 352, 417–436. [Google Scholar] [CrossRef]
- Zheng, Y.; Yamane, K. Ray-shooting algorithms for robotics. IEEE Trans. Autom. Sci. Eng. 2013, 10, 862–874. [Google Scholar] [CrossRef]
- Sabetghadam, B.; Cunha, R.; Pascoal, A. A distributed algorithm for real-time multi-drone collision-free trajectory replanning. Sensors 2022, 22, 1855. [Google Scholar] [CrossRef]
- Heo, Y.J.; Kim, D.; Lee, W.; Kim, H.; Park, J.; Chung, W.K. Collision detection for industrial collaborative robots: A deep learning approach. IEEE Robot. Autom. Lett. 2019, 4, 740–746. [Google Scholar] [CrossRef]
- Park, K.M.; Kim, J.; Park, J.; Park, F.C. Learning-based real-dime detection of robot collisions without joint torque sensors. IEEE Robot. Autom. Lett. 2021, 6, 103–110. [Google Scholar] [CrossRef]
- Sharkawy, A.N.; Koustoumpardis, P.N.; Aspragathos, N. Neural network design for manipulator collision detection based only on the joint position sensors. Robotica 2020, 38, 1737–1755. [Google Scholar] [CrossRef]
- Kim, M.; Han, D.K.; Park, J.H.; Kim, J.S. Motion planning of robot manipulators for a smoother path using a twin delayed deep deterministic policy gradient with hindsight experience replay. Appl. Sci. 2020, 10, 575. [Google Scholar] [CrossRef] [Green Version]
- Liu, C.Z.; Gao, J.Y.; Park, J.H.; Bi, Y.Z.; Shi, X.Y.; Tian, D.K. A multitasking-oriented robot arm motion planning scheme based on deep reinforcement learning and wwin synchro-control. Sensors 2020, 12, 3515. [Google Scholar] [CrossRef]
- Liu, Z.Y.; Zhang, L.H.; Qin, X.H.; Li, G. An effective self-collision detection algorithm for multi-degree-of-freedom manipulator. Meas. Sci. Technol. 2022, 34, 015901. [Google Scholar] [CrossRef]
- Montanari, M.; Petrinic, N.; Barbieri, E. Improving the GJK algorithm for faster and more reliable distance queries between convex objects. ACM Trans. Graph. 2017, 36, 30. [Google Scholar] [CrossRef]
- Dyllong, E.; Luther, W. The GJK distance algorithm: An interval version for incremental motions. Numer. Algorithms 2004, 37, 127–136. [Google Scholar] [CrossRef]
Motor Position | Operating Range | Motor Stepping Amount |
---|---|---|
Lifting joint motor | 0~500 mm | 10 mm |
Shoulder joint motor | −90°~90° | 0.5° |
Elbow joint motor | −90°~90° | 0.5° |
Wrist joint motor | −90°~90° | 0.5° |
Manipulator | Link | θi/(°) | di/mm | ai/mm | αi/(°) |
---|---|---|---|---|---|
RF | l1RF | 90 | d1 RF + 780 | 125 | 90 |
l2RF | θ2RF − 90 | 351 | 346 | −90 | |
l3RF | θ3RF | 182 | 0 | 90 | |
l4RF | θ4RF | 0 | 0 | 0 | |
LF | l1LF | 90 | d1 LF + 780 | −125 | 90 |
l2LF | θ2LF + 90 | 351 | 346 | −90 | |
l3LF | θ3LF | 182 | 0 | 90 | |
l4LF | θ4LF | 0 | 0 | 0 |
Algorithm | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
GJK | 15,020.7985 s | 15,024.0230 s | 15,011.7995 s | 15,001.7229 s | 15,003.6697 s | 15,033.8485 s | 15,046.9780 s | 15,007.4476 s | 15,021.8630 s | 15,024.3327 s |
DLNet | 1.5952 s | 1.5773 s | 1.5603 s | 1.6240 s | 1.6471 s | 1.5634 s | 1.6002 s | 1.6001 s | 1.5970 s | 1.6033 s |
Algorithm | Dataset Data Amount | Average Dataset Detection Time | Average Single-Detection Time |
---|---|---|---|
GJK | 13,292,742 | 15,019.6483 s | 1129 μs |
DLNet | 13,292,742 | 1.5969 s | 0.12 μs |
Working Conditions | Time-Consuming Equation | Single-Detection Time |
---|---|---|
No self-collision risk | T1 = TDL | 0.12 μs |
With self-collision risk | T2 = TDL + TGJK | 1129.12 μs |
Algorithm | Number of Times Calling GJK | P | Single Detection-Time Expectation |
---|---|---|---|
Global GJK | 13,292,742 | 100% | E(TGJK) = TGJK = 1129 μs |
DLGJK | 306,463 | 2.3% | E(TDLGJK) = T1 × 97.7% + T2 × 2.3% = 26.09 μs |
Algorithm | Number of Times Calling GJK | Single-Detection Time | P | Single-Detection Time Expectation |
---|---|---|---|---|
Global GJK | 13,292,742 | TGJK(LF-LS) = 1134 μs | 100% | E(TGJK) = TGJK(LF-LS) = 1134 μs |
DLGJK | 471,702 | T1(LF-LS) = TDL(LF-LS) = 0.12 μs T2(LF-LS) = TDL(LF-LS) + TGJK(LF-LS) = 1134.12 μs | 3.5% | E(TDLGJK)(LF-LS) = T1(LF-LS) × 96.5% + T2(LF-LS) × 3.5% = 39.81 μs |
Algorithm | Number of Times Calling GJK | Single Detection Time | P | Single-Detection Time Expectation |
---|---|---|---|---|
Global GJK | 13,292,742 | TGJK(RF-RS) = 1131 μs | 100% | E(TGJK) = TGJK(RF-RS) = 1131 μs |
DLGJK | 450,981 | T1(RF-RS) = TDL(RF-RS) = 0.12 μs T2(RF-RS) = TDL(RF-RS) + TGJK(RF-RS) = 1131.12 μs | 3.4% | E(TDLGJK)(RF-RS) = T1(RF-RS) × 96.6% + T2(RF-RS) × 3.4% = 38.57 μs |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Wu, D.; Yu, Z.; Adili, A.; Zhao, F. A Self-Collision Detection Algorithm of a Dual-Manipulator System Based on GJK and Deep Learning. Sensors 2023, 23, 523. https://doi.org/10.3390/s23010523
Wu D, Yu Z, Adili A, Zhao F. A Self-Collision Detection Algorithm of a Dual-Manipulator System Based on GJK and Deep Learning. Sensors. 2023; 23(1):523. https://doi.org/10.3390/s23010523
Chicago/Turabian StyleWu, Di, Zhi Yu, Alimasi Adili, and Fanchen Zhao. 2023. "A Self-Collision Detection Algorithm of a Dual-Manipulator System Based on GJK and Deep Learning" Sensors 23, no. 1: 523. https://doi.org/10.3390/s23010523
APA StyleWu, D., Yu, Z., Adili, A., & Zhao, F. (2023). A Self-Collision Detection Algorithm of a Dual-Manipulator System Based on GJK and Deep Learning. Sensors, 23(1), 523. https://doi.org/10.3390/s23010523