Manipulating objects with gliders in cellular automata

Micro-scale manipulation of objects is a growing requirement in specialised industries, especially those related to assembly of fragile micro-components. Widely implemented techniques in robotics and automation do not always cope with the delicate nature of the process. To improve the micro-scale manipulators we consider both hardware and software issues, and focus on designing massive-parallel embedded controllers for non-trivial actuating surfaces. This paper offers an initial insight on cellular automata (CA) gliders control of a smart surface. A brief presentation of the prototype hardware will be given along with a justification on the selection of manipulated objects. The formulation of the excitable CA lattice is presented and experimental data is analysed. The results support the capabilities of a fully distributed CA controlled massive parallel manipulation architecture.


I. INTRODUCTION
Manipulation of parts in micro-assembly proves to be a demanding application that classic robotics and automation methods struggle to achieve. The requirements of these applications is precision, optimum force utilisation, nonprehensile handling in most applications and multiple parts being manipulated during a given work cycle. Because of these requirements issues for the scalability of the system arise and computational bottlenecks manifest. Also, generating lateral forces in an efficient manner is troubling. As a result, in the physical layer (hardware), massive parallelism and a distributed architecture is required while in the control layer (software) novel, decentralised intelligent strategies must be utilised.
A promising solution to the specialised hardware requirements of micro-assembly is the implementation of parallel manipulators in a surface-like design [1]. These systems consist of a massive array of simple actuators (with a small power density) that collectively transport, orient and position objects whose masses and sizes are very high compared to the forces generated by a single actuator. Each individual actuator is relatively inexpensive, and a modular structure of the parallel manipulator allows for mass production and scalability. Approaches to implement such systems include airjets [2], [3], [4], mechanical wheel based arrangements [5], [6], sound based solutions [7] and electromechanical actuators to excite membranes [8], [9]. Similar solutions are followed in micro-scale with micro electro-mechanical systems (MEMS) [10], [11] where the surface is fabricated using silicon integrated circuits (IC) technology. Examples  of natural parallel manipulators include the cilia arrays in paramecium which generates coherent propulsive forces and the sea urchins tube feet which allow for locomotion and object transfer. In the control layer spatially distributed excitable media, namely Cellular Automata (CA), prove to be viable candidates due to there inherent processing abilities. Research examples exist for emergent computational architectures employing nature-inspired information processing based on massive distribution of workload using excitable media. Algorithms and techniques of information processing, based on the interaction of excitation wave-fronts, have already found their application in control of robot navigation [12], [13], [14].
In this paper we develop our ideas in wave-based control of parallel manipulators, specifically embedded excitable media controllers [12], [15]. We provide an analysis on initial experiments conducted with our prototype smart surface, Fig. 1. This is a novel paradigm of massive-parallel manipulation based on the space-time dynamics of waves and patterns in active non-linear media. The waves are taking the form of gliders, special CA patterns that retain their phenomenology along multiple generations. This gliders travel on a prototype massive array of small vibrating motors. The motors are using the compliant nature of the covering and supporting layer to create mechanical disturbances that replicate ciliary motions to displace objects. As manipulated objects we are using toothbrush heads. This decision was taken to exploit their special attributes on force distribution and redirection. We will show that by implementing proper CA patterns a toothbrush head can glide towards a predefined target destination.
Toothbrush heads are being used to demonstrate the potentials of the system. They are the initial step to understand the dynamic of the CA controlled smart surface and establish an initial model. Based on the results of the current work general control techniques can be developed for the manipulation of generic shape objects.
The structure of the paper is as follows. First, in section II a description of the hardware will be given for both the smart surface and the special geometry of toothbrush heads. In section III the CA algorithm to generate the gliders, the feedback loop and the decision process will be analysed. In section IV experimental data of the motion of toothbrushes under the effect of gliders will be given along with the analysis and discussion of the results.

II. THE HARDWARE A. Components of the Smart Surface
During the development of the prototype a layered modular architecture has been selected, Fig. 2(a). The smart surface consists of multiple smaller modules that connect seamlessly among each other. Each module is divided into two layers, mechanical and electronics. The mechanical layer consists of four components, epidermis, vibrators, substrate and support mesh, while in the electronics layer there are three boards, motor controllers, sensors and processing.
The first part of the mechanical layer, epidermis, Fig. 2(a)i, covers the top of the smart surface (multiple modules) improving seamless integration. Two are the main functions of epidermis. Firstly, it operates as a gripping surface to transfer the forces from the vibrating motors to the toothbrush. This is achieved by the friction between the silicon material of the membrane and the material of the toothbrush's hairs. Secondly, acts as a loose mechanical coupling between the oscillating vibrating motors.
The vibrators, Fig. 2(a)ii, are the actuators of the system. They are round, flat, core-less vibration motors generating 1.2G amplitude of vibration. The forces are generated radially by a rotating eccentric mass in a XY plane. Because of the smooth metallic surface of the motors and the sealed motor's case any alterations are not possible. As a result, the motors are connected to the silicon membrane using the gripping effect of the latter and to the substrate with adhesive material.
The flexible substrate, Fig. 2(a)iii, is the part of the system that the motors and the sensors are mechanically positioned. It is casted from silicon material and has a special shape consisting of platforms and openings. Each motor is placed on one of the platforms allowing it to freely move in the XY plane and also, because of substrate's elasticity, slightly on the Z axis. Because of the rubbery nature of the material the vibrations are absorbed and do not affect adjacent motors. The forth component, Fig. 2(a)iv, provides support for the previous elements of the mechanical layer. It is made out of ABS material to be robust and resembles a grid shape. It is gridded in order to allow passing of the sensors and power channels for the motors.

B. Sensory Feedback
The smart surface design includes a novel method for sensing the existence of objects and alter its operation. An array of photo sensors, Fig. 2(a)v, located in the space between the motors is triggered by the shadow casted from the objects. Using triangulation, the shape of the object can be assessed and the behaviour of the control algorithm affected. This system can extract not only the location but also the orientation of the object.

C. Toothbrush Geometry
Due to the good energy manipulation, their geometry provide, toothbrush heads are being used for the experiments. The hairs of the toothbrush act as multiple points of contact, averaging the forces by the motors. Moreover, the slopped structure of the hairs, Fig. 2(b), generate a clear vector of energy transfer that creates a distinctive front side of the toothbrush (arrow in the figure). Finally, the overall geometry of the toothbrush, resembling a bathtub, Fig. 2(c), implemented for better hygiene results in teeth brushing, create contact points for force differentiation. This particular characteristic is being exploited to rotate the toothbrush by applying specific pattern of forces.

A. CA Algorithm
Cellular automaton (CA) is an array of locally connected finite state machines (called cells), which takes finite number of states and update their states simultaneously by the same cell-state transition function. Each cell x updates its state depending on states of its closest neighbours u(x) = {y = x : |x − y| L∞ = 1}. We have chosen 2 + -medium CA [16], [12] as an embedded controller of the smart surface. Each cell x of this CA take s three states: resting, excited and refractory. 3. Typical travelling localisation in 2 + -medium [12].
A resting cell becomes excited if the number of excited neighbours is exactly two. An excited cell takes refractory state, and refractory cell takes resting state unconditionally. We define a two-dimensional lattice A of cells, where each cell x takes one of three states: resting (·), excited (+) and refractory (−), and updates its state x t by the rules in (1).
where χ(y, +) = 1 if y = + and 0, otherwise. Amongst many intriguing propagating patterns 2 +medium exhibits discrete analogs of dissipating solitons, particles or gliders, propagating along rows and columns, and along diagonals of the CA array (Fig. 3). The 2 + -medium is a deterministic automaton, therefore the particles keep their shapes indefinitely unless disturbed or reach absorbing boundaries of the array. For the purpose of manipulation we are using the minimal travelling localisation, or glider, socalled 2 + -particle (Fig. 3a). This particles propagate strictly in horizontal or vertical directions. They are like wavefragments in a sub-excitable medium [14]: they have excitation wave-front, consisting of two states '+' and refractory tail, consisting of two '-' states.

B. Actuation Scheme
The states of the CA medium must be appropriately mapped to actual commands for the actuators. The mechanical layer, as described in previous chapter, consist of motors that apparently can have three states, rotating clockwise, rotating counter-clockwise and turned off. A mapping to connect the CA state as defined in (1) to actual motor states is arbitrarily selected and given in (2). (2)

C. Vision Feedback -Target Selection
In order to reduce the complexity, the array of photosensors is simulated by a vision system. With this approach the focus is on the decision process and not on the quality of feedback, which is beyond the interest of the present research. A dedicated image recognition module continuously (30fps) analyse the location of the toothbrush and feeds the information to the decision module.
The information extracted for the toothbrush is the location of the front and the back, as described in section II-C. From those two points the orientation of the toothbrush on the plane of the surface is being calculated.  The location of the target is being selected from the user in an on-screen interface resembling the smart surface. From the relevant location of the toothbrush's front and the target, the orientation of the latter is being calculated. The toothbrush and the target position and orientation are given in (3) as vectors B and T respectively, while a third vector can be defined as there difference ∆ and illustrated in Fig. 4.
The elements of vectors B and T are real numbers and their accuracy depends on the vision module. A process of discretizing those values is performed in order to create the feedback lattice. A lattice structure is implemented for two reasons; first to emulate the photo-sensors and secondly to simplify CA rules generation. The lattice, G, is overlaid to lattice C of the CAs. G is transposed in relation to frame C by 1 /2 units of the latter, as depicted in Fig. 5.

D. Decision Algorithm
The decision algorithm, as a flow chart in Fig. 6, is performed iteratively accessing the data from the vision system and implement the necessary changes, as a CA matrix S t , or apply the normal CA update to the prototype.
Initially the orientation of the toothbrush, in regard to the target, is calculated and compared with a predefined range [r 1 , r 2 ]. If the angle ∆φ is outside this range a correction pattern will be applied around the toothbrush trying to align the toothbrush and the target. The shape of the pattern depends on the sign of ∆φ. If the correction pattern must be applied no further calculations are needed and the pattern, If the orientation of the toothbrush is within limits, a minimum distance from target in X and Y axis is calculated. Given the minimum of the two distances a movement direction index is computed according to (4). where The current movement direction index is compared to the index of the previous computation cycle and if the calculated index has changed a new CA pattern is selected. The selection criteria can be seen in the table at Fig. 6. As with the rotation pattern, no further calculation is performed and the pattern is mapped to the hardware.
If no pattern is being selected, because of the change in the orientation or movement direction, the normal CA update rules are being implemented. The updated state of the CA lattice is then being mapped to the hardware.

A. System Setup and Collected Data
Evaluation of the described algorithm for the CA controller has been performed on the prototype system seen in Fig. 1. The size of the surface is 110mm×110mm and the size of the toothbrush head is 35mm×12mm. The overhead vision feedback camera was positioned on a calibrated support to ensure parallelism between the camera and the prototype.
Two sets of experiments have been contacted. The first contains linear motion of the toothbrush, (the target is in the same line as the toothbrush's initial position). In the second set, change of direction path is necessary (the target is positioned at a 90 o angle from the line of direction of the toothbrush). Two motions were recorded for each set. In Fig. 7(a) and Fig. 8(a) the overlap of the trajectories, with rotation as vectors, can be seen along with the start position of the toothbrush and the target. In Fig. 7(b) and Fig. 8(b) the trajectory and rotation of toothbrush body is separately plotted for ease of analysis.

B. Result Analysis
By analysing the data of the trajectories we can identify some interesting patterns. Although there are variations, both sets of trajectories are similar with most of the same characteristic motifs. Summarising of those patterns for the different sets is given below.  (Fig. 7) a) Between X coordinates 83 and 209. There are similar fluctuations in the trajectories followed. It can be noted that there is a twist to the left with the vectors facing to the right of the motion. b) At points (245, 183) and (265, 165). There are two consecutive corners, the first to the right, followed by a left one. In both cases the right corner was sharp and the recovery at the second was progressive. c) Rotation pattern after 40 iterations. Both movements exhibit the same rotation pattern. It is characterised by progressive increase in angle with a sudden spike, and consecutive diving, at around 50 iterations. Although the values of the fluctuations are different the final orientation is around 25.5 o , "pointing" to the target. 2) Corner Movements. (Fig. 8) a) Straight part. It can be observed that both movements exhibit the same oscillatory motion towards the right. There is an initial dive at iterations 5 and 7 respectively with a recovery pattern towards the cornering action. b) Turning at 90 o angle pattern. The progress of the turning action is similar but not the same. Based on the above observations we can summarise the underlying reasons for the patterns to three different types.
Drifting movement of the toothbrush. The toothbrush head, because of the special geometry described in section II-C, tends to move in a drifting fashion, oscillating from side to side. This behaviour results in the observation 1a and partially in 1c and 2a.
Motor array variations. Although the highest specifications where used to design and develop the prototype some variations still exist. Differences in geometry of the modules and inevitable differences in motor operation (manufacturers specifications) result in small variations of performance from cell to cell. The effects of this variations affected partially 1b, 1c, 2a and 2b.
Algorithm and CA propagation.The implementation of the algorithm affects operations in two distinctive ways. First, the decision process, as described in III-D, affects the motion as an attempt to alter orientation of the toothbrush in respect to the distance from the target. This behaviour is obvious in cases 1c and 2c with the toothbrush trying to face the target in the final steps of the motion. Secondly, the CA glider propagation interval (200ms in the experiments) affects movement patterns. The most prominent example of this is in case 2b where the toothbrush seizes to move waiting for the glider to come again to continue. It is also partially responsible for 1b as the glider forces the toothbrush to turn sharply and continue movement with a new orientation.

C. Discussion
The different reasons for the patterns recognised in the experiments, allow to draw some interesting experience regarding the system both in hardware and software terms. The first two, drifting movement/motor variations, are related to the hardware being used, toothbrush head geometry and prototype variations. In order to emphasise the robustness of the proposed conveyor system the decision was taken to accept mechanical variations within specific tolerances. This way the system proves that it can compensate for those variations using the intelligent underlying control algorithm. Nonetheless, due to the systemic appearance of both issues, it is possible to map those mechanical imperfections and incorporate them in the controller.
The third reason is related to the implementation of the CA based control algorithm. Simple linear gliders in 2+ mediums seem to provide good linear object propagation while the proposed turning patterns address to a certain degree the 90 • turns required for the selected trajectories. Both the gliding and the turning patterns where selected from a pool of possible CA rule sets, due to their performance in following simple trajectories as the ones in Fig. 7 and 8. Furthermore, they perform satisfactorily in compensating for the hardware systems weaknesses. Undoubtedly, determining the iteration (generation) step is a crucial parameter affected by the dynamics of the system. Based on the observations from the current experiments improvements for the CA patterns can be developed as is the size and the speed of the gliders and the shape of the rotation pattern to create sharper cornering.

V. CONCLUSIONS
With the current work a smart surface based on small vibrating motors and controlled by Cellular Automata (CA) was presented. By using gliders, a phenomenologically nondissolving CA pattern, we showed that an object can be transported towards a predefined target. Also, by including a cornering CA pattern the object can corner at 90 • angles. We selected as objects toothbrush heads based on there geometry that provides a good energy manipulation behaviour. The CA control algorithm was described and experimental data was given. The system performed according to predictions with small variations from the intended operation, giving sound evidence of the universality of glider based transportation in 2 + medium arbitrarily for translation and rotation of objects. Furthermore, by using toothbrush heads, an easier to manipulate object compared to generic ones, we acquired an understand and predict the dynamics of the systems.
The analysis of the experimental data assisted in undertanding the underlying phenomena both for the hardware and the software and design improvements. Based on the systematic nature of hardware irregularities a mapping process to identify local phenomena can be developed. Systematising this data and incorporating it into the controller of the system can greatly improve performance since hardware variations can be addressed before the object reaches the areas in question. Regarding the CA controller, further investigation and analysis of different 2 + medium rule sets can determine the optimal setup, along with the iteration step for which the dynamics of the object being manipulated must be taken into consideration. Those improvements will enable the CA controller to control not only generic objects but also multiple at the same time, a goal for future research.