ebook img

Software Architecture and Development for Controlling a Hubo Humanoid Robot PDF

176 Pages·2017·25.72 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Software Architecture and Development for Controlling a Hubo Humanoid Robot

Purdue University Purdue e-Pubs Open Access Theses Theses and Dissertations Spring 2014 Software Architecture and Development for Controlling a Hubo Humanoid Robot Manas Ajit Paldhe Purdue University Follow this and additional works at:https://docs.lib.purdue.edu/open_access_theses Part of theComputer Sciences Commons, and theRobotics Commons Recommended Citation Paldhe, Manas Ajit, "Software Architecture and Development for Controlling a Hubo Humanoid Robot" (2014).Open Access Theses. 232. https://docs.lib.purdue.edu/open_access_theses/232 This document has been made available through Purdue e-Pubs, a service of the Purdue University Libraries. Please contact [email protected] for additional information. Graduate School ETD Form 9 (Revised 12/07) PURDUE UNIVERSITY GRADUATE SCHOOL Thesis/Dissertation Acceptance This is to certify that the thesis/dissertation prepared By Manas Paldhe Entitled Software Architecture and Development for Controlling a Hubo Humanoid Robot For the degree of Master of Science in Electrical and Computer Engineering Is approved by the final examining committee: CHUN-SING GEORGE LEE Chair CHENG-KOK KOH YUNG-HSIANG LU To the best of my knowledge and as understood by the student in the Research Integrity and Copyright Disclaimer (Graduate School Form 20), this thesis/dissertation adheres to the provisions of Purdue University’s “Policy on Integrity in Research” and the use of copyrighted material. CHUN-SING GEORGE LEE Approved by Major Professor(s): ____________________________________ ____________________________________ Approved by: M. R. Melloch 04-17-20 14 Head of the Graduate Program Date SOFTWARE ARCHITECTURE AND DEVELOPMENT FOR CONTROLLING A HUBO HUMANOID ROBOT A Thesis Submitted to the Faculty of Purdue University by Manas Paldhe In Partial Fulfillment of the Requirements for the Degree of Master of Science in Electrical and Computer Engineering May 2014 Purdue University West Lafayette, Indiana ii This thesis is dedicated to my dear parents. iii ACKNOWLEDGMENTS Foremost, I would like to express my gratitude to my advisor Prof. C. S. George Lee, for his guidance and encouragement throughout my research work. I cannot imaginehavingabetteradvisorandmentorformyresearch. IalsowishtothankProf. Cheng-Kok Koh and Prof. Yung-Hsiang Lu for serving on my Advisory Committee. I am thankful to my lab-mates at the Assistive Robotics Technology Laboratory (ARTLab): Roy Chan, Yan Gu and Andy Park, for stimulating discussions and their support. I also want to thank my friends Jingru Luo and Yajia Zhang at the Intelligent Motion Laboratory, Indiana University, Michael Grey and Pete Vieira at the Humanoid Robotics Lab, Georgia Institute of Technology, and Robert Ellenberg and Daniel Lofaro at the Drexel Autonomous Systems Laboratory, Drexel University for sharing their software and helping me with my problems throughout this research work. I also want to thank my family and friends for their supports. I am indebted to them for constant motivation. Last but not the least, I would like to thank the Defense Advanced Research ProjectsAgency(DARPA)andtheNationalScienceFoundation(NSF)forsponsoring this research. This work was supported in part by the DARPA award # N65236-12- 1-1005 for the DARPA Robotics Challenge (DRC) and by the NSF under Grant CNS-0960061. Any opinion, findings, and conclusions or recommendations expressed in this material are those of the author and do not necessarily reflect the views of DARPA and the NSF. iv TABLE OF CONTENTS Page LIST OF TABLES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii LIST OF FIGURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix ABSTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii 1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2 Related work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.4 Impact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.5 Organization of the thesis . . . . . . . . . . . . . . . . . . . . . . . 16 2 OVERVIEW OF HUBO2+ HUMANOID ROBOT . . . . . . . . . . . . . 18 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.2 Mechanical structure and representation of Hubo2+ robot . . . . . 19 2.3 Electronic and electro-mechanical modules of the Hubo2+ robot . . 24 2.4 Integration of all electronic and electro-mechanical modules into one system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3 ARCHITECTUREOFHUBO-ACH:ALOWLEVELHUMANOIDROBOT CONTROLLER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.2 Purpose of hubo-ach . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.3 Architecture of ROS . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.3.1 Overview of ROS . . . . . . . . . . . . . . . . . . . . . . . . 39 3.3.2 Analysis of non-real-time behavior of ROS . . . . . . . . . . 41 3.3.3 Application of ROS . . . . . . . . . . . . . . . . . . . . . . . 42 v Page 3.4 Architecture of hubo-ach . . . . . . . . . . . . . . . . . . . . . . . . 43 3.4.1 Overview of hubo-ach . . . . . . . . . . . . . . . . . . . . . . 43 3.4.2 Ach: Inter-process communication (IPC) library . . . . . . . 47 3.4.3 Data structures . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.4.4 Abstracting communication . . . . . . . . . . . . . . . . . . 57 3.4.5 Organizational flow of hubo-ach . . . . . . . . . . . . . . . . 60 3.5 Hubo-console and Hubo-read: Wrappers around hubo-ach . . . . . . 65 3.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4 ARCHITECTUREOFHUBO-MOTION-RT:AHIGHLEVELHUMANOID ROBOT CONTROLLER . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.2 Purpose of hubo-motion-rt . . . . . . . . . . . . . . . . . . . . . . . 69 4.3 Architecture of hubo-motion-rt . . . . . . . . . . . . . . . . . . . . 71 4.3.1 Overview of hubo-motion-rt . . . . . . . . . . . . . . . . . . 71 4.3.2 Abstracting out ach communication for sensor feedback . . . 73 4.3.3 Joint velocity control and torque control . . . . . . . . . . . 74 4.3.4 Gravity compensation . . . . . . . . . . . . . . . . . . . . . 79 4.3.5 Balance controller . . . . . . . . . . . . . . . . . . . . . . . . 84 4.3.6 Integration of all controllers into one package . . . . . . . . 85 4.4 Writing custom software using hubo-motion-rt . . . . . . . . . . . . 88 4.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 5 APPLICATIONS AND USAGE OF HUBO-ACH AND HUBO-MOTION- RT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 5.2 Teleoperation of a robot . . . . . . . . . . . . . . . . . . . . . . . . 91 5.3 Hubo-read-trajectory . . . . . . . . . . . . . . . . . . . . . . . . . . 92 5.4 Hubo-neck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 5.5 Hubo-init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 5.6 Gravity-compensation-based trajectory following . . . . . . . . . . . 98 vi Page 5.7 ROS hubo ach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 5.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 6 EXPERIMENTAL WORK ON DRC-HUBO TO TEST HUBO-ACH AND HUBO-MOTION-RT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 6.2 Analysing the use of force/torque sensors for detecting grasping . . 105 6.3 Ladder climbing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 6.3.1 Motion planning for ladder climbing . . . . . . . . . . . . . . 108 6.3.2 Execution of the planned trajectory . . . . . . . . . . . . . . 114 6.3.3 Climbing using only position-control mode . . . . . . . . . . 115 6.3.4 Climbing using only PWM-control mode in the upper-body of the robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 6.3.5 Climbing partly using position-control and partly using PWM- control mode . . . . . . . . . . . . . . . . . . . . . . . . . . 116 6.4 DARPA Robotics Challenge- 2013 Trials . . . . . . . . . . . . . . . 120 6.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 7 CONCLUSION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 7.2 Analysis of the performance of the software packages . . . . . . . . 123 7.3 Analysis of the experimental work . . . . . . . . . . . . . . . . . . . 128 7.4 Future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 LIST OF REFERENCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 A D-H REPRESENTAION AND TRANSFORMATION MATRICES . . . 137 A.1 D-H Representation and forward kinematics . . . . . . . . . . . . . 137 A.2 Inverse kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 B DYNAMIC COMPUTATIONS . . . . . . . . . . . . . . . . . . . . . . . 144 B.1 Jacobian matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 B.2 Newton-Euler computations . . . . . . . . . . . . . . . . . . . . . . 146 C HUBO-ACH MANUAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 vii Page C.1 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 C.2 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 C.3 Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 D HUBO-MOTION-RT MANUAL . . . . . . . . . . . . . . . . . . . . . . . 151 D.1 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 D.2 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 D.3 Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 E HUBO-READ-TRAJECTORY MANUAL . . . . . . . . . . . . . . . . . 154 E.1 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 E.2 Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 F HUBO-INIT MANUAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 F.1 Usage: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 F.2 Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 viii LIST OF TABLES Table Page 1.1 Design philosophies of Hubo-ach, ROS, and MRDS. . . . . . . . . . . . 12 2.1 Specification of Hubo2+ humanoid robot in ARTLab. . . . . . . . . . 20 5.1 Comparison of various remote access software. . . . . . . . . . . . . . . 97 6.1 Comparison of various ladders. . . . . . . . . . . . . . . . . . . . . . . 115 6.2 Comparison of the three ladder climbing strategies. . . . . . . . . . . . 118 A.1 D-H Parameter of Hubo2+ robot’s right arm. These parameters are used to compute forward and inverse kinematic solutions. . . . . . . . . . . . 138 A.2 D-H Parameter of Hubo2+ robot’s right leg. These parameters are used to compute forward and inverse kinematic solutions. . . . . . . . . . . . 139

Description:
Paldhe, Manas Ajit, "Software Architecture and Development for Controlling a Hubo .. surgeries, space exploration and assisting in rescue operations ROS uses Transmission Control Protocol (TCP) for inter-process communication, the .. It is the analytical study of geometry of motion of a robot,.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.