## 2 Problem Statement  
In this paper, for simplicity, we have only manipulated objects having convex polyhedrons. Furthermore, we consider that the objects, the environment, and the robots are all rigid. A set of contacts on an object having environmental contact and robotic contact were represented as a contact state and defined as a mode. A contact state is described without the exact position of contact and configuration of the object and the robots. For a description of the contact state without the exact configurations, we adopt the concept of principal contact (PC) [18] to express the contact states. A PC is a contacting pair between the geometrical primitives (a vertex, an edge, or a face). A PC is denoted by \(c=(a,b)\), where \(a\) is a geometrical primitive on the object and \(b\) is a geometrical primitive on a polyhedron of the environment or a robot. Furthermore, we denote the object-environment PC and object-robot PC by \(c^{\mathrm{e}}\) and \(c^{\mathrm{r}}\), respectively, for clarity. In our method, we need to distinguish whether relative sliding happening on a contact for determining the constraints required to realize the full constraints of the object. For example, Figure 2 shows the difference of the required constraints in the quasi-static manipulation of an object that lies on a floor with an edge contact when a robot contacts with it as a point-face contact (in the planar case). Manipulation without relative sliding on the point with the help of floor's static friction, as shown in Figure 2c, requires a robot to tilt the object. However, for manipulation with relative sliding between the object and the floor, it is difficult to predict the resultant motion of the object because of dynamic friction, as shown in Figure 2b. To guarantee that the target motion will be realized, an additional robot is required (see Figure 2c), and the number of robots required is different between the two cases. Therefore, we distinguish whether relative sliding happens or not on a contact. A non-sliding PC is defined as _static_ PC, denoted by \(c^{\mathrm{e,st}}=(a,b)^{\mathrm{e,st}}\). Correspondingly, a sliding PC is defined as _dynamic_ PC, denoted by \(c^{\mathrm{e,dn}}=(a,b)^{\mathrm{e,dn}}\). When multiple robots manipulate objects, not all of them actively make contact with an object. A contact occurs either when the robot actively touches the object or passively touches it when the object is moved. Furthermore, some robots move an object actively and change its state, whereas some robots operate as auxiliaries in the manipulation task. The distinction between the active and passive functions of a contact is important for considering the possible transitions of the states. Accordingly, the contacts are divided into active and passive and are denoted as \(c^{\mathrm{r,st,ac}}\) and \(c^{\mathrm{r,st,ps}}\), respectively. A robot with active joints can also act as a passive robot. Whether the robot always acts passively or actively or is switchable between passive and active depends on the function of the robot. A contact between an object and a robot usually does not slide. Therefore, for simplicity, we omit the subscript for the static and the dynamic contacts if the contact is between an object and a robot and write as \(c^{\mathrm{r,ac}}\) and \(c^{\mathrm{r,ps}}\). However, a contact between an object and the environment is passive. Therefore, we omit the subscript for the passive and the active contacts if the contact is between an object and the environment and write as \(c^{\mathrm{e,st}}\) and \(c^{\mathrm{e,dn}}\). The set of PCs on an object is called contact formation (CF) [18] and denoted by \(C\). To describe the original CF proposed by [PERSON] and [PERSON] [18], which does not concern the sliding of the contact point, we call a CF without distinguishing the static and dynamic as the _primitive_ contact states, and denote it as \(\widehat{C}\).