Actuator Networks: Inducing Potential Fields to ... - UC Berkeley IEOR

0 downloads 0 Views 667KB Size Report
Jeremy Schiff§, Danny Bazo§, Vincent Duindam§, Dezhen Song‡, Ken Goldberg§†. § Dept. of ..... hull of three actuators at which it is possible to place a goal.
Actuator Networks: Inducing Potential Fields to Guide a Moving Element to a Desired Position Using Push-Cage-Squeeze Cycles∗ Jeremy Schiff§ , Danny Bazo§ , Vincent Duindam§ , Dezhen Song‡ , Ken Goldberg§† §

Dept. of EECS at Berkeley, ‡ Dept. of CS at Texas A&M, † Dept. of IEOR at Berkeley {jschiff@eecs.|dbazo@|vincentd@eecs.|goldberg@}berkeley.edu, [email protected] University of California, Berkeley Berkeley CA, 94720–1777, USA

Abstract— Building on recent work in sensor networks and distributed manipulation, we propose Actuator Networks– networks of devices capable of exerting influence on their environment in addition to monitoring it. We show how an Actuator Network can be used to guide a moving element to a desired location in space through the creation of potential gradients, and introduce an algorithm capable of calculating the required actuation. In this algorithm, motion is achieved with three steps: “Push, Cage, and Squeeze”, whose sequential application we term a PCS cycle. Guiding a moving element via PCS cycles is robust to modeled trajectory error and provides a framework into which path planning and obstacle avoidance can be integrated. We explore the PCS cycle as an example of one of the types of distributed actuation possible with an Actuator Network. We introduce models, notation, terms and properties related to the nature of Actuator Networks, describe the distributed guidance algorithm, and discuss simulation results showing how an Actuator Network with eight nodes can guide a moving element to a desired location while avoiding obstacles.

Fig. 1. A triangulated Actuator Network with actuators shown as squares, the moving element’s locations over time depicted with circles, and an obstacle represented by the black rectangle. The hashed regions depict increasing uncertainty in the moving element’s trajectory over time due to a single actuator performing a Push step. The solid triangular regions show the reduction in trajectory uncertainty due to Cage and Squeeze steps. This figure illustrates how the PCS algorithm is robust to trajectory uncertainty and capable of being integrated with path planning for obstacle avoidance.

ICRA keywords: Sensor Networks, Actuator Networks, Potential Fields, Motion Planning I. I NTRODUCTION Consider the challenges of coaxing wildlife to a known sensor location for closer scrutiny, guiding a firefighter out of a burning building, or capturing an intruder in a prohibited area. We address problems involving this type of guided movement using a generalization of a sensor network that we call an Actuator Network. Sensor networks are comprised of a set of small embedded devices, each equipped with one or more sensors, computation to process the sensed data, and a mechanism for transmitting information between devices [1], [2]. Sensor networks range in complexity, from simple arrays of binary infrared sensors [3] to intricate multi-sensor and camera networks. Current sensor network deployments have primarily been concerned with passive sensing with a static network, while some recent applications have investigated how mobile nodes can be used in a sensor network to allow for more detailed observations [4], [5], [6].

In an Actuator Network, actuators generate physical effects within their environment. The field generated by the actuators influences the motion of a moving element within the Actuator Network. In our model, potential fields are created by controlling the amplitude, frequency, and type of actuation emitted by the actuators. Types of actuation can include light, sound, magnetism, chemical vapors, or other modalities. To explore the concept of an Actuator Network, we present an algorithm based upon this model which consists of three steps: Push, Cage, and Squeeze (PCS). When sequentially applied, these steps form what we term a PCS cycle. We show how repeated PCS cycles can be utilized to guide moving elements in a manner which is robust to modeled trajectory error and extendable to path planning and obstacle avoidance. We discuss results from a simulated Actuator Network of eight nodes wherein a moving element is successfully guided to a goal location around an obstacle.

*This research is supported in part by NSF CISE Award Collaborative Observatories for Natural Environments (Goldberg 0535218, Song 0534848), Netherlands Organization for Scientific Research (NWO), and by NSF Science and Technology Center: TRUST, Team for Research in Ubiquitous Secure Technologies, with additional support from Cisco, HP, IBM, Intel, Microsoft, Symmantec, Telecom Italia and United Technologies.

II. R ELATED W ORK There is a long-standing history of investigation into the characteristics of potential fields induced by physical phe1

nomena and how objects are affected by these phenomena. Some of the earliest work, related to the study of gravitational, electric and magnetic fields, as well as topological properties of such fields, was carried out by researchers including Newton, Gauss, Laplace, Lagrange, Faraday, and Maxwell [7], [8]. Potential functions for robotic navigation have been studied extensively as tools for determining a virtual field which a robotic element can follow to a goal while avoiding obstacles. An in-depth discussion of these methods can be found in the book edited by Choset, Lynch, Hutchingson, Kantor, Burgand, Kavraki, and Thrun [9]. Khatib proposed a model where a goal location is represented as an attractor, obstacles are represented as repulsers, and the overall field is determined by the superposition of these fields [10], [11]. While these fields are typically referred to as potential fields, they are actually treated as vector fields determining the movement vector for the robot at any location in the space. Thus, the robot performs simple gradient descent on this space, and the objective is to define attractive and repulsive fields such that the robot will always end up at a local minimum created at the goal. Whereas past research has focused on modeling a robot’s environment and guidance instructions as a potential function, our work considers a network of actuators in fixed positions. In our formulation, these actuators are the sole contributors to the potential field, rather than the environment or guidance information. Early path planning formulations encountered local minima that could trap their moving element in a non-goal location. Rimon and Koditschek addressed this problem by determining the attractive and repulsive potential functions necessary to guarantee unique minima [12]. They accomplished this by defining functions over a “sphere world” where the entire space and all obstacles were restricted to be n-dimensional spheres. They discovered a mapping from this solution to other types of worlds such as “starshaped worlds”, allowing for a general solution to this problem. Connolly et al. use harmonic functions [13] for their repulsive and attractive functions to avoid local minima. In our work, we also address local minimum problems. Li et al. examined how to directly apply potential functions in a distributed fashion over sensor networks [14], assuming there were certain dangerous areas that must be avoided, and determining a node-to-node path that would maximize distance (in network hops) from the dangerous region. However, their insight regarded how to formulate this algorithm in a completely distributed way, rather than implementing this physically with some sort of actuation. Other researchers have also explored how to use timevarying potential functions for navigation. Generally, these approaches are used to address moving obstacles and a changing environment, rather than to compensate for local minima. Newman and Hogan [15] as well as Khatib [11] describe how to modify the attractor and repulser functions to address these moving obstacles while simultaneously dealing with a moving robot. Research in distributed manipulation has examined how

to leverage many actuators to perform coordinated manipulation. For instance, B¨ohringer and Choset’s text provides an in-depth compilation of methods for distributed manipulation [16], primarily exploring the use of vibratory fields to place and orient parts. Vibrational motions have been examined which can induce sinks, sources, and flows on a surface, allowing for orientation and placement of parts carried along these surfaces. For example, Kavraki first examined how an elliptical field could be used to create two unique orientations in most parts. She later extended this work with Sudsang [17] and Lamiraux [18] to use a constant field, which has a potential field in the shape of a slanted plane; and a unit radial field, which has a potential field in the shape of a circular cone. For almost all parts, this will induce a unique orientation. Both of these formulations are abstracted from physical manipulators such as MEMS arrays or mechanical actuators which allow arbitrary fields to be created on a surface. Vose, Umbanhowar, and Lynch examined a six degree-of- freedom plate and illustrated how to determine actuation that produced many of the potential fields described theoretically in other potential gradient literature [19]. Many researchers have explored the use of distributed robots to move objects to desired locations. For instance, Yamashita et al. [20] and Pereira, Kumar, and Campos [21] examine the use of multiple robots which together move other objects in space. A similar formulation with a biological motivation is shepherding, the task of using a group of robots to herd a group of objects like sheep or cattle to a goal location. For instance, Lien et al. [22] have examined how to perform herding using multiple shepherds simultaneously to move a flock around objects to reach some goal location. This class of research operates assuming moving robots, rather than using networks of static actuators as in our work. III. P ROBLEM F ORMULATION A. Inputs We consider the plane X = R2 . We are given a set of static locations of n actuators {x1 , . . . , xn } ⊆ X. We define a moving element to be the entity we wish to control via our Actuator Network. We represent the moving element’s location at time t to be xm,t . We are given the initial moving element location x0 and the desired final location of the moving element xf , as well as the locations of polygonal obstacles. B. Assumptions Each actuator can vary its amplitude over time, where at time t, actuator i has an amplitude ai,t . We model the field’s effect as the inverse square of the distance to the actuator Ui (x) =

ai,t . |xi − x|2

(1)

The total potential field’s effect U (·) on an element at location x is determined by the superposition of the actuator 2

effects given by U (x) =

n X

Ui (x).

(2)

i

For now we assume that there is only a single moving element, which we model as a point mass. We assume that we are able, through cameras or other sensors, to determine the moving element’s position at all times. We also assume, as is the convention in the potential field literature, that our moving element is modeled as a first-order system, so that gradients of the potential field represent velocity vectors for the element at any location in the field, rather than force vectors [9]. Thus, the velocity of the moving element is represented by the direction of steepest descent: x˙ m,t = −∇U (xm,t ) + ,

Fig. 2.

A triangle with incenter shown.

element to xf once it is in the final triangle. For each Push step, a single actuator creates a radial field which repels the moving element directly away, and for Cage and Squeeze steps, three actuators induce a potential field with a single local minimum within their convex hull. The Cage step compensates for slight errors which have accumulated in the moving element’s position each time it enters a new triangle of actuators. If such a step is not performed, the moving element’s position will continue to accumulate error as it moves as shown in Figure 1.

(3)

where  represents a small error due to deviations from strictly steepest-descent movement by the moving element. This error is represented by modeling the trajectory of the moving element as a “cone”, with increasing uncertainty as to the element’s location growing with time. The PCS cycle reduces this added uncertainty at every iteration, because the moving element’s location will be precisely known after the Cage and Squeeze step. In this paper we consider only actuator amplitudes which are repulsive in effect, i.e., ai,t ∈ [0, 1]. Allowing for more sophisticated models using mixed-model systems, where ai ∈ [−1, 1], is the subject of future work.

B. Terms Given an Actuator Network composed of actuators in known locations, and the location of a point-like moving element within the Action Network: The workspace of the Actuator Network is the physical space in which it is installed, through which the moving elements can traverse. The incenter of a triangle is the center of its inscribed circle. The incenter is also determined by the intersection of the three angle bisectors of the triangle’s vertices (Figure 2). The resulting location R(U, x) for a point x and potential field U is the final location of x after following steepest descent on the potential gradient; thus, it is the local minimum of the basin in U containing x. In certain degenerate circumstances, R(U, x) may not be unique, or a moving element starting at x may never settle in a local minimum. The goal location xg of a triangle is the desired point within that triangle at which the moving element is to stop, thus it must be a local minimum within the potential field created by three actuators. A different goal location xg is defined for each triangle along the path from x0 to xf , and is the incenter of each triangle except for during the final Squeeze step, where xg = xf . The capture region for a goal location xg and a potential field U is the set of points that have xg as their resulting location. Formally,

C. Output We produce a triangulation graph of the actuator locations. We determine a path between adjacent triangles in the triangulated graph from the triangle containing the start location x0 , to the triangle containing the final goal location xf . Given this information, we also determine a sequence of amplitudes and durations necessary to produce potential fields capable of guiding the moving object between these triangles. The Push, Cage, and Squeeze (PCS) algorithm described in this paper determines the amplitudes and durations in this sequence. If such a path from x0 to xf is impossible, our algorithm will return the empty sequence. IV. A PPROACH A. Overview Using standard motion planning techniques, we triangulate the network to define cells, and then plan a path from the initial cell to the desired final cell [9]. To move the element between cells, the actuator network produces a sequence of potential fields. This sequence consists of consecutive PCS cycles which move the element to the final goal location xf . The first step in the cycle pushes the moving element towards the next cell on the path to xf using a single actuator to repel the element (the Push), and the second and third steps trap the moving element and move it to the incenter of the next triangle on the path using three actuators (the Cage and the Squeeze). An additional Squeeze step forces the moving

{x|R(U, x) = xg }.

(4)

Some examples of capture regions for various triangles and goal locations are given in Figure 3. The feasible region is the set of locations within the convex hull of three actuators at which it is possible to place a goal location. 3

Fig. 4. The moving element (circle) and actuators (squares) in a triangulated arrangement. By activating any single actuator of the triangle containing the moving element during the Push step, the moving element can be directed in any one of three directions, each one of which eventually crosses an edge of the triangle and moves into an adjacent triangle.

Fig. 3. Examples of two different triangles and three different goal locations (denoted as circles) and their capture regions (shaded areas) for both triangles. The incenter of each triangle is marked with a ’+’.

C. Triangulation of the Actuator Network Our algorithm requires that the Actuator Network be triangulated. Differing approaches will yield different possible paths from x0 to xf . For example, certain triangulations may result in xf being located within the feasible region of a triangle, while other triangulations will not. Alternately, triangulations which minimize (or maximize) the number of Push-Cage-Squeeze cycles necessary may also exist. Exploration of triangulations which specifically increase the robustness of the PCS algorithm are the subject of future work; for the time being we will rely on the standard Delaunay triangulation method.

network, creating a potential field which extends radially outwards from that actuator, repelling the moving element directly. As seen in Figure 4, the moving element can travel in any one of three directions with the appropriate Push, and will eventually cross an edge of the triangle if the actuation configuration used for the Push remains unchanged. F. Cage and Squeeze Step We can use the incenter of a triangle of actuators as a goal location to Cage a moving element within its capture region and Squeeze it to the incenter. After a moving element has been subjected to a Push, and it travels through the next triangle on the path to xf , the incenter of the next triangle can be selected as the goal location, trapping the moving element there in preparation for the next Push step. In order to use the Cage and Squeeze Step to move the element to a desired goal location, we must determine the amplitudes of the three actuators surrounding the moving element which will place a local minimum at the desired goal location. This local minimum must satisfy

D. Path Planning Freedom of choice in the methods of triangulation and path planning allow for the PCS algorithm to make use of navigational operations such as obstacle avoidance. Section V describes an Actuator Network implemented in a workspace with obstacles, where simply excluding triangles containing a part of an obstacle from consideration yields valid paths. Many such valid paths through adjacent triangles are available for guiding the moving element to xf , and the choice can be made depending on other factors particular to the situation, such as taking the path which minimizes the number of Push-Cage-Squeeze cycles required. Allowing a moving element to be pushed through many triangles before being caged is another method of guidance which can be used, depending on the accuracy with which the moving element’s location is known.

∇U (x) = 0,

(5)

so x must be a critical point. Additionally, the Hessian at x is positive-definite (since it is a local minimum). To determine these amplitudes a1 , a2 , a3 we solve for the null space at our desired goal location, enforcing Equation 5 and making this location our critical point,  " −2(xg −x1 ) −2(xg −x2 ) −2(xg −x3 ) #    a1 4 4 4 0 d1 d2 d3   a2 = −2(yg −y1 ) −2(yg −y2 ) −2(yg −y3 ) 0 d41 d42 d43 a3 (6) where di is the Euclidean distance between the ith actuator and the goal location xg = (xg , yg ). Because we restrict ourselves to only use repulsive actuators, we seek a solution such that ai ∈ [0, 1]. In addition, we verify that this choice for ai results in the Hessian being positive-definite at the goal location, ensuring that this point is a local minimum. In our current implementation, we have always found it possible to place a local minimum via this methodology at the incenter of a triangle of motes; formal proofs are the subject of future work.

E. Push Step We can drive a moving element towards a given capture region within the same triangle, or even out of the current triangle, if desired. By triangulating the locations of actuators within the workspace of the Actuator Network, a moving element may be sent from one triangle of actuators to an adjacent triangle using a Push. It is possible that given x0 and xf , as well as the locations of the actuators in the workspace, that the moving element already lies within the capture region for xf . If this is not the case, however, it will be necessary to guide the moving element towards the capture region of xf . This guidance will involve the actuation of a single actuator within the 4

Fig. 5. An example of repeated PCS cycles, followed by a final Squeeze. The squares correspond to actuators, and the circle represents the moving element. The letters P, C, and S indicate which step was performed.

G. Final Squeeze Step Once the moving element is at the incenter of a triangle which also contains xf , then selecting xf as the goal location will push the moving element from the incenter to xf . We perform the same methodology as descried in the Cage and Squeeze step, and if the final goal location is feasible, we will find the necessary ai s to move the element from the incenter of the triangle containing the final goal location to the actual final goal location xf . H. Algorithm Our algorithm works by first triangulating the locations of the actuators in the workspace, then finding a path from x0 to xf via adjacent triangles. The moving element is subjected to a repeated pattern of PCS cycles, eventually moving to the triangle containing xf via triangle incenters as depicted in Figure 5. Once the moving element is at the incenter of the triangle containing xf , it is positioned at xf with a final Squeeze step.

Fig. 6. Results from a simulation of the PCS algorithm with an obstacle (black) within the Actuator Network’s workspace. Plot 1 shows the calculated capture regions (shaded) for each triangle’s incenter along the path from x0 (top left circle) to xf (bottom right circle). Plots 2-5 show alternating Push, Cage and Squeeze steps. The entire trajectory of the moving element is shown in Plot 6.

PCS Motion Planning Algorithm 1: Triangulate the set of n actuators 2: Determine a path through adjacent triangles from x0 to xf avoiding obstacles 3: while xm,t is not at the incenter of the triangle containing xf do 4: Push the moving element into the next triangle on the path 5: if The element is within the capture region of the incenter of the next triangle then 6: Cage and Squeeze the element to the incenter 7: end if 8: end while 9: Final Squeeze the moving element to xf

locations of the moving element were all represented by an ordered pair within this grid. To simulate an implementation of the PCS algorithm within this space, we place eight actuators at known locations. When triangulated, they yield several adjacent triangles, of which one contains the x0 , and another contains xf . The moving element is placed at x0 , and the capture regions for the incenters of all triangles on the path to xf are calculated for future use during Cage and Squeeze steps. The moving element is then directed to xf using four PCS cycles, ending with a final Squeeze into xf . We show the resulting trajectory in Figure 6. Calculations of the capture regions for triangles on the path to xf occur before the moving element is introduced to the space, and are computed numerically by simulating the resulting location for each point in the grid. Thus, these calculations take time proportional to the resolution of the space, since gradient descent must be performed on all possible locations. Total time for the calculation of the capture regions shown in Figure 6 was approximately 30 seconds for a 100 by 100 grid. We simulate the movement of the element by performing Euler integration. We determine the gradient for the current

V. S IMULATION A. Implementation All simulations were written in Matlab and executed on a PC laptop with an Intel 2.0GHz Core Duo processor and 2GB of RAM. The workspace was represented by a square grid of finite density (100 units in our presented example) and the locations of actuators, as well as the start, end, and current 5

element position via analytic functions for the partial derivatives of the potential field. The element moves according to steepest descent of the potential field, with speed determined by the magnitude of the gradient of the potential field.

VII. ACKNOWLEDGEMENTS We wish to thank the members of the UC Berkeley Automation Sciences lab for their feedback and support, including particularly helpful contributions from Ephrat Bitton, Ron Alterovitz, and Jijie Xu.

VI. C ONCLUSIONS AND F UTURE W ORK

R EFERENCES

We have introduced the concept of Actuator Networks, which actively alter the environment by using fixed actuators to create potential fields that guide a moving element, rather than being restricted to passive sensing in a conventional sensor network. We have demonstrated the PushCage-Squeeze (PCS) algorithm for distributed actuation as an example of a guidance algorithm for an Actuator Network. PCS has the benefits of robustness to trajectory error and is compatible with path planning techniques allowing for obstacle avoidance. The steps of the PCS algorithm alternate between repelling a moving element with a single actuator, then trapping the moving element at specific points within the triangulated workspace of the actuators. Alternative methods of triangulation, path planning, and actuation modeling result in Actuator Networks capable of inducing different types of motion on moving elements–this is a subject of future study. We wish to continue researching Actuator Networks in two main directions: determining formal proofs for completeness of the algorithm, and performing physical experiments validating the applicability of our models. Three properties are required to prove that the PCS algorithm can be applied to any path over a triangular mesh of actuators. 1) The incenter of a triangle is always a feasible goal location, 2) the capture region of a goal placed at the incenter will extend to each of the three actuators, and 3) the incenter of a triangle is within the capture region of every feasible goal location within that triangle. 1 guarantees the functionality of the Cage and Squeeze steps, 2 guarantees that when a moving element crosses into an adjacent triangle, it will eventually enter the capture region of the incenter, and 3 guarantees that if a final squeeze is possible, a moving element at the incenter of the triangle (after completing the previous PCS cycle) can be captured to the final goal location. We have been encouraged that these properties are true because over our thousands of simulations, we have yet to find a counter example to any of these properties. For physical experimentation, we will explore the behavior of biological systems and will focus on classes of insects which exhibit phototaxy–the expression of a direct correlation between perceived light levels and direction of movement in a biological system. We have performed preliminary experiments with the terrestrial crustacean Armadillidium vulgare (commonly referred to as the pill-bug or roly-poly), and have found the results to be encouraging. Preliminary experiments show that they generally follow steepest descent in ambient lighting conditions, attempting to get back into the darkness as swiftly as possible, and that we can predictably modify their trajectory by intentional, coordinated actuation of light. We will explore applications of Actuator Networks to biological moving elements in future research.

[1] J. Hill and D. Culler, “Mica: a wireless platform for deeply embedded networks,” IEEE Micro, vol. 22, no. 6, pp. 12–24, 2002. [2] J. Polastre, R. Szewczyk, and D. Culler, “Telos: enabling ultra-low power wireless research,” in Proc. Int. Symp. Information Processing in Sensor Networks (IPSN), April 2005, pp. 364–369. [3] J. Schiff and K. Goldberg, “Automated intruder tracking using particle filtering and a network of binary motion sensors,” in Proc. Int. Conf. on Automation Science and Engineering, Oct. 2006, pp. 580–587. [4] M. Schwager, J. McLurkin, and D. Rus, “Distributed coverage control with sensory feedback for networked robots,” in Proceedings of Robotics: Science and Systems, Philadelphia, PA, August 2006. [5] A. Kansal, W. Kaiser, G. Pottie, M. Srivastava, and G. S. Sukhatme, “Reconfiguration methods for mobile sensor networks,” ACM Transactions on Sensor Networks, 2007. [6] G. Hoffmann, S. Waslander, and C. Tomlin, “Mutual information methods with particle filters for mobile sensor network control,” in IEEE Conference on Decision and Control, Dec. 2006, pp. 1019–1024. [7] O. D. Kellogg, “Foundations of potential theory,” 1969. [8] J. C. Maxwell, “On hills and dales,” The Philosophical Magazine, vol. 40, no. 269, pp. 421–427, 1870. [9] H. Choset, K. M. Lynch, S. Hutchingson, G. Kantor, W. Burgand, L. E. Kavraki, and S. Thrun, Principles of Robot Motion: Theory, Algorithms, and Implementations, 1st ed. MIT Press, 2005. [10] O. Khatib, “Commande dynamique dans l’espace operationnel des robots manipulateurs en prsence d’obstacles,” PhD Dissertation, Ecole nationale superieure de l’aeronautique et de l’espace, 1980. [11] ——, “Real-time obstacle avoidance for manipulators and mobile robots,” The International Journal of Robotics Research, vol. 5, no. 1, pp. 90–98, 1986. [12] E. Rimon and D. E. Koditschek, “Exact robot navigation using artificial potential functions,” IEEE Trans. Robotics and Automation, vol. 8, no. 5, pp. 501–518, 1992. [13] C. Connolly, J. Burns, and R. Weiss, “Path planning using laplace’s equation,” 1990. [Online]. Available: citeseer.ist.psu.edu/connolly90path.html [14] Q. Li, M. D. Rosa, and D. Rus, “Distributed algorithms for guiding navigation across a sensor network,” in MobiCom ’03: Proceedings of the 9th annual international conference on Mobile computing and networking. New York, NY, USA: ACM Press, 2003, pp. 313–325. [15] W. Newman and N. Hogan, “High speed robot control and obstacle avoidance using dynamic potential functions,” in IEEE Internation Conference on Robotics Automation, 1987, pp. 14–24. [16] K. F. B¨ohringer and H. Choset, Distributed Manipulation, 1st ed. Kluwer Academic Publishers, 2000. [17] A. Sudsang and L. Kavraki, “A geometric approach to designing a programmable force field with a unique stable equilibrium for parts in the plane,” 2001. [Online]. Available: citeseer.ist.psu.edu/sudsang01geometric.html [18] F. Lamiraux and L. E. Kavraki, “Positioning of symmetric and non-symmetric parts using radial and constant fields: Computation of all equilibrium configurations,” International Journal of Robotics Research, vol. 20, no. 8, pp. 635–659, 2001. [19] T. H. Vose, P. Umbanhowar, and K. M. Lynch, “Vibration-induced frictional force fields on a rigid plate,” in IEEE International Conference on Robotics and Automation (ICRA), April 2007, pp. 660–667. [20] A. Yamashita, T. T. Arai, O. Jun, and H. Asama, “Motion planning of multiple mobile robots for cooperative manipulation and transportation,” IIIE Trans. Robotics and Automation, vol. 19, no. 2, pp. 223– 237, 2003. [21] G. A. S. Pereira, V. Kumar, and M. F. M. Campos, “Decentralized algorithms for multirobot manipulation via caging,” International Journal of Robotics Research, 2004. [22] J.-M. Lien, S. Rodriguez, J. Malric, and N. Amato, “Shepherding behaviors with multiple shepherds,” in Proceedings of the 2005 IEEE International Conference on Robotics and Automation (ICRA), 2005, pp. 3402–3407.

6