penguasaan kemahiran insaniah dalam pembelajaran berasaskan ...

151 downloads 5410 Views 844KB Size Report
Apabila mereka merasa bosan melakukan sesuatu tugasan, tahap tumpuan mereka untuk ... 2.1. Introduction. 5. 2.2. Type of robot arm. 5. 2.2.1 Cartesian. 5 .... ascribed to humans or a machine in the form of a human.” A robot is ... mathematical calculation does not add up with the mechanical design, thus the designer ...
MODELLING AND CONTROL OF ARTICULATED ROBOT ARM

WAN MUHAMAD HANIF BIN WAN KADIR

This project report is submitted in partial fulfilment of the requirement for the award of the Degree of Master of Electrical Engineering

Faculty of Electrical and Electronic Engineering Universiti Tun Hussein Onn Malaysia

JULY, 2014

vi

ABSTRACT

Humans tends to get bored when doing a repetitive task over and over again. Whenever human get bored doing something, their concentration level on doing the task will go down and the end result of the task will not be up to the standard. A robot that can imitate human movement could be introduce in order to reduce human error in doing a repetitive task. But, to design a robot that could impersonate human movement is not that easy. Designer need to try and re-try their design before implement it in a real robot. In order to simplify the design and development of a robot, this thesis present the modelling and control of articulated robot arm. The robot arm is modelled using a CAD model that was design in SolidWorks. The robot arm movement is then simulated using the CAD model in Simulink before implementing in the real model. The robot arm is controlled by Arduino Uno that interact directly to the Simulink. The robot arm movement follows the CAD model movement which is being simulated in the Simulink. Two type of analysis has been done for this project that is an open and closed loop control test and also durability and reliability test. This prototype of the robot arm showed that the operational was successful with the initial open loop error that range from 11.48% till 15.56% to be reduced down to a maximum eror of 1.64%, the robot arm able to lift loads that are not more than 160 gram and produce error not more than 20%. Overall, this new approach of designing and control of a robot is a success.

vii

ABSTRAK

Manusia cenderung untuk merasa bosan apabila melakukan tugas yang berulang-ulang. Apabila mereka merasa bosan melakukan sesuatu tugasan, tahap tumpuan mereka untuk melakukan tugasan itu akan menurun dan hasil tugas itu juga tidak mencapai tahap yang diperlukan. Sebuah robot yang boleh meniru pergerakan manusia boleh diperkenalkan untuk mengurangkan kesilapan manusia dalam melakukan tugas yang berulang-ulang. Tetapi, untuk mereka bentuk sesebuah robot yang boleh mengikut pergerakan manusia adalah tidak begitu mudah. Para pereka perlu mencuba dan cuba semula reka bentuk mereka sebelum melaksanakannya di sebuah robot sebenar. Untuk memudahkan proses reka bentuk dan pembangunan robot, tesis ini membentangkan cara untuk model dan kawalan lengan robot. Robot lengan ini dimodelkan dengan menggunakan model CAD yang direka bentuk dalam program SolidWorks. Pergerakan lengan robot kemudiannya di simulasikan menggunakan model CAD dalam program Simulink sebelum melaksanakan dalam model sebenar.Robot lengan ini dikawal oleh Arduino Uno yang berinteraksi terus kepada program Simulink. Pergerakan lengan robot mengikut pergerakan model CAD yang sedang di simulasikan dalam program Simulink. Dua jenis analisis telah dilakukan untuk projek ini iaitu ujian kawalan gelung terbuka dan tertutup dan juga ujian ketahanan dan kebolehpercayaan. Prototaip lengan robot menunjukkan bahawa operasi Berjaya dengan ralat awal operasi gegelung terbuka adalah daripada 11.48% hingga 15.56% yang dikurangkan sehingga ralat maksimum 1.64%, lengan robot mampu untuk mengangkat beban yang tidak lebih daripada 160 gram dan menghasilkan ralat yang tidak lebih dari 20%.Secara keseluruhannya, cara baru yang diketengahkan ini dalam merekabentuk dan mengawal sesebuah robot ini adalah berjaya.

viii

TABLE OF CONTENTS

CHAPTER

ITEM

PAGE

THESIS STATUS CONFIRMATION SUPERVISOR’S CONFIRMATION

CHAPTER 1

CHAPTER 2

TITLE PAGE

i

DECLARATION

ii

DEDICATION

iii

ACKNOWLEDGEMENT

v

ABSTRACT

vi

ABSTRAK

vii

TABLE OF CONTENTS

viii

LIST OF TABLES

xi

LIST OF FIGURES

xii

LIST OF ABBREVIATIONS

xv

INTRODUCTION 1.1

Preamble

1

1.2

Problem statements

3

1.3

Aim and objectives

3

1.4

Scope of the project

4

LITERATURE REVIEW 2.1

Introduction

5

2.2

Type of robot arm

5

2.2.1

5

Cartesian

ix

2.3

2.2.2

Cylindrical

6

2.2.3

Spherical

6

2.2.4

SCARA

7

2.2.5

Articulated or Jointed-arm

8

Brief review of similar projects 2.3.1

Six joint robotic arm using PIC18F452 as a controller

2.3.2

Development of controllable Pick and place arm robot

2.3.3

Dual gripper two degree of Freedom pick and place arm robot

8

9

9

2.3.4

Sliding robot arm with gripper

9

2.3.5

The robotic arm

10

2.3.6

Robot Robix RCs-6

10

2.3.7

Lynx 5 programmable robotic Arm kit for PC

2.3.8

4-axis KUKA articulated robot arm

11

11

2.4

Microcontroller

12

2.5

Motor

13

2.5.1

Servo motor

14

2.6

Pulse aWidth Modulation(PWM)

15

2.7

Robot kinematics

16

2.7.1

Kinematics chain

17

2.7.2

Forward kinematics

17

2.7.3

Inverse kinematics

17

2.8

CHAPTER 3

8

Trajectory planning

19

METHODOLOGY 3.1

Introduction

21

3.2

Project overview

21

3.3

Project flowchart

22

3.4

Project outline

22

x 3.5

3.6

CHAPTER 4

CHAPTER 5

Robotic arm

24

3.5.1

Characterictis of robot arm

24

3.5.2

Robotic arm development

28

3.5.3

The design of the robot arm

29

3.5.4

Structure of robot arm

30

Project process

30

3.6.1

Designing process

30

3.6.2

Actuating the robot arm

33

3.6.3

Controlling the robot arm

38

RESULTS AND ANALYSIS 4.1

Introduction

45

4.2

Choosing the robot kinematic solution

45

4.3

Inverse kinematics solution

46

4.4

LPSB trajectory

52

4.5

Simulation result and analysis

52

4.6

Experimental test

53

4.6.1

Open loop and closed loop test

53

4.6.2

Durability and reliability test

60

CONCLUSION AND RECOMMENDATION 5.1

Conclusion

67

5.2

Recommendation for future work

68

REFERENCES

69

APPENDIX A

62

APPENDIX B

78

APPENDIX C

81

APPENDIX D

85

xi

LIST OF TABLE

NO TABLES

TITLE

PAGE

3.1

Advantage and disadvantage of articulated robot arm

25

3.2

Angle rotation for servomotor

38

3.3

Arduino Uno specification

41

3.4

Summary description of Arduino Support package Simulink blocks

43

4.1

Summation of open loop test

59

4.2

Summation of closed loop test

60

xii

LIST OF FIGURE

NO FIGURE

TITLE

PAGE

2.1

Coordinate and working envelope of a Cartesian robot

6

2.2

Coordinate and working envelope of a cylindrical robot

6

2.3

Coordinate and working envelope of a Spherical robot

7

2.4

Coordinate and working envelope of a SCARA robot

7

2.5

Coordinate and working envelope of an articulated robot

8

2.6

Robot Robix RCs-6

11

2.7

Lynx 5 Programmable Robot Arm

12

2.8

4-Axis KUKA articulated robot arm

12

2.9

Servo motor disassembled

14

2.10

Relative connection between arm parameter and the arm position for forward kinematics

2.11

18

Relative connection between arm parameter and the arm position for inverse kinematics

18

3.1

Project system architecture

22

3.2

Plan flowchart

23

3.3

System outline for the articulated robotic arm

24

3.4

Workspace for 3 DOF configurations

27

3.5

Sketch for robotic arm structure

29

3.6

3D base rendering using SolidWorks

30

3.7

Base model fabricated using 3D-printer

31

3.8

3D-shoulder rendering using SolidWorks

32

3.9

3D-elbow and wrist rendering using SolidWorks

32

3.10

Complete assembly of shoulder, elbow and wrist

33

3.11

Analog feedback servo

33

3.12

Closed loop system for the motor but open loop system

xiii for the controller

34

3.13

Complete closed loop system

35

3.14

Servo motor signal diagram

36

3.15

Servomotor used to construct robotic arm

37

3.16

General block diagram of a PID controller

40

3.17

Arduino Uno board

41

4.1 (a)

Process of manipulation of the structure through forward Kinematic

4.1 (b)

46

Process of manipulation of the structure through inverse Kinematic

46

4.2

Articulated robot arm

47

4.3

Projection of the robot base to the center of x – y plane

47

4.4

Singular configuration

48

4.5

Left arm configuration

50

4.6

Right arm configuration

50

4.7

Projecting onto the plane formed by links 2 and 3

51

4.8

Trajectory simulation result

53

4.9

Robot joint angle movement according to the desired angle

54

4.10

Open loop control

54

4.11

Open loop control test result for base joint

55

4.12

Open loop control test result for shoulder joint

56

4.13

Open loop control test result for elbow joint

56

4.14

Closed loop control

57

4.15

Closed loop control test result for base joint

58

4.16

Closed loop control test result for shoulder joint

58

4.17

Closed loop control test result for elbow joint

59

4.18

Base joint degree under 120 gram of weight

60

4.19

Shoulder joint degree under 120 gram of weight

61

4.20

Elbow joint degree under 120 gram of weight

61

4.21

Base joint degree under 160 gram of weight

62

4.22

Shoulder joint degree under 160 gram of weight

63

4.23

Elbow joint degree under 160 gram of weight

63

4.24

Base joint degree under 240 gram of weight

64

4.25

Shoulder joint degree under 240 gram of weight

65

xiv 4.26

Elbow joint degree under 240 gram of weight

65

xv

LIST OF ABBREVIATIONS

RC

Remote Control

PWM

Pulse Width Modulation

CAD

Computer Aided Design

ISO

Internationa Organization for Standardization

PPP

Prismatic, Prismatic, Prismatic

RPP

Revolute, Prismatic, Prismatic

RRP

Revolute, Revolute, Prismatic

RRR

Revolute, Revoute, Revolute

SCARA

Selection Compliance Assembly Robot Arm

FPGA

Field-Programmable Gate Array

CPU

Central Processing Unit

PC

Personal Computer

RAM

Random-Access Memory

DSP

Digital Signal Processing

DOF

Degree of Freedom

3D

Three Dimensional

2D

Two Dimensional

CCW

Counterclockwise

CW

Clockwise

USB

Universal Serial Bus

D–H

Denavit – Hartenberg

PID

Porpotional, Integral, Derivative

CHAPTER 1

INTRODUCTION

1.1

Preamble

According to the “Robot Institute of America,” 1979, “A robot is defined as a reprogrammable, multifunctional manipulator designed to move material, parts, tools, or specialized devices through various programmed motions for the performance of a variety of tasks.” Webster’s dictionary simplifies the definition by stating that, “a robot is an automatic device that performs functions normally ascribed to humans or a machine in the form of a human.” A robot is described as a machine designed to execute one or more tasks repeatedly, with speed and precision. There are as many different types of robots as there are tasks for them to perform. Robots are increasingly being integrated into working tasks to replace humans especially to perform the repetitive task. In general, robotics can be divided into two areas, industrial and service robotics. International Federation of Robotics (IFR) defines a service robot as a robot which operates semi- or fully autonomously to perform services useful to the well-being of humans and equipment, excluding manufacturing operations [1]. International Organization for Standardization (ISO) defines an industrial robot as

“Automatically

controlled,

reprogrammable

multi-propose

manipulator

programmable in three or more axes”. In other words, they are general purpose, reprogrammable manipulators used in moving materials, or tools through a wellspecified, variable programmed path for the performance of different tasks that are industrial related. Robotics arm mostly refer to perform task such as to pick and place materials from one location to another location. Some sophisticated robotic

2 arms have been integrated with drilling, welding, painting, stirring and other functions. [2] Although the appearance and capabilities of robots vary vastly, all robots share the features of a mechanical, movable structure under some form of autonomous control [2][3]. The structure of a robot is usually mostly mechanical and can be called a kinematic chain (its functionality being similar to the skeleton of the human body). The chain is formed of links (its bones), actuators (its muscles) and joints which can allow one or more degrees of freedom. Most contemporary robots use open serial chains in which each link connects the one before to the one after it. These robots are called serial robots and often resemble the human arm. Some robots, such as the Stewart platform, use closed parallel kinematic chains. Robots used as manipulators have an end effector mounted on the last link. This end effector can be anything from a welding device to a mechanical hand used to manipulate the environment. The mechanical structure of a robot must be controlled to perform tasks. The control of a robot involves three distinct phases - perception, processing and action (robotic paradigms). Sensors give information about the environment or the robot itself (e.g. the position of its joints or its end effector). Using strategies from the field of control theory, this information is processed to calculate the appropriate signals to the actuators (motors) which move the mechanical structure. Robotic arms have many applications in manufacturing because the end manipulator of robotic arm can be changed to fit particular industries. For instances, welding manipulator are used for as sport welding robots in manufacturing (automotive), spray nozzles for spray painting and assemblies (numerous industries), grippers for pick and place (electronics industry). Generally all applications above are using almost the same design robot arm but the difference is the software programming depending on the applications.

1.2

Problem statement.

Humans get bored when doing a repetitive task over and over again. When humans get bored doing a repetitive task, they will not focus on their task and tend to make mistakes. To overcome this problem, robot is used. Most robots nowadays are used to do repetitive (boring) task or jobs considered too dangerous for humans. It is not a simple task to design and build a robot from scratch. The designing of a robot

3 includes mathematical calculations and hardware design. Sometimes, the mathematical calculation does not add up with the mechanical design, thus the designer need to recalculate their calculation. Instead of using “try and error” approach of the calculation to the hardware, why not test the design using CAD model of the robot and observe the robot response to the mathematical equation.

1.3

Aim and objectives of this research.

Modelling and Control of Articulated Robot Arm is the aim of this project. To achieve this aim, the objectives of this project are formulated as follows:

(i)

To construct a robot arm model based on articulated robot arm design;

(ii)

To construct a drive system for the arm robot;

(iii)

To design and develop the control method complete with feedback for the robot arm.

1.4

Scope of the project.

This project consists of two parts that are

(i)

Hardware:

Arduino Uno as the brain of the robotic arm;



RC servo motor complete with feedback as the driving system of the robot.

(ii)

Software:

The use of MATLAB Simulink to design the control configuration of the robot arm;



Design of the robot arm using SolidWorks CAD software.

CHAPTER 2

LITERATURE REVIEW

2.1

Introduction

To further understands the work that needed to be done, we need to review scholarly articles, books and other sources such as dissertations, conference proceedings relevant to this project title. All of the literature is summarized as below.

2.2

Type of robot arm

Normally, robot manipulators are classified according to their arm geometry or kinematics structure. The majority of these manipulators fall into of these five configurations; Cartesian (PPP), Cylindrical (RPP), Spherical (RRP), SCARA (RRP) and Revolute or Articulated (RRR). There are five types of robot arms that are used nowadays. Degrees of freedom are the axes around which it is free to move. The area a robot arm can reach is its working envelope. The major categories of industrial robots by mechanical structure are as below.

2.2.1 Cartesian

Rectangular arms are sometimes called "Cartesian" because the arm´s axes can be described by using the X, Y, and Z coordinate system. It is claimed that the Cartesian design will produce the most accurate movements. Used for pick and place work, application of sealant, assembly operations, handling machine tools and arc welding.

6 It is a robot whose arm has three prismatic joints, whose axes are coincident with a Cartesian coordinator. Refer Figure 2.1 for this robots coordination and work envelope.

Figure 2.1: Coordinate and working envelope of a Cartesian robot

2.2.2 Cylindrical

A cylindrical arm also has three degrees of freedom, but it moves linearly only along the Y and Z axes. Its third degree of freedom is the rotation at its base around the two axes. The work envelope is in the shape of a cylinder. Used for assembly operations, handling at machine tools, spot welding, and handling at die-casting machines. It is a robot whose axes form a cylindrical coordinate system. Refer Figure 2.2 for this robots coordinate and work envelope.

Figure 2.2: Coordinate and working envelope of a cylindrical robot.

2.2.3 Spherical

The spherical arm, also known as polar coordinate robot arm, has one sliding motion and two rotational, around the vertical post and around a shoulder joint. The

7 spherical arm's work envelope is a partial sphere which has various lengths. Used for handling at machine tools, spot welding, die-casting, fettling machines, gas welding and arc welding. It is a robot whose axes form a polar coordinate system. Refer Figure 2.3 for this robots coordinate and work envelope.

Figure 2.3: Coordinate and working envelope of a Spherical robot.

2.2.4 SCARA

SCARA or Selection Compliance Assembly Robot Arm is also known as a horizontal articulated arm robot. Some SCARA robots rotate about all three axes, and some have sliding motion along one axis in combination with rotation about another. Used for pick and place work, application of sealant, assembly operations and handling machine tools. It is a robot which has two parallel rotary joints to provide compliance in a plane. Refer Figure 2.4 for this robots coordinate and work envelope.

Figure 2.4: Coordinate and working envelope of a SCARA robot

8 2.2.5 Articulated or Jointed-arm

The last and most used design is the jointed-arm., also known as an articulated robot arm. The arm has a trunk, shoulder, upper arm, forearm, and wrist. All joints in the arm can rotate, creating six degrees of freedom. Three are the X, Y, and Z axes. The other three are pitch, yaw, and roll. Pitch is when you move your wrist up and down. Yaw is when you move your hand left and right. Rotate your entire forearm, this motion is called roll. Used for assembly operations, die-casting, fettling machines, gas welding, arc welding and spray painting. It's a robot whose arm has at least three rotary joints. Refer Figure 2.5 for this robot’s coordinate and work envelope.

Figure 2.5: Coordinate and working envelope of an articulated robot

2.3

Brief review of similar projects

2.3.1 Six Joint Robotic Arm Using PIC18F452 as a Controller

In 2011, Hanafi Bin Kemin from University Tun Hussein Onn Malaysia develops a six degree of freedom robotic arm that use PIC18F452 as the controller. In this project, he chooses an articulated movement for his robot arm. For actuating the movement of the robot arm, he chooses RC servo motors. The movement of the robot is preprogrammed. Although he develops a six degree of freedom robot arm, the robot arm itself is an open loop system and the movement of the joints cannot be confirmed.

9 2.3.2 Development of Controllable Pick and Place Arm Robot This previous research named “Development of Controllable Pick and Place Arm Robot” [4] by Shathiasillan Yelumalai (2009) from University Tun Hussein Onn Malaysia discusses on construction of a pick and place arm robot using PIC16F877A microcontroller and a Cartesian (PPP) robot movement. It is an open-loop type of robot arm. The movement algorithm of the robot arm is programmed to the microcontroller, and has no sensors to verify the movement.

2.3.3 Dual Gripper Two Degree of Freedom Pick and Place Arm Robot

This thesis is written by V.J Dehven Nair Velayutham (2009) from University Tun Hussein Onn Malaysia [5]. He discussed about the development of a two degree of freedom robot arm with dual gripper. The dual gripper means that the robot arm combines two types of end effector, one end effector is the servo gripper and the second is the magnetic gripper. The robot arm design is based on cylindrical movement (RPP). The movement of the robot arm is based on the movement algorithm that was programmed to the microcontroller. It is not easy to reprogram.

2.3.4 Sliding Robot Arm with Grippers From a previous research “Sliding Robot Arm with Grippers” [6] by Wee Siuw Sia (2006) from University College of Technology Tun Hussein Onn. This thesis discusses on construction of a mechanical design of a robot arm with grippers. In this project, the sliding arm consists of three degree of freedom which can move proportionally. It can function as a pick and place robot. The sensors are built with limit switch. When the limit switch is touched, the motor will move. PIC16F877A will control the motor movement, either forward or backward depending on which limit switch is pressed. The downside of this project is the robot movement is not fully automated; it needs an operator to control the movement of the robot arm.

10 2.3.5 The Robotic Arm A technical project paper entitled “The Robotic Arm” [7] by Yu Shan Zhen, Li Feng and Randall Watanabe, FALL (1997) is also studied. The objective of this design project is to use a XILINX FPGA chip, XC4010E, to build a Controller System to control the movements of the robotic arm. The whole system is composed of the Controller System and three drive circuits. One driver circuit for each motor on the robotic arm. The Control System will feed the drive circuits that actually drive the motors on the robotic arm. These drive circuits are needed because the Control System does not supply enough power to drive the motors directly. The controller System is implemented on the XC4010E XILINX chip. It has two inputs and six outputs. One of the inputs is a reset switch that resets the Control System to the initial state. The other input is an external clock used to synchronize the output signals. It will be a 1 kHz signal generated with a signal generator. The XILINX FPGA is capable of running at much higher speed but a slow clock is needed to obtain relatively large delays for the output signals. The six output signals form three pairs. Each pair of signals is for each motor on the robotic arm. Since there are three pairs, there are three motors on the robotic arm, one for up and down movement, one for left and right movement and another for grasping and ungrasping. The drive circuits are built with TTL Logic gates and NPN transistor amplifiers, where the Logic gates ensure the proper input into the transistors. To verify the movement of the robotic arm, the programmer need to do try and error type of programming to ensure the movement of the robot, this will take some time to verify the movement of the robot.

2.3.6 Robot Robix RCs-6

This robot arm is developed by advanced design to show the operation of servo motor in robot. The mechanical system is made from aluminum. This robot arm has its own box to the main processor (CPU) which serves as the interface that connects between the computer and the robot arm. The personal computer used as a controller. The CPU box is always connected to the computer if the user wants to use the robot [8]. The only thing that is missing with this robot is the ability to simulate it using computer aided design (CAD) before trying the movement to the robot.

11

Figure 2.6: Robot Robix RCs-6

2.3.7 Lynx 5 programmable robotic arm kit for PC

The Lynx 5 robotic arm, as in Figure 2.7, can make fast and smooth movement, very high accuracy and high rate of repeatability. This robot consists of rotational base, shoulder, elbow and wrist motion, and a functional gripper [9] that is almost similar to human arm movement. The arm includes five Hitec HS-422 servo motors, one for the base, two for the shoulder, and one each for the elbow and wrist. An HS-81 is included for the gripper. It was built in such solid design made from ultra-tough laser cut Lexan structural component, black anodized aluminum servo brackets and custom injection molded components. The assembly of this robot is easy only by following the kit manual. This robot kit includes Lynx 5 Arm, A-base, A-Gripper Kit, mini SSC-II Servo Controller, serial data cable; Robot motion Software and Lynx 5 regulated Wall Pack. The arms gripper is positioned in an X, Y, Z grid in inches, and the moves are stored in a spreadsheet format for easy editing.

2.3.8 4-Axis KUKA articulated robot arm

The 4 axis Articulating robot is mostly used in palletizing and material handling operation. An axis refers to range of motion, as can be seen in Figure 2.8. A-1 “joint” is the primary motion center for this robot, as it turns the whole robot around. However all robot manufacturers have different nomenclature for the various joints, in the case of Kuka, they call the primary joint A-1, Fanuc calls it JI, and the speed of this joints is usually the dominant factor in overall robot speed. [10]

12

Figure 2.7: Lynx 5 Programmable Robot Arm

Figure 2.8: 4-Axis KUKA articulated robot arm

2.4

Microcontroller

A microcontroller (also microcomputer, MCU or µC) is a small computer on a single integrated circuit consisting internally of a relatively simple CPU, clock, timers, I/O ports, and memory. The program memory in the form of NOR flash or OTP ROM is

13 also often included on chip, as well as a typically small amount of RAM. Microcontrollers are designed for small or dedicated applications Some microcontrollers may use four-bit words and operate at clock rate frequencies as low as 4 kHz, as this is adequate for many typical applications, enabling low power consumption (mill watts or microwatts). They will generally have the ability to retain functionality while waiting for an event such as a button press or other interrupt; power consumption while sleeping (CPU clock and most peripherals off) may be just nanowatts, making many of them well suited for long lasting battery applications. Other microcontrollers may serve performance-critical roles, where they may need to act more like a digital signal processor (DSP), with higher clock speeds and power consumption. Microcontrollers are used in automatically controlled products and devices, such as automobile engine control systems, implantable medical devices, remote controls, office machines, appliances, power tools, and toys. By reducing the size and cost compared to a design that uses a separate microprocessor, memory, and input/output devices, microcontrollers make it economical to digitally control even more devices and processes. Mixed signal microcontrollers are common, integrating analog components needed to control non-digital electronic systems [11].

2.5

Motor

An electric motor uses electrical energy to produce mechanical energy, very typically through the interaction of magnetic fields and current-carrying conductors. The reverse process, producing electrical energy from mechanical energy, is accomplished by a generator or dynamo. Traction motors used on vehicles often perform both tasks. Many types of electric motors can be run as generators, and vice versa [12]. Electric motors are found in applications as diverse as industrial fans, blowers and pumps, machine tools, household appliances, power tools, and disk drives. They may be powered by direct current (for example a battery powered portable device or motor vehicle), or by alternating current from a central electrical distribution grid. The smallest motors may be found in electric wristwatches. Medium-size motors of highly standardized dimensions and characteristics provide convenient mechanical power for industrial uses. The very largest electric motors are used for propulsion of

14 large ships, and for such purposes as pipeline compressors, with ratings in the millions of watts. Electric motors may be classified by the source of electric power, by their internal construction, by their application, or by the type of motion they give [12].

2.5.1 Servo motor

A servo mechanism or servo is an automatic device that uses error-sensing feedback to correct the performance of a mechanism. The term correctly applies only to systems where the feedback or error-correction signals help control mechanical position or other parameters. For example, an automotive power window control is not a servo mechanism, as there is no automatic feedback which controls position the operator does this by observation. By contrast the car's cruise control uses closed loop feedback, which classifies it as a servo mechanism.

Figure 2.9: Servo motor disassembled

Figure 2.9 shows servo motor disassembled; there are control circuitry, the motor, a set of gears, and the case. Besides that, it also sees the 3 wires that connect to the outside world. One is for power (+5volts), ground, and the white wire is the control wire. RC servos are hobbyist remote control devices servos typically employed in radio-controlled models, where they are used to provide actuation for

15 various mechanical systems such as the steering of a car, the flaps on a plane, or the rudder of a boat [12]. RC servos are composed of an electric motor mechanically linked to a potentiometer. Pulse-width modulation (PWM) signals sent to the servo are translated into position commands by electronics inside the servo. When the servo is commanded to rotate, the motor is powered until the potentiometer reaches the value corresponding to the commanded position. Due to their affordability, reliability, and simplicity of control by microprocessors, RC servos are often used in small-scale robotics applications. The servo is controlled by three wires: ground (usually black/orange), power (red) and control (brown/other color). This wiring sequence is not true for all servos, for example the S03NXF Std. Servo is wired as brown (negative), red (positive) and orange (signal). The servo will move based on the pulses sent over the control wire, which set the angle of the actuator arm. The servo expects a pulse every 20 ms in order to gain correct information about the angle. The width of the servo pulse dictates the range of the servo's angular motion. A servo pulse of 1.5 ms width will set the servo to its "neutral" position, or 90°. For example a servo pulse of 1.25 ms could set the servo to 0° and a pulse of 1.75 ms could set the servo to 180°. The physical limits and timings of the servo hardware varies between brands and models, but a general servo's angular motion will travel somewhere in the range of 180° - 210° and the neutral position is almost always at 1.5 ms [12].

2.6

Pulse Width Modulation (PWM)

Pulse-width modulation (PWM) is a very efficient way of providing intermediate amounts of electrical power between fully on and fully off. A simple power switch with a typical power source provides full power only, when switched on. PWM is a comparatively recent technique, made practical by modern electronic power switches. Pulse Width Modulation (PWM) is one of the methods to reduce waste of power. A conventional linear output stage applies a continuous voltage to a load. This can waste plenty of power.

16 On the other hand, PWM applies a pulse train of fixed amplitude and frequency, only the width is varied in proportion to an input voltage. The end result is that the average voltage at the load is the same as the input voltage; but with less wasted power in the output stage [13]. For example, light dimmers for home use employ a specific type of PWM control. Home use light dimmers typically include electronic circuitry which suppresses current flow during defined portions of each cycle of the AC line voltage. Adjusting the brightness of light emitted by a light source is then merely a matter of setting at what voltage (or phase) in the AC cycle the dimmer begins to provide electrical current to the light source (e.g. by using an electronic switch such as a triac). In this case the PWM duty cycle is defined by the frequency of the AC line voltage (50 Hz or 60 Hz depending on the country) [14].

2.7

Robot kinematics

Robot kinematics applies geometry to the study of the movement of multi-degree of freedom kinematic chains that form the structure of robotic systems [15][16]. The emphasis on geometry means that the links of the robot are modeled as rigid bodies and its joints are assumed to provide pure rotation or translation. Robot kinematics studies the relationship between the dimensions and connectivity of kinematic chains and the position, velocity and acceleration of each of the links in the robotic system, in order to plan and control movement and to compute actuator forces and torques. The relationship between mass and inertia properties, motion, and the associated forces and torques is studied as part of robot dynamics. A fundamental tool in robot kinematics is the kinematics equations of the kinematic chains that form the robot. These non-linear equations are used to map the joint parameters to the configuration of the robot system. Kinematics equations are also used in biomechanics of the skeleton and computer animation of articulated characters. Forward kinematics uses the kinematic equations of a robot to compute the position of the end-effector from specified values for the joint parameters [17]. The reverse process that computes the joint parameters that achieve a specified position of the end-effector is known as inverse kinematics.

17 2.7.1 Kinematics chain

Kinematic chain refers to an assembly of rigid bodies connected by joints that is the mathematical model for a mechanical system [18]. As in the familiar use of the word chain, the rigid bodies, or links, are constrained by their connections to other links. An example is the simple open chain formed by links connected in series, like the usual chain, which is the kinematic model for a typical robot manipulator [19]. Mathematical models of the connections, or joints, between two links are termed kinematic pairs. Kinematic pairs model the hinged and sliding joints fundamental to robotics, often called lower pairs and the surface contact joints critical to cams and gearing, called higher pairs. These joints are generally modeled as holonomic constraints. A kinematic diagram is a schematic of the mechanical system that shows the kinematic chain. The modern use of kinematic chains includes compliance that arises from flexure joints in precision mechanisms, link compliance in compliant mechanisms and micro-electro-mechanical systems, and cable compliance in cable robotic and tensegrity systems [20][21].

2.7.2 Forward kinematics

Forward kinematics of robot manipulator is the study of the position and orientation of a robot hand (tools, gripper, or end-effector) with respect to a reference coordinate system, given the joint variables and the arm parameters [15]. The objective of forward kinematic analysis is to determine the cumulative effect of the entire set of joint variables. The forward kinematics solution of a robot manipulator can then be used to determine the position and orientation of the robot hand relative to the robot base coordinate system. Figure 2.10 shows the relative connection between the arm parameters and the arm position.

2.7.3 Inverse kinematics

Inverse kinematics refers to the use of the kinematics equations of a robot to determine the joint parameters that provide a desired position of the end-effector [15]. Specification of the movement of a robot so that its end-effector achieves a

18 desired task is known as motion planning. Inverse kinematics transforms the motion plan into joint actuator trajectories for the robot.

Figure 2.10: Relative connection between arm parameter and the arm position for forward kinematics

The movement of a kinematic chain whether it is a robot or an animated character is modeled by the kinematics equations of the chain. These equations define the configuration of the chain in terms of its joint parameters. Forward kinematics uses the joint parameters to compute the configuration of the chain, and inverse kinematics reverses this calculation to determine the joint parameters that achieves a desired configuration [16][22][19]. For example, inverse kinematics formulas allow calculation of the joint parameters that position a robot arm to pick up a part. Similar formulas determine the positions of the skeleton of an animated character that is to move in a particular way. For a robot system the inverse kinematic problem is one of the most difficult to solve. The robot controller must solve a set of non-linear simultaneous equations. The problems can be summarized as:

i.

The existence of multiple solutions;

ii.

The possible non-existence of a solution;

iii.

Singularities.

Figure 2.11: Relative connection between arm parameter and the arm position for inverse kinematics

19 2.8

Trajectory planning

In practice, an industrial robot manipulator is often used to move an object from its initial location to the final location in the work-space. To perform the task, the position and orientations of the object at its initial location and the final location must be specified. A trajectory, or a path, along which the end-effector moves the object, can be planned so that the robot manipulator can work efficiently. The planned trajectory for a robot manipulator in the work-space is a function of time, which sufficiently describes the positions, orientations, linear velocities, angular velocities, and accelerations of the end effector during the robot motion [23]. With the background of the forward and inverse kinematics, if there is no obstacle in the work-space, the following two methods can be considered for the trajectory planning: First, the path can be planned in Cartesian space, because the path of the end-effector in Cartesian space can be easily visualized. Then, use the inverse kinematics of the robot manipulator to find the corresponding path for the joints in the joint space. Second, use the inverse kinematics of the robot manipulator to obtain the initial joint positions and final positions and then pan the paths for the joints in the joint space. The first method for the trajectory planning needs to compute many points along the trajectory for accuracy. Although the computation can be done offline, all the computed data need to be stored in a computer memory as a very large look-up table. In addition, to compute the corresponding joint positions using the inverse kinematics in real-time, it is quite time-consuming, and the robot working efficiency may be greatly affected. Therefore, the first method is not very attractive in practice. However, the second method of path planning in the joint space has some advantages. For example, after using the inverse kinematics to determine the initial and final joint position, the forward and inverse kinematics are not needed again. The path for all joints can then be easily planned in the joint space in real time. Another important problem that may be concerned with is the “quality” of the trajectory. For instance, a trajectory must be a smooth time function, and the constraints, such as initial position, final positions, initial velocities and final velocities must be satisfied. Usually, a high-order polynomial function is used to realize a path for a joint in the joint space. In such a situation, the parameters of the

20 polynomial function must be determined such that all position, velocity, and acceleration constrains should be satisfied. Alternatively, a path for a joint in the joint space can be divided into a few segments, and each segment may be realized using a low-order polynomial function. Of course, the parameters of these low-order polynomial functions must be chosen to satisfy all constraints to guarantee that the path planned trajectory is smooth with the continuous velocity and so on.

CHAPTER 3

METHODOLOGY

3.1

Introduction

A robot is divided into two categories of movements that is rotational or revolute joint and linear movement or prismatic joint. Revolute joint provide single-axis rotation function used in many places such as door hinges, folding mechanisms, and other uni-axial rotation devices where prismatic joint provides a linear sliding movement between two bodies, and is often called a slider, as in the slider-crank linkage. A prismatic joint is formed with a polygonal cross-section to resist rotation. The project implementation was divided into electrical and mechanical part and both processes were carried out simultaneously. The electrical part can be further divided into hardware and software developments. The electrical hardware development involved setting up the I/O controller board that being used which is Arduino Uno. In the software development, the mathematical model of the system was developed using MATLAB. After that, the development of the control for the robot arm using Simulink. On the other hand, the mechanical part means designing and development of the articulated robot arm.

3.2

Project overview

In this project, the hardware and software are combined together to make the system reliable. Arduino Uno works as the controller of this project and MATLAB will be the main software to control the robot arm. Figure 3.1 shows the project system architecture of the system.

22

Figure 3.1: Project system architecture

3.3

Project flowchart

Figure 3.2 shows the flowchart of the project. The overall project flow was started from analyzing the problem statement and then determined the objectives and scopes for the project. After reviewing the literature, a schedule or a Gantt chart was planned. Each of these steps must be done carefully to prevent repeated process. 3.4

Project outline

The general components and process of the articulated robot arm is outlined before moving on to the connections of each component. This is done to assist in determining the right electronic component for each process. The outline of the system is shown on Figure 3.3. Figure 3.3 shows the block diagram of overall function of the articulated robot arm. Servo motor is used for the system. A 5V voltage is required to activate the servo motor. The input for the Arduino Uno is directly connected to MATLAB via a computer. The Arduino Uno also received input from a sensor at the servo motor to detect how many degrees the motor has turned and this signal will be sent as a feedback to the controller to correct the error.

23

Start

Literature review

Software research

Hardware research

Design the controller using MATLAB

Design the robot arm using SolidWorks

Tuning the controller

Fabrication of the robot arm

Combine Hardware and Software

Test run

Troubleshoot

Yes Error No End

Figure 3.2: Plan flowchart.

24

MATLAB CAD Model

Desired Coordinate

Inverse kinematics

Arduino Uno

Motor

Sensor

Figure 3.3: System outline for the articulated robotic arm.

3.5

Robotic arm

A robotic arm is a robot manipulator, usually programmable, with similar functions to a human arm. The links of such a manipulator are connected by joints allowing either rotational motion (such as in an articulated robot) or translational (linear) displacement [24]. The links of the manipulator can be considered to form a kinematic chain. The business end of the kinematic chain of the manipulator is called the end effectors and it is analogous to the human hand. The end effectors can be designed to perform any desired task such as welding, gripping, spinning etc., depending on the application. The robot arms can be autonomous or controlled manually and can be used to perform a variety of tasks with great accuracy. The robotic arm can be fixed or mobile (i.e. wheeled) and can be designed for industrial or home applications. For this project, revolute or articulated coordinates is chosen as robot arm general concept. Articulated or revolute coordinates type of robot arm is chosen because of the resemblance of the robot arm to the human arm.

3.5.1

Characteristic of robot arm

Robot has several characteristic to be performed. The characteristic are:

(i)

Degrees of Freedom (DOF)

69

REFERENCES

1.

WyzAnt (2014). What is a Robot ? Etymology and History. Retrieved on 7th January

2014,

from

http://www.wyzant.com/resources/lessons/english/

etymology/words-mod-robots 2.

International Federation of Robotics (2012). Service robots. Retrieved on 7th January 2014, from http://www.ifr.org/service-robots/

3.

Meccano Magazine (Liverpool UK: Meccano), "An Automatic Block-Setting Crane".

4.

Shathiasillan Yelumalai (2009). “Development of Controllable Pick and Place Arm Robot”. Universiti Tun Hussein Onn Malaysia. Thesis of Bachelor Degree.

5.

V.J Dehven Nair Velayutham (2009), “Dual Gripper Two Degree of Freedom Pick and Place Arm Robot”. Universiti Tun Hussein Onn Malaysia. Thesis of Bachelor Degree.

6.

Wee Siuw Sia (2006), “Sliding Robot Arm with Grippers”. University College of Technology Tun Hussein Onn. Thesis of Bachelor Degree.

7.

Yu Shan Zhen, Li Feng and Randall Watanabe (Fall 1997), “The Robotic Arm”

8.

Robix (2012). Frequently ask question, Retrieved on 9th January 2014. From http://www.robix.com/faq.html

9.

HOBBYTRON (1997), Robot arm kits October 1997, Retrieved on 3rd February 2014. From http://www.lynxmotion.com

10.

ATSI (2008), Robot basic. Retrieved on 2nd February 2014. From http://www.atsi.cc/robotbasics.htm

11.

Microchip Technology Inc. 28/40/44-Pin Enhanced Flash Microcontrollers

12.

Seattle Robotics Society (1990), Servo guide. Retrieved on 22nd February 2014. From http://www.seattlerobotics.org/guide/servos.html

70 13.

eCircuit centre (2002). Pulse width modulation. Retrieved on 7th June 2012. From http://www.ecircuitcenter.com/Circuits/pwm/pwm.htm

14.

Wikipedia (2012). Create pulse width modulation. Retrieved on 7th March 2010. From http://en.wikipedia.org/wiki/Pulse-width_modulation

15.

Paul, Richard (1981). “Robot manipulators: mathematics, programming, and control : the computer control of robot manipulators”. MIT Press, Cambridge, MA. ISBN 978-0-262-16082-7

16.

J. M. McCarthy, 1990, “Introduction to Theoretical Kinematics”, MIT Press, Cambridge, MA.

17.

John J. Craig, 2004, “Introduction to Robotics: Mechanics and Control (3rd Edition)”, Prentice-Hall.

18.

Reuleaux, F., 1876 “The Kinematics of Machinery, (trans. and annotated by A. B. W. Kennedy)”, reprinted by Dover, New York (1963)

19.

J. M. McCarthy and G. S. Soh, 2010, “Geometric Design of Linkages”, Springer, New York.

20.

Larry L. Howell, 2001, “Compliant mechanisms”, John Wiley & Sons.

21.

Alexander Slocum, 1992, “Precision Machine Design”, SME

22.

J. J. Uicker, G. R. Pennock, and J. E. Shigley, 2003, “Theory of Machines and Mechanisms”, Oxford University Press, New York

23.

Man Zhihong, 2005, “Robotics : Second Edition”, Prentice Hall, Singapore.

24.

Yahoo (2002). Robot entry. Retrieved on 7th

January 2014. From

http://education.yahoo.com/reference/dictionary/entry/robot 25.

Society of Robots (2002). Robot Arm tutorial. Retrieved on 19th January 2014. From http://www.societyofrobots.com/robot_arm_tutorial.shtml#DOF

26.

Wikipedia (2012). Degrees of freedom. Retrieved on 27th January 2012. From http://en.wikipedia.org/wiki/_%28mechanics%29

27.

D.L. Pieper. “The kinematics of manipulators under computer control”. PhD Thesis, Stanford University, Department of Mechanical Engineering, 1968.

28.

Lukas Barinka and Ing. Roman Berka. “Inverse Kinematics – Basic Methods”, Dept. of Computer Science & Engineering, Czech Technical University.

29.

Denavit, J. and Hartenberg, R.S., “A kinematic notation for lower pair mechanism based on matrices”, ASME J. of Applied Mechanics, Vol.22, pp. 215-221, 1955.

71 30.

Wolovich, W.A., “Robotics, Basic analysis and design”. CBS College Publishing, 1986.