Cluster Space Specification and Control of Mobile Multi-Robot Systems
Cluster Space Specification and Control of Mobile Multi-Robot Systems
Manuscript received August 28, 2008. This work was supported in part by
II. THE CLUSTER SPACE FRAMEWORK
the National Science Foundation under Grants EIA0079815, E1A0082041, The motivation of this research is to promote the simple
and CNS0619940, by NASA Ames Research Center under Grant
specification and monitoring of the motion of a mobile multi-
NNA04CK64A, and by Santa Clara University under Grant TSC131; any
opinions, findings, and conclusions or recommendations expressed in this robot system. Central to our strategy are the concepts of
material are those of the author and do not necessarily reflect the views of the considering the n-robot system as a single entity, a cluster,
National Science Foundation, NASA Ames Research Center, or Santa Clara and of specifying motions with respect to cluster attributes,
University.
C. A. Kitts is with the Robotic Systems Laboratory, Santa Clara University, such as position, orientation, and geometry. Our approach is
Santa Clara CA 95053 USA. Phone: 408.554.4382; fax: 408.554.5474; e-mail: to use these attributes to guide the selection of a set of
[email protected].
2
robot-specific state variables, actuator state variables, etc. the translation of the origin of frame {i} with respect to {G}.
through a formal set of kinematic transforms. A supervisory
operator or realtime pilot specifies and monitors system
motion, and centralized control computations are executed
with respect to the cluster space variables. Kinematic
transforms allow compensation commands to be derived for
each individual robot (and ultimately for each actuator on
each robot), and they also allow data from a variety of sensor
packages to be converted to cluster space state estimates. Our
current work focuses on systems of robots in which each robot
is capable of closed-loop velocity control, a level of
functionality typically built into a variety of commercially
available robotic platforms.
As an example of this, consider a group of two robots that
may be driven in a plane. The cluster space view of this
simple multi-robot system could be represented as a line Fig. 1 – Robot Pose Using Conventional vs. Cluster Space
Representations. A conventional description of a cluster of robots provides
segment at a certain location, oriented in a specific direction,
individual robot frame descriptions with respect to a global frame, typically in
and with a particular size. A pilot could “drive” the cluster the form of a homogeneous transform, T. The cluster space description
along an arbitrary path while varying the orientation and size establishes a cluster reference frame; references to individual robots in the
of the line segment. Similarly, a three-robot planar system cluster are made with respect to this cluster frame.
could be represented as a triangle at a certain location,
oriented in a certain direction, and with a specific shape. The In contrast, consideration of the cluster space representation
pilot could “drive” this cluster along an arbitrary path while starts with the definition of a cluster frame, {C}, with a pose
varying the shape and size of the triangle. The triangle could denoted by GCT . The pose of each robot is expressed relative
be “flattened” into a straight line while driving through a to the cluster frame: C1T , C2T ,....., CnT . , such that for robot i,
narrow passage. Overall, the cluster space approach allows
the pilot to specify and monitor motions from the cluster space G
T = GCT * CiT
i
(2)
perspective, with automated kinematic transformations
converting this point of view to and from robot-specific drive
commands and sensor data. With this formulation, the n-robot system’s (nm) DOF’s are
The first step in the development of the cluster space now represented by [(n+1)m] cluster space variables in (n+1)
control architecture is the selection of an appropriate set of homogeneous transforms with m cluster space constraints.
cluster space state variables. To do this, we introduce a We note that the positioning of the {C} frame with respect
cluster reference frame and select a set of state variables that to the n robots is often critical in achieving a cluster space
capture key pose and geometry elements of the cluster. framework that benefits the operator/pilot. In practice, {C} is
often positioned and oriented in a manner with geometric
A. Introduction of a Cluster Reference Frame significance, such as at the cluster’s centroid and oriented
Consider the simplified, general case of an n-robot system toward the “lead” vehicle or alternatively, coincident with a
where each robot has the same m degrees of freedom (DOF) lead vehicle’s body frame. The selected placement policy
and an attached body frame, as depicted in Fig. 1. Let m=p+r dictates the nature of the m cluster space constraints that are
where p is the number of translational DOFs and r is the present among the [(n+1)m] cluster space variables.
number of rotational DOFs for each robot.
B. Selection of Cluster Space State Variables
Typical robot-oriented representations of pose use (nm)
variables to represent the position and orientation of each of We select as our state variables a set of position variables
the robot body frames, {1}, {2}, …, {n}, with respect to a (and their derivatives) that capture the cluster’s pose and
global frame {G}. These may be formalized as n robot- geometry. These variables, c1 , c2 ,", cmn , are generally
specific homogeneous transforms, G1T , G2T ,....., GnT , where for related to (and in many cases are equivalent to) the cluster-
robot i: oriented pose variables used in GCT and C1T , C2T ,....., CnT . For
the general case of n 6-DOF robots, where the pose variables
⎛ Gi R G
Piorg ⎞ of {C} with respect to {G} are (xc, yc, zc, αc, βc, γc) and where
G
T = ⎜ ⎟ (1)
i ⎜ [0 0 0] ⎟ the pose variables for robot i with respect to {C} are (xi, yi, zi,
⎝ 1 ⎠
αi, βi, γi) for i=1,2,...,n:
3
assumption that all robots have identical DOFs. Cluster within each robot), we develop formal kinematic relationships
orientation variables specify the orientation of the cluster relating the cluster space variables and robot space variables.
frame with respect to the global frame as denoted by the A. Position Kinematics
G
fundamental rotations represented by R ; given the rigid To do this, we define (mn) x 1 robot and cluster pose
C
G G
body metaphor, this requires o=3 variables for systems where vectors, G R and C , respectively. These are related through
n≥p=3 or o=p-1 variables for other cases, where o is the position kinematic relationships:
number of cluster orientation variables. The use of cluster
position and orientation variables captures the fundamental ⎛ c1 ⎞ ⎛ g1 (r1 , r2 ,", rmn ) ⎞
value of referring directly to cluster pose while specifying the ⎜ ⎟ ⎜ ⎟
G ⎜ c2 ⎟ G ⎜ g 2 (r1 , r2 , ", rmn ) ⎟ (6)
desired motion of the aggregate multi-robot system. C = ⎜ ⎟ = KIN ( R) = ⎜
G
⎟
# #
Relative robot-to-cluster orientation variables express the ⎜ ⎟ ⎜ ⎟
⎜c ⎟ ⎜ g (r , r ,", r ) ⎟
relative orientation of each individual robot with respect to the ⎝ mn ⎠ ⎝ mn 1 2 mn ⎠
s = (nm) − p − o − (nr ) = p(n − 1) − o (4) where the variables ( xi , yi ,θ i ) specify the pose for rover i with
respect to the global frame, {G}, and:
⎧⎪ p (n − 1) − 3 for n ≥ p = 3⎫⎪ G
s=⎨ ⎬ (5)
C = ( xc , y c , θ c , θ r 1 , θ r 2 , d ) T (9)
⎪⎩ p (n − 2) + 1 otherwise ⎪⎭
4
(b) Time history of cluster heading given a desired value of θC=0° at t=10 sec.
(c) Time history of cluster size given a desired value of d=10 m at t=10 sec.
IX. RELATED WORK network of robotic sentry vehicles, which has been
Noteworthy comparisons and contrasts can be made by successfully demonstrated in applications ranging from
relating the work presented in this article to control system perimeter security to minefield maintenance [11].
approaches developed for both the formation control of Compared to these methods, the most distinctive feature of
mobile robots as well as the Cartesian control of robotic the cluster space approach is the abstracted level at which
manipulators. cluster pose and motions are both specified and controlled.
The control system designer can select a control policy
A. Formation Control of Multiple Robots specific to the motion quantities of interest rather than seeking
Control of non-holonomic vehicles is a well-studied topic in an applicable configuration of virtual body reference points or
the field of robotics. Work on stable and adaptive tracking for tuning the strengths of competing potential or behavioral
such vehicles have addressed both kinematic and dynamic fields. In addition, because cluster motion is specified as an
vehicle controllers and have developed the conditions for aggregate body, there is no need for explicit leaders, real or
stability [45], [46]. Within a single vehicle, compelling work virtual. Furthermore, in contrast to many “virtual rigid body”
has also been done on the coordinated control of approaches, the cluster space represents all pose degrees of
independently steered wheels that have strict kinematically- freedom, allowing the cluster to be fully articulated if this is
derived pose requirements in order to effectively implement demanded by the application.
vehicle-level maneuvers [47]. In contrast, the cluster space approach is centralized,
For multi-robot systems, significant previous work in requiring global state information in order to compute
cooperative and formation-keeping control has been compensation commands. The alternative approaches are
developed, drawing on work in control theory, robotics and decentralized, relying on local information. The result is the
biology [48] and applicable for robotic applications potential for better performance albeit at the cost of
throughout land, sea, air, and space. Notable work in this area significantly higher demands on computation and
includes the use of leader-follower techniques, in which communication resources. Enhanced performance for some
follower robots control their position relative to a designated applications, such as those requiring precise control of cluster
leader [49], [50]. A variant of this is leader-follower chains, variables such as inter-robot spacing, is also possible given
in which follower robots control their position relative to one that these states are directly controlled in our framework.
or more local leaders which, in turn, are following other local As discussed in Section VIII.C, these demands make the
leaders in a network that ultimately are led by a designated cluster space approach intractable for suitably large clusters
leader. For example, a follower robot might position itself and impractical for clusters operating with limited or
with respect to the local leader by sensing and controlling its periodically unavailable communication channels.
relative distance and bearing to that leader, or by maintaining Accordingly, the current focus for our cluster space work is
its relative distance between two local leaders [51]. for relatively small groups of mobile robots that operate
Several approaches employ artificial fields as a construct to within a limited workspace and with ample communication
establish formation-keeping forces for individual robots bandwidth such that off-board computational support is
within a formation. For example, potential fields may be used available as necessary; in addition, applications of interest are
to implement repulsive forces among neighboring robots and those in which reliable high bandwidth communications are
between robots and objects in the field in order to required for the task (e.g., realtime distributed sensor fusion)
symmetrically surround an object to be transported [52]. or in which critical cluster space quantities can be implicitly
Potential fields and behavioral motion primitives have also sensed (e.g., multi-robot object transport [33]).
been used to compute reactive robot drive commands that
B. Cartesian Control of Manipulators
balance the need to arrive at the final destination, to maintain
relative locations within the formation, and to avoid obstacles A significant comparison can be made between the cluster
[23], [53]-[54]. As another example, the Virtual Bodies and space approach and the Cartesian (or Operational) Space
Artificial Potentials (VBAP) approach uses potential fields to control approach that has been developed for serial chain
maintain the relative distances both between neighboring manipulators [44], [58]. In both, kinematic transforms allow
robots as well as between robots and reference points, or motion commands to be specified in an alternate space that
“virtual leaders,” that define the “virtual body” of the can improve the quality of operator interaction and motion
formation [55]-[56]; this approach has been successfully characteristics. Just as it would be painstaking for an operator
demonstrated in field tests of underwater robots performing a to directly specify the joint trajectories required to move the
distributed sampling mission [12]. endpoint of a 6-DOF articulated manipulator in a straight line,
Several alternate approaches have used decentralized it would be overwhelming to have a mobile cluster pilot
control theory [18], [57] as the conceptual basis for the independently drive several robots to implement a cluster-
modeling and control of robot clusters; a benefit of this level directive with any level of complexity. A second
approach is its ability to allow detailed analysis of system comparison is that in both approaches, the kinematics relate a
stability, controllability and observability. One example of an vector of variables referenced in the global frame to a vector
implemented system using this approach is the RATLER of variables that are referenced in separate frames (e.g.,
10
separate link frames for a manipulator, and a combination of particular choice of clusters space variables for each as well as
global and cluster frames for our approach). the presentation of the resulting kinematic transformations. It
In contrast, one significant difference lies in the scope of also included the use of these transforms in the real-time
the Cartesian space and cluster space controllers. To date, the control of real robots. These experiments utilized a low-cost
cluster space approach has only been used to update velocity testbed consisting of commercially available robot chasses
set points that are implemented by each robot’s closed-loop with custom sensing suites and an off-board computer that
velocity control system. In contrast, Cartesian controllers wirelessly communicated with the robots and computed the
have been proven useful not only in computing velocity set real-time control law. Experimental results show that simple
points for joints but also for full dynamic control in which cluster space motions can be specified and monitored by a
joint forces and torques are computed and directly applied to single operator or pilot, even when the equivalent robot-
the manipulator in order to achieve the desired result. specific motions are quite complex. We believe that this will
lead to enhanced performance, cost-effective improvements in
X. ONGOING AND FUTURE WORK the operator/robot ratio for controlling multi-robot systems,
To date, we have successfully used the cluster space control and a reduced learning curve for new operators/pilots.
approach to demonstrate cluster-space-based versions of Our ongoing work includes applying cluster space control
regulated motion control [30], automated trajectory control to systems of increasing DOFs and in different domains,
[31]-[32], human-in-the-loop piloting [33]-[34], partitioned addressing implementation issues such as control near singular
model-based control [35], and potential field-based obstacle configurations and computational complexity, and integrating
avoidance [36]-[38]. This work has included experiments this motion control strategy with application-layer controllers
with 2-, 3- and 4-robot planar land rover clusters [39]-[41], that support collaborative multi-robot behavior.
with 2-boat surface vessel systems [42], and for robots that are
both holonomic and non-holonomic. Current initiatives ACKNOWLEDGMENT
include implementing cluster space control on small clusters The authors thank student researchers who assisted with
of aerostatically stable 4-DOF blimps, using redundant shape performing experiments and who have contributed to the
variables to overcome the computational challenges associated development of the cluster space approach, to include authors
with singularities, and integrating a spoken dialog interface to listed in [30]-[42]. This work has benefited greatly through
allow verbal command of the system. the feedback of numerous colleagues; the authors are
In the future, we plan to explore the scalability of this particularly indebted to Dr. John Melton and the RSL graduate
approach to systems with more robots and additional degrees research team for their invaluable comments and critical
of freedom; this will include experimental demonstrations that review regarding this work.
exploit the array of our robotic devices that operate in land,
sea, air and space [59]. To address tractability issues, we plan REFERENCES
to investigate the use of dual rate control approaches in which [1] D. Folta, L. Newman, and D. Quinn, “Design and implementation of
the inverse Jacobian is updated at a rate slower than the satellite formations and constellations,” Advances in the Astronautical
Sciences, v 100, n 1, pp. 57-70, 1998.
primary servo rate. In addition, we will examine methods of [2] R. DeFazzio, S. Owens, and S. Good, “Follow that satellite: EO-1
linking application-oriented task specifications to cluster maneuvers into close formation with landsat-7,” Advances in the
space primitives in order to support goal directed behaviors of Astronautical Sciences, v 109 , n 3, pp. 2095-2113, 2002.
the multi-robot system. Finally, to improve our ability to [3] J. Goutoule and F. de Boer, “Large interferometer antennas synthesized
by satellites in formation for earth remote sensing,” Proceedings 2000
experimentally verify and validate our work, we are International Geoscience and Remote Sensing Symposium (IGARSS), v
continuously improving the capabilities and performance of 2, pp. 869-870.
our hardware-in-the-loop testbed by adding diverse pose [4] D. Miller, A. Saenz-Otero, J. Wertz, A. Chen, G. Berkowski, C. Brodel,
S. Carlson, D. Carpenter, S. Chen, S. Cheng, D. Feller, S. Jackson, B.
sensing suites, additional wireless communication links, and Pitts, F. Perez, and J. Szuminski. “Spheres: A testbed for long duration
more powerful on-board computers. satellite formation flying in micro-gravity conditions,” Advances in the
Astronautical Sciences, v 105, n 1, pp. 167-179, 2000.
[5] B. Palmintier, C. Kitts, P. Stang, and M. Swartwout, "A distributed
XI. SUMMARY AND CONCLUSIONS control architecture for small satellite and multi-spacecraft missions,"
We have introduced the cluster space state representation as Proceedings 2002 AIAA/USU Conference on Small Satellites, Logan
Utah, Paper No. SSC02-IV-6.
a means of specifying the control of mobile multi-robot [6] T. Speer, E. Mills, and J. Tate, “Formation flight technology,” Aircr
systems. Our conceptual framework includes a methodology Eng, v 43, n 7, pp. 408, July 1971.
for selecting cluster space state variables, the use of formal [7] I. Kaminer, O. Yakimenko, V. Dobrokhodov, M. Lizarraga, and A.
kinematics relating these cluster space state variables to robot- Pascoal, “Cooperative control of small UAVs for naval applications,”
Proceedings of the 2004 IEEE Conference on Decision and Control, v 1,
specific variables, and an architecture for incorporating these pp. 626-631.
kinematics into a cluster space control system. [8] R. Becker, C. Borowski, O. Petrovic, C. Kitts, and N. Quinn, “SCU
To demonstrate this technique, we have applied it to the aerial robotics team – Experimentation with an autonomous UAV
observation platform,” Proceedings 2004 AUVSI Unmanned Systems
control of two- and three-robot clusters consisting of wheeled North America Symposium, pp. 1661-1673.
differential drive rovers operating in a plane. This included a
11
[9] C. Ortiz, K. Konolige, R. Vincent, B. Morisset, A. Agno, M. Eriksen, D. M.S. Thesis, Dept. of Electrical Engineering, Santa Clara University,
Fox, B. Limketkai, J. Ko, B. Steward, and D. Schulz, “Centibots: Very Santa Clara, CA, December 2005.
large scale distributed robotic teams,” Proceedings 2004 Sixteenth [31] P. Connolley, “Design and Implementation of a Cluster Space Trajectory
Innovative Applications of Artificial Intelligence Conference (IAAI- Controller for Multiple Holonomic Robots,” C. Kitts, Adv., M.S. Thesis,
2004), pp. 1022-1023. Dept. of Mechanical Engineering, Santa Clara University, Santa Clara,
[10] R. Grabowski, L. Navarro, C. Paredis, and P. Khosla, “Heterogeneous CA, June 2006.
teams of modular robots for mapping and exploration,” Autonomous [32] T. To, “Automated Cluster Space Trajectory Control of Two Non-
Robots - Special Issue on Heterogeneous Multirobot Systems, v 8, n 3, Holonomic Robots,” C. Kitts, Adv., M.S. Thesis, Dept. of Computer
pp. 293-308, June 2000. Engineering, Santa Clara University, Santa Clara, CA, June 2006.
[11] J. Feddema, C. Lewis, and P. Klarer, “Control of multiple robotic sentry [33] M. Kalkbrenner, “Design and Implementation of a Cluster Space Human
vehicles,” Proceedings of SPIE - The International Society for Optical Interface Controller, including Applications to Multi-Robot Piloting and
Engineering, v 3693, pp. 212-223, 1999. Multi-Robot Object Manipulation,” C. Kitts, Adv., M.S. Thesis, Dept. of
[12] E. Fiorelli, N. E., Leonard, P. Bhatta, D. Paley, R. Bachmayer, and D. M. Mechanical Engineering, Santa Clara University, Santa Clara, CA, June
Fratantoni, “Multi-AUV control and adaptive sampling in Monterey 2006.
Bay,” IEEE Journal of Oceanic Engineering, v 31, n 4, pp. 935-948, [34] B. Tully, “Cluster Space Piloting of a Nonholonomic Multi-Robot
October 2006. System,” C. Kitts, Adv., M.S. Thesis, Dept. of Computer Engineering,
[13] Y. Tan and B. Bishop, “Evaluation of robot swarm control methods for Santa Clara University, Santa Clara, CA, June 2006.
underwater mine countermeasures,” Proceedings of the 2004 Annual [35] R. Lee, “Model-Based Cluster-Space Control of Multiple Robot
Southeastern Symposium on System Theory, v 36, pp. 294-298 Systems,” C. Kitts, Adv., M.S. Thesis, Dept. of Mechanical Engineering,
[14] E. Yang, and D. Gu, “Nonlinear formation-keeping and mooring control Santa Clara University, Santa Clara, CA, June 2007.
of multiple autonomous underwater vehicles,” IEEE/ASME Transactions [36] P. Chindaphorn, “Cluster Space Obstacle Avoidance for Two Non-
on Mechatronics, v 12, n 2, pp. 164-178., April 2007. Holonomic Robots,” C. Kitts, Adv., M.S. Thesis, Dept. of Computer
[15] H. Geismar, C. Sriskandarajah, and N. Ramanan, “Increasing throughput Engineering, Santa Clara University, Santa Clara, CA, June 2006.
for robotic cells with parallel machines and multiple robots,” IEEE [37] K. Stanhouse, “Cluster Space Obstacle Avoidance for Mobile Multi-
Transactions on Automation Science and Engineering, v 1, n 1, pp. 84- Robot Systems,” C. Kitts, Adv., M.S. Thesis, Dept. of Electrical
89, July 2004. Engineering, Santa Clara University, Santa Clara, CA, December 2006.
[16] O. Khatib, K. Yokoi, K. Chang, D. Ruspini, R. Holmberg, and A. Casal, [38] C. Kitts, K. Stanhouse, and P. Chindaphorn, “Cluster space collision
"Coordination and decentralized cooperation of multiple mobile avoidance for mobile multi-robot systems,” In draft for submission to
manipulators," Journal of Robotic System, v 13, n 11, pp. 755-764, International Journal of Robotics Research.
November 1996. [39] I. Mas, O. Petrovic, and C. Kitts, “Cluster space specification and
[17] D. Sun, and J.K. Mills, “Manipulating rigid payloads with multiple control of a 3-robot mobile system,” Proceedings of the 2008 IEEE
robots using compliant grippers,” IEEE/ASME Transactions on International Conference on Robotics and Automation, Pasadena, CA,
Mechatronics, v 7, n 1, pp. 23-34, March 2002. pp. 3763-3768.
[18] D. Siljak, Decentralized Control of Complex Systems, New York: [40] I. Mas, J. Acain, O. Petrovic, and C. Kitts, “Error characterization in the
Academic, 1991. vicinity of singularities in multi-robot cluster space control,” 2008 IEEE
[19] M. Ikeda, “Decentralized control of large-scale systems,” in Three International Conference on Robotics and Biomimetics, Bangkok,
Decades of Mathematical Systems Theory, H. Nijmeijer and J. Thailand, in press.
Schumacher, Eds. Berlin: Springer-Verlag, pp. 219-242, 1989. [41] E. Girod, “Design and Implementation of Four Robot Cluster Space
[20] T. Yang, H. Yu, M. Fei, and L. Li, “Networked control systems: a Control,” C. Kitts, Adv., M.S. Thesis, Dept. of Mechanical Engineering,
historical review and current research topics,” Measurement and Santa Clara University, Santa Clara, CA, June 2008.
Control, v 38, n 1, pp. 12-16, February 2005. [42] P. Mahacek, I. Mas, O. Petrovic, J. Acain, and C. Kitts, “Cluster space
[21] R. Carpenter, “Decentralized control of satellite formations,” control of a 2-robot system as applied to autonomous surface vessels,”
International Journal of Robust and Nonlinear Control, v 12, n 2-3, pp. Accepted for publication in Proceedings of the 2008 IEEE Oceans
141-161, February/March 2002. Conference, Quebec City, Canada.
[22] S. Stankovic, M. Stanojevic, and D. Siljak, “Decentralized overlapping [43] M. Neumann and C. Kitts. “Control of Two Holonomic Robots Using a
control of a platoon of vehicles,” IEEE Transactions on Control Systems Camera-Referenced Specification of Motion.” Collection of Technical
Technology, v 8, n 5, pp. 816-831, September 2000. Papers – AIAA 3rd “Unmanned-Unlimited” Technical Conference,
[23] T. Balch and R. Arkin, “Behavior-based formation control for multirobot Workshop, and Exhibit, Chicago, IL, September 20-23, 2004.
teams,” IEEE Transactions on Robotics and Automation, v 14, n 6, pp. [44] J. Craig, Introduction to Robotics: Mechanics and Control, 3rd Edition,
926-939, December 1998. Upper Saddle River: Prentice-Hall, 2004.
[24] E. Flinn, “Testing for the ‘boids’,” Aerospace America, v 43, n 6, pp. 28- [45] Y. Kanayama, “A stable tracking control method for a non-holonomic
29, June, 2005. mobile robot,” Proceedings 1991 IEEE/RSJ International Workshop on
[25] H. Yamaguchi and T. Arai, “Distributed and autonomous control method Intelligent Robots and Systems, pp. 1236-1241.
for generating shape of multiple mobile robot group,” Proceedings 1994 [46] T. Fukao, H. Nakagawa, and N. Adachi, “Adaptive tracking control of a
EEE/RSJ International Conference on Intelligent Robots and Systems, nonholonomic mobile robot,” IEEE Transactions on Robotics and
pp. 800-807. Automation, v 16, n 5, pp. 609-615, October 2000.
[26] K. Tan, and M. Lewis, “Virtual Structures for High-Precision [47] Y. Li, L. Yang, and G. Yang, “Network-based coordinated motion
Cooperative Mobile Robotic Control,” Proceedings of the 1996 control of large-scale transportation vehicles,” IEEE/ASME Transactions
IEEE/RSJ International Conference on Intelligent Robots and Systems, on Mechatronics, v 12, n 2, pp. 208-215, April 2007.
pp. 132-139. [48] V. Kumar, N. E. Leonard, and A. S. Morse, Eds., Cooperative Control:
[27] M. Hashimoto, F. Oba and T. Eguchi, “Dynamic control approach for A Post-Workshop Volume, 2003 Block Island Workshop on Cooperative
motion coordination of multiple wheeled mobile robots transporting a Control. New York: Springer-Verlag, 2005.
single object,” Proceedings 1995 IEEE/RSJ International Conference on [49] Z. Wang and D. Gu, “A local sensor based leader-follower flocking
Intelligent Robots and Systems, pp. 1944-1951. system,” Proceedings of the 2008 IEEE International Conference on
[28] D. Rus, B. Donald and J. Jennings, “Moving furniture with teams of Robotics and Automation, Pasadena, CA, pp. 3790-3795.
autonomous robots,” Proceedings 1995 IEEE/RSJ International [50] Y. Hur, R. Fierro, and I. Lee, “Modeling Distributed Autonomous
Conference on Intelligent Robots and Systems, pp. 235-248. Robots using CHARON: Formation Control Case Study,” Proceedings
[29] C.P. Tang, R.M. Bhatt, M.Abou-Samah, and V. Krovi, “Screw-theoretic 2003 IEEE International Symposium on Object-Oriented Real-Time
analysis framework for cooperative payload transport by mobile Distributed Computing, Hokkaido, Japan, pp. 93-96.
manipulator collectives,” IEEE/ASME Transactions on Mechatronics, v [51] A. Das, et al., “A Vision-Based Formation Control Framework,” IEEE
11, n 2, pp. 169-178, April 2006. Transactions on Robotics and Automation, v 18, n 5, pp. 813-825,
[30] R. Ishizu, “The Design, Simulation and Implementation of Multi-Robot October 2002.
Collaborative Control from the Cluster Perspective,” C. Kitts, Adv.,
12
G G
[52] P. Song and V. Kumar, “A Potential field Based Approach to Multi- where C = [xc yc d θ c φ1 φ2 ] , R = [x1 x2
T
y1 y 2 θ1 θ 2 ]
T
,
Robot Manipulation,” Proceedings 2002 IEEE International Conference
A = 2 ( x1 − x 2 ) 2 + ( y1 − y 2 ) 2 , B = ( x1 − x 2 ) + ( y1 − y 2 ) , and
2 2
on Robotics and Automation, v 2, pp. 1217-1222.
[53] R. Dougherty, V. Ochoa, Z. Randles, and C. Kitts, “A behavioral control
approach to formation-keeping through an obstacle field,” Proceedings
2004 IEEE Aerospace Conference, v 1, pp. 168-175. ⎡1 0 sin(θ c ) d cos(θ c ) 0 0⎤
[54] F. E. Schneider and D. Wildermuth, “A potential field based approach ⎢1 0 − sin(θ c ) − d cos(θ c ) 0 0⎥⎥
to multi robot formation navigation,” Proceedings 2003 IEEE ⎢
International Conference on Robotics, Intelligent systems and Signal G ⎢0 1 cos(θ c ) − d sin(θ c ) 0 0⎥ G
Processing, pp. 680-686. R=⎢ ⎥C
[55] N. E. Leonard and E. Fiorelli, “Virtual leaders, artificial potentials and
⎢0 1 − cos(θ c ) d sin(θ c ) 0 0⎥
coordinated control of groups,” Proc. 2001 IEEE Conf. Decision and
Control, pp. 2968–2973. ⎢0 0 0 1 1 0⎥
[56] P. Ögren, E. Fiorelli and N. E. Leonard, “Formations with a mission: ⎢ ⎥
Stable coordination of vehicle group maneuvers,” Proc of the 2002 ⎢⎣0 0 0 1 0 1⎥⎦
Symposium of Mathematical Theory of Networks and Systems, pp. 1-15.
[57] M.E. Sezer and D.D. Siljak, “Robust stability of discrete systems,” Int. J. Given the selection of cluster space state variables
Control, v. 48, n. 5, pp. 2055-2063, 1988. presented in Section IV.B, a simplified approximation of the
[58] O. Khatib, "The operational space formulation in the analysis, design,
and control of manipulators," Proc. Of the 1986 Int. Symposium on forward position kinematic relationships for the three-robot
Robotics Research, pp. 261-270, 1986. system are [39]:
[59] C. Kitts, “Surf, turf, and above the Earth,” IEEE Robotics and
Automation Magazine, v 10, n 3, pp. 30-36, September 2003.
x1 + x2 + x3
[60] MATLAB Function Reference, The Mathworks, Natick, MA, 2008. xc =
[61] I. Mas, et al., “Entrapment/Escorting and Patrolling Missions in Multi- 3
Robot Cluster Space Control,” Submitted to IEEE/RSJ International y1 + y 2 + y 3
Conference on Intelligent Robots and Systems, St. Louis MO, October yc =
2009. 3
θ c = ATAN 2({2 / 3( x1 ) − 1 / 3( x 2 + x3 )}, {2 / 3( y1 ) − 1 / 3( y 2 + y 3 )})
APPENDIX φ1 = θ 1 + θ c
Given the selection of cluster space state variables φ2 = θ 2 + θ c
presented in Section IV.A, the forward position kinematic φ3 = θ 3 + θ c
relationships for the two-robot system are [30]:
p= (x1 − x2 )2 + ( y1 − y 2 )2
xc =
x1 + x 2
yc =
y1 + y 2 q= (x3 − x1 )2 + ( y1 − y 3 )2
2 2 ⎛ p 2 + q 2 − ( x3 − x 2 ) 2 − ( y 3 − y 2 ) 2 ⎞
β = cos −1 ⎜⎜ ⎟
d=
1
( x1 − x 2 ) 2 + ( y1 − y 2 ) 2 θ c = ATAN 2(x1 − x 2 , y1 − y 2 ) ⎟
2 ⎝ 2 pq ⎠
φ1 = θ1 − ATAN 2(x1 − x2 , y1 − y 2 ) φ 2 = θ 2 − ATAN 2( x1 − x 2 , y1 − y 2 )
The resulting inverse position kinematic relationships for the
where ATAN2 is a two-argument computational function that two-robot system are:
calculates a four-quadrant arc tangent with a range of [π, -π]
[60]. The inverse position kinematic relationships are: x1 = x c + (1 / 3)r sin θ c
y1 = y c + (1 / 3)r cos θ c
x1 = xc + d sin(θ c ) y1 = y c + d cos(θ c ) θ 1 = φ1 − θ c
x 2 = xc − d sin(θ c ) y 2 = y c − d cos(θ c ) x 2 = x c + (1 / 3)r sin θ c − p sin( β / 2 + θ c )
θ1 = θ c + φ1 θ 2 = θ c + φ2 y 2 = y c + (1 / 3)r cos θ c − p cos( β / 2 + θ c )
θ 2 = φ2 − θ c
By differentiating the position kinematic expressions, the x3 = x c + (1 / 3)r sin θ c + q sin( β / 2 − θ c )
velocity kinematics may be expressed as: y 3 = y c + (1 / 3)r cos θ c − q sin( β / 2 − θ c )
θ 3 = φ3 − θ c
⎡ 1 1 ⎤
⎢ 0 0 0 0⎥
2 2
⎢ ⎥
⎢ 0 0
1 1
0 0⎥ where r = (q + p cos β )2 + ( p sin β )2 .
⎢ 2 2 ⎥
⎢ x1 − x2 − x1 + x2 y1 − y 2 − y1 + y 2
0 0⎥ G
G ⎢ ⎥ Due to limited space, the Jacobian and inverse Jacobian for
C=⎢ A A A A
y1 − y 2 − y1 + y 2 − x1 + x2 x1 − x2 ⎥R
⎢ 0 0⎥ the three-robot system are not included here. The three-robot
⎢ B B B B ⎥ kinematics provide adequate performance when p ≈ q. An
⎢ − y1 + y 2 y1 − y 2 x1 − x2 − x1 + x2
1 0⎥
⎢ B B B B ⎥ exact kinematic form is presented in [61].
⎢ − y1 + y 2 y1 − y 2 x1 − x2 − x1 + x2 ⎥
⎢ 0 1⎥
⎣ B B B B ⎦