final msd project

Upload: anas-odeh

Post on 04-Jun-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/13/2019 Final MSD Project

    1/32

    University Of Jordan

    Fuzzy Control

    0908541

    Robot Manipulator Task Control UsingFuzzy Behavior-Based Strategy

    Liana Abu-Alsoud 0080270

    Anas Odeh 0081555

    Omar Othman 0085157

  • 8/13/2019 Final MSD Project

    2/32

    Abstract

    In this project, the concept of fuzzy behavior-based control is used toconstruct a fuzzy generator that generates the desired positions and

    orientations of a robot manipulator in the Cartesian space. The aim of this

    project is to give a solution to manipulation control problem. Manipulation

    requires identifying the target acquired from vision system mounted on the

    manipulator, and grasping it by the end-effector. The control law used here is

    based on fuzzy logic. The controller determines the parameters of the target.

    After studying the behavior of the system, fuzzy rule was built.

  • 8/13/2019 Final MSD Project

    3/32

    Introduction

    A behavior-based control system, which can intelligently construct acontrolled system for a robot manipulator according to the interaction

    between the robot and the environment, is now becoming attractive in the

    field of robotics; that is why we chose a subject that is related to that, which

    is Robot Manipulator Task Control Using Fuzzy Behavior-based Strategy.

    In the field of Cartesian control vision system two methods have been

    proposed: Position-based visual servo control and Image-based visual

    servo control, but these methods suffer from singularities, complicatedcalculation process and inaccuracy.

    On the other hand, Fuzzy Logic, which was initially introduced by Dr. Lutfi

    Zadeh, was found to be the perfect solution to minimize the complications

    and challenges faced earlier.It is used to detecteasily the situation-action

    mapping.

    Therefore the objective of this work is for a six-link, six degree-of-freedom

    PUMA robot to reach a target from an initial point while avoiding obstacleusing behavior-based approach.The application of fuzzy logic control in

    robotics is to produce an intelligent robot with the ability of autonomous

    behavior and decision.

    Fuzzy Vs. Other Methods

    Two methods (Vision Systems) have been proposed previously:1) Position-based visual servo control:

    -Calculated and estimated position.-Calibration errors.

    2) Image-based visual servo control:

    -The inaccuracy in the position of the end-effector.

    -Jacobian matrix is difficult to calculate.

    -Singularities.

  • 8/13/2019 Final MSD Project

    4/32

    While designing control system using Fuzzy Control rules gives us :-High quality.

    -Minimized calculations complexity.

    Thats why we preferred to use Fuzzy Logic in this work

    Components

    1)Vision System:CCD Camera sensor.2)Target:Sphere with (x, y) as center coordinates, and (r) as any point

    on the circumference of the sphere.

    3)Manipulator:PUMA 560.

    1.CCD Camera

    CCD (Charge-Coupled Device) is an analog device. When light strikes the

    chip it is held as a small electrical charge in each photo sensor, the chargesare converted to voltage one pixel at a time as they are read from the chip.

    Additional circuitry in the camera converts the voltage into digital

    information. Its role is to keep catching pictures and compare it with the

    original photo saved on it, to identify the target.

    Why CCD?A.Low noise (noiseless charge transfer).B.Linear and easy to calibrate.C.Commercially produced.

    2.Spherical Target

  • 8/13/2019 Final MSD Project

    5/32

    Fig1. Camera-laser coupling with a sphere.

    3.PUMA Manipulator

    1. The controller of the manipulator has several roles (Fig2):1) Information role:collecting and processing info provided by sensor.

    2) Decision role:planning the geometric motion.

    3) Communication role:organizing info between robot and environment.

    2. PUMA(Programmable Universal Machine for Assembly): is one of themost common assembly robots. Six-links 6-DOF robot (Fig3).

  • 8/13/2019 Final MSD Project

    6/32

    Fig3: PUMA Manipulator

    3. Note: These axes are determined based on DH parameters that will be discussed indetails later (Refer to table 1).

    Rotation Module:

    For the 1stjoint (J1), the input data is represented by (x, r) which are the x

    coordinate and the radius of the spherical target. The output data is the angle

    (1).

    Reaching Target Module:

    For the 2nd

    and 3rd

    joints (J2, J3), which will move the gripper to grasp the

    target. The Input data is represented by (y, r) which are the y coordinated and

    the radius of the spherical target. The output data are the angles (2, 3).

    Equation of Motion

    = M() + h(, ) + g() + m + f .. (1)

    ; Where:

    M(): inertia matrix.

    h(, ):Coriolis and centrifugal force vector.g():gravitational vector.

    :is the torque vector.

    , and :joint angle vector, angular velocity vector, angular acceleration vector respectively.

  • 8/13/2019 Final MSD Project

    7/32

    m , f:torques required to overcome the motor armature inertia and friction of the joints

    respectively. (Refer to Appendix A)

    DH Parameters

    Joint i i [deg] ai [m] di [m] Joint Range i

    [deg]

    1 90 0 0 160 to 160

    2 0 0.4318 0.14909 225 to 45

    3 90 0.02032 0 45 to 225

    4 -90 0 0.43307 110 to 170

    5 90 0 0 100 to 100

    6 0 0 0.05625 266 to 266

    Table1: DH Parameters (Refer to Appendix B)

    Fuzzy Logic Controller

  • 8/13/2019 Final MSD Project

    8/32

    CAD Model

    Control system design

    Three stages of Fuzzy Logic Control are used:1. Fuzzification: A process of transforming crisp values into grades of

    membership for linguistic terms (ie: Near, Far,..) of fuzzy sets.Its role

    is to activate If-Then rules.

    2. Inference:Isconsidered to be the core of the fuzzy system whichcombines the facts obtained from the fuzzification with the rule base

  • 8/13/2019 Final MSD Project

    9/32

    and conducts a fuzzy reasoning process(the process of concluding new

    facts from already existing facts).

    3. Defuzzification:Translate results back to real world values.

    Fuzzy Sets

    X(Pixel)

    F-= [-62, 85]QN-= [42, 94]

    N-= [85, 103.5]

    VN-= [94, 112]N+= [103, 121]

    QN+= [112, 165]

    F+= [122, 261]

    Y(Pixel)

    F-= [-62, 69]N-= [24, 78]

    VN= [69, 87]N+= [78, 122]

    F+= [87, 212]

    R(Pixel)

    F-= [-67 85]

    QN-= [42.04 93.98]

    N-= [85 103.5]VN-= [94 112]

    N+= [103.1 121.6]

    QN+= [112 165]

    F+= [122 261]

  • 8/13/2019 Final MSD Project

    10/32

    J1VB-= [ -6 -1]

    B-= [-5 -0.5]

    S-= [-1 -0.15]

    VS-= [-0.5 0]

    Z= [-0.15 0.15]

    VS+= [0 0.5]S+= [0.15 1]

    B+= [0.5 4]

    VB+= [1 6]

    J2VB-= [ -25 -6]B-=[-15 -1.8]

    S-= [-6 -0.5]

    VS-= [-1.8 0]

    Z=[-0.461 0.539]

    VS+= [0 1.8]

    S+= [0.5 6]

    B+= [1.8 15]VB+= [6 25 ]

    J3VB-= [ -20 -4.97]

    B-= [-12 -1.5]

    S-= [-5 -0.4]

    VS-= [-1.5 0]

    Z= [-0.4 0.4]VS+= [0 1.5]

    S+= [0.4 5]B+= [1.5 12]

    VB+= [5 20 ]

  • 8/13/2019 Final MSD Project

    11/32

    Linguistic Variables

    Linguistic Variables Linguistic Values

    (Primary terms)

    Linguistic Hedges

    (Secondary terms,modifiers)

    x-coordinate

    Near,

    Very near

    Quite near,Far

    Positive (+)

    Negative (-)y-coordinate

    r-circumference

    Table2: Input linguistic terms

    Linguistic Variables Linguistic Values

    (Primary terms)

    Linguistic Hedges(Secondary terms,

    modifiers)

    1

    Big

    Very bigSmall

    Zero

    Positive (+)Negative (-)2

    3

    Table2: Output linguistic terms

    Notes:a. For x and y: (+) means that the center of circumference is greater than the

    goal position, while (-) means smaller than.b.For r:(+) means approaching, while (-) means thatthe manipulator is very

    close to the target.c. For : (+) means positive angle, while (-) means negative

  • 8/13/2019 Final MSD Project

    12/32

    Simulation

    Fig 4: Inputs and Outputs.

  • 8/13/2019 Final MSD Project

    13/32

    1.Fuzzification

    Fig5: (X-Coordinate).

    Fig6: (Y-Coordinate).

  • 8/13/2019 Final MSD Project

    14/32

    Fig7: (Circumference r).

    Fig8: (1).

  • 8/13/2019 Final MSD Project

    15/32

    Fig9: (2).

    Fig.10: (3).

  • 8/13/2019 Final MSD Project

    16/32

    2.Fuzzy Rule Base

    The first step is to evaluate the antecedent (fuzzifying the input andapplying any necessary fuzzy operators).

    The second is the implication (applying the result of antecedent toconsequent).

    Joint1 rules (R1-R42):R1: If (x is F-) and (r is F+) then (is B+)

    R2: If (x is F-) and (r is QN+) then (is B+)

    R3: If (x is F-) and (r is N+) then (is VB+)

    R4: If (x is F-) and (r is VN) then (is VB+)

    R5: If (x is F-) and (r is N-) then (is VB+)

    R6: If (x is F-) and (r is QN-) then (is VB+)

    R7: If (x is QN-) and (r is F+) then (is VB+)

    R8: If (x is QN-) and (r is QN+) then (is VB+)

    R9: If (x is QN-) and (r is N+) then (is VB+)

    R10: If (x is QN-) and (r is VN) then (is VS+)

    R11: If (x is QN-) and (r is N-) then (is VS+)

    R12: If (x is QN-) and (r is QN-) then (is VS+)

    R13: If (x is N-) and (r is F+) then (is VS+)

    R14: If (x is N-) and (r is QN+) then (is S+)

  • 8/13/2019 Final MSD Project

    17/32

    R15: If (x is N-) and (r is N+) then (is S+)

    R16: If (x is N-) and (r is VN) then (is S+)

    R17: If (x is N-) and (r is N-) then (is S+)

    R18: If (x is N-) and (r is QN-) then (is S+)

    R19: If (x is VN) and (r is F+) then (is Z)

    R20: If (x is VN) and (r is QN+) then (is Z)

    R21: If (x is VN) and (r is N+) then (is Z)

    R22: If (x is VN) and (r is VN) then (is Z)

    R23: If (x is VN) and (r is N-) then (is Z)

    R24: If (x is VN) and (r is QN-) then (is Z)

    R25: If (x is N+) and (r is F+) then (is VS-)

    R26: If (x is N+) and (r is QN+) then (is S-)

    R27: If (x is N+) and (r is N+) then (is S-)

    R28: If (x is N+) and (r is VN) then (is S-)

    R29: If (x is N+) and (r is N-) then (is S-)

    R30: If (x is N+) and (r is QN-) then (is S-)

    R31: If (x is QN+) and (r is F+) then (is VB-)

    R32: If (x is QN+) and (r is QN+) then (is VB-)

    R33: If (x is QN+) and (r is N+) then (is VS-)

  • 8/13/2019 Final MSD Project

    18/32

    R34: If (x is QN+) and (r is VN) then (is VS-)

    R35: If (x is QN+) and (r is N-) then (is VS-)

    R36: If (x is QN+) and (r is QN-) then (is VS-)

    R37: If (x is F+) and (r is F+) then (is B-)

    R38: If (x is F+) and (r is QN+) then (is B-)

    R39: If (x is F+) and (r is N+) then (is VB-)

    R40: If (x is F+) and (r is VN) then (is VB-)

    R41: If (x is F+) and (r is N-) then (is VB-)

    R42: If (x is F+) and (r is QN-) then (is VB-)

    Joint2 rules (R43-R72):R43: If (y is F-) and (r is F+) then (is B-)

    R44: If (y is F-) and (r is QN+) then (is VB-)

    R45: If (y is F-) and (r is N+) then (is VS-)

    R46: If (y is F-) and (r is QN) then (is VS-)

    R47: If (y is F-) and (r is N-) then (is S+)

    R48: If (y is F-) and (r is QN-) then (is VS+)

    R49: If (y is N-) and (r is F+) then (is B-)

    R50: If (y is N-) and (r is QN+) then (is VB-)

    R51: If (y is N-) and (r is N+) then (is VS-)

  • 8/13/2019 Final MSD Project

    19/32

    R52: If (y is N-) and (r is VN) then (is Z)

    R53: If (y is N-) and (r is N-) then (is VS+)

    R54: If (y is N-) and (r is QN-) then (is VB+)

    R55: If (y is QN) and (r is F+) then (is B-)

    R56: If (y is QN) and (r is QN+) then (is VB-)

    R57: If (y is QN) and (r is N+) then (is VS-)

    R58: If (y is QN) and (r is VN) then (is Z)

    R59: If (y is QN) and (r is N-) then (is VS+)

    R60: If (y is QN) and (r is QN-) then (is VB+)

    R61: If (y is N+) and (r is F+) then (is B-)

    R62: If (y is N+) and (r is QN+) then (is VB-)

    R63: If (y is N+) and (r is N+) then (is S-)

    R64: If (y is N+) and (r is VN) then (is Z)

    R65: If (y is N+) and (r is N-) then (is VS+)

    R66: If (y is N+) and (r is QN-) then (is VB+)

    R67: If (y is F+) and (r is F+) then (is B-)

    R68: If (y is F+) and (r is QN+) then (is VB-)

    R69: If (y is F+) and (r is N+) then (is S-)

  • 8/13/2019 Final MSD Project

    20/32

    R70: If (y is F+) and (r is VN) then (is S-)

    R71: If (y is F+) and (r is N-) then (is VS-)

    R72: If (y is F+) and (r is QN-) then (is VB+)

    Joint3 rules (R73-R102):R73: If (y is F-) and (r is F+) then (is B+)

    R74: If (y is F-) and (r is QN+) then (is VB+)

    R75: If (y is F-) and (r is N+) then (is VS+)

    R76: If (y is F-) and (r is VN) then (is VS+)

    R77: If (y is F-) and (r is N-) then (is VS+)

    R78: If (y is F-) and (r is QN-) then (is VS+)

    R79: If (y is N-) and (r is F+) then (is VB+)

    R80: If (y is N-) and (r is QN+) then (is VS+)

    R81: If (y is N-) and (r is N+) then (is S+)

    R82: If (y is N-) and (r is VN) then (is S+)

    R83: If (y is N-) and (r is N-) then (is Z)

    R84: If (y is N-) and (r is QN-) then (is VS-)

    R85: If (y is QN) and (r is F+) then (is VB+)

    R86: If (y is QN) and (r is QN+) then (is VS+)

    R87: If (y is QN) and (r is N+) then (is S+)

  • 8/13/2019 Final MSD Project

    21/32

    R88: If (y is QN) and (r is VN) then (is Z)

    R89: If (y is QN) and (r is N-) then (is S-)

    R90: If (y is QN) and (r is QN-) then (is VS-)

    R91: If (y is N+) and (r is F+) then (is VB+)

    R92: If (y is N+) and (r is QN+) then (is VS+)

    R93: If (y is N+) and (r is N+) then (is S-)

    R94: If (y is N+) and (r is VN) then (is S-)

    R95: If (y is N+) and (r is N-) then (is S-)

    R96: If (y is N+) and (r is QN-) then (is VS-)

    R97: If (y is F+) and (r is F+) then (is VB+)

    R98: If (y is F+) and (r is QN+) then (is S-)

    R99: If (y is F+) and (r is N+) then (is VS-)

    R100: If (y is F+) and (r is VN) then (is VS-)

    R101: If (y is F+) and (r is N-) then (is VS-)

    R102: If (y is F+) and (r is QN-) then (is VB-)

  • 8/13/2019 Final MSD Project

    22/32

    3.Fuzzy Inference

    Generalized Modus Ponens (GMP) inference procedure, which usesan if-then rule that implicitly represents fuzzy relation.

    Mamdani reasoning type

    For Joint1:

    R1: If (x is A1) and (r is B1) then ( is C1).

    .

    R42: If (x is A42) and (r is B42) then ( is C42)

    Observations: , Conclusion: C*=Combine (C1*,.,C42*) Firing strength:

    = ( (

    .

    .= ( (

    Rules Conclusion:

    (= ( w.

    .

    (= ( w

    The overall joint1 conclusion:

    (=

    ( v

    ( v .. v

    ( w

    For Joint2:

  • 8/13/2019 Final MSD Project

    23/32

    R1: If (y is A43) and (r is B43) then ( is C43).

    .

    R42: If (y is A72) and (r is B72) then ( is C72)

    Observations: , Conclusion: C*=Combine (C43*,.,C72*) Firing strength:

    = ( (

    .

    .

    = ( (

    Rules Conclusion:

    (= ( w..

    (= ( w

    The overall joint2 conclusion:

    (=

    ( v

    ( v .. v

    ( w

    For Joint3:

    R1: If (y is A73) and (r is B73) then ( is C73).

    .

    R42: If (y is A102) and (r is B102) then ( is C102)

    Observations: , Conclusion: C*=Combine (C73*,.,C102*)

  • 8/13/2019 Final MSD Project

    24/32

    Firing strength:= ( (

    .

    .

    = ( (

    Rules Conclusion:

    (= ( w.

    .

    (= ( w

    The overall joint3 conclusion:

    (=

    ( v

    ( v .. v

    ( w

    4.Defuzzification

    Center of gravityW*=

  • 8/13/2019 Final MSD Project

    25/32

    Fig10: If-Then Rules

  • 8/13/2019 Final MSD Project

    26/32

    Manipulator Control

    = M()+ h(, ) + g() + + Where:

    M(

    ) is the inertia matrix,h(, ) is the Coriolis and centrifugal force vector

    g() is the gravitational vector. is the torque vector

    is torques required to overcome the motor armature inertia

    istorques required to overcome the motor friction

    =

    = +sgn( )

    i = 1,,6

    at joint i, is the armature inertia of the motor

    is the ith joint reduction gear ratio defined by motor speed/link speedis viscous friction

    is the Coulomb friction

  • 8/13/2019 Final MSD Project

    27/32

    Control system block diagram

  • 8/13/2019 Final MSD Project

    28/32

    Step1: the sphere object is far from the manipulator

    Step2: first joint is rotated to face the object

  • 8/13/2019 Final MSD Project

    29/32

    Step3: joint 2 and joint 3 approaching the object

    Step4: the end effector caught the object

  • 8/13/2019 Final MSD Project

    30/32

    Step5: moving the object to the desired location

    Controller specifications

    The system controlled by a PC. The software interface between the controller

    and the physical manipulator is constituted by an high level language and

    connected through RS232 serial line.

    Manipulator Control

    = M()+ h(, ) + g() + + Where:

    M() is the inertia matrix,

    h(, ) is the Coriolis and centrifugal force vector

    g() is the gravitational vector. is the torque vector

    is torques required to overcome the motor armature inertia

    istorques required to overcome the motor friction

    =

    = +sgn( )

    i = 1,,6

    at joint i, is the armature inertia of the motoris the ith joint reduction gear ratio defined by motor speed/link speed

    is viscous friction

    is the Coulomb friction

  • 8/13/2019 Final MSD Project

    31/32

    Conclusion

    In this project, a system has been designed using fuzzy behavior-based

    strategy which gave us the advantage of moving towards a particular point

    without knowing the inverse kinematics or any prior knowledge of how to

    avoid obstacles or an algorithm to avoid obstacle.

    The simulation proved that the proposed method was effective for complex

    manipulators like PUMA robot.

    Fuzzy logic is easy, practical and effective control method, with the help of

    Mamdanis rule and Matlab (fuzzy tool boxes).

  • 8/13/2019 Final MSD Project

    32/32