Development of a Series Elastic Actuator and a Distributed Computational Platform for Robotics
Total Page:16
File Type:pdf, Size:1020Kb
Development of a Series Elastic Actuator and a Distributed Computational Platform for Robotics Gonçalo Patrício Luís Thesis to obtain the Master of Science Degree in Mechanical Engineering Supervisor: Prof. Jorge Manuel Mateus Martins Examination Committee Chairperson: Prof. João Rogério Caldas Pinto Supervisor: Prof. Jorge Manuel Mateus Martins Member of the Committee: Prof. Carlos Baptista Cardeira November 2015 i ii To my Parents iii iv Acknowledgments I would like to thank Professor Jorge Martins for believing in my ideas on building a new computational platform from scratch in detriment of using the old platform. The first task he gave me was to play arround with the old platform until I felt confortable with it, not all teachers believe in loosing time on learning things that are supposed to work and should only be used instead of studied. In the end the freedom he gave me turned into finding gross mistakes in the old platform and ultimately building a new, more capable one. I would like to thank Professor Carlos Cardeira for clearing some questions I had about electronics regarding the circuit board for voltage conversion. I would also like to thank Professor Paulo Oliveira and Professor Alexandra Moutinho for showing me the power and beauty of control systems engineering in the lecture I had with them on that topic. Their practical and clear explanations ultimately made me choose Systems as my Masters area, a choice I couldn’t be happier about. I am also deeply grateful to all the other teachers on the systems department and Eng. Camilo for creating and maintaining a friendly environment during classes and at the laboratory. I want to thank Sara, for being the best part of my life since we’ve met. Thank you also for being an always available helping hand, without Sara’s support this project would have been very different. Last but not least, I want to thank my parents for supporting me in this challenge during the last years, which is also the biggest investment in my professional and moral education I will have. Thank You. v vi Resumo A robotica´ e´ uma area´ extremamente transversal quanto as´ areas´ que envolve. Desde a electronica´ ate´ ao controlo e a` inteligenciaˆ artificial, passando pela mecanica,ˆ a robotica´ e´ o culminar do melhor que ha´ nestas areas.´ O projecto em que esta tese se insere tem como objectivo explorar e implementar algoritmos de controlo avanc¸ados para controlo de robosˆ bipede, seja para andar, correr, saltar, ou qualquer outra tarefa, nao˜ so´ em simulac¸oes˜ computacionais mas tambem´ num pequeno roboˆ real. Esta tese desenvolve a plataforma computacional onde o sistema de controlo sera´ implementado. A plataforma desenvolvida usa tecnicas´ de programac¸ao˜ paralela e distribuida para alcanc¸ar a melhor performance e assim dar mais possibilidades a quem implementar os algoritmos de controlo. Nesta tese tambem´ e´ desenvolvido um actuator elastico´ em serie´ para actuac¸ao˜ em forc¸a, baseado num servo AX-12 Dynamixel da Robotis. Palavras-chave: Actuador elastico´ em serie,´ controlo de forc¸a, plataforma computacional para robotica,´ controlo distribuido vii viii Abstract Robotics embraces a wide spectrum of engineering areas. From electronics to control and artificial intelligence, passing through mechanics, robotics is the culmination of what is best on those areas. The project this thesis develops has as main goal the exploration and implementation of advanced control algorithms for making humanoid robots walk, run, jump or complete any other task not only in computer simulations but also on a small real humanoid robot. This thesis develops a computational platform where the control systems will be implemented. The developed platform uses parallel and distributed programming techniques to achieve the best performance and thus provide more possibilities to whom will implement the said controllers. In this thesis a series elastic actuator is also developed based on an AX-12 Dynamixel servo from Robotis. Keywords: Series elastic actuator, force control, robotics computational platform, distributed control ix x Contents Acknowledgments...........................................v Resumo................................................. vii Abstract................................................. ix List of Tables.............................................. xiii List of Figures............................................. xvi Nomenclature..............................................1 Glossary................................................1 1 Introduction 1 1.1 Motivation.............................................1 1.2 State-of-the-art..........................................2 1.3 Robot Platform..........................................2 1.4 Outline of this thesis.......................................3 2 Previous Hardware and Low Level Software5 2.1 Hardware.............................................5 2.1.1 Problems with the old platform.............................5 2.1.2 New platform for High Level Control..........................7 2.1.3 Actuator Hardware....................................9 2.1.4 Communication Between the Odroid and the AX-12’s................ 13 2.2 Software.............................................. 15 2.2.1 Problems with the old software............................. 15 2.2.2 Linux UART Driver.................................... 19 2.2.3 Pipelined Distributed High Level Controller Software................. 19 2.2.4 Low Level Actuator Software.............................. 23 2.2.5 System Timer....................................... 24 3 Force Actuator 28 3.1 Introduction to Force Control.................................. 28 3.1.1 Adding Compliance................................... 30 3.2 Series Elastic Actuators..................................... 31 3.2.1 Introduction........................................ 31 xi 3.2.2 Open Loop Model.................................... 32 3.2.3 Motor and Gearbox Mathematical Model........................ 33 3.2.4 Closed Loop: Constrained Position........................... 34 3.2.5 Closed Loop: Inertial Load............................... 38 3.2.6 Analysis with the real motor & hardware........................ 39 3.2.7 Digital control system.................................. 46 3.2.8 Conclusions........................................ 46 3.3 Servo Platform.......................................... 47 4 Conclusions 55 4.1 Future Work............................................ 55 Bibliography 58 A Work done on the previous platform 59 B Technical Drawing of the new shaft 60 xii List of Tables 2.1 Comparison of the top 10 boards on the Linux.com and LinuxGizmos.com survey.....9 2.2 ATMega8(A) Specifications................................... 10 xiii xiv List of Figures 1.1 Robotis Bioloid..........................................3 2.1 Previous robot infrastructure...................................7 2.2 The top 10 Linux and Android SBCs in 2015, according to a Linux.com and LinuxGiz- mos.com reader survey.....................................8 2.3 Odroid U3 and its Wi-fi dongle.................................9 2.4 The Murata SV01A103 potentiometer used on the AX-12 Dynamixel servos........ 10 2.5 Controller schematic of the AX-12 Dynamixel servos..................... 12 2.6 Quad-buffer/line driver functional diagram........................... 13 2.7 Real IC wiring diagram...................................... 14 2.8 Voltage converter wiring diagram................................ 14 2.9 Sparkfun bi-directional logic level converter.......................... 14 2.10 Quad-buffer/line driver and voltage level converter for the Odroid.............. 15 2.11 Communication flow....................................... 16 2.12 Morpheus protocol message.................................. 17 2.13 Control function of the morpheus firmware........................... 18 2.14 Odroid CPUs and communication ports............................ 21 2.15 ATMega communication ports.................................. 21 2.16 High level controller scheduling................................. 23 2.17 Read and send processes overlap............................... 23 2.18 High level controller tasks.................................... 23 2.19 Tasks in serial(2 time-steps)................................... 24 2.20 Tasks in pipeline......................................... 24 2.21 Low level controller scheduling................................. 24 2.22 Multiple servo scheduling.................................... 25 2.23 Final system scheduling..................................... 25 3.1 Long and tight vs short and loose gearboxes......................... 29 3.2 Disassembled AX-12 Dynamixel gearbox........................... 29 3.3 Ideal actuator........................................... 30 3.4 Regular actuator schematic................................... 31 xv 3.5 Force control using a high impedance force sensor...................... 31 3.6 Series elastic actuator schematic................................ 31 3.7 Open loop block diagram.................................... 32 3.8 Open loop block diagram with inertial load........................... 32 3.9 Validation results of the dynamixel identification by Tiago Rato............... 33 3.10 Series elastic actuator schematic................................ 34 3.11 Impedance transfer function bode diagram. [blue:K = 1 and Kp = 1 ............ 35 3.12 Comparison of different amplitude sine waves......................... 36 3.13 Frequency vs amplitude..................................... 37 3.14 Position control