Measurement of the Robot Motor Capability of a Robot Motor System: A Fitts's-Law-Inspired Approach

Robot motor capability is a crucial factor for a robot, because it affects how accurately and rapidly a robot can perform a motion to accomplish a task constrained by spatial and temporal conditions. In this paper, we propose and derive a pseudo-index of motor performance (pIp) to characterize robot motor capability with robot kinematics, dynamics and control taken into consideration. The proposed pIp provides a quantitative measure for a robot with revolute joints, which is inspired from an index of performance in Fitts's law of human skills. Computer simulations and experiments on a PUMA 560 industrial robot were conducted to validate the proposed pIp for performing a motion accurately and rapidly.


Introduction
Robots are widely-used in manufacturing tasks, such as assembly [1], cutting [2], deburring [3], etc. Without loss of generality, these manufacturing tasks can be decomposed into a sequence of motor tasks that are usually described by spatial and temporal constraints on objects in the environment [4][5][6]. Thus, a major problem for a robot to accomplish a task is to satisfy the spatial and temporal constraints of a task. A spatial-temporal constraint requires a robot to perform motor movements accurately in a desired trajectory task. Usually, a robot is asked to achieve a given position with a minimum movement time. However, each robot has its own motor capability according to its mechanical and electrical system and may not be qualified for tasks with strict spatial-temporal constraints.
Robot motor capability is the motor ability for a robot to accomplish a task constrained by spatial and temporal conditions. Traditionally, a robot was evaluated by its accuracy and repeatability [7][8][9][10]. American National Standard defined the static and dynamic performance characteristics for industrial robots and robot systems [11,12]. Throughout the previous work, there has not been a performance metric to measure the robot motor capability of a robot motor system for tasks constrained by spatial and temporal conditions. Thus, there is a need to develop a quantitative measure of a robot motor system.
In this paper, the proposed method for characterizing the motor capability of a robot is inspired by Fitts's law, which is one of the well-known metrics for studying human rapid movements. Fitts's law was revealed by Paul Fitts in 1954, showing the information capacity of a human motor system. In Fitts's law, the motor performance is the ability to consistently produce movements and is described by two main factors-speed and accuracy. Fitts obtained the following equation, often called Fitts's law, as: where T mt is the minimum movement time and a and b are proportional constants, and Fitts quantitatively defined an index of task difficulty (I d ) as log 2 ( 2D W ) (bits/response) to specify the minimum required information for rapidly-aimed movements to accomplish a given task, where D is a target distance and W is a target width defined as the allowable tolerance along the moving direction. Fitts also defined an index of performance, I p , to indicate the fixed information capacity: and found that I p is relatively constant over a considerable range of movement amplitudes and tolerance limits. Actually, Fitts's equation is a special case of the quasi-power function with a varying exponent, n, as n → ∞ [13]. The quasi-power function with exponent n is shown as T mt = a n + b n · ( D W ) 1 n . When n → 1, the quasi-power function becomes a linear function as: Equation (3) is re-written as a linear speed-accuracy relationship: where a and b are proportional constants, and the index of performance (I p ) of Fitts's law in Equation (3) is defined as 1 b 1 by ignoring the constant, a 1 . Thus, 1 b in Equation (4) indicates the index of performance, as well, because smaller b 1 results in smaller T mt and smaller b if D and W are fixed in both equations.
The paper proposes the method to derive the speed-accuracy constraint of a robot system the same as Equation (4), and therefore, the pseudo-index of motor performance (pI p ) of the robot system is defined as 1 b in Equation (4). The speed-accuracy constraint is characterized with robot kinematics, dynamics and control taken into consideration. Thus, the mathematical derivations of pI p are applicable to other robots with revolute joints. Furthermore, pI p is a quantitative measure for the motor capability of a robot. The basic concept of our approach is to treat a robot motor system as an information channel and determine the robot motor capability. Since the information capability of a channel is affected by the inaccuracy of kinematics and dynamics models, we can quantitatively measure it by the variability of movements that a robot aims to produce. To verify the proposed method, computer simulations and experiments on PUMA 560 and 260 industrial robots are conducted to verify the validity of the proposed approach in understanding the motor capability of a robot motor system. This paper is organized as follows. In Section II, we formulate a robot task as an optimization problem constrained by the proposed speed-accuracy constraint derived from the kinematics, dynamics and control of a robot motor system. In Section III, we present the proposed pseudo-index of motor performance (pI p ) derived from the speed-accuracy constraint and show how pI p is utilized to evaluate the motor capability of a robot. In Section IV, computer simulations and experiments on PUMA 560 and 260 industrial robots are presented. Discussions and conclusions are summarized in Section V.

Problem Formulation
We formulate a robot task as an optimization problem subject to spatial and temporal constraints. The proposed speed-accuracy constraint characterizes the relationship between the robot joint speed and the Cartesian position error of the end-effector of the robot. By utilizing the proposed speed-accuracy constraint, the optimization problem is solved without violating the robot motor capability. We first formulate a basic rapid robot movement that moves its end-effector to reach a desired joint location, θ = [θ 1 , θ 2 , · · · , θ i , · · · , θ N ] T , with an allowable tolerance, x , y and z (i.e., spatial constraint), in the Cartesian space by the maximal linear speed (i.e., temporal constraint), where N is the number of degrees of freedom (DOF) and the superscript, T , denotes a matrix transpose. Here, we need to determine the joint velocities that introduce the maximal linear speed of the end-effector. The joint velocities are represented by a vector asθ = [θ 1 ,θ 2 , · · · ,θ i , · · · ,θ N ] T , and the basic rapid movement of the end-effector of a robot is formulated as an optimization problem as: where · 2 is the Euclidean-norm operation, J d (θ) is the 3 × N Jacobian matrix relating the joint velocity to the Cartesian velocity of the end-effector, d x , d y and d z are the respective Cartesian position errors, x , y and z ≥ 0 are the allowable position errors andθ max i ≥ 0 is the maximum joint, i, velocity that can be driven. Obviously,θ max in Equation (5) may not be the optimal solution to the problem, because it may violate the spatial constraint described by x , y and z . Thus, both the spatial and temporal constraints must be satisfied simultaneously in this optimization. To consider these constraints, an appropriate speed-accuracy constraint must be derived.

Robot Speed-Accuracy Constraint
Since the spatial inaccuracy of the end-effector of a robot with revolute joints is caused by the inaccuracy of robot kinematics and dynamics models and the disturbance of the environment [8], we represent the Cartesian position error of the end-effector of an N -DOF manipulator (e.g., a PUMA robot) with revolute joints by a linear model expressed as: where d x , d y and d z are the respective Cartesian position errors along each coordinate axis, J d k (θ), J a k (θ), J α k (θ) and J β k (θ) are the 3 × N kinematic-error matrices [8], J d (θ) is the 3 × N Jacobian matrix, θ is an N × 1 joint position vector, (d, a, α, β) are the D-Hparameters [14] in an N × 1 vector form, ( d, a, α, β) denote small changes in the corresponding parameters and C(θ) is a 3 × 1 vector, summing all the kinematic errors, due to the D-H parameters (d, a, α, β); this is due to the mechanical tolerance in manufacturing the links and joints of the robot.
To derive θ in Equation (6), we assume that the widely-used "computed torque" technique with a proportional-plus-derivative (PD) controller [15] is used. Thus, each robot joint is modeled as a single-input-single-output system with disturbance from other joints. The coupling effects from other links are considered as a disturbance to the robot. A PD control is utilized to servo the manipulator system to track the desired trajectory, and the feedforward torques along the actual trajectory are computed to compensate for the nonlinear disturbance. A block diagram showing the PD control scheme for joint, i, is shown in Figure 1.   Figure 1, J c ij (θ), f c i , G c i (θ) and V c i are, respectively, the computed counterparts of the actual effective inertia terms, J ij (θ), effective damping coefficient, f i , gravity terms, G i (θ), and Coulomb friction, V i , at the actual shaft of joint, i, of the manipulator. n i is the gear ratio, armature resistance, R i a , motor constant, K i a , and the back electromagnetic force constant, K i b , is known dc motor parameters for joint, i. K i p and K i v are, respectively, position and velocity feedback gains of the controller. Their values are chosen subject to the mechanical resonant frequency constraint of the manipulator. θ d i (s) and θ i (s) are, respectively, the desired and actual angular displacement of joint, i. T i D (s) is the disturbance in Laplace transform and T i,c D (s) is the computed feedforward torque compensating for the disturbance. In order not to excite the mechanical resonant frequency of the manipulator, the undamped natural frequency is set to no more than one-half of the structure resonant frequency. Complying to this constraint, we can obtain the following relation and the upper bound of K i p : where ω i 0 and J i 0 are, respectively, the measured structural resonant frequency and inertia of joint, i, at a known location. Since Figure 1 is a second-order system, the damping coefficient, ζ i , of the system can be obtained as: In order to avoid the oscillatory underdamped response, ζ i is set to ≥1. Thus, K i v becomes: Because the actual J ii and f i are usually not available, we use their computed counterparts, J c ii and f c i , from the manipulator dynamic model. Substituting Equation (7) into Equation (10), we obtain K i v as: To determine θ in Equation (6), we utilize Figure 1 to evaluate the steady-state error of θ by a velocity-related joint position command, θ d (t) = At, where A is the amplitude of the input. The steady-state error of θ i is derived as: is an N × N symmetric matrix, whose elements are H ijk (θ), where j and k are integers and 1 ≤ j ≤ N and 1 ≤ k ≤ N .
Replacing the elements of θ in Equation (6) with θ i in Equation (11), we obtain the Cartesian position errors of the end-effector of the robot in the form of speed-accuracy constraint as: where P (θ) is an N × 1 vector and P (θ) = ( (12), it shows that when the joint speed increases (θ new = κθ old , κ ≥ 1) and the desired joint positions, θ, are fixed, a larger absolute Cartesian position error (|d x |, |d y | and |d z |) will be generated. Thus, Equation (12) indicates the trade-off relationship between the spatial accuracy and the joint speed.

Pseudo-Index of Performance for a Robot System
The purpose of determining the pseudo-index of the performance, pI p , of a robot motor system is to obtain a quantitative measure. After the speed-accuracy constraint is obtained, we can derive and calculate the index of the performance, pI p , of a robot motor system from this constraint. Thus, we define the pseudo-index of the performance (pI p ) of the linear speed-accuracy equation in Equation (4) as pI p 1 b to quantitatively indicate the amount of information capacity of a robot motor system. According to the speed-accuracy constraint (see Equation (12)), C(θ) + J d (θ)K P (θ) can be referred to as a in Equation (4). The joint velocity command is expressed asθ d = ρθ 0 , whereθ 0 is a reference joint velocity vector and ρ > 0 is a scale factor to change the joint velocities. We can express Equation (12) in the form of Equation (4) as: where pI px , pI py and pI pz are the pseudo-indices of performance on the x-, yand z-axis of the Cartesian space, respectively, and are derived as: where I x , I y and I z are the unit vectors along the x-, yand z-axis, respectively,Φ 0 is an N 2 × N matrix andΦ 0 = [θ 1 , 0, · · · , 0; 0,θ 2 , 0, · · · , 0; · · · ; 0, · · · , 0,θ N ], whereθ i =θ 0 for i = 1 to N , andΘ 0 is an (13), we obtain the quadratic function of the Cartesian position errors, (d x , d y , d z ), with respect to the scalar of the joint velocity, ρ. Figure 2 illustrates the obtained quadratic function of the Cartesian position error of the end-effector of a robot along the x-axis (d x ) with respect to the scalar of the joint speed (ρ), where the intercept on the axis of the Cartesian position error of the end-effector of a robot is I Figure 2 and Equation (13), it is shown that a robot is capable of performing more accurately with a larger pI p when the joint velocities,θ d , are fixed (i.e., ρ is fixed). In other words, when the Cartesian position tolerance, , of a given task is fixed (i.e., d x is fixed), a robot with a larger pI p is capable of accomplishing the task with faster joint velocities. Interestingly, the pseudo-index of performance is advantageous to show the trade-off relationship between speed and accuracy, if we assume that there exists a fixed amount of information capacity of a robot motor system.

. Computer Simulations & Experimental Work
Computer simulations were performed by MATLAB Toolbox [16], and experiments were performed on 6-degree-of-freedom PUMA 560 and 260 robots [14] with revolute joints to validate the proposed speed-accuracy optimization and demonstrate that the motor capability can be measured by the proposed pseudo-index of performance (pI p ) on a rapid-moving task. In the experiments, the Cartesian position error was with respect to the 2D space, because we followed Fitt's experiments, where the position error was only measured in the 2D space. The Cartesian position error on the last dimension (z-axis) would not affect that on the other two dimensions (x-and y-axis), because they are independent. Figure 3 shows the scheme of our task. The robot was asked to move its end-effector to hit a target position (G) and stop at an end position (E) by various configurations of movement speed (D/T mt ) and distance (D). With each configuration of movement speed and distance, this resulted in a Cartesian position error (W ) at the end-effector.

Simulation on a PUMA 560 Robot
In this simulation, a PUMA 560 industrial robot was asked to move with the maximum speed to hit the target position within the spatial tolerances, σ x and σ y , which denote the maximum position tolerances along the xand y-axis, respectively. For simplicity, the robot only used joints 1, 2, and 3 to perform the task. Based on the task description, we formulated the task as an optimization problem subject to the spatial-accuracy constraints for maximizing the robot speed: where J d (θ) is the Jacobian matrix, d x and d y are the Cartesian position errors of the end-effector of the robot along the x− and y−axis, andθ max i is the maximal velocity of joint, i (i = 1, 2, 3), that can be driven. The parameters of the PUMA 560 robot were from [17]. We set the distance from the tip of the pin to the coordinate frame of the sixth joint to 0.1 m. First, we evaluated how the Cartesian position error was affected by m, G(θ) and V (θ) under a fixed joint distance. We used joint-interpolated motion planning for the robot. Simply, we subtracted C(θ) from the Cartesian position errors of the end-effector of the robot. The joint distance, θ dif f , between the initial and target joint positions was [π/4, π/4, −π/4, 0, 0, 0], and the execution time for all the joints was set to T mt . Thus, the joint velocities were represented as θ dif f /T mt (rad/sec). If we setθ 0 as the nominal joint velocities finishing θ dif f by one second, the joint velocities were expressed as ρ ·θ 0 , where ρ = 1/|T mt |. The joint velocity, acceleration and the inverse dynamics of the robot were calculated by the recursive Newton-Euler equations [14,18], and the Cartesian position error of the end-effector of the robot was calculated by J d (θ) θ and verified by Equation (12).
When the errors between the computed and actual masses, m = m−m c m , as (±0.1%), (±0.2%), · · · and (±1%), were assumed as the cause of the Cartesian position errors, we simulated four cases of a combination of V (Coulomb friction) and G(θ) (errors between the actual and computed gravity terms). Their results are explained and discussed as follows: Case (1) V = 0 and G(θ) = 0: In this case, the simulation results showed that the Cartesian position errors of the end-effector of the robot (d x = d y = d z = 0) almost do not exist. Apparently, they can be validated by Equation (12), because of P (θ) = 0 ( V = 0, G(θ) = 0 and H(θ) = 0).
Case (2) V = 0 and G(θ) = 0: In this case, the simulation results of the Cartesian position errors along the xand y-axis (d x and d y ) were shown by the blue dots with m = 0 in Figure 4. The Cartesian position errors were only due to V of Equation (12).
Case (3) V = 0 and G(θ) = 0: In this case, the simulation results showed that when ρ = 1/2 and m was changed from 1.0% to −1.0%, the Cartesian position errors were shown by the line of red crosses in Figure 4 and caused by G(θ) and H(θ) of Equation (12). On the other hand, when the joint velocities were changed by ρ (1/2, 1/4, 1/6), Figure 5 shows that the slope of the line showing the Cartesian position errors was also changed. It shows that as ρ= 1/6 (gray line, lowest speed), the Cartesian position errors were least (highest accuracy). In addition, when m was fixed, Figure 5 shows that the Cartesian position errors caused by different ρ were in a linear line (G i pink line), and the increment of the Cartesian position errors was proportional to ρ 2 , because J d (θ)KΦ T H (θ)Θ in Equation (12) indicates that the Cartesian position errors were proportional to (θ 2 ) (i.e., ρ 2 ) when m was fixed. However, none of the pink lines in Figure 5 did passed through the origin, but a point G i , (i = · · · , −2, −1, 1, 2, · · · ). These results were clearly shown by Equation (12), because the Cartesian position errors resulted from G(θ) and H(θ), but when the joint velocities were set to zero, the Cartesian position errors were only due to G(θ) (i.e., G i ).
Case (   In other words, a robot with a different m had a different motor capability, because Equation (14) shows that the pseudo-index of performance is affected by H (θ) (i.e., m). We set the Cartesian distances between the start (S) and the target (G) positions to 0.0508, 0.1016, 0.2032 and 0.4064 m. The four movement velocities (D/T mt m/sec) for a specified distance (D) were set in Table 1. To investigate the Cartesian position errors of the end-effector of the PUMA 560 robot caused by the changes of the joint velocities, we subtracted the velocity-independent terms, C(θ) + J d (θ)K P (θ), from the Cartesian position errors at the target position. For D = 0.0508, 0.1016, 0.2032 and 0.4064 (m), the joint velocities were represented as (θ D dif f )/T mt = ρ ·θ 0 , whereθ 0 is the nominal joint velocities finishing θ D dif f by one second, ρ is a scalar and its value is ρ = 1/|T mt |. We changed the joint velocities by changing ρ with a 0.01 incremental value. The joint velocity, joint acceleration and the inverse dynamics of the robot were calculated by the recursive Newton-Euler equations [14,18], and the Cartesian position error of the end-effector of the robot was calculated by J d (θ) θ.

Experiments on PUMA 560 and 260 Robots
To validate the speed-accuracy constraint, we performed the experiment on a PUMA 560 robot (see Figure 8). The joint distance, θ dif f , between the initial and target positions of a joint-interpolated motion planning was [π/4, π/4, π/4, 0, 0, 0], and the execution time for all the joints was set to T mt = 1.6, 1.07, 0.8 and 0.64 seconds for tests 1, 2, 3 and 4, respectively. Thus, the joint velocities of these tests wereθ = θ dif f /T mt = ρ ·θ 0 (rad/sec), whereθ 0 = θ dif f /1 are nominal joint velocities finishing θ dif f by one second and ρ = 1/|T mt | = 0.625, 0.935, 1.25, 1.5625 for tests 1 to 4, respectively. The relationships of joint velocities between test 1 and tests 2, 3 and 4 were obtained asθ 2 = 1.5θ 1 , θ 3 = 2θ 1 andθ 4 = 2.5θ 1 . Although we could not obtain the actual masses of the links, we performed various m s (the ratio of the error between the computed masses and the original computed masses we had to the original computed masses) by −3%, −2%, −1%, 0%, 1% and 2% and obtained similar results in Figure 5. Figure 9 shows the Cartesian position errors (d x , d y ) of the end-effector of the PUMA 560 robot caused by the changes of joint velocities and m. In Figure 9, each line was plotted by the Cartesian position errors of the end-effector of the robot introduced with various computed masses and the same joint velocity.This shows that the Cartesian position error, ∝ m, is under the same joint velocity.   From Figure 9, we obtain the relationship of Cartesian position errors caused by fixed m and the changes of the joint velocities (ρ), as shown in Figure 10. Figure 10 represents m for −3%, −2%, −1%, 0%, 1% and 2%, respectively. The ratios of the Cartesian position errors of the end-effector of the PUMA 560 robot caused byθ 2 ,θ 3 andθ 4 to the Cartesian position errors caused byθ 1 in Figure 10 were shown in Table 2. These ratios of errors were close to the expected ratios, ρ 2 ((1.5) 2 = 2.25, (2) 2 = 4, (2.5) 2 = 6.25), sinceθ 2 = 1.5θ 1 ,θ 3 = 2θ 1 andθ 4 = 2.5θ 1 . This shows that the Cartesian position error, ∝ ρ 2 , is under the same m. Equation (13) explains this phenomenon when PUMA560 had a fixed pI px .
To demonstrate that the pseudo-index of performance (pI px ) is useful to evaluate the motor capability of various robots with revolute joints, we compared the motor capabilities of the PUMA 560 and 260 robots by measuring their pI px , where the PUMA 260 was a small robot with a similar mechanism to the PUMA 560. Figures 11 and 12 show the PUMA 560 and 260 robots' quadratic coefficients when D = 0.0508, 0.1016, 0.2032 and 0.4064. As pI px is the reciprocal of the quadratic coefficient, it is obvious that the PUMA 260 robot has better motor capability than the PUMA 560 robot.

Discussions and Conclusions
The proposed speed-accuracy constraints showed the relationship between Cartesian position errors of the end-effector of a robot and joint velocities. This relationship can be illustrated by a vector representation, as shown in Figure 13. For simplicity, Figure 13 shows the 2D projection of a 3D Cartesian position error caused by joint position errors ( θ). The Cartesian position error on the 2D plane, E all , is composed of d x along the x-axis and d y along the y-axis. It is shown as the summation of E V , E G and E S , where E V represents the Cartesian position errors introduced by the errors between the actual and computed Coulomb frictions, E G represents the Cartesian position errors introduced by the errors between the actual and computed gravity terms and E S represents the Cartesian position errors regulated by the velocity changes. Here, E G is affected by m and E G ∝ α m , where m = α m m and α m is a scalar. Also, E S is affected byθ and E S ∝ α m ·(α s ) 2 , whereθ = α sθ0 ,θ 0 is a reference speed and α s is a scalar. The angle, φ, is determined by θ, m and m. When the desired joint positions, θ, and link masses, m and m, are determined, we can choose α s (maximum speed) based on the vector relationship to make the vector, E all , stay in the boundary of the task constraints.  (14), it is obviously shown that the pseudo-index of performance is the same with respect to the joint velocities,θ, instead of the Cartesian speed, dD/dt. Thus, the pseudo-index of performance was not the same for the sub-figures of Figures 11 and 12. In addition, when a robot moves to a target in a fixed distance, m of the robot will influence its motor capability. The less error in masses will give the robot more information capacity for trading off movement speed and accuracy to accomplish a task.
The pseudo-index of performance is also affected by the target joint positions, θ, because from Equation (14), J d (θ) dramatically affects the Cartesian position errors, d x , d y and d z . Figure 14 shows the L 1 -norm of I x T · J d (θ), I y T · J d (θ) and I z T · J d (θ) with respect to index number, where I x , I y and I z are unit vectors along the x-, yand z-axis, respectively. L 1 -norm indicates the maximum Cartesian position errors, d x , d y and d z , to which J d (θ) can contribute. The index number is generated from the data format as index (j1) :index (j2) :index (j3) :index (j4) :index (j5) :index (j6) , where index (ji) is a sampling index by joint resolution within the joint range of joint, i [14], joint resolution is determined arbitrarily, index (j1) are the most significant bits (MSB) and index (j6) are the least significant bits (LSB). The index number represents the joint positions for all joints. To illustrate the concept and simplify the computation, joints 4, 5 and 6 are fixed as zero-degree, and the index number is only generated from joints 1, 2 and 3 with 20-degree joint resolution. Figure 14 shows the distribution of the L 1 -norm on d x , d y and d z with respect to the index number (joint positions). For some cases, an index number may have entirely different degrees of Cartesian position errors along the x-, yand z-axis. For example, the index number, 1,639 (joint 1: 0 degree; joint 2: −125 degrees; joint 3: −45 degrees), has the maximum L 1 -norm on d x , but a relatively small L 1 -norm on d y . However, this index number is on the range boundary of joint 3, and it apparently is not an operation joint position. Similarly, another L 1 -norm on d x whose index number is 1,556 (joint 1: −20 degrees; joint 2: 35 degrees; joint 3: −25 degrees) is not on the joint range boundaries. For this index number, d x is also relatively larger than d y .
In this paper, we have developed and presented a quantitative measure, the pseudo-index of performance (pI p ), to characterize the motor capability of a robot and the speed-accuracy constraints to optimize its motor performance for performing a given task. By using the pI p , one clearly understands the motor limitation of a robot. Since the pseudo-index of performance is based on the dynamics and kinematics of a robot system with revolute joints, the derived equations of the pseudo-index of performance are applicable to other robots with revolute joints. The PUMA 560 and 260 were revolute robots and feasibly the examples to validate the pseudo-index of performance. Computer simulations and experiments on PUMA 560 and 260 industrial robots have validated the characteristics of the speed-accuracy constraint and the pI p and how the pI p is utilized to measure the motor capability of a robot system.