Real-Time Collision Detection Algorithm for Humanoid Robots
Total Page:16
File Type:pdf, Size:1020Kb
University of Calgary PRISM: University of Calgary's Digital Repository Graduate Studies The Vault: Electronic Theses and Dissertations 2020-01-29 Real-time Collision Detection Algorithm for Humanoid Robots Moghaddasi, Shadi Moghaddasi, S. (2020). Real-time Collision Detection Algorithm for Humanoid Robots (Unpublished master's thesis). University of Calgary, Calgary, AB. http://hdl.handle.net/1880/111593 master thesis University of Calgary graduate students retain copyright ownership and moral rights for their thesis. You may use this material in any way that is permitted by the Copyright Act or through licensing that has been assigned to the document. For uses that are not allowable under copyright legislation or licensing, you are required to seek permission. Downloaded from PRISM: https://prism.ucalgary.ca UNIVERSITY OF CALGARY Real-time Collision Detection Algorithm for Humanoid Robots by Shadi Moghaddasi A THESIS SUBMITTED TO THE FACULTY OF GRADUATE STUDIES IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF SCIENCE GRADUATE PROGRAM IN MECHANICAL ENGINEERING CALGARY, ALBERTA JANUARY, 2020 c Shadi Moghaddasi 2020 Abstract Humanoid robots (humanoids) are highly capable of assisting humans and working with them in cluttered and confined environments. However, they are not completely ready to work in close proximity with humans while not risking the safety of themselves and the objects and people around them. Current methods have not been fully successful in preparing humanoid for safe Human Robot Interaction (HRI) because they rely on expensive and fragile equipment, and erroneous techniques. This thesis presents a novel real-time methodology that enables the safe close proximity HRI for all types of humanoids (controlling systems, etc.). The proposed approach employs signals from robots' motor joints and data from the computers running the robot to develop a collision detection algorithm. Using this algorithm, humanoids will be able to speedily identify impacted joints during a collision. Experimental results for the humanoid robot Taiko are presented to demonstrate the applicability of the proposed approach. ii Preface This thesis is an original work by the author. No part of this thesis has been previously published. iii Acknowledgements I would like to thank the people who helped me to brainstorms ideas, find annoying bugs and review the thesis. First and foremost thanks to Dr. Alejandro Ramirez-Serrano for always supporting me, believing in me and guiding me with his amazing suggestions and comments. Then I would like to thank my lab-mates: Ashraf, Parastoo, and Marshall for all the insightful discussions that helped me to gain progress. I would also want to thank my friends who are always there for me. Last but certainly not least, my father, mother, and sister to always encourage me to do my best and guide me in difficult situations. Very special thanks to Erfan without whom, the challenges associated with this work would have not been manageable. iv To all the knowledge I have gained ... v Table of Contents Abstract ii Preface iii Acknowledgements iv Dedication v Table of Contents vi List of Figures and Illustrations viii List of Tables ix List of Symbols, Abbreviations and Nomenclature x 1 Introduction 1 1.1 Motivation . .4 1.2 Thesis Focus . .7 1.3 Thesis Outline . .8 2 Literature and Review 9 2.1 Balanced Walking . 10 2.1.1 Wheeled Walking. 11 2.1.2 Pedal walking. 14 2.1.2.1 Bipedal (Biped) Walking. 14 2.1.2.2 Beyond just Balanced Walking. 19 2.2 Manipulation + Walking . 22 2.3 Touching Sensibility . 24 2.4 Safety of a Humanoid Robot . 26 3 Problem Statement 29 3.1 Definitions . 31 3.2 Assumptions . 33 3.3 Constraints . 34 3.4 The Inefficiencies in the Current Techniques . 34 vi 3.5 Proposed Solution . 35 3.6 Expectations of the Proposed Solution and Contributions . 37 4 Operation Architecture 38 4.1 Perception Layer . 38 4.2 Signal Analysis Mechanism . 39 4.2.1 Signal Storing Process. 40 4.2.2 Dynamic Filtering the Stored Signals. 42 4.2.3 Replacing Outliers with Modified Data. 43 4.2.4 Processing Filtered and Stored values. 44 4.2.4.1 1st Condition Data Processing. 44 4.2.4.2 2nd Condition Data Processing. 44 4.2.4.3 3rd Condition Data Processing. 46 4.3 Collision Detection Mechanism . 46 4.4 Operation Architecture Summary . 51 5 Experimental Humanoid Robot Characteristics 52 5.1 Humanoid Robot Specifications . 52 5.2 Experimental Implementation . 56 5.3 Remarks . 58 6 Experimental Results 61 6.1 Experimental testing Set-up . 61 6.2 Motor's Torque Dynamic Filtering . 62 6.3 Storing Period Validation . 64 6.4 Humanoid's Real-time Collision Detection Results . 71 6.4.1 Collisions on Low Power Joints. 71 6.4.2 Collisions on 100-Watt Power Joints. 73 6.4.3 Collisions on 200-Watt Power Joints. 75 6.4.4 Complex Robot Motions and Multiple Collision Tests. 76 6.5 Discussion . 78 7 Conclusions 80 7.1 Future Work . 82 Bibliography 83 vii List of Figures and Illustrations 1.1 (a) Humanoid Robot NAO and (b) Wheeled Humanoid Robot Justin. .3 3.1 Operation Architecture. 35 4.1 Evaluation Layer. 41 4.2 Robotic joints sensed torque values for two 200 W and a 100 W Dynamixel Pro motors. 42 4.3 Identification Layer. 47 4.4 Graphical demonstration of the final step of the collision detection. 51 5.1 Dr. Alejandro Ramirez-Serrano standing next to the Humanoid Robot Taiko. 53 5.2 (a) Taiko physical specifications, (b) Front view, and (c) Side view. 54 5.3 Schematic diagram of the humanoid's hardware architecture. 58 5.4 Taiko's joint ID map. 59 5.5 Stanley 51-104 rubber mallet. 60 6.1 Using collision detection mechanism on Joint ID 29 using different values of Ws.......................................... 64 6.2 Collision Detection on joint ID 28 and Outlier Filtering using m = 10. 66 6.3 Results of the Final Detection Matrix for various values of m for joint ID 28. 67 6.4 Affected joints for the experiment of different values of \m". 68 6.5 Collision Detection on joint ID 28and Outlier Filtering using m=20. 69 6.6 Collision Detection on joint ID 28and Outlier Filtering using m=50. 69 viii List of Tables 5.1 Control Table for the 200-Watt motors (Dynamixel H54-200-S500-R). 55 5.2 Control Table for the 100-Watt motors (Dynamixel H54-100-S500-R). 55 5.3 Control Table for the 20-Watt motors (Dynamixel H42-20-S300-R). 56 6.1 Estimated impact force applied to the humanoid robot. 71 6.2 Collision detection on the humanoid's 20 W servomotor joints. 72 6.3 Real-time collision detection of Taiko's 100 W servomotor joints. 74 6.4 Real-time collision detection of Taiko's 200 W servomotor joints. 77 6.5 Real-time collision detection of Taiko's servomotor joints in idle state. 78 6.6 Real-time collision detection of Taiko's servomotor joints in moving state. 79 ix List of Symbols, Abbreviations and Nomenclature Acronyms Acronyms Definition ANN Artificial Neural Network ATV All Terrain Vehicles CoM Center of Mass Defense Advanced Research Projects DARPA Agency DoF Degree(s) of Freedom DPC Development Personal Computer GIWC Gravito-Inertial Wrench Cone GPU Graphics Processing Unit HD High-Definition HRI Human Robot Interaction ID Identifier IMU Inertial Measurement Unit ISS International Space Station LIPM Linear Inverted Pendulum Model x MAD Median Absolute Deviation MIT Massachusetts Institute of Technology MPC Motion Personal Computer National Aeronautics and Space NASA Administration OPC Operating Personal Computer PPC Perception Personal Computer PSF Plane Segment Finder PWM Pulse Width Modulation RGB Red Green Blue RMP Robotic Mobility Platform ROS Robotic Operating System W Watts Functions Definition d difference between two values, sets, or matrices erfc−1 Inverse Complementary Error Function MAM difference between Maximum and Minimum values Matrices Definition DJIDj Detected Joints' ID for jth Condition (j=1, 2, and 3) Detected Joints' Current Readings for jth DJ cj Condition (j=1, 2, and 3) DMCj Detection Matrix for jth Condition (j=1, 2, and 3) Vector of the Difference between desired and dP i current values of Position for Joint "i" xi Maximum Difference between desired dP max i and current values of Position for Joint "i" Vector of the Difference between desired and dV i current values of Velocity for Joint "i" Maximum Difference between desired max dVi and current values of Velocity for Joint "i" Vector of the Difference between desired and dτ i current values of Torque for Joint "i" Maximum Difference between desired dτ max i and current values of Torque for Joint "i" FDJID Final Detected Joints' ID F DJc Final Detected Joints' current readings FDM Final Detection Matrix difference between Max and Minimum values for MAMP ci current stored Position values for Joint "i" difference between Maximum and Minimum values for MAMV ci current stored Velocity values for Joint "i" difference between Maximum and Minimum values for MAMτ ci current stored Torque values for Joint "i" Vector of the Slopes between Modified Torque Desired Sτ^ cii Values for Joint "i" max Maximum Slopes between Modified Torque Sτ^ ci Desired Values for Joint "i" Scalars Definition Ws Window Size ∆t Storing Period δt Control Cycle δtm Iteration "m" Control Cycle xii Error Sets Definition Pcii Vector of the Stored Current Values of Position for Joint "i" Pdii Vector of the Stored Desired Values of Position for Joint "i" S Vector of Set of Values sp Vector of Position Sub-set sv Vector of Velocity Sub-set sτ Vector of Torque Sub-set Vcii Vector of the Stored Current Values of Velocity for Joint "i" Vdii Vector of the Stored Desired Values of Velocity for Joint "i" τcii Vector of the Stored Current Values of Torque for Joint "i" τdii Vector of the Stored Desired Values of Torque for Joint "i" τ^cii Vector of the Stored Modified Torque Current Value for Joint "i" Set Members Definition P m di Position Desired Value at iteration "m" for Joint "i" V m Velocity Desired Value at iteration "m" for Joint "i" di τ k Detected Torque Outlier Values ci τ m Torque Desired Value at iteration "m" for Joint "i" di τ^m Modified Current Torque Value at iteration "m" for Joint "i" ci xiii Chapter 1 Introduction Human beings have been dreaming of trustworthy strong human-alike companionable ma- chines for more than a century [1].