The Design Of A Torque Feedback Controller For An Upper Limb Robotic Arm.

(1)

i

THE DESIGN OF A TORQUE FEEDBACK CONTROLLER FOR AN UPPER LIMB ROBOTIC ARM

VIVEK S/O REGEEV

A report submitted in partial fulfillment of the requirement for the Bachelor Degree of Mechatronics Engineering

Faculty of Electrical Engineering Universiti Teknikal Malaysia Melaka


(2)

ii

I hereby declare that this report entitle “The design of a torque feedback controller for an upper limb robotic arm” is the result of my own research except as cited in the references. The report has not been accepted for any degree and is not concurrently submitted in candidature of any other degree.

Signature :

Author Name :


(3)

iii

“ I hereby declare that I have read through this report entitle “The design of a torque feedback controller for an upper limb robotic arm” and found that it has comply the partial fulfillment for awarding the degree of Bachelor of Mechatronics Engineering with Honours.”

Signature :

Supervisor’s Name :


(4)

iv

ACKNOWLEGDEMENT

I would like to thank my supervisor Dr. Mariam Md Ghazaly, whose advice and guidance helped me in completing my Final Year Project and report in time. There were a lot of hurdles that had to be crossed before I could complete the report. However, with diligence and perseverance the problem was solved. The journey in completing the Final Year Project (FYP) thought me a lot, in terms of leadership, proper time management, communication skill, technical knowledge, soft skill and so on. My family members and friends were another pillar of strength and moral support. They were always there when needed and gave tons of suggestions as well as ideas.


(5)

v

ABSTRACT

The main idea of this project is to design a force/torque controller that is able to control the output torque of an upper limb robotic arm. This report presents an idea of integrating fuzzy logic torque control into the control of an upper limb robotic arm. The importance of precise torque control so that a robotic arm which is doesn’t have tactile sensory is able to sense when it is handled. These sensors detect collisions by detecting unexpected torque spikes, which would mean a collision, just occurred. The robotic arm is a dc motor driven interface with 1 degree of freedom (DOF). The robotic arm is a scaled down model of an arm, referenced from the dimensions of an upper limb human arm. System identification is used to obtain the transfer function of the plant. The proposed control scheme (fuzzy logic) is chosen due to its ability to control the torque about the motor shaft. The controller works by comparing the error calculated with the specified rule base in the fuzzy controller. This determines the movement of the robotic arm either forward or backward so that the error is reduced or ideally eliminated. From open loop experimentation it can be seen that the torque system displays a very large steady state error. The fuzzy logic torque feedback controller was able to reduce this steady state error from 0.9 Nm to 0.6 Nm.


(6)

vi

ABSTRAK

Malamat utama projek ini adalah untuk mereka bentuk pengawal yang dapat mengawal tork keluaran anggota tangan robot. Laporan ini membentangkan idea mengintegrasikan system kawalan tork ‘fuzzy logic’ ke dalam kawalan anggota lengan robot. Kepentingan kawalan tork yang tepat adalah supaya lengan robot yang tidak mempunyai deria sentuhan dapat mengesan apabila ia dikendalikan. Sensor mengesan perlanggaran dengan mengesan pancang tork yang tidak dijangka, yang akan bermakna perlanggaran telah berlaku. Lengan robotic ini dipacu meggunakan motor DC dengan 1 darjah kebebasan (DOF). Lengan robotik adalah model berskala, berdasarkan rujukan daripada dimensi lengan manusia. Pengenalan sistem digunakan untuk mendapatkan model matematik lengan tangan. Skim kawalan yang dicadangkan (fuzzy logic) dipilih kerana kemampuannya untuk mengawal tork motor. Fungsi pengawal adalah membandingkan kesilapan yang dikira dengan peraturan yang terkandung dalam pengawal fuzzy logic. Ini menentukan pergerakan lengan robot sama ada ke hadapan atau ke belakang supaya kesilapan dikurangkan atau dihapuskan. Dari eksperimen ‘open loop’ ia boleh dilihat bahawa sistem tork memaparkan ralat yang sangat besar. Pengawal fuzzy logic tork dapat mengurangkan ini ralat daripada 0.9 kepada 0.6 Nm Nm.


(7)

vii

TABLE OF CONTENT

CHAPTER TOPIC PAGES

PROJECT TITLE i

SUPERVISOR DECLARATION ii

DECLARATION iii

ACKNOWLEDGEMENT iv

ABSTRACT v

ABSTRAK vi

TABLE OF CONTENT vii-viii LIST OF FIGURES ix-x LIST OF TABLES xi

LIST OF APPENDICES xii

I INTRODUCTION 1.1 Motivation 1

1.2 Problem Statement 2

1.3 Objectives 3 1.4 Scope 3


(8)

viii

2 LITERATURE REVIEW

2.1 Introduction 4-5

2.2 Robot arm 6

2.3 DC motor 7-8

2.4 Hall effect sensor 9

2.5 Control system 10-11 2.6 Fuzzy logic controller 12

3 METHODOLOGY

3.1 Introduction 13-15

3.2 Robotic arm design 16-17 3.3 Controller design 18-22

3.4 Project Setup 23-26

3.5 System identification toolbox 27-31

4 RESULTS & DISCUSSION

4.1 System identification of speed model 32-33

4.2 Speed control 33-39

4.3 System identification of torque model 40 4.4 Torque control 41-44

5 CONCLUSION & RECOMMENDATION 45

REFERENCES 46


(9)

ix

LIST OF FIGURES

NO TOPIC PAGES

2.1 Example of a SCARA robotic limbs modeled after humans 4

2.2 Robotic System Components 5

2.3 Two axes and 5 DOF robot arm 6

2.4 DC geared motor 8

2.5 Hall Effect sensor attached to a DC motor 9

2.6 Conventional PID performance vs. fuzzy PID performance(R) 10

2.7 Block diagram of the impedance controller with model feed forward 11

3.1 Three dimensional view of robotic arm 16

3.2 End product of the robotic arm 3D printing fabrication 17

3.3 Architecture of fuzzy control 18

3.4 Input and output of fuzzy logic controller 19

3.5 Error input variable 20

3.6 Rate of change in error input variable 20

3.7 Motor output variable 21

3.8 System overview of entire experimental setup 23

3.9 Cytron 12V DC geared motor with encoder 23

3.10 Microbox, power supply and encoder 24

3.11 DC geared motor cable connection 25

3.12 Microbox ports 25

3.13 Completed experimental setup 26

3.14 Open loop speed model used for system identification 27


(10)

x

3.16 Open loop torque model used for system identification 29

4.1 Comparison between the reference input and the output of the system 33

4.2 Speed, output speed and error of uncompensated closed loop speed system. 34

4.3 Speed response graph of closed loop uncompensated speed model 35

4.4 Graph of speed, error and voltage of compensated closed loop speed system. 36

4.5 Speed response of closed loop fuzzy logic compensated system 37

4.6 Speed, error and voltage of fuzzy integral compensated closed loop speed system. 38

4.7 Speed response of closed loop fuzzy integral compensated system 39

4.8 Graph of torque against time (open loop) 41

4.9 Graph of reference torque, output torque and error against time. 42

4.10 Graph of torque against time. 42

4.11 Reference torque, output torque, error and voltage of compensated torque system. 43

6.1 Open loop functional diagram 48

6.2 Open loop speed model 48

6.3 Open loop torque model 49

6.4 Closed loop functional block diagram 50


(11)

xi

LIST OF TABLES

NO TOPIC PAGES

3.1 Rule base for the fuzzy logic controller 21

3.2 Motor pins and functions 25

3.3 Microbox ports and description 25

3.4 Mass of robotic arm 31

4.1 Speed model transfer function results 32

4.2 Torque model transfer function results 40

4.3 Comparison of transient response and steady state error of closed


(12)

xii

LIST OF APPENDICES

APPNDICE TITLE PAGES A Project Schedule of Project Activities (Gantt chart) 47 B Open loop control system procedure 48-49 C Closed loop control system procedure 50


(13)

1

CHAPTER 1

INTRODUCTION

1.1 Motivation

Robotic limbs have undergone drastic changes since they were introduced in the early 20th

century. These limbs are now designed so accurately that can resemble that of a human’s. However the control of these arms still poses a problem. In the case of real indoor environments, known obstacles and unknown obstacles change their location dynamically. Moreover, the object shape, speed and position can also alter in an unpredictable way, leading to obstruction of the planned robot motion.[13] The motivation is to improve the control of the robotic arm using torque control, instead of using positioning control alone, torque control allows the controller to calculate the amount of force being exerted on the arm using sensors and using this data to calculate the amount of torque required to counter it in a sense giving the robot tactile sensation to feel the surrounding and make decisions.


(14)

2

1.2 Problem statement

Robotics has always been a field where a control has played a vital role. Robotic limbs require precise control methods that are able to determine the exact trajectory and torque needed to achieve a target outcome, whether it is moving a component from one place to another or simply just picking up an item. One of the fundamental requirements for the success of a manipulation task is the capacity to handle interaction between the robotic arm and its environment. High value of contact force is generally undesirable. For example if a robotic arm were to be introduced into an unknown environment, there may be obstacles there that block its path. General motion control wouldn’t be able to react to these obstacles therefore precise torque control is required in this case. In this project a method to control the output torque to the upper limb robotic arm is needed. Therefore, the problem faced is in designing a suitable controller which is able to control the output torque needed to drive the upper limb robotic arm accordingly. The step response of the system with the controller is compared with the system without the controller for analysis.


(15)

3

1.3

Objective

1. To design a suitable controller that is able to control the output torque of an upper limb robotic arm.

2. To test the ability of the controller to control the output speed of an upper limb robotic arm.

1.4

Project Scope

1. To model and develop an upper limb robotic arm

2. To design a torque and speed feedback controller for an upper limb robotic arm based on characteristics obtained during open loop simulation:

a) Speed control

 Settling time less than 1 second  Steady state error of less than 5%

b) Torque control


(16)

4

CHAPTER 2

LITREATURE REVIEW

2.1 Introduction

The design of torque controller for an upper limb robotic arm involves the modeling of the controller as well as the hardware. Over the course of decades human beings have been restless in their attempt to seek replacements that would be able to mimic their behavior as seen in Figure 2.1.

Figure 2.1: Example of SCARA robotic limbs modeled after humans

The science studying the intelligent connection between perception and action is generally known as robotics.[1] In reference to that definition, a robotic system can be said to be a complex system which is represented by a number of sub system as seen in Figure 2.2.


(17)

5 Figure 2.2: Robotic System Components

However, robotics would be a redundant field if not for the application of a control system in their design. A control system has the capability to connect action to perception in a highly intelligent fashion which is needed to follow through the execution of the action with respects to the goal set.

Control

Actuators


(18)

6

2.2 Robot arm

The robotic arm is the part of the robot where the end effectors and sensors are normally located for them to do their pre-programmed business [3].Robot arm is usually used to pick up and place. Figure 2.3 displays a 6 joint robot arm using a motion controller that is able to control up to two axes and 5 degree of freedom robot arm. This robot is normally used at laboratory for training or research purposes. The movement resembles human joints. This robot will move according the programming and coordinate system, axis-y and axis-x [4]. Job of robot arm include:

1. Rotating body towards object 2. Moving gripper down to object 3. Use gripper to picking object

4. Pick up the object and avoiding obstacles 5. make a rotating object towards final objects 6. Put object down

7. Lifting the object

8. Lifting arm to home position 9. Rotating body to home position


(19)

7

2.3 DC motor

The electric motor utilizes electrical energy and converts it to mechanical energy or force. The theory of converting electrical energy into mechanical energy by electromagnetic means was first founded by the British researcher Michael Faraday and comprised of a free hanging wire dropped into a pool of mercury. A permanent magnet was then in the middle of the mercury pool. Once current is supplied to the wire, the wire rotates around the magnet giving rise to a circular magnetic field. [5]

Electric motor can be separated into two types Direct Current (DC) and Alternating Current (AC). Modern electronic control has taken great strides in the past couple of decades; modern drivers have been able to remove the commutator out of the motor shell. For this new type of motor, driver circuits are relied upon to produce the sinusoidal Ac drive momentums. An example of this type of motor is the brushless Dc motor which is a polyphone Ac motor needing external electronic control. [6]

A synchronous motor and asynchronous motor have a very obvious difference. The synchronous motor works by oscillating the field or current going through the motor which in turn causes the rotor to rotate in sync. Conversely, an asynchronous motor is required to slip in order to rotate properly.

Most DC motor design produces an oscillating current in a wound rotor using a split ring commutator or permanent magnet stator. A rotor comprises of a coil wound around a rotor which is then controlled by a battery. There are three main types of DC motor which is the stepper motor, brushed DC motor and brushless DC motor.

Actuation of a robotic arm normally has a certain set of requirement: 1) High torque

2) Relatively moderate speed 3) Accurate positioning


(20)

8 A brushless DC (BLDC) motor makes a good the actuator due to its ability to produce high torque at low speed. Figure 2.4 displays a BLDC motor with a gear mechanism that increases the rated torque that the motor can produce. Besides that, other benefits of this motor is that it doesn’t need a complex power supply, doesn’t heat up quick and has a big torque to size ratio.


(21)

9

2.4 Hall effect sensor

Hall Effect sensor is a transducer commonly used for positioning, current sensing and speed detection applications. It works by varying its output voltage as a response to a provided magnetic field. In a DC motor a Hall Effect sensor functions to time the speed of the motor shaft.

Figure 2.5: Hall Effect sensor attached to a DC motor

Hall Effect sensors are applicable to applications which don't need exact position control. However when speed and direction change are needed to be known, the low resolution computerized Hall effect sensors that yield a binary sign are ordinarily implanted inside mechanical engines. This is useful for simple commutation schemes such as block commutation [10]. However if the hall effect sensor outputs an analog signal instead of a binary one, with precise design of the location and orientation of the hall effect sensor it would be simple to produce the motor, moreover the system will be less expensive and better position control would be possible.

Hall Effect Sensor Rotating Magnet


(22)

10

2.5 Control system

Many conventional approaches have been discussed in the literature to the control of various robotic limbs, including that of the robust control method [7]. Approaches such as these generally require mathematical modeling for the design of the controller, an approximate one at least. Artificial intelligence methods, mainly neural networks and fuzzy logic design, in recent years have also been proposed. Using artificial intelligence methods a precise system model usually isn’t required in the design of a controller. Heidar A. Malki et. al. [7] proposed the method of using fuzzy logic integrated with PID control in controlling a flexible joint robotic arm. Through experimental results seen in figure 2.6 it was seen that the performance of the fuzzy logic PID controller had improved the tracking performance and was more robust when compared to a conventional PID controller [8].

Figure 2.6: Conventional PID performance (L) vs. fuzzy PID performance(R) [7]

Besides that, other control methods have also been used to manipulate a robotic arm. Chaiyaporn Silawatchananai and Manukid Parnichkun[2] in their paper an idea of developing an upper limb exoskeleton for displaying the force generated by virtual environment was presented. Using the device the profile of a virtual object could be felt through joints at the shoulder, elbow and wrist. An impedance controller with model feed forward as that in Figure 2.7 was used to accomplish this effect. The controller was used to compensate the weight of the device as well as adjust the closed loop system to perform as that of the desired dynamic [2].


(23)

11 Figure 2.7: Block diagram of the impedance controller with model feed forward [2]


(24)

12

2.6 Fuzzy logic controller

Fuzzy logic is a method of rule-based decision making used for expert systems and process control that emulates the rule-of-thumb thought process used by human beings[6]. Fuzzy logic is based on the fuzzy set theory which was founded by Lofti Zedah in the 1960s. Fuzzy theory allows partial membership meaning a member can have a degree of membership of any value between 1 and 0. Traditional Boolean set theory is two valued which means that a member belongs to a set represented by the digit 1 or does not belong to the set represented by the digit 0. Fuzzy logic control excels at producing definite conclusions from ambiguous, vague or imprecise data. The advantage of fuzzy logic is that a linguistic term can be defined quantitatively using a membership function. The function of the membership function is to define the degree of membership based on a linguistic variable such as speed or pressure. Once the membership function has been defined for the input and output of the system, the next step is to configure the rule base of the system in the form of a set of IF-THEN conditional rules. This rule base and the corresponding membership function are utilized to analyze controller inputs and confirm controller outputs using the fuzzy inference mechanism. Most traditional control algorithm requires mathematical modeling however it is nearly impossible to obtain the precise mathematical model of a system due to external disturbances [6]. Moreover, most systems nowadays are very complex or non linear making controlling them a challenging task. However, if a control strategy can be described qualitatively by an expert, fuzzy logic can be used to define a controller that emulates the heuristic rule-of-thumb strategies of the expert[1]. The advantage of fuzzy logic is that it can utilize the expertise of humans to control a process or system. The linguistic control rules described by a human can be modeled to control a system that otherwise would be very hard to control. The nonlinear qualities of a Dc motor for example saturation and friction could degrade the performance most normal controllers [11]. Numerous advance model-based control routines for example variable structure control and model reference adaptive control have been created to decrease these impacts.


(1)

7 2.3 DC motor

The electric motor utilizes electrical energy and converts it to mechanical energy or force. The theory of converting electrical energy into mechanical energy by electromagnetic means was first founded by the British researcher Michael Faraday and comprised of a free hanging wire dropped into a pool of mercury. A permanent magnet was then in the middle of the mercury pool. Once current is supplied to the wire, the wire rotates around the magnet giving rise to a circular magnetic field. [5]

Electric motor can be separated into two types Direct Current (DC) and Alternating Current (AC). Modern electronic control has taken great strides in the past couple of decades; modern drivers have been able to remove the commutator out of the motor shell. For this new type of motor, driver circuits are relied upon to produce the sinusoidal Ac drive momentums. An example of this type of motor is the brushless Dc motor which is a polyphone Ac motor needing external electronic control. [6]

A synchronous motor and asynchronous motor have a very obvious difference. The synchronous motor works by oscillating the field or current going through the motor which in turn causes the rotor to rotate in sync. Conversely, an asynchronous motor is required to slip in order to rotate properly.

Most DC motor design produces an oscillating current in a wound rotor using a split ring commutator or permanent magnet stator. A rotor comprises of a coil wound around a rotor which is then controlled by a battery. There are three main types of DC motor which is the stepper motor, brushed DC motor and brushless DC motor.

Actuation of a robotic arm normally has a certain set of requirement: 1) High torque

2) Relatively moderate speed 3) Accurate positioning


(2)

8 high torque at low speed. Figure 2.4 displays a BLDC motor with a gear mechanism that increases the rated torque that the motor can produce. Besides that, other benefits of this motor is that it doesn’t need a complex power supply, doesn’t heat up quick and has a big torque to size ratio.


(3)

9 2.4 Hall effect sensor

Hall Effect sensor is a transducer commonly used for positioning, current sensing and speed detection applications. It works by varying its output voltage as a response to a provided magnetic field. In a DC motor a Hall Effect sensor functions to time the speed of the motor shaft.

Figure 2.5: Hall Effect sensor attached to a DC motor

Hall Effect sensors are applicable to applications which don't need exact position control. However when speed and direction change are needed to be known, the low resolution computerized Hall effect sensors that yield a binary sign are ordinarily implanted inside mechanical engines. This is useful for simple commutation schemes such as block commutation [10]. However if the hall effect sensor outputs an analog signal instead of a binary one, with precise design of the location and orientation of the hall effect sensor it would be simple to produce the motor, moreover the system will be less expensive and better position control would be possible.

Hall Effect Sensor Rotating Magnet


(4)

10 2.5 Control system

Many conventional approaches have been discussed in the literature to the control of various robotic limbs, including that of the robust control method [7]. Approaches such as these generally require mathematical modeling for the design of the controller, an approximate one at least. Artificial intelligence methods, mainly neural networks and fuzzy logic design, in recent years have also been proposed. Using artificial intelligence methods a precise system model usually isn’t required in the design of a controller. Heidar A. Malki et. al. [7] proposed the method of using fuzzy logic integrated with PID control in controlling a flexible joint robotic arm. Through experimental results seen in figure 2.6 it was seen that the performance of the fuzzy logic PID controller had improved the tracking performance and was more robust when compared to a conventional PID controller [8].

Figure 2.6: Conventional PID performance (L) vs. fuzzy PID performance(R) [7]

Besides that, other control methods have also been used to manipulate a robotic arm. Chaiyaporn Silawatchananai and Manukid Parnichkun[2] in their paper an idea of developing an upper limb exoskeleton for displaying the force generated by virtual environment was presented. Using the device the profile of a virtual object could be felt through joints at the shoulder, elbow and wrist. An impedance controller with model feed forward as that in Figure 2.7 was used to accomplish this effect. The controller was used to compensate the weight of the device as well as adjust the closed loop system to perform as that of the desired dynamic [2].


(5)

11 Figure 2.7: Block diagram of the impedance controller with model feed forward [2]


(6)

12 Fuzzy logic is a method of rule-based decision making used for expert systems and process control that emulates the rule-of-thumb thought process used by human beings[6]. Fuzzy logic is based on the fuzzy set theory which was founded by Lofti Zedah in the 1960s. Fuzzy theory allows partial membership meaning a member can have a degree of membership of any value between 1 and 0. Traditional Boolean set theory is two valued which means that a member belongs to a set represented by the digit 1 or does not belong to the set represented by the digit 0. Fuzzy logic control excels at producing definite conclusions from ambiguous, vague or imprecise data. The advantage of fuzzy logic is that a linguistic term can be defined quantitatively using a membership function. The function of the membership function is to define the degree of membership based on a linguistic variable such as speed or pressure. Once the membership function has been defined for the input and output of the system, the next step is to configure the rule base of the system in the form of a set of IF-THEN conditional rules. This rule base and the corresponding membership function are utilized to analyze controller inputs and confirm controller outputs using the fuzzy inference mechanism. Most traditional control algorithm requires mathematical modeling however it is nearly impossible to obtain the precise mathematical model of a system due to external disturbances [6]. Moreover, most systems nowadays are very complex or non linear making controlling them a challenging task. However, if a control strategy can be described qualitatively by an expert, fuzzy logic can be used to define a controller that emulates the heuristic rule-of-thumb strategies of the expert[1]. The advantage of fuzzy logic is that it can utilize the expertise of humans to control a process or system. The linguistic control rules described by a human can be modeled to control a system that otherwise would be very hard to control. The nonlinear qualities of a Dc motor for example saturation and friction could degrade the performance most normal controllers [11]. Numerous advance model-based control routines for example variable structure control and model reference adaptive control have been created to decrease these impacts.