Robotics and Autonomous Systems 66 (2015) 159–174
Contents lists available at ScienceDirect
Robotics and Autonomous Systems journal homepage: www.elsevier.com/locate/robot
Modular robot systems towards the execution of cooperative tasks in large facilities✩ José Baca, Prithvi Pagala ∗ , Claudio Rossi, Manuel Ferre Universidad Politécnica de Madrid, Centro de Automática y Robótica (UPM - CSIC), José Gutiérrez Abascal, 2, Madrid, 28006, Spain
highlights • • • •
We present the results of cooperative task execution using heterogeneous modular robotic system (MRS). It is performed using tight and loosely coupled inter and intra robot configurations. The approach is based on the use of an inventory of three types of basic modules of the modular robot system. The heterogeneity in MRS is an advantageous property for the diverse tasks in large facilities.
article
info
Article history: Received 8 October 2013 Received in revised form 1 October 2014 Accepted 13 October 2014 Available online 2 January 2015 Keywords: Heterogeneous Modular robots Cooperative task Synchronising
abstract Large facilities present with wide range of tasks and modular robots present as a flexible robot solution. Some of the tasks to be performed in large facilities can vary from, achieving locomotion with different modular robot (M-Robot) configurations or the execution of cooperative tasks such as moving objects or manipulating objects with multiple modular robot configurations (M-Robot colony) and existing robot deployments. The coordination mechanisms enable the M-Robots to perform cooperative tasks as efficiently as specialised or standard robots. The approach is based on the combination of two communication types i.e., Inter Robot and Intra Robot communications. Through this communication architecture, tight and loose cooperation strategies are implemented to synchronise modules within an M-Robot configuration and to coordinate M-Robots belonging to the colony. These cooperation strategies are based on a closedloop discrete time method, a remote clock reading method and a negotiation protocol. The coordination mechanisms and cooperation strategies are implemented into a real modular robotic system, SMART. The need for using such a mechanism in hazardous section of large scientific facilities is presented along with constraints and tasks. Locomotion execution of the mobile M-Robots colony in a bar-pushing task is used as an example for cooperative task execution of the coordination mechanisms and results are presented. © 2014 Elsevier B.V. All rights reserved.
1. Introduction Various robotic solutions have been developed and deployed in hazardous environments to execute tasks and perform missions [1,2]. Hazardous environments being clean up of nuclear plant decommissioning, search and rescue missions and others. The various approaches developed use specialised robot systems or multi robot systems. The single robot system needs to be designed to meet all the requirements and tasks, while a multi robot system provides
✩ Parts of the work has been published in the Journal for Robotics and Autonomous Systems (Baca et al., 2012) [22] and IEEE International Conference on Robotics and Automation (ICRA), 2011 (Baca et al., 2011) [23]. ∗ Corresponding author. E-mail addresses:
[email protected] (J. Baca),
[email protected] (P. Pagala),
[email protected] (C. Rossi),
[email protected] (M. Ferre).
http://dx.doi.org/10.1016/j.robot.2014.10.008 0921-8890/© 2014 Elsevier B.V. All rights reserved.
flexibility in performing the tasks and missions. Multi robot system could be made of homogeneous or heterogeneous robots and ensuring the robots ability to cooperate with each other to successfully complete tasks is important. Using a modular approach would further increase the flexibility of the robot system. As modular robots have advanced from proof-of-concept systems to elaborate physical implementations and simulations, versatility, lowcost and robustness have been the key motivations [3]. Over time size, robustness and performance of modular robot systems have been continuously improving. The introduction of reconfigurable robotic system with the biologically-inspired cellular robot (CEBOT) by Fukuda [4] leads to a wide variety of homogeneous and heterogeneous modular robot systems [5,6]. The work progressed in various directions for modular robots like distributed programming aspects [7], self-recognition and kinematic planning of the motions for rearrangement between configurations, flexible form
160
J. Baca et al. / Robotics and Autonomous Systems 66 (2015) 159–174
factor, utilising many degrees of freedom, high torque-to-weight ratio, ease of docking/undocking, and power management. Despite these important contributions in the field of modular robotics, the multi-robot research community has focused primarily on implementing cooperative control strategies in conventional robots that were designed for a specific task. The implementation of collaborative strategies in multi-robot teams formed by modular robots and the evaluation of this type of system during the execution of cooperative tasks have been less explored [8,9]. The execution of robotic cooperative tasks such as moving an object towards a desired destination by pushing or manipulating an object, requires movement coordination between the robots belonging to the colony at the beginning of the mission and continuous coordination during the task. A variety of techniques have been proposed in order to approach the problem of motion coordination in multi-robot systems [10]. For instance, tight cooperation strategies such as behaviour-based [11] and schemas-based [12], and loose cooperation strategies such as market-based [13] and auction-based [14] to name a few. Modular robot systems are capable of forming different robot configurations made up of n-modules, which have to work in a coordinated/synchronised fashion. Their ability to rearrange their modules and to adapt to different circumstances, allows them to cope with multiple tasks such as different types of locomotion and manipulation. The complexity in the execution of a cooperative task with a colony based on modular robotic systems is high due to the fact that each robot (modular robot configuration) is composed of modules which have to be coordinated in a proper way to successfully work. Therefore, it is critical to implement collaborative strategies that enable complete coordination of the modules belonging to each robot configuration [15,16], and also overall coordination of the colony formed by modular robots [17,18]. Large facilities focused on scientific research like nuclear fusion reactor (JET—Joint European Torus) and particle accelerator (CERN—European Organization for Nuclear Research, Geneva) are shutdown to perform maintenance and modifications depending on the experiments to be conducted. There is a need for robot deployment to reduce personal exposure to the ionising radiation. In this scenario it would be beneficial to have the deployed robot system cooperate with other robots to overcome the given task or situation. This paper is towards the execution of cooperative tasks by modular robots and leverage the use of a modular robot system for all the requirements of task execution inside such an environment. Hence, the communication architecture and the coordination strategies must be selected properly to ensure an appropriate balance between performance and accuracy in the execution of cooperative tasks with modular robot systems. The approach presented is based on the combination of two communication types i.e., Inter robot and Intra robot communications. Through this communication architecture, tight and loose cooperation strategies are implemented to synchronise modules belonging to an M-Robot (modular robot) configuration and to coordinate MRobots belonging to the colony. The coordination mechanisms and cooperation strategies are implemented in the SMART system and by means of real experiments their performances are analysed. Details of the requirements are presented in the Section 2. Section 3 briefly describes the heterogeneous modular robot system SMART. The coordinating mechanism inside a single robot configuration and between different modular robots is shown in Sections 4 and 5 respectively. Task planning executions and results are presented in Sections 6 and 7. 2. Constraints and tasks The requirements and constraints are taken from the ISOLDE facility at CERN. ISOLDE is an isotope separator on-line (ISOL)
Fig. 1. Layout of the ISOLDE facility [20]. (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)
radioactive ion beam facility. Different radioactive species are produced at the target by the bombardment of high-energy proton beam. Fig. 1 shows the 3D layout of the facility. The section highlighted in red is the location where two industrial manipulators are employed to exchange and store targets [19]. The need to find a larger and longer storage of the radiation emitting used targets is present. As the industrial robots are limited to moving along the rail on which they are mounted new robot solutions are being explored to transport the used targets to a different storage cell for longer storage. Like, mobile robots collaborating with the industrial manipulators. To solve the same problem we present modular robots as an option. Generalising the requirement, the new robot deployment employed should be flexible to collaborate with the existing remote handling strategies and industrial robots deployed in the facility by augmenting to their capabilities. Also, the new robot deployment should be capable of dynamically adjusting to the task needs and have short development time which over time saves cost. As, during the course of operation unforeseen situations can be encountered and special tools and remote handling strategy may be needed. Lastly increased use of the new robot platform leads to reduced human exposure to the hazardous environment. Hence, the new robot platform should be capable of performing basic preventive, corrective maintenance and measurements. The previously mentioned requirements also have physical constraints which are as follows. Hazardous environment due to the ionising radiation which is fatal on prolonged exposure and causes single event upsets [21]. Therefore special need to protect the electronics needs to be taken. The other hard constraints being the Facility itself and Equipment in it. As the facility cannot have, major changes to accommodate robot deployment and also the safety of the equipment present inside the facility are critical. Hence, it would be beneficial for the facility if it is a modular robot system. As modular robots are more flexible than conventional robots and cut the development time of creating new conventional robots as new tasks arise. The ionising radiation present in the environment affects the electronics [21] and therefore the electronics need to be isolated and shielded. Hence a heterogeneous modular robot system is suited more than homogeneous modular robot. Also the different types of actuation are required depending on the tasks and having interchangeable actuation module is necessary. The advantages of such a deployment being, reduced sown time of the facility, effective execution of the tasks and collaboration with existing robot solutions in the facility. Simplifying the problem of the different tasks, the modular robot system should be able to transport specialised new tools for the existing system as well as move the material (used beam targets and others) to various locations of the facility. To achieve this the cooperation problem and bar-pushing experiment are
J. Baca et al. / Robotics and Autonomous Systems 66 (2015) 159–174
161
and colonies. The modules are base system components and are classified into three types of modules, i.e., power/control module (P/C), joint module (J) and specialised module (S). A Modular Robot (M-Robot) is an autonomous entity made up of at least one P /C module and one or more J and/or S module types. A colony is defined as various M-Robots cooperating to fulfil a task. 3.1. Modules of the robot
Fig. 2. Three types of modules are combined to form the different robot configurations.
performed and results presented. Reaching the various locations presents different challenges and needs various types of locomotion strategies like wheeled, legged etc. In this paper we explore only wheeled strategies. 3. The SMART system The SMART system is a reconfigurable heterogeneous modular robot system composed of a set of interchangeable modules that form different robot or system configurations [22], as shown in Fig. 2. The system architecture is divided into modules, M-Robots
The design of the modules aim to balance functionality, complexity and low-cost fabrication. They are interchangeable in different ways to form different robot configurations for a variety of tasks, such as a variety of locomotion modes and reconfiguration capabilities. The role of the P /C module type is to precisely control the actuators on the other modules, to process sensor data, and also to manage communications between docked P /C modules and the control station. The J module describes any type of active or passive actuator of different size and output torque. Rotary, prismatic, spherical, or combinations of these are a few examples of J modules. The S module may be described as the module in charge of executing a specific task such as a highly specialised sensor device which generates its own data processing or a specialised tool or a very simple and low-cost fabrication design such as a passive limb type (e.g., leg (L), wheel (W ), hybrid (H) or a platform (P)) as endeffector of a robot configuration. Fig. 3 shows some of the different robot configurations possible by combining the three different modules.
Fig. 3. Several modular robot configurations for rapid response to a diversity of tasks.
162
J. Baca et al. / Robotics and Autonomous Systems 66 (2015) 159–174
Fig. 4. Communication architecture of the SMART system.
Fig. 5. The Intra-robot master–slave wired communication architecture of the P /C module.
3.2. Communication architecture When a robot is built by the union of several robots like a modular robot systems, it is critical to have the coordination inside each modular robot (M-Robot) configuration within the colony and also overall coordination of the colony. For such objectives, two types of communications are implemented into the system i.e., Intra-Robot (inside the M-Robot configuration) and Inter-Robot (between various M-Robot configurations of the colony and the control station) communications. Fig. 4 shows a scenario where three M-Robots cooperate as a colony to execute a common task. The communication inside the robot configuration (Intra) is achieved by a wired connection, while with the colony (Inter) is done with a wireless connection. 3.2.1. Intra M-Robot communication The Intra M-Robot communication refers to communication inside the robot configuration, which is between P /C modules mechanically linked. The communication is performed via the CAN bus technology. Due to the system design, a specific software is loaded on each side of the P /C module enabling the system to have a master–slave architecture, as shown in Fig. 5. Due to this reason, two software types were developed i.e., the master software (Ms) and the slave software (Ss). The Ms type manages external information via Inter-Robot communication. The Ss type manages local information inside the M-Robot. The Ms of each M-Robot is
Fig. 6. (a) Displacement as a leg-based robot. (b) Displacement as a wheel-based robot.
responsible for pre-processing the commands and dispatching the corresponding command to the rest of the slave software. The Ss receives the message and executes the desired low-level commands i.e., references for position control loops, information for synchronisation and both sensor and actuator data. 3.2.2. Inter M-Robot communication The Inter M-Robot communication refers to the communication between active M-robot configurations and the control station which is carried out by wireless technology (between the control station and the Ms in each active M-Robot configuration inside the colony). Active robots are robots in the colony that is part of task execution and connected to the control station. The control station acts as a router that transmits commands to the M-Robots belonging to the colony, via Bluetooth (BT). The Ms receives all BT messages and sends each to its corresponding destination via Intra M-Robot communication. 4. Coordinating M-Robot modules through Intra M-Robot communication The M-Robot demonstrates robot behaviour due to module synchronisation. This global behaviour is required to move the M-Robot as a unit. For example, in order to complete an action such as displacement of the M-Robot, it requires simultaneous movements across numerous modules. Therefore, it would require
J. Baca et al. / Robotics and Autonomous Systems 66 (2015) 159–174
163
Fig. 7. M-Robot synchronisation using a closed-loop discrete time method.
starting and finishing all joint module movements at the same instant of time. Hence with synchronisation, it is possible to create behaviours based on the robot configuration [23]. Fig. 6(a) shows the synchronised joint movement of the M-Robot to perform legged motion while Fig. 6(b) shows the wheel-based robot behaviour of rotation and translation motion. A problem in distributed computational systems is the lack of a global clock [24]. This inhibits carrying out concurrent actions in a
Fig. 9. Implementation of the remote clock reading method.
coordinated manner. Several architectures have been proposed to overcome this problem [25] and the one used most is the messagepassing method [26]. From the computational point of view,
Fig. 8. Photo sequence of (a) non-synchronised colony test. (b) Synchronised colony test.
164
J. Baca et al. / Robotics and Autonomous Systems 66 (2015) 159–174
every N control cycles and consists of a high priority short CAN message. In theory, all modules receive the message at the same time, but in practice there is a small difference of time in message arrival between the different modules, which has been taken into consideration and each time the message is received, a local timer (tick counter) is reset and its previous values are used to correct the local timer period. When a synchronising message enters the process, the current counter value is used to recalculate the local timer period. Consequently the counter is reset. 4.2. Implementation
Fig. 10. Tight–loose cooperation scheme for modular robot systems.
modular robots are a set of processing units joined by a communication bus. Therefore, message-passing methods are seen as a possible solution to synchronisation problems in modular robots. 4.1. A tight cooperation strategy based on closed-loop discrete time method A cooperative control strategy can be termed tight when the cooperation requires a continuous coordination between the robots. When talking about modular robot systems, the modules belonging to each robot configuration have to work in perfect synchrony to behave as a single robot. A closed-loop discrete time method consists of keeping all system clocks in the same phase and period, using a single short message in every cycle. The period of that cycle can be relatively longer (seconds) than the control cycle period (milliseconds, typically the period of timer interruption). The method needs a periodic signal acting as a trigger for the closed-loop. This signal is generated by the master module for
Each master software in the module (MsM) has its own timer running when a timeout is reached synchronisation signal generation. The idea consists of sending a message from the MsM to all slave softwares in the modules (SsMs) within the M-Robot configuration. The SsM receives the message and adjusts the period of its timer. To pick up the synchronisation signal, a low-level interrupter message associated with the successful reception of a message in a defined mailbox is programmed. Once the message has been received, the period of every slave timer is recalculated following Eq. (1) which is the implementation of closed-loop discrete time method discussed previously. Ti+1 =
arctan C × Ti + t N
(1)
where: C : Number of control cycles; Ti : Current local timer period. t: Current cycle timer ticks; N: Control cycles/synchronised period. At this time, the MsM and SsM within the M-Robot should have the same phase and period, as shown in Fig. 7(a). In this way actions can be executed in a coordinated manner. For example, using the above method it is possible to change from one modular
Fig. 11. (a) Union and intersection of bar-pushing tasks. (b) Negotiation loop.
J. Baca et al. / Robotics and Autonomous Systems 66 (2015) 159–174
Fig. 12. Implementation loop of tight–loose cooperation strategy.
robot configuration to another configuration with simultaneous joint movements, as shown in Fig. 7(b) where a wheel-based robot configuration is reconfigured to a leg-based robot configuration by synchronised joint movement. 5. Coordinating a colony of M-Robots through Inter M-Robot communication After achieving locomotion within a modular robot configuration in Section 4 through Intra M-Robot communication, a more
165
complex circumstance may appear during a mission where selfreconfiguration capability is unable to complete the task. In such a case, it is necessary to have the possibility to coordinate multiple M-Robots as a colony to perform a cooperative task. Example of one such task is moving a used source (used in experiments and is an activated component) to long term storage facility. The weight of the source requires higher torque which a single M-Robot configuration can provide, hence requiring simultaneously pushing or lifting an object. The main idea of coordinating a colony of modular robots is the creation of a colony behaviour to successfully execute such a task. A bar-pushing task is presented to prove the ability of presented coordination strategy for a robot colony to coordinate between the robot configurations and performing a task. The task is simplified from the problem of transportation of the source to long term storage and a single M-Robot is unable to achieve it and hence needs to collaborate with other M-Robots in the colony to succeed. Fig. 8(a) displays the execution of a non-synchronised W2MRobot (W2M-Robot is a two wheeled modular robot configuration made up of two joint modules, 2 specialised wheel modules and a power and control module) colony performing rotational motions.
Fig. 13. (a) Visual tracking interface. (b) Position where robots must apply the push force.
Fig. 14. (a) The W2M-Robot configuration moves as a differential drive mobile robot. Synchronisation of M-Robot modules is required to achieve correct robot behaviour. (b) Ideal forward displacement.
166
J. Baca et al. / Robotics and Autonomous Systems 66 (2015) 159–174
Fig. 15. (a) Robot’s orientation error in the x–y plane during forward displacement. (b) Robot’s translational motion error in the x-axis during the forward displacement.
In this example, the operator sends the order to the colony through the MsM of each W2M-Robot to execute the task according to its own timer. Hence, the result is the execution of the task at different instants of time. The graph displays both W2M-Robot orientations and the letters (A–E) represent the instant of time when the robot executes a new action. Although both robots are required to perform the same action at the same time, there is an undefined time offset between both robots during the task execution. On the other hand, if synchronisation among the colony is adequately achieved, then simultaneous parallel motion is executed with both W2M-Robots, as shown in Fig. 8(b). The graph displays a homogeneous execution of different actions. 5.1. A tight cooperation strategy based on remote clock reading method The remote clock reading method is defined as the method that handles unbounded message delays between processes [27]. This protocol is also used by other clock synchronising methods [28,29]. When a process requires a time estimation of a remote process, it sends a time request and waits for the remote process to respond. When it receives the response, the process calculates the round-trip as the difference between the time at which it initiated the request and the time at which it received the response. The response contains the time on the remote process. It corrects its local clock to the sum of the estimate and half the round-trip time.
5.2. Implementation In order to achieve the desired synchronisation, a control station (Computer used by the operator) is used as the main task coordinator. While the MsM synchronises the SsMs, the control station periodically requests a signal (clk) from each of the M-Robot in the colony via BT to indicate their respective timer value. The control station calculates the offset between clk of the different M-Robot and sends the correction necessary to the corresponding MsM, as shown in Fig. 9. Thus, synchronisation is achieved for multiple robots. The motion control loops are executed at the same time, thereby enabling the execution of simultaneous movements in the robots. The timing calculations do account for communication delays which are expected with BT message transmission. The operator can set the period of transmission of the sync signal for the robots as well as the minimum allowable gap in synchronisation signals. As the number of robots in the colony increases, the minimum allowable gap also needs to be recalibrated. 6. Cooperative task planning through Intra/Inter M-Robot communications In cooperative task planning, a given task has to be partitioned into sub-tasks, and sub-tasks have to be assigned to individual team-members (M-Robots) for execution. The task planning algorithm decides which robot is best suited for each of the points, taking into account the robots’ preferences and limitations w.r.t. locomotion, sensors, battery status, distance, and achieving
J. Baca et al. / Robotics and Autonomous Systems 66 (2015) 159–174
167
Fig. 16. Example of a rotational motion and robot’s translational errors.
an optimal allocation. Coordination techniques performing task subdivision at a high level is preferred by the operator, to be able to easily optimise the task depending on the need. It is performed either by a command and control station or by a specific teammember focused on the sub-task allocation problem. The robots preferences and limitations are considered only in the assignment stage. This feature is especially important when the robots that compose the team are of different kinds with respect to mobility and equipment, and the tasks they can perform vary significantly. The SMART system is not designed with a particular task in mind. Rather, it serves as a platform for operating in different mission scenarios. The objective is to develop a multi-task system that is capable of working with different kinds of tasks as shown in Fig. 10. For this purpose, an abstract task concept is defined i.e., a barpushing task. 6.1. A combined tight–loose cooperation strategies for task subdivision based on a negotiation protocol The selected loose cooperation strategy is based on a negotiation protocol [30]. This negotiation algorithm performs a simultaneous task subdivision and allocation, taking into account robots’ preferences. The coordination algorithm presented in this section is based on Rubinstein’s alternate-offers protocol [31] and performs a simultaneous task subdivision and allocation in a distributed way, taking into account robot characteristics. 6.1.1. Task subdivision The task objective is to push a bar or box to a desired location, or equivalently, to push the bar in a desired direction. This is an
instance of a more general task partitioning problem that has been generalised as follows. Given a global task T0 and r robots, the problem is how to partition T0 into r non-overlapping sub-tasks, such that Ti ∩ Tj = ⊘,
∀i, j = 1 . . . r and
r
Ti = T
i=1
and how to assign sub-tasks to the robots for execution. The technique we employ performs the two steps simultaneously and in a distributed way: each robot is aware of its own characteristics but does not know anything about its team-mates’ characteristics. In the approach, the original task T0 , in this case the desired direction, is divided into two sub-tasks through a negotiation process, where each robot claims a desired push location and force such that the combination of the push actions of the two robots results in the desired direction. A task Ti is described by a set of k parameters Pi . In this case, k = 2, and Pi = {Li , Fi }, i = 1, 2. This means pushing the bar at location Li with force Fi for 1t time.1 To perform a task of motion, the parameters that are required are the position and force required which are calculated from the visual tracking interface (VTI). Operators ∩, ∪ are to be defined according to the meaning of the task. In this case, considering the task parameters Pi as vectors, and taking into account standard vector addition, the union of two tasks is the projection of the sum into the desired direction vector (‘‘useful’’
1 To be precise, the application of a force at a given distance from the centre of mass of the bar produces a torque. Such torque, applied for 1t time produces a change of direction of the bar.
168
J. Baca et al. / Robotics and Autonomous Systems 66 (2015) 159–174
Fig. 17. (a) Robot’s translational error in x-axis during rotational motion. (b) Robot’s translational error in y-axis during rotational motion.
component), and the intersection as the projection of the addition on the vector orthogonal to the desired direction (‘‘wasted’’ component), as shown in Fig. 11(a). 6.1.2. Task assignment The task negotiation process is a bargaining loop where, in turns, each robot proposes its desired push location and force, and the other computes the best push location and force for itself, taking into account the combination of the two actions, the current bar orientation, and considering that a good combination is such that the resulting direction is the one defined in T0 . It is assumed that robots are willing to perform as much as they can of the given task, the only limitations being their available resources (endurance, computation power, battery consumption etc.). Thus, in a negotiation, each agent will try to maximise its reward by (i) trying to obtain a possible sub-task as large as possible (the closer to T0 the better) and (ii) minimising overlap with other agents’ tasks (intersection, i.e. wasted effort). Each agent proposes the biggest possible share for itself, and reduces it until the counterpart finds it acceptable. Fig. 11(b) depicts the negotiation process. At the end of each bargaining loop, the robots perform the agreed pushing action. Note that since the actions eventually cause a change in the orientation of the bar, the negotiation is performed again at each outer control loop, taking into account the actual bar position. 6.2. Implementation
condition of this testbed is to have a semi-autonomous team of MRobots performing the task after assigning the initial conditions. Task partition and allocation will be given by a loose cooperation strategy, and module coordination by a tight cooperation strategy. The cooperative task execution is performed according to the negotiation algorithm’s demands. Once the subtasks have been achieved, the new position and orientation parameters from the objects are uploaded to the negotiation algorithm and the cycle begins once again until task fulfilment (Fig. 12). In a cooperative task, the main goal and the quantity of robots to use are settled in advance. In this case, a bar-pushing task has to be performed with two wheel-based modular robots, as shown in Fig. 13(a). The scenario is composed of a bar and two W2MRobots. Due to the fact that the robots do not contain any sensors, a video camera is placed on top of the scenario to capture the data required for the negotiation algorithm. In order to introduce the data into a loose cooperation strategy, a visual tracking interface (VTI) based on video feedback was developed. At the beginning of the experiment, the bar and each M-Robot position and orientation are manually captured by the operator by clicking over each object on the VTI, as shown in Fig. 13(b). The desired bar orientation is introduced into the algorithm and it can be dynamically changed during the task. With this information and by Eqs. (2)–(5) (W2MRobot1 case), the interface displays on the screen the contact point over the longitudinal axis of the bar where each W2M-Robot should apply the push force (shown in Fig. 13(c)).
⃗ = OA ⃗ + AX ⃗ OX
(2)
where O is the origin in Fig. 13(b). The implementation consists of creating a control loop between the cooperative task and the modular robot colony. The main
⃗ = Pr1 ∗ (AB ˆ x , AB ˆ y) AX
(3)
J. Baca et al. / Robotics and Autonomous Systems 66 (2015) 159–174
169
Fig. 18. (a) Pushing the bar with a non-synchronised colony. (b) VTI data.
Fig. 19. (a) Bar’s orientation error in the x–y plane during the bar-pushing task execution with a non-synchronised colony. (b) Translational error in the y-axis between W2M-Robot1 and W2M-Robot2 .
170
J. Baca et al. / Robotics and Autonomous Systems 66 (2015) 159–174
Fig. 20. (a) Bar’s orientation error in the x–y plane during the bar-pushing task execution with a synchronised colony. (b) Translational error in the y-axis between W2MRobot1 and W2M-Robot2 .
ˆ = AB
⃗x AB
∥AB∥ ∥AB∥
∥AB∥ =
,
⃗y AB
2
2
⃗ x + AB ⃗y AB
(4)
be evaluated into a single error graph (it displays the mean and the standard deviation values considering all test groups) to show the modular robot’s performance during the execution of the task, as shown in Fig. 15 (right).
(5)
where:
⃗ = Push force contact for robot1 ; Pr1 = Value generated by OX the negotiation algorithm. 7. Experiments and results The analysis focuses on the robot’s motion behaviour during the execution of the task. In this case, the robot’s orientation and translational error w.r.t. an ideal displacement are the values that determine how well the robot performs the motion. It is important to mention that, the most critical moment, while a modular robot is performing motion, is when the MsM receives the message from the control station and delivers it to the corresponding SsMs, i.e., during the first instants of motion. It is during this moment, when both, synchronisation and mechanical requirements influence the execution of the task. Hence, the experimental results from each test are analysed during the first seconds of the task. Using the visual tracking interface (VTI) described in Section 6.2, the robot’s position and orientation parameters are captured every second into the tracking system. To evaluate the execution of the cooperative tasks each test is repeated several times. For illustrative purposes, the average value of a set of five trials is represented as a test group, as shown in Fig. 15 (left). Due to the repeatability on the execution of the experiment, the experimental results can
7.1. Execution of locomotion as a differential drive mobile robot configuration The first experiment attempts to demonstrate that the W2MRobot configuration can satisfactorily perform a behaviour that a standard robot of its kind can do. The robot configuration used in this experiment is composed by one P /C module, two J modules, two S modules, and two software types (MsM and SsM). Each software type loaded on each side of the P /C module controls its corresponding J module, therefore a tight cooperation between the MsM and SsM has to be carried out. The assembled W2MRobot configuration should behave as a differential drive mobile robot, that is, forward, backward and rotation movements have to be performed in a proper manner to satisfy the demonstration, as shown in Fig. 14(a). 7.1.1. Forward displacement It is expected that during the execution of an ideal forward displacement (without considering gear backlash from the J modules, and video feedback error), the robot’s translational motion in the x-axis and the robot’s orientation should not change over the time, as shown in Fig. 14(b). The experimental results in Fig. 15 show that the W2M-Robot configuration achieves a satisfactory performance during forward displacement. The robot’s orientation mean error value is 0.56° and the robot’s translational motion mean error value in the x-axis is 1.74 mm.
J. Baca et al. / Robotics and Autonomous Systems 66 (2015) 159–174
171
Fig. 21. The desired bar orientation can be dynamically changed and new subtasks are assigned to the corresponding robots.
7.1.2. Rotational motion A second task that shows that the W2M-Robot can behave as a differential drive mobile robot is the execution of rotational motion around a fixed axis, as shown in Fig. 14(a). It is expected that during the execution of an ideal rotation around its centre, the robot’s centre position should not change over time, i.e., the starting and finishing centre position should be maintained during the execution of the task. Fig. 16 displays an example of a change on the robot’s position when rotating the robot towards right and left. It also shows the robot’s orientation and translation error in x and y axes during rotation. In the same manner as the W2M-Robot’s forward displacement was analysed, the W2M-Robot’s rotational motion is analysed. For this reason, several tests are performed to show the robot’s centre position when rotating right and left, as shown in Fig. 17. One can see in Fig. 17(a), that the translational motion mean error value in the x-axis is 3.9327 mm and in Fig. 17(b), that the translational motion mean error value in the y-axis is 0.5789 mm. 7.2. Execution of parallel motion with an M-Robot colony The complexity of this task lies on the effectiveness of having two coordination strategies at the same time. The method described in Section 4 takes care of coordinating modules belonging to the same M-Robot and the method described in Section 5 takes care of coordinating M-Robots belonging to a colony. It is valuable
to understand how both methods can work satisfactorily for the execution of a cooperative task. The objective of this task consists of pushing a bar forward using two W2M-Robots while keeping the bar’s orientation constant. The parameters that determine how well the colony performs the task are the bar’s orientation and the translational motion between both robots in the y-axis during the test. By means of the VTI, the position and orientation of the objects are captured into the system, as shown in Fig. 18. 7.2.1. Execution of a bar-pushing task with a non synchronised W2MRobot colony As a reference point, the first experiment consists of executing a bar-pushing task with a colony of W2M-Robots without been synchronised. Several tests are performed to show the bar’s orientation and translational error in the y-axis between both W2M-Robots. The experimental results are evaluated into a single error graph to display the execution’s performance. Considering all tests, the bar’s orientation mean error value in the x–y plane is 2.0227° (Fig. 19(a)) and the robot’s translational mean error value in the y-axis between both robots is 28.6854 mm (Fig. 19(b)). 7.2.2. Execution of a bar-pushing task with a synchronised W2MRobot colony The second experiment consists of executing the bar-pushing task with a synchronised colony of W2M-Robots. The parameters
172
J. Baca et al. / Robotics and Autonomous Systems 66 (2015) 159–174
Fig. 22. (a) Pushing the bar with a desired orientation. (b) W2M-Robots’ orientation. (c) Bar’s orientation during the execution of the task.
that determine how well the colony performs the task are the bar’s orientation and the translational motion between both robots in the y-axis during the test. Like in previous experiments, several tests are performed to illustrate the task execution. The experimental results are evaluated into a single error graph to display the task performance. Considering all tests the bar’s orientation mean error value in the x–y plane is 0.2727° (Fig. 20(a)) and the robot’s translational mean error value between both robots in the y-axis is 2.6908 mm (Fig. 20(b)). 7.3. Execution of a bar-pushing task based on a cooperative task planning The intention of this task is to demonstrate that a modular robot colony can satisfactorily perform a cooperative task, just as similarly specialised robots can. Therefore, the modular robot colony will be controlled by a loose cooperation strategy which was designed for specialised robots. A bar-pushing task is used
as an example to explore the cooperation between two wheelbased modular robot configurations. The overall experiment can be divided into two stages, the first stage consists of pushing the bar to a desired orientation and the second stage consists of pushing the bar with desired orientation. Within the first stage, it can be observed at the photo sequence in Fig. 21 that the negotiation algorithm divides the mission in subtasks and assigns them to the corresponding robot to complete the goal. Each robot configuration performs its own task in an autonomous way until the bar’s orientation matches the desired orientation. Once the desired bar orientation is achieved in the previous stage, the colony proceeds to push the bar keeping the bar’s orientation. The complexity of the task lies on the fact that both robots should simultaneously move in a coordinated fashion to achieve the goal. If the bar’s orientation significantly changes with respect to the desired bar’s orientation, then the first stage is executed instead. Due to the fact that the negotiation algorithm is executed in real-time, it is possible to dynamically change the desired bar orientation, as shown in Fig. 21.
J. Baca et al. / Robotics and Autonomous Systems 66 (2015) 159–174
173
References
Fig. 23. Final bar’s orientation error after pushing the bar.
Once proven that solutions are instantly given by the cooperative task planning and robot actions are executed according to its own robot configuration, it is just a matter of pushing forward with both robots over the indicated zones. Fig. 22 shows a photo sequence of a bar-pushing task execution with a desired bar’s orientation. Several tests with different desired bar orientations are executed to find out the error value at the end of the execution of the task. This error value determines how precise is the cooperative task execution, as shown in Fig. 23. The experimental results display an error value of ±4° between the desired bar’s orientation and the bar’s orientation. The error value when pushing the bar to a desired orientation influences the final results of the task execution. However, if synchronisation within M-Robot modules occurs at higher frequency, the error at the end of the task is reduced. 8. Conclusion This work is towards the execution of cooperative tasks by modular robots and leveraging the use of a modular robot system for the execution of various tasks in hazardous environment over conventional robot systems. The work presents contributions about coordination mechanisms that allowed the execution of cooperative tasks with modular robotic systems. The implementation of a tight cooperation strategy through Intra M-Robot communication based on a closed-loop discrete time method and the remote clock across the robot configuration allowed proper coordination between the colony. Using the remote clock the colony coordination permits the execution of parallel motions. The results of the execution of bar-pushing example of cooperative task between nonsynchronised and synchronised colonies are presented along with semi-autonomous implementation. The bar-pushing experiment can be used in practice for moving tools and material example, the used targets at the ISOLDE experiment can be placed on a wheeled platform and the modular robots push the platform to the destination. Similarly special tools for the robots can also be brought to them by the modular robots. The results demonstrate the success of modular robots to execute cooperative task similar to that of conventional robots. Our future work is to continue demonstrating that modular robots are a feasible solution for deployment in large scientific and industrial facilities having hazardous environments to perform wide range of tasks. Acknowledgements The authors would like to thank CONACYT and the Spanish Ministry of Economy and Competitiveness that found the TeleScale project under grant DPI2012-32509 for financing this research project.
[1] S. Yamamoto, Development of inspection robot for nuclear power plant, in: Proc. IEEE International Conference on Robotics and Automation, 1992. [2] L. Briones, P. Bustamante, M. Serna, Wall-climbing robot for inspection in nuclear power plants, in: Proc. IEEE International Conference on Robotics and Automation, IEEE Comput. Soc. Press, 1994, pp. 1409–1414. http://dx.doi.org/10.1109/ROBOT.1994.351292. [3] M. Yim, W.-M. Shen, B. Salemi, D. Rus, M. Moll, H. Lipson, E. Klavins, G.S. Chirikjian, Modular self-reconfigurable robot systems [grand challenges of robotics], IEEE Robot. Autom. Mag. 14 (1) (2007) 43–52. http://dx.doi.org/10.1109/MRA.2007.339623. [4] T. Fukuda, S. Nakagawa, Dynamically reconfigurable robotic system, in: Proc. Conf. IEEE Int. Robotics and Automation, vol. 3, 1988, pp. 1581–1586. http://dx.doi.org/10.1109/ROBOT.1988.12291. [5] M. Yim, New locomotion gaits, in: IEEE International Conference on Robotics and Automation, vol. 3, 1994, pp. 2508–2514. http://dx.doi.org/10.1109/ROBOT.1994.351134. [6] E. Yoshida, S. Murata, S. Kokaji, K. Tomita, H. Kurokawa, Micro selfreconfigurable robotic system using shape memory alloy, in: Proc. Distributed Autonomous Robotic Systems, 2000, pp. 145–155. [7] K. Kotay, D. Rus, M. Vona, C. McGray, The self-reconfiguring robotic molecule, in: 1998 IEEE Int. Conference on Robotics Automation, 1998, pp. 424–431. [8] K. Matsumoto, H. Chen, J. Ota, T. Arai, Automatic parameter identification for cooperative modular robots, in: Proc. Int. Symposium on Assembly and Task Planning, 2001, pp. 282–287. http://dx.doi.org/10.1109/ISATP.2001.929036. [9] L. Su, L. Shi, Y. Yu, Collaborative assembly operation between two modular robots based on the optical position feedback, J. Robot. 2009 (2009) 8 pages. http://dx.doi.org/10.1155/2009/214154. [10] L. Parker, Current research in multi-robot systems, J. Artif. Life Robot. 7 (2003) 1–5. [11] L. Parker, L-ALLIANCE: task-oriented multi-robot learning in behaviour-based systems, Adv. Robot. (1996). Special Issue on Selected Papers from IROS’96. [12] R.C. Arkin, Cooperation without communication: multiagent schema-based robot navigation, J. Robot. Syst. 9 (3) (1992) 351–364. [13] M.B. Dias, A.T. Stentz, TraderBots: A Market-based Approach for Resource, Role, and Task Allocation in Multirobot Coordination, Tech. Rep. CMU-RI -TR03-19, Robotics Institute, Pittsburgh, PA, 2003, August. [14] B.P. Gerkey, M.J. Mataric, Sold!: Auction methods for multirobot coordination,Trans. Robot. Autom. 18:5. [15] M. Yim, Y. Zhang, K. Roufas, D. Duff, C. Eldershaw, Connecting and disconnecting for chain self-reconfiguration with polybot, IEEE/ASME Trans. Mechatronics 7 (4) (2002) 442–451. http://dx.doi.org/10.1109/TMECH.2002.806221. [16] S. Murata, E. Yoshida, A. Kamimura, H. Kurokawa, K. Tomita, S. Kokaji, M-TRAN: self-reconfigurable modular robotic system, IEEE/ASME Trans. Mechatronics 7 (4) (2002) 431–441. [17] G.T. McKee, P.S. Schenker, Networked robotics, in: Sensor Fusion Decentralized Control In Robotic Systems III, vol. 4196, 2000, pp. 197–209. [18] L. Navarro-Serment, R. Grabowski, C.J.J. Paredis, P. Khosla, Millibots, IEEE Robot. Autom. Mag. 9 (4) (2002) 31–40. [19] E. Kugler, The ISOLDE facility, Hyperfine Interact. 129 (1–4) (2000) 23–42. [20] CERN, HIE-ISOLDE Project. URL: http://hie-isolde.web.cern.ch/hie-isolde/. [21] P.E. Dodd, L.W. Massengill, Basic mechanisms and modeling of single-event upset in digital microelectronics, IEEE Trans. Nucl. Sci. 50 (3) (2003) 583–602. http://dx.doi.org/10.1109/TNS.2003.813129. [22] J. Baca, M. Ferre, R. Aracil, A heterogeneous modular robotic design for fast response to a diversity of tasks, Robot. Auton. Syst. 60 (4) (2012) 522–531. http://dx.doi.org/10.1016/j.robot.2011.11.013. [23] J. Baca, C. Rossi, M. Ferre, R. Aracil, Cooperative task execution between modular robots based on tight-loose cooperation strategies, in: Proc. IEEE Int. Conf. on Robotics and Automation, 2011. [24] R. Chow, T. Johnson, Distributed Operating Systems and Algorithms, AddisonWesley, 1997. [25] R. Duncan, A survey of parallel computer architectures, Computer 23 (2) (1990) 5–16. http://dx.doi.org/10.1109/2.44900. [26] J. Xu, K. Hwang, Heuristic methods for dynamic load balancing in a message-passing supercomputer, in: Proceedings of Supercomputing, 1990, pp. 888–897. [27] F. Cristian, Probabilistic clock synchronization, Distrib. Comput. 3 (1989) 146–158. [28] R. Gusella, S. Zatti, TEMPO—a network time controller for a distributed berkeley UNIX system, in: IEEE Distributed Processing Technical Committee Newsletter, 1984, pp. 7–14. [29] A. Olson, K. Shin, Fault-tolerantclock synchronization in large multicomputer systems, IEEE Trans. Parallel Distrib. Syst. 5 (9) (1994) 912–923. [30] C. Rossi, L. Aldama, A. Barrientos, Simultaneous task subdivision and allocation for teams of heterogeneous robots, in: IEEE Int. Conf. on Robotics and Automation, 2009, pp. 946–951. http://dx.doi.org/10.1109/ROBOT.2009.5152299. [31] A. Rubinstein, Perfect equilibrium in a bargaining model, Econometrica 50 (1) (1982).
174
J. Baca et al. / Robotics and Autonomous Systems 66 (2015) 159–174
José Baca is a Postdoctoral Researcher in the Computer Science Department at the University of Nebraska at Omaha. He joined the CMANTIC Lab to continue his research career on modular robots. He received his Ph.D. in Automation and Robotics from Universidad Politécnica de Madrid, Spain, his M.Sc. degree in Mechatronics from the University of Applied Sciences in Aachen, Germany–CIDESI, Mexico and his B.S. degree in Electronics Engineering from Matamoros Institute of Technology, Mexico. His main research interests include: robotics, modular systems, mechanical designs, mechatronics, human–machine interfaces, including applications in industry, medicine, field robotics, and space exploration.
Prithvi Pagala was an early stage researcher at Center for Automation and Robotics (CAR UPM-CSIC) working on modular robots for maintenance tasks in hazardous workspace and recieved his Ph.D. in Automation and Robotics from Universidad Politécnica de Madrid, Spain. He received his Master of Science degree in Control and Embedded Instrumentation from ESIGELEC, France and Manipal University, India. His main research interests include: modular robotic systems, hazardous workspace robot deployments, embedded systems, mechatronics, human–machine interfaces and cooperative robots.
Claudio Rossi is a Professor at the Universidad Politécnica de Madrid (UPM), Spain. He received his Ph.D. in Computer Science from the University of Bologna, Italy, in 2001. His research interests are centred on problem solving and its applications to robotics, from perception and object tracking to multi-robot cooperative localisation and evolutionary robotics. Currently, he is working on multirobot cooperation, task subdivision and coordination, evolutionary robotics and bio-inspired robots. He has been a Post-doctoral Research Fellow in the Department of Artificial Intelligence at the UPM, Visiting Professor at the University Carlos III of Madrid and ‘‘Ramon y Cajal’’ Fellow at the UPM. Manuel Ferre received the Laurea degree in Control Engineering and Electronics and the Ph.D. degree in Automation and Robotics from ‘Universidad Politécnica de Madrid’ (UPM), Madrid, Spain, in 1992 and 1997, respectively. He is currently a Professor Titular at UPM, and Vice Director of Centre for Automation and Robotics. He has participated and coordinated several research projects in robotics, telerobotics and automatic control, at national and international programs. His research interest is focused on automatic control, advanced telerobotics, haptics and human–robot interaction. He has published over 100 papers in these fields, and has three patents related to human interfaces for teleoperation. He has also edited many publications, and currently is Editor of the ‘Springer Series on Touch and Haptic Systems’.