Object Conveyance Algorithm for Multiple Mobile Robots based on Object Shape and Size

This paper describes a determination method of a number of a team for multiple mobile robot object conveyance. The number of robot on multiple mobile robot systems is the factor of complexity on robots formation and motion control. In our previous research, we verified the use of the complex-valued neural network for controlling multiple mobile robots in object conveyance problem. Though it is a significant issue to develop effective determination team member for multiple mobile robot object conveyance, few studies have been done on it. Therefore, we propose an algorithm for determining the number of the team member on multiple mobile robot object conveyance with grasping push. The team member is determined based on object weight to obtain appropriate formation. First, the object shape and size measurement is carried out by a surveyor robot that approaches and surrounds the object. During surrounding the object, the surveyor robot measures its distance to the object and records for estimating the object shape and size. Since the object shape and size are estimated, the surveyor robot makes initial push position on the estimated push point and calls additional robots for cooperative push. The algorithm is validated in several computer simulations with varying object shape and size. As a result, the proposed algorithm is promising for minimizing the number of the robot on multiple mobile robot object conveyance. Keywords—multiple mobile robots, object conveyance, team member determination;


I. INTRODUCTION
In the mobile robotic research area, multiple mobile robot systems have grown significantly in size and importance in Recent years.The concern is given by the robotic researchers to this study is motivated by the variety of application which can be carried out by a group of the robot, such as exploration, agricultural foraging, military, warehouse, search, and rescue, and cleaning [1] [2].Object conveyance is a well-studied topic in multiple mobile robot systems where robots should work Together to transport a box to a destination.In this task, the robots are required to achieve the major goal of delivering an object to a goal point as well as the maintenance of minor requirement including approaching the object with a formation, maintaining contact with the object and maintaining forward motion.
Multiple mobile robot systems offer several advantages that single robot can not achieve such as fault tolerant, efficiency, low cost, and flexibility.However, the complexity of formation and motion control may become high because of the increase in sensor information and actuators since the number of the robots is increased.Therefore, the team with minimum robots offers lower system load and can be addressed by dynamic team strategy.The dynamic team is an approach for defining robot number in a multiple mobile robot system where the mobile robots are a temporary and fluid team whose association properties are allowed to vary over time [3] [4] [5].That is, teams dynamically and automatically grow and shrink, and the member may be substituted.Therefore, it enables multiple mobile robot systems becomes more efficient in the use of the robot.
In the object conveyance with a given object, the number of robots can be determined in advance [1] [6] [7].However, in practical, multiple robot systems might be required to move any object in size and shape [8].Therefore, determination of robot number before the push the object is the concern of this study.The clue of determining the number of the robots are the shape and size of the object which is moved.The object is assumed to be same in shape and size from bottom to the top like a box or a pipe.Thus, the object shape and size in two-dimensional represent its overall shape.
In this paper, a simple and efficient algorithm for determining push position is proposed.In the beginning, a robot approaches the object and stops at a certain distance.Then, the robot surrounds the object and measures the distance to the object.Recorded distance data are processed using Graham Scan algorithm to make a convex hull which is used to estimate object shape [9].After that, object corner positions are obtained and between them, push points are determined.Also, we employ the dynamic team strategy to manage team member and use predefined formation to make the push.Moreover, each robot motion is controlled by a simple method that uses object position and subgoal as control input parameter.A simulation is attempted, and it shows satisfactory results.
The rest of this paper is organized as follows.Section II in the context of the relevant study on this problem and Section III describes the problem definition.In Section IV, the algorithm is explained.Results and discussion are presented in Section VI then the conclusion is in Section VII.

II. RELATED WORKS
The problem of object conveyance touches on many established Research areas.In this section, we discuss the relevant work in coordination, communication, decision-making system, and determination of the number of the robot.

A. Static vs. dynamic coordination
Coordination is the core task in multiple mobile robot systems and can affect overall performance system.There is static and dynamic coordination.Static coordination (also known as off line coordination [10]) is the coordination method with predefined rules for engaging a task.The rules in traffic control problem such as "keep right", "stop in intersection" And "keep sufficient distance to other robot" are the example of static coordination [11].Dynamic coordination (also known as online coordination [10]) is carried out during execution of a mission and it based on the analysis and synthesis the information that can be obtained through the communication.The static method can handle complex tasks.However, its real time controlling might be poor.The dynamic method can well meet the capability of real-time.However, it has difficulty in dealing with more complex tasks.

B. Explicit vs. implicit communication
Communication enables each robot to interact and know the information of the position, sensor data and the state of an Environment with others in the system.Communication can be explicit and implicit.
Explicit communication refers to the means for the direct exchange of information between the robots, which can be made in the form of unicast or broadcast intentional messages.This often requires a dedicated on-board communication module.Existing coordination methods are mainly based on the use of explicit communication.
On the other hand, implicit communication refers to the way in which the robot gets information about other robots in the system through the environment.This should be achieved by embedding different kinds of sensors in the robot.Implicit communication can also be divided into two categories: active implicit communication (e.g., interaction via the environment) and passive implicit communication (e.g., interaction via sensing).Active implicit communication refers to the fact that the robots communicate by collecting the remaining information of others in the environment.The use of this form is generally related to the field of biometrics, and is usually inspired by the collective behavior of bees and ants.Passive implicit communication refers to the fact that the robots communicate by perceiving a change of environment through the use of sensors.For example, a robot needs to compute the context information (e.g., position and attitude) of others by modeling and reasoning based on the perceived data in order to cooperate with them.

C. Centralized vs. decentralized decision making
The decision-making guided by planning can be centralized or decentralized by the group architecture of The robots.There is a central control agent in centralized architectures that has the global information about the environment as well as all information about the robots, and which can Communicate with all the robots to share them.The central Control agent could be a computer or a robot.The advantage of the centralized architecture is that the central control agent has a global view of the world, whereby the globally optimal Plans can be produced.Nevertheless, this architecture: 1) is typical for a small number of robots and ineffectual for large teams with more robots; 2) is not robust about dynamic environments or failures in communications and other uncertainties; 3) produces a highly vulnerable system, and if the central control agent malfunctions, a new agent, must be available or else the entire team is disabled.
Decentralized architectures can be further divided into two categories: distributed architectures and hierarchical architectures.There is no central control agent in distributed architectures, such that all the robots are equal on control and are completely autonomous in the decision-making process.In contrast to a centralized architecture, a decentralized architecture can better respond to unknown or changing environments, and usually has better reliability, flexibility, adaptability, and robustness.Nevertheless, the solutions they reach are often suboptimal.

D. Fixed vs. variable number of the robot
The determination of the number of the robot in multiple mobile robot systems has two types.It can be fixed or variable depend on the mission.Many studies of multiple mobile robots coordination were carried out with the fixed number of the robot [12] [13] [14].At least, they worked with two robots that is used from the beginning until finish of the mission [15].The variable number of robots is the situation when the number of the robot can be changed at the execution of the mission [5].

III. PROBLEM SETTING
As stated above, this study is concerned with determining the number of the robot in multiple mobile robots object conveyance.Two wheeled mobile robots is used with disk shaped where the wheels are in the same direction to the center of the robot body.The illustration of object conveyance by multiple mobile robots on the world coordinate system Σ W is shown in Fig. 1.The simple abstraction of the radius R i disk-shaped robot and its sensor configuration is shown in Fig. 2(b).The distance sensors are mounted on half front side of the robot that consists of eleven sensors s 0 to s 1 0.

B. Assumptions
In order to specify the scope of our proposed algorithm, the assumptions about our task are made as follow.
• All robots have circle shape body which can contact with the object in any direction.
• Non-holonomic two wheeled robot is used.
• It has eleven distance sensors placed at frontside of halfbody to measure distance and direction on the robot direction toward any other object as shown in Fig. 2(a).
• A target object is placed on specified position.
• Actual environment consist of many objects as constraint or obstacle.However to simplify the process, robot and a target object are located on an obstacle free workspace.
• Each robot positions on the world coordination are known.
• Distance sensor reading is included with 0.2% random noise.
• Robot knows object position but have no information about object shape, size, and weight.
• Reference path consists of several subgoals.On the reference path, an object is required to be conveyed on the subgoals within 8 seconds.

C. Missions
Missions for the multiple mobile robot system is to convey the object on the reference path.In this study, to achieve this mission, multiple mobile robot systems are required to estimate object shape and size then determine push point for initial push.Regular and irregular shape object are used for demonstrating the algorithm.Object conveyance with minimum number of robot is also required to be demonstrated in order to verify the validity of the algorithm.These missions are carried out on a obstacle free workspace.Therefore, additional algorithm for avoiding obstacle is required for actual environment.

IV. ALGORITHM
In this object conveyance problem, an object is moved by pushing it.To make push mechanism, the position order is destination, object and robot.If the object is facing toward to the destination, then the robot position in the behind of the object.However, the robot will not able to determine where is the correct position for a push if object shape is unknown.
The flowchart of proposed algorithm for the dynamic team is shown in Fig. 3.The determination process of the robot number is first four blocks, and the rest three blocks are the conveyance process in general.

A. Departing surveyor robot
A robot which is used for estimating object shape and size is called surveyor robot.The surveyor robot can be selected among the robots which have closest distance to the object.However, we choose random selection because the robots are located near each other.Also, the surveyor robot knows object position through positioning system.In practical, the positioning system can be an image, frequency, light or sound-based device which has advantages and disadvantages between each other.And in this simulation, position data can be obtained easily.

B. Approaching object
Since the surveyor robot is departed from the start position and it will approach directly to the object.During the travel, the robot can avoid the collision from other robots by detecting them using distance sensor.In order to determine robot avoidance movement for i-th robot, right side D Ri r and left side D Ri l sensing data are calculated and compared to get angular velocity ω by using equation ( 1) and (2).As the object position is known, surveyor robot is faced to its position by changing angular velocity.When the robot arrived at given distance from target object (60% of distance sensor S 5 reading) as shown in Fig. 4(a).The surveyor robot will stop and turn left to make it position in same direction with the object side.Then robot moves clockwise while keeping the distance by using sensor S 0 and S 2 as shown in Fig. 4(b).Moreover, the distance is measured by using sensor S 0 .Start point of surrounding is recorded that will be used as stop point.
where S k Ri is k-th sensor value of i-th robot.
Fig. 4: Approaching the object for measuring

C. Estimating object shape and size
The recorded distance data are converted to the coordinate and processed to get convex hull by using Graham Scan algorithm [9].The first step in this algorithm is to find the point with the lowest y-coordinate on the world coordinate system Σ W .If the lowest y-coordinate exists in more than one point in the set, the point with the lowest x-coordinate out of the candidates should be chosen as P o .This step takes Q n , where n is the number of points in question.Next, sort the remaining points of Q lexicographically by polar angle, measured in radians.Interior points on the ray cannot be convex hull points and remove these points during sort.Once the points are sorted, we connected them in counterclockwise order with respect to the anchor point P o as shown in Fig. 5.

D. Determining push points
Convex hull is a set of recorded points which is simplified But it may contains unnecessary points.For example, a rectangular object consists of four corners and four straight lines.
In rectangular convex hull, some points will appear between corner points and it is not necessary as shown in Fig. 6.Thus, such points must be eliminated to simplify next process.To eliminate these points, simple corner detection method is used.The method calculates the angle between two lines that composed by three sequences of points.If at the bottom corner of Fig. 6 is point Q n , then point Q n+1 and Q n+2 are next points at clockwise direction.And then, the angle of first line (point Q n and Q n+1 ) to second line (Q n+1 and Q n+2 ) are calculated.If the angle are larger or equal than minimum angle θ e , point Q n+1 is considered as a corner.θ e is angle threshold for detecting corner.

Fig. 6: Points of convex hull
After corner detection is finished, we have a set of points T n that consist of corner points.However, push points are not in corner points because it has a small contact surface.Therefore, a position between corners is chosen as the push point.These points can be calculated by using average of T n and T n+1 .Push points of the rectangular object are illustrated as the black circle in Fig. 7.The push point for the initial push is selected among them if its location is in the behind of the object.

E. Conveyance process
Object conveyance by multiple mobile robots is carried out by simple push.The surveyor robot performs initial push in determined push point.During conveyance, surveyor robot motion is controlled to be in same direction of the subgoal and object.If the surveyor robot can push the object to pass the subgoal within 8 second, another robot is not required.However, if the surveyor robot can not push by itself, another robot will come to help it.We defined formation into the line formation that upcoming robots will be in the right or left side of surveyor robot.

V. SIMULATION RESULTS
A simulation system is developed using python 2.7 with two-dimensional dynamical physic module.Simulation platform consists of an obstacle free workspace, an object, a set of sub-goals, and five mobile robots.The workspace size is 500x600 pixels of y and x axis.It has grid with 60x60 pixels of x-y axis for user friendly.The object is configured in regular or irregular which is placed in the left area of the workspace.The object with regular shape are rectangular, pentagonal, hexagonal, heptagonal, and octagonal shape.For the irregular object, combination of curved side, straight side, and corner are used.Also, five disk-shaped mobile robots with eleven distance sensors are located in right area of the workspace.The object is required to be moved on a straight line that consists of eight sub-goals.

A. Regular polygon object
Approaching step is shown in Fig. 8(a) Robot departs from random start point to the object while avoiding any object.After arrived at 60% of distance sensor reading, robot stop and turn left to align the direction parallel to nearest object side.Then, robot moves one revolution to surround the object in clockwise as shown in Fig. 8(b).During surrounding, the robot measures the distance and convert it into a coordinate and record.The coordinates are illustrated using gray circle alongside the object.After the robot rotated the object and Fig. 8: Simulation result of rectangular object recorded the distance, collected data is processed using graham scan algorithm to make convex hull which consists of selected points.Such points consist of some unnecessary that have to Fig. 9: Simulation result of rectangular object be eliminated.Fig. 9(a) shows a rectangular object with surrounded convex hull points (gray circle).At the corners, there are four black circles which the points selected from convex hull.Then, red circles are push points that located between the corners.Fig. 9(b) shows that the robot is getting close to the selected push point as a push position.For rectangular object, push position can be determined satisfactory.
In the Fig. 10, pentagonal to octagonal object are used and also, good results are obtained.Step from approaching to surrounding of irregular shape is similar to regular object.Surveyor robot departs from random start point to the object and arrived at specified distance, robot stop and turn left to align the direction parallel to nearest object side.Then, robot moves one revolution to surround the object in clockwise as shown in Fig. 11(b).During surrounding, robot measures the distance, convert it into a coordinate and record.The coordinates are illustrated using gray circle alongside the object.
The step of obtaining convex hull and push point are shown in Figs.12(a) and 12(b), respectively.This irregular shaped object has three different sides.These are straight, curved and cornered sides.However, the algorithm can address this object and give the result as expected.
Another irregular shaped is also used to demonstrate the algorithm as shown in Fig. 13.In the figure 13(b), the step of obtaining push point where the surveyor robot needs to come for making an initial push is shown.
Next simulation result is the conveyance process with minimum robot number as the result of this algorithm.

C. Conveyancing an object
In this simulation, rectangle object is selected randomly.The algorithm step of approaching, surrounding, estimating  14.This object conveyance is carried out by one robot which is surveyor robot because it can push the object in given distance within required time.As shown in Fig. 14, the desired trajectory consists of 8 sub goals which is indicated by blue circle on the red line.At that time, given mission includes a limitation of conveyance speed which the object are needed to be moved in 8 seconds for each subgoal.This value is known by considering simulation environment such as robot and object weight, friction, and pixel to actual distance ratio.Therefore, if the surveyor robot can not move the object within 8 seconds, the object is considered as heavy object.
In Fig. 15, the surveyor robot experiences difficult movement because the object is heavy as shown in Fig. 15.Therefore, the second robot comes and joins to support the first.Team member increment is decided by measuring movement time and elapsed distance.Next robot will join to the team if the performance less than the required setting value.
Object conveyance by dynamic team which consist of three robot is shown in Fig. 16.This team member are increased become three since the surveyor and second robot can not push the object within required time.Second and third robot joined to the support surveyor robot when the object can not achieve first subgoal within 8 seconds.The information of object movement is processed by simulation program and sent to the surveyor robot to make decision.The robot trajectories show the location where they start and come to approach the object.The algorithm presented has demonstrated its effectiveness in determining the number of the robot based on object shape and size for object conveyance with multiple mobile robot systems.It worked smoothly for both regular and irregular shaped object which carried out by the first robot as known as surveyor robot.The surveyor robot is able to determine the point to make initial push without knowing the information of object shape.This ability enables the robot to convey any kind object object.Moreover, the number of robot in the team is increased based on the object speed when it is moved.If the object is heavy and the surveyor robot can not move the object in given time, another robot will come to help.
It was verified in the simulation, that the each robot position is known, and the position can be obtained by using graphical positioning system for small indoor workspace to obtain precision position information.The challenge of the algorithm is the environment with lack of position information.The use of SLAM is important for this case.