Error Characterization in the Vicinity of Singularities in Multi-Robot Cluster Space Control ∗ Ignacio Mas, Jose Acain, Ognjen Petrovic, Christopher Kitts Robotic Systems Laboratory Santa Clara University Santa Clara, CA, USA {iamas,jacain,opetrovic,ckitts}@scu.edu

Abstract—The cluster space control technique promotes simplified specification and monitoring of the motion of mobile multi-robot systems of limited size. Previous work has established the conceptual foundation of this approach and has experimentally verified and validated its use for 2-robot, 3-robot and 4-robot systems, with varying implementations ranging from automated trajectory control to human-in-theloop piloting. In this publication, we review the cluster space framework and its application to a 3-robot system and present the problem of robot space to cluster space error propagation and its impact on cluster position uncertainty and control performance. A theoretical formulation of cluster position error is presented. Using a 3-robot system testbed, the results are verified through experimental measurements. The cluster space Jacobian matrix condition number is proposed as a metric for acceptable cluster configuration errors. Index Terms—cluster space, multi-robot systems, formation control, robot teams, error propagation.

I. I NTRODUCTION [7] Robotic systems offer many advantages to accomplishing a wide variety of tasks given their strength, speed, precision, repeatability, and ability to withstand extreme environments. While most robots perform these tasks in an isolated manner, interest is growing in the use of tightly interacting multi-robot systems to improve performance in current applications and to enable new capabilities. Potential advantages of multirobot systems include redundancy, increased coverage and throughput, flexible reconfigurability and spatially diverse functionality. For mobile systems, one of the key technical considerations is the technique used to coordinate the motions of the individual vehicles. A wide variety of techniques have been and continue to be explored. Because of the physical distribution of components and the potential for limited information exchange, decentralized control approaches hold great promise [1]-[3], [6], and these techniques have been explored for a variety of systems [4], [5]. Centralized approaches ∗ This work has been sponsored through a variety of funding sources to include Santa Clara University Technology Steering Committee grant TSC131 and National Science Foundation Grant No. CNS-0619940. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation.

978-1-4244-2679-9/08/$25.00 ©2008 IEEE

exploiting global information are often not preferred due to limited scalability and the challenges of maintaining the necessary communication links for many of the applications explored. Our work, however, explores a specific centralized approach for potential application to robot clusters of limited size (on the order of ones to tens) and locale (such that global communication is available) with the understanding that other control modes may be required for augmentation in order to achieve robust performance. The motivation of the cluster space [7] approach is to promote the simple specification and monitoring of the motion of a mobile multi-robot system. This strategy conceptualizes the n-robot system as a single entity, a cluster, and desired motions are specified as a function of cluster attributes, such as position, orientation, and geometry. These attributes guide the selection of a set of independent system state variables suitable for specification, control, and monitoring. These state variables form the system’s cluster space. Cluster space state variables may be related to robot-specific state variables, actuator state variables, etc. through a formal set of kinematic transforms. These transforms allow cluster commands to be converted to robot-specific commands, and for sensed robotspecific state data to be converted to cluster space state data. As a result, a supervisory operator or real-time pilot can specify and monitor system motion from the cluster perspective. Our hypothesis is that such interaction enhances usability by offering a level of control abstraction above the robot- and actuator-specific implementation details. Previous work presented a generalized framework for developing the cluster space approach for a system of n robots, each with m degrees of freedom (DOF)[7]. This framework was successfully demonstrated for both holonomic and non-holonomic two-robot systems, including several clusterspace-based versions of regulated motion [8], automated trajectory control [9], [10], human-in-the-loop piloting [11], [12], and potential field-based obstacle avoidance [13]-[15]. The method was also implemented for three-robot [16] and four-robot [17] non-holonomic systems.

1911

II. C LUSTER S PACE R EPRESENTATION OF A T HREE -ROBOT S YSTEM

xc

=

yc

=

To further develop the application of the cluster space framework, we have applied it to the specification and control of three differential drive robots operating in a plane [16]. This section reviews the selection of cluster space variables, the derivation of the relevant kinematic transforms, and the formulation of an appropriate control architecture.

θc

=

φ1

=

A. Cluster Space State Variable Selection

φ2 φ3

= =

Figure 1 depicts the relevant reference frames for the planar 3-robot problem. We have chosen to locate the cluster frame {C} at the cluster’s centroid, oriented with Yc pointing toward Robot 1. Based on this, the nine robot space state variables (three robots with three DOF per robot) are mapped into nine cluster space variables for a nine DOF cluster.

x1 + x2 + x3 3 y1 + y2 + y3 3 2/3(x1) − 1/3(x2 + x3 ) atan2 2/3(y1) − 1/3(y2 + y3 ) θ1 + θc

(3) (4) (5) (6)

θ2 + θc (7) θ3 + θc (8) p 2 2 p = (x − x2 ) + (y1 − y2 ) (9) p 1 (x3 − x1 )2 + (y1 − y3 )2 q = (10) p2 + q 2 − (x3 − x2 )2 − (y3 − y2 )2 (11) β = acos 2pq and the inverse position kinematics are therefore defined by: x1

=

xc + (1/3)r sin θc

(12)

y1 θ1

= =

yc + (1/3)r cos θc φ1 − θc

(13) (14)

x2 y2

= =

xc + (1/3)r sin θc − p sin (β/2 + θc ) yc + (1/3)r cos θc − p cos (β/2 + θc )

(15) (16)

θ2 x3

= =

φ2 − θc xc + (1/3)r sin θc + q sin (β/2 − θc )

(17) (18)

y3 θ3

Fig. 1. Reference Frame Definition Placing Cluster Center at Triangle Centroid

Given the parameters defined by Figure 1, the robot space pose vector is defined as: − → T R = (x1 , y1 , θ1 , x2 , y2 , θ2 , x3 , y3 , θ3 ) (1) where (xi , yi , θi )T defines the position and orientation of robot i. The cluster space pose vector definition is given by: − → T C = (xc , yc , θc , φ1 , φ2 , φ3 , p, q, β) (2) where (xc , yc , θc )T is the cluster position and orientation, φi is the yaw orientation of rover i relative to the cluster, p and q are the distances from rover 1 to rover 2 and 3, respectively, and β is the skew angle with vertex on rover 1.

= yc + (1/3)r cos θc − q cos (β/2 − θc ) (19) = φ3 − θc (20) p where r = (q + p cos β)2 + (p sin β)2 . By differentiating the forward and inverse position kinematics, the forward and inverse velocity kinematics can easily be derived, obtaining the Jacobian and Inverse Jacobian matrices. Symbolically: → − → − → − ˙ ˙ C = J( R ) ∗ R where

− → J( R ) =

∂c1 ∂r2 ∂c2 ∂r2

∂c9 ∂r1

∂c9 ∂r2

.. .

.. .

... ... .. . ...

∂c1 ∂r9 ∂c2 ∂r9

.. .

∂c9 ∂r9

(22)

and conversely: − → − → − → ˙ ˙ R = J −1 ( C ) ∗ C

(23)

where

− → J −1 ( C ) =

B. Kinematic Transformations Given the aforementioned selection of cluster space state variables, it is possible to express the forward and inverse position kinematics of the three-robot system. The forward position kinematics are given by:

∂c1 ∂r1 ∂c2 ∂r1

(21)

∂r1 ∂c1 ∂r2 ∂c1

∂r1 ∂c2 ∂r2 ∂c2

∂r9 ∂c1

∂r9 ∂c2

.. .

.. .

... ... .. . ...

∂r1 ∂c9 ∂r2 ∂c9

.. .

∂r9 ∂c9

(24)

Due to limited space, the full algebraic expressions for − → − → J( R ) and J −1 ( C ) are not included.

1912

Fig. 2. Cluster Space Control Architecture for a Mobile Three-Robot System. In this cluster space control architecture, desired motions and control actions are computed in the cluster space; control actions are converted to the robot space through the use of the inverse Jacobian relationship.

C. Control Framework Figure 2 presents the control architecture for trajectorybased cluster space control of the experimental three-robot system. A cluster level PID controller compares cluster position and velocity with desired trajectory values and outputs cluster commanded velocities, which are translated into individual robot velocities through the inverse Jacobian. Data from the robots are converted to cluster space information through the forward kinematics and Jacobian and fed back into the controller. The non-holonomic constraints given by the differentialdrive motion of the robots effectively reduce the number of independently specified cluster pose variables to six. As a consequence, inner-loop robot-level heading control is implemented on each robot and the cluster space controller does not regulate the three cluster parameters corresponding to yaw orientation of the robots relative to the cluster, specifically φi . III. S INGULARITIES

AND

E RROR P ROPAGATION

A. Cluster Singularities In robotic manipulator chains, singularities occur in configurations where the Jacobian and inverse Jacobian matrices become singular [18]. Expanding this notion for cluster − → space configurations, singularities will occur where J( R ) or → −1 − J ( C ) become singular. For the three-robot mobile system we focus on in this paper, singularities occur where the geometry of the cluster becomes degenerate. In this particular cluster specification, singular configurations are found when p = 0, q = 0, p = ∞, q = ∞ or β = π. The first two cases may be addressed through collision avoidance techniques, and the second two are not reached for practical applications under consideration. The last case may be avoided by selection of an alternate set of cluster space variables for which singularities exist at a different pose; we have developed several such alternate

representations. Nevertheless, poses in the vicinity of such singularities may lead to degraded performance; this issue is explored in the following sections. B. Cluster Position Errors In our current implementation of cluster space control, we use sensing systems that directly sense absolute robot position and orientation, which must be transformed to the equivalent cluster space variables in order to apply the control law. Because this transformation is highly nonlinear and a function of the cluster’s pose, errors in sensor data can propagate in a surprising and dramatic way. Insights in the effects of this transformation are useful to better understand its impact on cluster control performance. C. Cluster Error Propagation Errors in cluster space depend both on sensor errors in robot space and the particular configuration (or pose) the cluster is in at any given time. For the purpose of this study, robot space errors are assumed to be normally distributed and defined by the typical errors of the system sensors. Cluster space errors can therefore be propagated from robot space errors. Considering that the cluster forward kinematic equations are of the form Xi = fi (A, B, C, ...), where Xi is a cluster space parameter and A, B, C, ... are robot space parameters, the errors (standard deviation) for the cluster space variables can be approximated. Given that the kinematic transforms are non-linear, they can be linearized by approximation to a first-order Maclaurin series expansion. Additionally, it can be assumed that the robot space variables -and their errors- are independent so that the covariance terms can be dropped. Therefore, Equation 25 can be used to relate variances in robot space to those in cluster space.

1913

2 σX i

≈

∂fi σA ∂A

2 2 2 ∂fi ∂fi + σB + σC + . . . (25) ∂B ∂C

where σA , σB , σC , ... are the standard deviations of the variables in robot space, which depend on the sensor suite used, and σXi is the standard deviation of cluster parameter Xi . Bias errors are assumed to be zero or eliminated by calibration.

Equation 25 are the coefficients of the cluster Jacobian matrix derived in the cluster velocity kinematic definition. This fact qualitatively expresses the direct correspondence between the cluster Jacobian and the errors formulated in cluster space.

Fig. 6.

Scatter Plot Showing Independence Between X and Y Variables

Fig. 7.

Scatter Plot Showing Independence Between X and θ Variables

Fig. 3. Histogram of Robot Parameter X Measured with the UWB Positioning System

IV. R ESULTS Fig. 4. Histogram of Robot Parameter Y Measured with the UWB Positioning System

Only six of the nine cluster variables are studied, in particular, xc , yc , θc , p, q, β. The remaining three variables φ1 , φ2 and φ3 are not considered because their behavior in terms of uncertainties is similar to that of θc . We are particularly interested in the increase of cluster parameter uncertainty as the cluster gets in the proximities of any of the singularities described in Section III-A. A. Robot Space Sensor Suite

Fig. 5. Histogram of Robot Parameter θ Measured with the Digital Compass

It is important to note that the partial derivatives of

Equation 25 shows that cluster space errors depend on robot space errors, which are given by the particular sensor suite used. In order to compute results useful for comparison with experimental data, standard deviations for the testbed position measurement system were considered. Position errors resulting from using an Ultra-Wide Band (UWB) based testbed [16] were measured and statistical information was derived. Figures 3 to 5 show that the x and y position variables measured with the UWB position system are normally distributed while variable θ measured with a

1914

fixing the rest at constant values. As the cluster gets close to a singular configuration, one or more cluster parameters become greatly sensitive to robot parameter variations.

Fig. 8.

Fig. 9.

Variation of Cluster Parameter p, with q = 2 and β = 60◦

Fig. 10.

Variation of Cluster Parameter β, with p = q = 5

Fig. 11.

Variation of Cluster Parameter β, with p = q = 2

Variation of Cluster Parameter p, with q = 2 and β = 15◦

digital compass can also be assumed normally distributed without incurring in any significant errors. It should be noted that the hypothesis of normal distribution is not necessary for Equation 25 to be valid, it only affects the interpretation of the results, in particular, that 68% of the errors measured or derived will be within one standard deviation. The necessary condition for the equation to be valid is for the variables to be independent so that the covariances can be neglected. Figures 6 and 7 show a low correlation between the variables. Covariances are ρxy = 0.0087 and ρxθ = 0.005, therefore they can be safely dropped. Using the collected data, standard deviations of σx = σy = 4cm for position and σc = 0.36◦ for heading are derived. B. Theoretical Results For various alternative poses, sets of data were generated using Equation 25 by varying one cluster parameter and

C. Experimental results Experimental results were conducted using three differential drive robots with custom sensor suites based on UltraWide Band tracking technology [16]. The robots were positioned in the desired cluster configuration and the gains in the closed loop controller were set to zero to prevent the robots from moving. This way, the controller would not affect the test by automatically adjusting for measurement offsets. Robot position measurements were translated into cluster space parameter values and recorded for a period of time of three minutes at a rate of 5Hz. The standard deviation of the set of cluster space measurements

1915

were extracted for study. Bias was assumed to be corrected by appropriate calibration. Figures 8 to 11 show the resulting errors in the cluster parameters produced by the variation of cluster parameters p and β for different cluster poses. Both theoretical results obtained by using Equation 25 and values measured during tests are shown and a strong agreement can be readily seen indicating the validity of the approximation. In Figures 8 and 9 the error in parameter β increases towards infinity as parameter p goes to zero. In Figures 10 and 11 the error in parameter θc increases towards infinity as parameter β gets closer to π. D. Condition Number as a Metric for Cluster Uncertainty As the Jacobian matrix gets closer to becoming singular, some of the errors in the cluster space parameters increase exponentially. A measure of how close the matrix is to becoming singular is its condition number. Tracking the condition number of the Jacobian matrix can be used to determine the regions of the cluster space where errors are bounded to or exceed acceptable limits. Figures 12 and 13 show the increase of the Jacobian condition number as the cluster gets near a singular configuration. The derivative of the condition number is also shown. The condition number in Figure 12 increases exponentially when p approaches zero, but it also slowly increases for large values of p, indicating a singularity when p tends to infinity. From a physical point of view, this last case can be interpreted as a cluster rotation translating into infinite robot velocities. In this case, position errors are still small and the singularities can be thought to be occurring on the actuator side and not on the sensor side. Practically, this sets a maximum value on p and q given the maximum translational velocity of the robots and the maximum desired cluster rotation. In Figure 13 the condition number increases exponentially as β approaches π.

Fig. 12.

Variation of β Parameter Error and Condition Number

The dependency of the parameter errors on the configuration of the cluster could be thought as a multidimensional map, where the axes are all the cluster parameters and hyper-surfaces indicate errors for each cluster parameter. Figures 8 to 11 are projections of such hyper-surfaces on one single parameter. The inability to visualize variations on

Fig. 13.

Variation of θc Parameter Error and Condition Number

any dimension can be overcome by considering only the Jacobian condition number. This scalar value will conveniently reflect, in a one-dimensional space, singular configurations approached along any of the cluster space dimensions. V. F UTURE W ORKS

AND

C ONCLUSIONS

A. Future Works Ongoing works include the study of singular regions in the cluster space for alternative cluster definitions under the assumption that the location of singularities depend on the chosen cluster geometry. Real-time switching between different cluster definitions using the Jacobian condition number as a switch may be utilized as a method for avoiding singular poses. B. Conclusions The cluster space state representation of mobile multirobot systems was conceptually presented for a three-robot system as a means of specifying and controlling the desired mobility characteristics of mobile multi-robot systems. Formal kinematic equations relating cluster space state variables with those required for system actuation were developed for a three-robot mobile system and a cluster-level control architecture was presented. Singular poses where robot space errors are translated into large cluster space errors can be predicted by analysis based on the cluster Jacobian matrix. The magnitudes of such resulting errors were both analytically approximated and measured, verifying a strong agreement between the two methods. The Jacobian matrix condition number can be used as a measure of the proximity to a mathematically singular cluster configuration. Tracking the condition number and setting allowed boundaries can be used as a means to keep the robots in a stable formation with acceptable errors. VI. ACKNOWLEDGMENTS The authors gratefully acknowledge the contributions and comments of Kashyap Merchant and Mike Rasay.

1916

R EFERENCES [1] D. Siljak, Decentralized Control of Complex Systems, Academic 1991. [2] M. Ikeda, Decentralized control of large-scale systems, H. Nijmeijer and J. Schumacher, Eds., Springer-Verlag, Berline, 1989, pp. 219-242. [3] T. Yang, Networked control systems: a historical review and current research topics, Measurement and Control, v 38, Feb., 2005, p 12-16. [4] J. Feddema, C. Lewis, and P. Klarer, Control of multiple robotic sentry vehicles, Proceedings of SPIE - The International Society for Optical Engineering, v 3693, 1999, p 212-223 [5] R. Carpenter, Decentralized control of satellite formations, International Journal of Robust and Nonlinear Control, v 12, n 2-3, February/March, 2002, p 141-161. [6] S. Stankovic, M. Stanojevic, and D. Siljak. Decentralized overlapping control of a platoon of vehicles. IEEE Transactions on Control Systems Technology, v 8, n 5, Sep, 2000, p 816-831. [7] C. Kitts, Cluster Space Specification and Control of Mobile MultiRobot systems: Part 1 Conceptual Framework, Submitted to IEEE / ASME Transactions on Mechatronics. [8] R. Ishizu, The Design, Simulation and Implementation of Multi-Robot Collaborative Control from Cluster Perspective. Advisor: C. Kitts, Santa Clara Univ. Master of Science in Elec. Eng. Thesis, Dec 2005. [9] P. Connolley, Design and Implementation of a Cluster Space Trajectory Controller for Multiple Holonomic Robots. Advisor: C. Kitts, Santa Clara Univ. Master of Science in Mech. Eng. Thesis, June 2006. [10] T. To, Automated Cluster Space Trajectory Control of Two NonHolonomic Robots. Advisor: C. Kitts, Santa Clara Univ. Master of Science in Computer Eng. Thesis, June 2006. [11] M. Kalkbrenner, Design and Implementation of a Cluster Space Human Interface Controller,. . . Advisor: C. Kitts. Santa Clara Univ. Master of Science in Mech. Eng. Thesis, June 2006. [12] B. Tully, Cluster Space Piloting of a Non-holonomic Multi-Robot System. Advisor: C. Kitts. Santa Clara Univ. Master of Science in Computer Eng. Thesis, June 2006. [13] P. Chindaphorn, Cluster Space Obstacle Avoidance for Two NonHolonomic Robots. Advisor: C. Kitts. Santa Clara University Master of Science in Computer Engineering Thesis, June 2006. [14] K. Stanhouse, Cluster Space Obstacle Avoidance for Mobile MultiRobot Systems. Advisor: C. Kitts. Santa Clara University Master of Science in Electrical Engineering Thesis, June 2006. [15] C. Kitts, K. Stanhouse, and P. Chindaphorn, Cluster Space Collision Avoidance for Mobile Multi-Robot Systems, in draft, available at http://rsl.engr.scu.edu/publications.html. [16] I. Mas, O. Petrovic and C. Kitts, Cluster Space Specification and Control of a 3-Robot Mobile System, 2008 IEEE International Conference on Robotics and Automation, May, 2008, pp.3763-3768. [17] E. Girod, Cluster Control of a 4-robot System. Advisor: C. Kitts, Santa Clara Univ. Master of Science in Mech. Eng. Thesis, June 2008. [18] C. Gosselin and J. Angeles, Singularity Analysis of Closed-Loop Kinematic Chains, IEEE Transactions on Robotics and Automation, Vol. 6 No. 3, June, 1990.

1917