Development of Electronics and Control for Servo Actuators in Robotic Applications DiplomaThesis JanisWojtusch DevelopmentofElectronicsandControlforServoActuatorsinRoboticApplications DiplomaThesis SubmittedbyJanisWojtusch SubmittedonJanuary1,2011 Examiner: Prof. Dr. OskarvonStryk FirstSupervisor: Dipl.-Inf. DorianScholz(SIM) SecondSupervisor: Dipl.-Ing. KimListmann(RTR) TechnischeUniversitätDarmstadt DepartmentofComputerScience Simulation,SystemsOptimizationandRobotics Prof. Dr. OskarvonStryk Abstract Servo actuators are integrated mechatronic drives for applications with high demands in dynamic re- sponse and positioning accuracy. In robotic applications, servo actuators are applied for fast and precise positioning of joint axes, manipulators or senors. The drives have to be able to move to the desired positions without any overshoot and need to provide high stead-state accuracy despite fast changes in load torque and disturbances. In the course of this thesis, improved electronics and advanced control for the widely used RX-28 and RX-64 servo actuators of the Dynamixel series produced by Robotis were developed and evaluated. The enhancedelectronicsetupimprovestheoperatingcharacteristicsandeliminatesdesign-relateddeficien- cies of the original servo actuators. The essential improvements comprise increased measurement accu- racy,computationalcapabilityandpowerefficiency. Theadvancedcontrolconceptintroducesatracking control with a highly adjustable desired trajectory for an individual control of the angular position and speed. The used trajectory generation allows to customize the desired actuator motion and the applied state observer provides an accurate estimation of relevant actuator values. For the implementation of the tracking control, a novel model predictive control strategy was proposed and compared to a loop- shaping control with a conditional anti-windup scheme. By applying the designed electronic setup and control concept, the enhanced DD-28 and DD-64 servo actuators become universal and capable drives for small and medium scaled robotic applications with an increased performance and durability. Zusammenfassung Servoantriebe sind integrierte, mechatronische Stellglieder für Anwendungen mit hohen Anforderun- gen an Stelldynamik und Positioniergenauigkeit. In der Robotik werden Servoantriebe zur schnellen und exakten Positionierung von Gelenkachsen, Manipulatoren oder Sensoren verwendet. Trotz der da- bei auftretenden schnellen Lastwechsel und Störungen müssen die Stellglieder in der Lage sein, die gewünschten Positionen ohne Überschwingen und mit hoher stationärer Genauigkeit anzufahren. Im Rahmen dieser Arbeit wurde eine verbesserte Servoelektronik und ein fortschrittliches Regelungs- konzept für die weit verbreiteten Servoantriebe RX-28 und RX-64 aus der Dynamixel Serie der Firma Robotis entwickelt und evaluiert. Die entwickelte Servoelektronik verbessert das Betriebsverhalten und beseitigt konstruktionsbedingte Mängel der ursprünglichen Servoantriebe. Die grundlegenden Verbes- serungen bestehen aus einer Erhöhung der Messgenauigkeit, Rechenleistung und Energieeffizienz. Das entwickelte Regelungskonzept sieht für dieRegelung der Winkelposition und -geschwindigkeit eine Tra- jektorienfolgeregelungmitparametrierbarerSolltrajektorievor.DieverwendeteTrajektoriengenerierung ermöglicht eine individuelle Anpassung der Stellbewegung und der eingesetzte Zustandsbeobachter lie- fert eine präzise Schätzung aller relevanten Betriebsdaten des Stellglieds. Für die Implementierung der TrajektorienfolgeregelungwurdeeinneuartigerAnsatzfüreinemodellbasierteprädiktiveRegelungvor- gestellt und mit einer Loopshaping-Regelung mit schaltendem Antiwindup-Element verglichen. Durch die Verwendung der entwickelten Servoelektronik und dem vorgestellten Regelungskonzept werden die verbesserten Servoantriebe DD-28 und DD-64 zu einen universell einsetzbaren Antrieb für kleine und mittlere Robotersysteme mit gesteigerter Leistungsfähigkeit und Lebensdauer. i StatementofAuthorship Iherebyaffirmhavingcomposedthisdiplomathesiswithoutthehelpofthirdpartiesandonlyusingthe declared sources and utilities. All parts taken from the sources are marked as such. This diploma thesis has not been submitted to any examination office in the actual or any similar form. EhrenwörtlicheErklärung Hiermit versichere ich, dass ich die vorliegende Diplomarbeit ohne Hilfe Dritter und nur mit den an- gegebenen Quellen und Hilfsmitteln angefertigt habe. Alle Stellen, die aus den Quellen entnommen wurden,sindalssolchekenntlichgemacht.DieseArbeithatingleicheroderähnlicherFormnochkeiner Prüfungsbehörde vorgelegen. Darmstadt, January 1, 2011 Janis Wojtusch iii Contents 1. Introduction 1 1.1. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2. Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3. Statement of Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4. Organization of the Thesis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. StateofTechnology 5 2.1. Servo Actuators for Hobby Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2. Servo Actuators for Industrial Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3. Servo Actuators for Mobile Robotic Applications . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.4. Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3. OriginalSystem 9 3.1. Specifications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.2. Mechanical Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.2.1. Servo Motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.2.2. Gearbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.2.3. Enclosure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.2.4. Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.3. Electronic Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.3.1. Processing Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.3.2. Sensor Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.3.2.1. Position Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.3.2.2. Temperature Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.3.2.3. Voltage Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.3.3. Communication Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.3.4. Servo Motor Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.3.5. Power Supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.3.6. Signal Light . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.3.7. Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.4. Control Concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.4.1. Angular Position Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.4.2. Angular Speed Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.4.3. Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4. ElectronicDesign 27 4.1. Design Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.2. Processing Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.3. Sensor Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.3.1. Position Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.3.2. Temperature Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.3.2.1. Microcontroller Temperature Sensor . . . . . . . . . . . . . . . . . . . . . . . 33 4.3.2.2. Servo Motor Temperature Sensor . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.3.3. Voltage Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.4. Communication Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 v 4.5. Servo Motor Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.6. Power Supply. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.7. Signal Light. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 5. ControlDesign 41 5.1. Design Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.2. Trajectory Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.2.1. Position Trajectory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.2.2. Speed Trajectory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 5.3. State Observer Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 5.4. Feedforward Control Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.5. Feedback Control Design. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.5.1. Model Predictive Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5.5.1.1. Tracking Control Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.5.1.2. Angular Position Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.5.1.3. Angular Speed Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.5.2. Loop-Shaping Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.5.2.1. Tracking Control Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 5.5.2.2. Angular Position Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 5.5.2.3. Angular Speed Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 5.5.3. Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 6. Conclusion 79 6.1. Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 6.2. Outlook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 A. ServoActuatorParameters 81 B. GearboxParameters 83 C. ServoActuatorModel 87 D. FrictionModel 103 E. ControlDesignParameters 105 F. CircuitDiagrams 109 G. TechnicalDrawings 117 Bibliography 119 vi Contents ListofFigures 1.1. Autonomous, mobile robots at the Technische Universität Darmstadt. . . . . . . . . . . . . . 2 2.1. Examples of different performance classes of servo actuators. . . . . . . . . . . . . . . . . . . 5 3.1. RX-28 and RX-64 servo actuators of the Dynamixel series. . . . . . . . . . . . . . . . . . . . . 9 3.2. Setup of the original RX-28 and RX-64 servo actuators. . . . . . . . . . . . . . . . . . . . . . . 11 3.3. Linear and nonlinear characteristics of the SV01A103AEA01 potentiometer. . . . . . . . . . 17 3.4. Parameters of the angular position control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.5. Control action of the original and identified angular position control. . . . . . . . . . . . . . 23 3.6. Control action of the angular speed control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.1. Setup of the enhanced DD-28 and DD-64 servo actuators. . . . . . . . . . . . . . . . . . . . . 27 4.2. Setup of the position sensor with the diametral magnet. . . . . . . . . . . . . . . . . . . . . . 32 5.1. Structure of the combined feedforward and feedback tracking control. . . . . . . . . . . . . 41 5.2. Segmentation of the desired trajectory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 5.3. Angular position trajectories with different desired angular acceleration limits. . . . . . . . 46 5.4. Angular speed trajectories with different desired angular acceleration limits. . . . . . . . . 47 5.5. Structure of the state observer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 5.6. Performance of the state observer of the DD-28 servo actuator. . . . . . . . . . . . . . . . . . 51 5.7. Scheme of model predictive control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5.8. Structure of the model predictive control for trajectory tracking. . . . . . . . . . . . . . . . . 60 5.9. Performance of the model predictive position control of the DD-28 servo actuator. . . . . . 63 5.10.Performance of the model predictive speed control of the DD-28 servo actuator. . . . . . . 67 5.11.Characteristic values of loop-shaping control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 5.12.Structure of the loop-shaping control for trajectory tracking. . . . . . . . . . . . . . . . . . . 70 5.13.Bode plot of the DD-28 servo actuator for angular position tracking. . . . . . . . . . . . . . . 72 5.14.Performance of the loop-shaping position control of the DD-28 servo actuator. . . . . . . . 73 5.15.Bode plot of the DD-28 servo actuator for angular speed tracking. . . . . . . . . . . . . . . . 75 5.16.Performance of the loop-shaping speed control of the DD-28 servo actuator. . . . . . . . . . 76 C.1. Functional diagram of the controlled system. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 C.2. Structure of the linear model.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 D.1. Characteristic of the friction model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 F.1. Sensor circuit diagram of the DD-28 servo actuator. . . . . . . . . . . . . . . . . . . . . . . . . 109 F.2. Sensor circuit board of the DD-28 servo actuator. . . . . . . . . . . . . . . . . . . . . . . . . . 109 F.3. Main circuit diagram of the DD-28 servo actuator. . . . . . . . . . . . . . . . . . . . . . . . . . 110 F.4. Main circuit board of the DD-28 servo actuator.. . . . . . . . . . . . . . . . . . . . . . . . . . . 111 F.5. Circuit diagram of the DD-64 servo actuator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 F.6. Circuit board of the DD-64 servo actuator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 F.7. Circuit diagram of the RX-28 servo actuator.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 F.8. Circuit diagram of the RX-64 servo actuator.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 G.1. Wire frame model of the DD-28 magnet mount. . . . . . . . . . . . . . . . . . . . . . . . . . . 117 G.2. Dimensions of the DD-28 magnet mount. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 G.3. Wire frame model of the DD-64 magnet mount. . . . . . . . . . . . . . . . . . . . . . . . . . . 118 vii G.4. Dimensions of the DD-64 magnet mount. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 viii ListofFigures
Description: