Fuzzy Logic-Controlled 6-DOF Robotic Arm Color-based Sorter with Machine Vision Feedback

A demonstration of the application of fuzzy logicbased joint controller (FLJC) to a 6-DOF robotic arm as a colorbased sorter system is presented in this study. The robotic arm with FLJC is integrated with a machine vision system that can discriminate different colors. Additionally, the machine vision system composed of Kinect camera and computer were used to extract the coordinates of the gripper and the objects within the image of the workspace. A graphical user interface with an underlying sorting algorithm allows the user to control the sorting process. Once the system is configured, the computed joint angles by FLJC are transmitted serially to the microcontroller. The results show that the absolute error of the gripper coordinates is less than 2 cm and that the machine vision is capable of achieving at least 95% accuracy in proper color discrimination both for first and second level stacked color objects. Keywords—Color-based sorter; degrees of freedom; fuzzy logic; joint controller; machine vision; robotic arm


INTRODUCTION
The development of machines has been a valuable tool ever since the dawn of civilization.Machines had been the humanity's innovative creations whose sole purpose was to achieve efficiency and effectiveness to different tasks that are either routine or almost impossible for humans to do by hand.Machines were meant to be driven by a human operator, until the last century [1] where automation began to be favored by industry, specially deployed in car manufacturing process.This greatly reduced the manpower needed and at the same time was efficient in terms of resources and time.From thereon, autonomous machines came into existence and diverse forms of such machines were developed for specific purposes.One such machine is the autonomous robotic arm whose design was primarily inspired by the human arm.Due to the flexibility that the human arm can do varied tasks, the development of an autonomous robotic arm has been a subject of research [2] since its development in 1960s.
Autonomous robotic arms had numerous advantages as compared to human arm.Robotic arm machines are immune to fatigue and can be made to be invulnerable in wide environment settings.Additionally, it is the most viable alternative when deployed to environments that are too harmful for humans [3] and can be programmed to perform routine tasks efficiently.Amidst these benefits, a robotic arm is also a complex mechanical machine that exhibits time-varying inertia and friction and as such is more challenging to control by means of classical linear-based controllers.To achieve autonomous operation, the machine must have a controller that is able to sense its current state and decide its course action in much the same way humans decide.Non-classical or intelligent controllers had been developed throughout the years, such as fuzzy logic based controllers [5], [6] that mimics the way humans think, artificial neural network based controllers [7], [8] that emulates the biological human brain, genetic algorithm based controllers [9], [10] inspired by evolutionary processes or hybrid types [11].One such controller developed in this study is the fuzzy logic-based joint controller (FLJC) [4] that is capable of dealing with system nonlinearities by moving the joints of the robotic arm at proper rate and interval according to the task at hand.Fuzzy logic controllers has been shown as an effective controller in a number of robot systems like the micro soccer robots [12]- [15], micro-golf robot [16], ball-beam balancing robot [17] and simulated and actual robotic arms [4], [6], [18]- [21].
Aside from the controller developed in [4], this study will give emphasis on the integration of the controller with a machine vision system to demonstrate the use of the fuzzy logic controlled autonomous robotic arm system into a colorbased sorter system.The machine vision system will be thoroughly discussed as well as the algorithm deployed to perform the sorting process to realize a fully functional colorbased sorter.Test results of accuracy of the gripper to move towards the target coordinates as well as the reliability of the machine vision system are laid out and discussed.Lastly, several points are enumerated with regards to the possible improvements that could be made for the system.

II. SYSTEM CONFIGURATION
The color-based sorter system is similar to the configuration in [4] but with the following modifications: 1) the robotic arm's end-effector are embedded with limit switches to improve tactile sensing of the object, 2) the machine vision system is now capable of discriminating at most four different object colors, and 3) the sorter is capable of sorting out stacked objects up to second level.The robotic arm www.ijacsa.thesai.orgitself is composed of a 4-DOF M100RAK [22] modular arm attached with 2-DOF gripper [23].The shoulder, elbow and wrist joints are each mounted with MPU6050 Six-Axis Gyroscope and Accelerometer [24] Inertial Measurement Units (IMU) as sensors to acquire the robotic arm's pose in real time.Attached to the robotic arm's end-effector are the force sensing resistor (FSR) and miniature limit switches as its haptic feedback sensors.The robotic arm's servo motors are controlled directly by the Arduino [25] microcontroller that communicates with the computer.Set atop on the workspace is the Kinect sensor [26] that serves as the main sensory input for machine vision system in the computer.Fig. 1. shows how the components are connected to form the fuzzy logic-controlled color-based sorter.Shown in Fig. 2 is the hardware configuration used in this study with the robotic arm on the center in front of the cylinder objects and the camera on top.The pertinent dimensions of the workspace are shown in Fig. 3.The study focuses in the application of fuzzy logic-based controller of the robotic arm as well as the algorithm devised to properly sort the cylinder objects in place.

III. FUZZY LOGIC-BASED JOINT CONTROLLER
The theory of fuzzy sets was first described by Lotfi Zadeh [27] and found its applications as a controller such as for plant processes [28].Fuzzy sets are an extension of the bi-valued logic in that it can be used to describe half-truth statements to varying degrees.The concept of a fuzzy set can be exploited to emulate the way humans think when in control of a process by employing a human-like language describing how a complex system should be controlled.To achieve a descriptive language for control, a fuzzy logic controller consists of: 1) a fuzzifier block that converts real-world crisp values into fuzzy sets through membership functions, 2) an inference engine that interprets the input fuzzy set based on a set of human-defined language for control known as fuzzy rules to decide the output fuzzy sets, and 3) a defuzzifier block that converts the output fuzzy set back into real-world crisp values [29].These crisp values are now used to directly control any process variables [5], [11], [17].Shown in Fig. 4. is the conceptual block diagram of a fuzzy logic controller.The goal of the fuzzy logic controller is to move the end-effector to the desired target as close as possible.The controller is part of a closed-loop system composed of the sensors mounted on the robotic arm, the controller itself and the mechanically actuated robotic arm.The fuzzy logic controller dictates the microcontroller the amount and direction at which the servo motors are to be turned and the microcontroller in turn, through pulse width modulation signals controls the servo motors.

A. Input and Output Parameters
The top and side views of the robotic arm with pertinent dimensions are shown in Fig. 5. and 6.Excluding the 2-DOF gripper, there are four (4) joint angles that can be controlled to change the end-effector's position: the base angle (θ b ), shoulder angle (θ s ), elbow angle (θ e ) and wrist angle (θ w ).The fuzzy logic controller must control these joints so that the input errors in x-coordinates (e x ), y-coordinates (e y ) and z-coordinates (e z ) are close to zero as possible.The inputs to the controller were chosen according the following criteria: 1) the controller must know how close the end-effector is to the target, and 2) the controller must determine the current pose of the robotic arm to properly move the actuators in the desired direction.With these in mind, listed below are the input parameters for the fuzzy logic controller: 1) e x is error in x-coordinate, defined to be difference between the x-coordinate of the end-effector and the xcoordinate of the target.
2) ey is error in y-coordinate, defined to be difference between the y-coordinate of the end-effector and the ycoordinate of the target.
3) ez is error in z-coordinate, defined to be difference between the z-coordinate of the end-effector and the zcoordinate of the target.

4)
Өb is the base angle, defined as the angle between the robotic arm and the x-axis.

B. Membership Functions
Once the input and output parameters are defined, the appropriate membership functions for each parameter are defined according to the limitations of the robotic arm itself as well as the magnitude of the change produced by each parameter.These membership functions are then tuned and finalized through a series of tests and experimentations [5].The input membership functions are tuned by considering the sensitivity of the controller to these inputs.In this study, the unit of measurement for the range of values sampled to discrete grades of membership functions for input errors is in millimeters while those for angular displacement are in radians.Trapezoidal membership functions were used at the extreme values of input joint angles to avoid self-collision.Shown in Fig. 7. through Fig. 13. are the membership functions of the seven input parameters.For the sake of brevity, the membership functions are labeled accordingly as follows:       Similarly, the output membership functions are tuned by considering the sensitivity of the robotic arm as the joint angles were changed.All output joint angles are specified in units of radians.The defuzzification process used the weighted average method to reduce calculation time in calculating the crisp value.Shown in Fig. 14 through Fig. 17 are the membership functions of the four output joint angles: change in base, shoulder, elbow and wrist joint angles.The same membership labeling scheme applies as defined for the input membership functions.www.ijacsa.thesai.org

C. Analysis of the Different Robotic Arm Poses
Once the input and output parameters were determined as well as their respective membership functions, the rules for inference engine are formulated.The rules can be formulated by analyzing the different robotic arm poses possible within the workspace.Of course, there are infinite arm poses that are possible within the workspace so dividing the range of possible values into subsets is necessary and it can be done by the aid of membership functions.The pose of the robotic arm is analyzed by looking at the top and side view of the robotic arm shown in Fig. 18. and 19.The different poses shall be the basis in formulating the fuzzy rules.In general, the rules are to be formulated in such a way that the input errors in x-, y-and zcoordinates are minimized in each iteration.The base joint angle can be oriented in five (5) different angle orientations as shown in Fig. 18: West, Northwest, North, Northeast and East.In the same figure, the black rectangle represents the base of the arm, the red link represents the shoulder-to-elbow link, the green link represents the elbowto-wrist link and the blue link represents the gripper.The initials P, Z, and N corresponds to positive, zero and negative respectively each used to describe the position of the endeffector relative to the target.The symbol Өb is the base angle and a pair such as (P,N) denotes that the input errors for x and y coordinates are positive and negative respectively should the target is found at that region relative to the end-effector.Knowing the sign of the input errors will aid on formulating the fuzzy rule at which should the base angle be moved to minimize the error.In this view, the arm can rotate clockwise or counterclockwise as well as extend or retract its links.Shown in Fig. 19 are three possible poses when looking at the side view of the robotic arm.The three links form a coupled system that has three (3) degrees of freedom and is more than the degrees of freedom necessary to determine the radius and height of the end-effector.As such, a link can be assumed to be at fixed angle and isolate it from the other two angles.The gripper is chosen to be this link that can be fixed to maintain horizontally level with respect to the ground at all times.Effectively, we could decouple the gripper and write separate fuzzy rules for it apart from the shoulder and elbow joint angles.

D. Fuzzy Rule Formulation
By analyzing the different poses of the robotic arm, the fuzzy rules can now be facilitated by taking note of the input errors as well as their signs.In general, the rule formulation is guided by the control law that all input errors must be minimized and as close to zero as possible.From the analysis of the robotic arm, three (3) different rule blocks can be identified.For instance, if the base angle is pointing in the North direction and the target is present at the (P,N) region then the base angle must rotate counterclockwise and the robot arm must extend forward, to bring the end-effector closer to the target.The beauty of fuzzy logic controller is that you do not have to specify the magnitude explicitly but just the intuition and at which direction should the output parameters move.This analysis is applied to all enumerated poses and the rules formulated can be found on Table I

through Table III(a)
Table I pertains to the fuzzy rules for the top view orientation involving the input parameters base joint angle, error in x-coordinate, error in y-coordinate and output parameter change in base joint angle.Table II contains the rules for the side view orientation involving the input parameters elbow joint angle, error in y-coordinate, error in zcoordinate and output parameters change in shoulder and elbow angles.Lastly, Table III is a list that controls how the gripper angle must maintain horizontally level at all times.www.ijacsa.thesai.orgIf θη is P and Δθη is P then Δθw is P

IV. MACHINE VISION SYSTEM
The machine vision system is composed of the camera as its sensory vision input and the computer as an image processing unit.The camera is the Kinect sensor [26] capable of providing not only colored images as well as image depth data.The image depth data was used to properly determine the height of the detected objects and consequently the stacking level of the cylinder objects.Furthermore, the depth data was used to filter out the white platform background by exploiting the fact that its distance is farther away from the camera itself.This method is referred to as depth masking.
The computer uses the Java-based Processing [30] software environment that provides the interfacing between the devices attached to it such as the Kinect sensor and the Arduino.Processing-based OpenCV [31] and SimpleOpenNI [32] libraries were used for the software development.The OpenCV library provided the tools to filter the image based on Hue-Saturation-Value (HSV) as well as detect the presence of blobs and their respective coordinates.On the other hand, the SimpleOpenNI library allows the system to communicate with the Kinect sensor to get the RGB image and depth data.Fig. 20.shows how the raw RGB image is eventually filtered out to keep the blue cylinder objects.The binarized image on the www.ijacsa.thesai.orgright was processed further to detect the blobs present and store their coordinates for sorting purposes.This filtering, detection and coordinate acquisition processes were done for other colors as well as for the gripper.The gripper is colored differently from the possible colors of the cylinder objects to properly recognize and locate the coordinates of the gripper itself.Shown in Fig. 21. is the results of detection and extraction of the coordinates of the gripper and the blue cylinder objects.It is worth mentioning that the gripper has two distinguishable shapes if it is wide open.In such a case, the reported coordinates of the gripper are found by calculating the centroid of the two separately detected gripper objects.

V. GRAPHICAL USER INTERFACE AND SORTING ALGORITHM
The coordinates of the gripper and the objects are measured relative to the origin point at the center of the region of interest as well as their respective heights relative to the white background platform.Together with the measured joint angles of the robotic arm, these values constitute the input variables for the sorting algorithm.The process begins by the user configuring the system through a designed graphical user interface (GUI) shown in Fig. 22.The user selects which object colors are to be sorted first according to the priority the user wishes.The user can also choose how the objects are to be sorted and decided where each color should land on predetermined locations.After configuration, the "Sort" button can be pressed to begin the sorting process.Pressing the "Sort" button invokes the sorting algorithm.The sorting algorithm first applies depth masking to differentiate depth levels among the platform, the objects and the gripper.The next process applies HSV-based color filtering to detect the presence of the objects in a specific color.The sequence at which colors are detected is determined by the priority configuration set by the user.As objects are detected for each color, the coordinates of the objects are acquired and stored to their respective buffers.After all object colors are found, the coordinates of the gripper are acquired.A hysteresis function is applied to the obtained coordinates to eliminate the sudden changes in coordinates due to noise.Now that the coordinates of all objects are found, the gripper coordinates and the first object to be sorted or targeted is fed to the FLJC.There are several rules that determine which object should be fed to the FLJC: 1) based from the priority set by the user, and 2) the distance of the target object from the gripper.Since it is possible that there are multiple objects of the same color, the sorting algorithm would pick the target object with the minimal distance from the gripper.Should objects have same color and same distance from the gripper, the object with least change in base angle needed to reach will be picked up first.In this manner, the priority of which object should be picked up is resolved.Now that the target object is determined, the FLJC applies the appropriate changes to the joint angle needed to further minimize the distance between the gripper and the target.The machine vision will then locate the gripper coordinates and feed it back to the FLJC.This process repeats until the gripper coordinates is sufficiently coincident with that of the target object.It is also worth mentioning that a parallax error will be imposed upon the gripper coordinates relative to the platform depending on its height and location.To mitigate the parallax shift, a proper coordinate transformation is applied to the gripper coordinates before fed to the FLJC.For the coordinates (x, y) and height z as seen by the camera, the actual coordinates (x', y') are found to be: where (x c , y c ) are the coordinates of the center of ROI relative to the base of the robotic arm, p is the parallax factor, h is the camera height and B is the base height of the robotic arm.
As the gripper closes in to the object, the gripper is closed to grip the target object.The attached tactile sensors will determine if the object was indeed grasped.If the object is found to be grasped, a predetermined sequence of robotic arm www.ijacsa.thesai.orgmovements will place the object on its specific location according the configuration set by the user.Once the object is placed, the robotic arm goes into its home position.The sorting algorithm will feed the gripper coordinates and the next target object.This process will repeat until all such objects are placed to their appropriate destinations.During the sorting process, the user cannot reconfigure the sorter until it is finished but may press the emergency button to terminate.The robotic arm simulator shown in Fig. 23. is an improvement over that shown in [4].The simulator can function as a monitoring tool to show the actual robotic arm pose in real time as well as provide a visualization of the controller in action.Furthermore, important parameters are indicated below to guide in the tuning of the fuzzy membership functions and several buttons that are programmed to move the robotic arm in a pre-determined sequence such as going to its home position and placing an object to designated areas.Once the actual robotic arm's response is satisfactory, the tuned fuzzy membership functions are transferred to a final program to be integrated with the sorting algorithm and a designed GUI.

B. Robotic Arm Movement
To test the accuracy of the fuzzy logic controller, the robotic arm was stretched forward along the Y direction.The plots of actual robotic arm end-effector coordinates plotted against the desired y-coordinate are shown in Fig. 24.through Fig. 26.A comparison was made against the inverse kinematic implementation.From Fig. 24. the fuzzy logic controller had lesser sideway excursions as compared to inverse kinematics implementation.The fuzzy logic controller was able to follow closely the ideal y-coordinate value as compared to inverse kinematic implementation shown in Fig. 25.The inverse kinematic implementation is found below the required y-value because of the weights of the robotic arm links.This effect is more pronounced as the height has significantly drooped shown in Fig. 26.Again, the moment due to the weight of extending arm is increasing as the y-coordinate increases.The fuzzy logic controller on the other hand managed to maintain a satisfactory level that is within 5 mm from the ideal height of 100 mm.

C. Accuracy of the End Effector
The end-effector's accuracy is tested by feeding the FLJC with an ideal coordinate coincident to the intersection of gridlines on the platform.By marking of the platform beneath the gripper, the distance between x-, y-and z-coordinates are obtained for at least 30 trials.These coordinates are randomly picked from the workspace area where the objects to be sorted are placed.The differences are measured and plotted as shown in Fig. 27.The average values of 0.8, 1 and 0.6 cm for absolute errors in x-, y-and zcoordinates were calculated for the end-effector relative to origin, respectively.On average, the end-effector coordinates were accurate enough to allow tolerance of 2 cm radius.Fig. 28 shows the plot of absolute error of gripper coordinates in x-, y-and z-coordinates as it moved towards the pre-determined coordinates as destination for sorted objects.The average values of 0.45, 0.92 and 1.77 cm for absolute errors in x-, y-and z-coordinates were calculated for the endeffector relative to origin respectively.On average, the endeffector coordinates were accurate enough to allow tolerance of 2 cm radius.

D. Reliability of Machine Vision System
Two tests are performed to determine the reliability of the machine vision system: 1) accuracy in acquisition of coordinates, and 2) accuracy in color discrimination of objects both on the platform level or the second stack level.Twelve (12) trials each containing at least 10 colored objects are to be detected and the coordinates acquired.The average error for each trial is shown in Table IV.On average, the absolute error for the overall test of the vision system was about 0.19 cm for x-coordinates and about 1.41 cm for the y-coordinates, well within 2 cm tolerance value of accuracy.For the second test, the ability of the machine vision system to properly discriminate colors are tested for the same number of trial with same number of objects.A summary of confusion matrix was constructed as shown in Table V for all tested objects on the first level.The data shows that the colors blue, green and yellow were detected 100% accurately.Notice also that there is a 100% precision for colors blue, green and yellow, and 96% for red.The red color was found to have the least among them all because of the proximity of the red color to the gripper's color, making it hard to delineate in HSV space.Nevertheless, the gripper is never mistakenly detected as an object.Additional objects were stacked on top of the first level making it a second level stacked object.Similar test for the first level were conducted to test the ability of the system to properly discriminate stacked colored objects.Table VI shows the summary of confusion matrix for detection of objects on the second stack level.The data shows that the green and red were detected 100% accurately.Notice also that there is a 100% precision for colors green and red and about 97% for red and yellow.The study was successful in integrating the autonomous robotic arm with fuzzy logic-based joint controller (FLJC) with a machine vision system capable of accurate color discrimination into a color-based sorter system.An improved robotic arm simulator made it possible to tune the membership functions and see the actual effect on the robotic arm's response.Additionally, the end-effector is well accurate enough to have less than 2 cm absolute error.The coordinates of the different target objects with different colors and stacking levels of up to second level as well as the coordinates of the gripper were successfully acquired by means of Processing with SimpleOpenNI and OpenCV library.The overall accuracy of the machine vision system shows that it has the same precision as the end-effector and is at least 95% accurate in properly discriminating colored objects.This extended study has demonstrated that it is capable of sorting even second level stacked color objects.The utilization of the depth data made it possible to determine the height of the colored object in question.
As for improvement, the researchers aim to introduce different controllers such as the hybrid neuro-fuzzy system and genetic algorithm to aid in fine tuning the membership functions and fuzzy rule formulation.Furthermore, the machine vision system can be further improved by applying more advanced color clustering techniques which will eventually allow more colors to be discriminated without ambiguity.

Fig. 5 .
Fig. 5. Top view of the robotic arm relative to target.

Fig. 6 .
Fig. 6.Side view of the robotic arm relative to target.

5 ) 7 ) 1 )
Өe is the elbow joint angle.6) Өη is defined as the gripper angle with respect to horizontal.Өη' is defined as the rate of change of gripper angle with respect to horizontal.The outputs of the fuzzy logic controller are as follows: ΔӨb is the change in base joint angle.2) ΔӨs is the change in shoulder joint angle.3)ΔӨe is the change in elbow joint angle.4) ΔӨw is the change in wrist joint angle.

Fig. 14 .
Fig. 14.Membership function for change in base joint angle.

Fig. 17 .
Fig. 17.Membership function for change in wrist joint angle.

Fig. 20 .Fig. 21 .
Fig. 20.On the left: actual gripper and cylinder objects as seen by the camera atop; on the right: filtered image showing the blue cylinder objects.

Fig. 22 .
Fig. 22.The graphical user interface for the color-based sorter.

TABLE I .
FUZZY RULES FOR BASE JOINT ANGLE

Input: base joint angle (θb), error x (ex), error y (ey) Output: change in base joint angle (Δθb)
1 If θb is E and ex is N and ey is N then Δθb is P 2 If θb is E and ex is N and ey is Z then Δθb is Z 3 If θb is E and ex is N and ey is P then Δθb is N 4 If θb is E and ex is Z and ey is N then Δθb is P 5 If θb is E and ex is Z and ey is Z then Δθb is Z 6 If θb is E and ex is Z and ey is P then Δθb is N 7 If θb is E and ex is P and ey is N then Δθb is P 8 If θb is E and ex is P and ey is Z then Δθb is Z 9 If θb is E and ex is P and ey is P then Δθb is N 10 If θb is NE and ex is N and ey is N then Δθb is Z 11 If θb is NE and ex is N and ey is Z then Δθb is N 12 If θb is NE and ex is N and ey is P then Δθb is N 13 If θb is NE and ex is Z and ey is N then Δθb is P 14 If θb is NE and ex is Z and ey is Z then Δθb is Z 15 If θb is NE and ex is Z and ey is P then Δθb is P 16 If θb is NE and ex is P and ey is N then Δθb is P 17 If θb is NE and ex is P and ey is Z then Δθb is P 18 If θb is NE and ex is P and ey is P then Δθb is Z 19 If θb is N and ex is N and ey is N then Δθb is N 20 If θb is N and ex is N and ey is Z then Δθb is N 21 If θb is N and ex is N and ey is P then Δθb is N 22 If θb is N and ex is Z and ey is N then Δθb is Z 23 If θb is N and ex is Z and ey is Z then Δθb is Z 24 If θb is N and ex is Z and ey is P then Δθb is Z 25 If θb is N and ex is P and ey is N then Δθb is P 26 If θb is N and ex is P and ey is Z then Δθb is P 27 If θb is N and ex is P and ey is P then Δθb is P 28If θb is NW and ex is N and ey is N then Δθb is N If θe is R and ey is N and ez is N then Δθs is P and Δθe is P 2 If θe is R and ey is N and ez is Z then Δθs is P and Δθe is Z 3 If θe is R and ey is N and ez is P then Δθs is P and Δθe is N 4 If θe is R and ey is Z and ez is N then Δθs is Z and Δθe is P 5 If θe is R and ey is Z and ez is Z then Δθs is Z and Δθe is Z 6 If θe is R and ey is Z and ez is P then Δθs is Z and Δθe is N 7 If θe is R and ey is P and ez is N then Δθs is N and Δθe is P 8 If θe is R and ey is P and ez is Z then Δθs is N and Δθe is Z 9 If θe is R and ey is P and ez is P then Δθs is N and Δθe is N 10 If θe is M and ey is N and ez is N then Δθs is Z and Δθe is Z 11 If θe is M and ey is N and ez is Z then Δθs is N and Δθe is Z 12 If θe is M and ey is N and ez is P then Δθs is N and Δθe is N 13 If θe is M and ey is Z and ez is N then Δθs is P and Δθe is Z 14 If θe is M and ey is Z and ez is Z then Δθs is Z and Δθe is Z 15 If θe is M and ey is Z and ez is P then Δθs is N and Δθe is N 16 If θe is M and ey is P and ez is N then Δθs is N and Δθe is N 17 If θe is M and ey is P and ez is Z then Δθs is N and Δθe is Z 18 If θe is M and ey is P and ez is P then Δθs is N and Δθe is N 19 If θe is L and ey is N and ez is N then Δθs is P and Δθe is N 20 If θe is L and ey is N and ez is Z then Δθs is P and Δθe is N 21 If θe is L and ey is N and ez is P then Δθs is P and Δθe is N 22 If θe is L and ey is Z and ez is N then Δθs is N and Δθe is N 23 If θe is L and ey is Z and ez is Z then Δθs is N and Δθe is N 24 If θe is L and ey is Z and ez is P then Δθs is N and Δθe is N 25 If θe is L and ey is P and ez is N then Δθs is Z and Δθe is N 26 If θe is L and ey is P and ez is Z then Δθs is N and Δθe is N 27 If θe is L and ey is P and ez is P then Δθs is N and Δθe is N

TABLE III .
FUZZY RULES FOR WRIST ANGLE

TABLE IV .
AVERAGE ERROR FOR OBJECT COORDINATES

TABLE V .
SUMMARY OF CONFUSION MATRIX FOR 1ST LEVEL OBJECTS

TABLE VI .
SUMMARY OF CONFUSION MATRIX FOR 2ND LEVEL OBJECTS