Mechanism and Machine Theory - VCC€¦ · ICubes robot [8] uses a manipulator composed of rigid...

11
Mechanism and Machine Theory 124 (2018) 248–258 Contents lists available at ScienceDirect Mechanism and Machine Theory journal homepage: www.elsevier.com/locate/mechmachtheory An underactuated self-reconfigurable robot and the reconfiguration evolution Tan Zhang a,b,, Wenjun Zhang c,d , Madan M. Gupta d a College of Computer Science and Software Engineering, Shenzhen University, Shenzhen, China b Division of Biomedical Engineering, University of Saskatchewan, Saskatoon, Canada c School of Mechatronics and Automation, Shanghai University, Shanghai, China d Department of Mechanical Engineering, University of Saskatchewan, Saskatoon, Canada a r t i c l e i n f o Article history: Received 27 September 2017 Revised 10 February 2018 Accepted 13 March 2018 Available online 22 March 2018 Keywords: Underactuated self-reconfigurable robot Docking system Reconfiguration planning Reconfiguration scheduling a b s t r a c t Biological cells and tissues have diversified behaviors, which are supported by active tis- sues and passive tissues. Inspired by this, an underactuated self-reconfigurable robot was designed with passive joints and active joints. The inclusion of passive joints can offer benefits not only on cost but also on functionality. This paper presents the architecture of the underactuated self-reconfigurable robot, a computational model of reconfiguration planning and reconfiguration scheduling. An experiment is given to demonstrate the re- configuration process. © 2018 Elsevier Ltd. All rights reserved. 1. Introduction Self-reconfigurable robots are robots that are composed of a set of modules that can change their configuration. These robots are used in unknown environments where robots may be required to change their configurations to meet the de- mands of a specific task. Particularly in planetary exploration, the robots are desirable to be cost-effective, for example, to employ a single robot that is capable of performing different tasks such as assembling and carrying objects and recovering its original function after partial damage. Most self-reconfigurable robotic systems are homogeneous systems that consist of identical active modules which en- capsulate actuators, connection systems, sensors, controllers, and effectors [1–6]. In contrast, there are fewer studies on heterogeneous self-reconfigurable robots [7–9]. Odin robot [7] consists of active links and active joints, in which the active links provide power and structure functionalities, and the active joints transfer the power and information between any adjacent links. ICubes robot [8] uses a manipulator composed of rigid links and active joints to move passive cubes around. Morpho robot [9] consists of passive modules and active modules and connectors, in which the passive modules function as linear joints, and they are specified for contraction and extension only. In short, heterogeneous systems that take advantage of passive joints and passive links reduce energy consumption for the actuators and increase the functionalities. This paper proposes an underactuated self-reconfigurable robot that has active joints and passive joints. The main contribution of this paper is a computational model of reconfiguration of an underactuated self-reconfigurable robot with a novel docking system. First, we analyze the architecture of the underactuated self-reconfigurable robot and the Corresponding author. E-mail addresses: [email protected] (T. Zhang), [email protected] (W. Zhang), [email protected] (M.M. Gupta). https://doi.org/10.1016/j.mechmachtheory.2018.03.004 0094-114X/© 2018 Elsevier Ltd. All rights reserved.

Transcript of Mechanism and Machine Theory - VCC€¦ · ICubes robot [8] uses a manipulator composed of rigid...

Page 1: Mechanism and Machine Theory - VCC€¦ · ICubes robot [8] uses a manipulator composed of rigid links and active joints to move passive cubes around. Morpho robot [9] consists of

Mechanism and Machine Theory 124 (2018) 248–258

Contents lists available at ScienceDirect

Mechanism and Machine Theory

journal homepage: www.elsevier.com/locate/mechmachtheory

An underactuated self-reconfigurable robot and the

reconfiguration evolution

Tan Zhang

a , b , ∗, Wenjun Zhang

c , d , Madan M. Gupta

d

a College of Computer Science and Software Engineering, Shenzhen University, Shenzhen, China b Division of Biomedical Engineering, University of Saskatchewan, Saskatoon, Canada c School of Mechatronics and Automation, Shanghai University, Shanghai, China d Department of Mechanical Engineering, University of Saskatchewan, Saskatoon, Canada

a r t i c l e i n f o

Article history:

Received 27 September 2017

Revised 10 February 2018

Accepted 13 March 2018

Available online 22 March 2018

Keywords:

Underactuated self-reconfigurable robot

Docking system

Reconfiguration planning

Reconfiguration scheduling

a b s t r a c t

Biological cells and tissues have diversified behaviors, which are supported by active tis-

sues and passive tissues. Inspired by this, an underactuated self-reconfigurable robot was

designed with passive joints and active joints. The inclusion of passive joints can offer

benefits not only on cost but also on functionality. This paper presents the architecture

of the underactuated self-reconfigurable robot, a computational model of reconfiguration

planning and reconfiguration scheduling. An experiment is given to demonstrate the re-

configuration process.

© 2018 Elsevier Ltd. All rights reserved.

1. Introduction

Self-reconfigurable robots are robots that are composed of a set of modules that can change their configuration. These

robots are used in unknown environments where robots may be required to change their configurations to meet the de-

mands of a specific task. Particularly in planetary exploration, the robots are desirable to be cost-effective, for example, to

employ a single robot that is capable of performing different tasks such as assembling and carrying objects and recovering

its original function after partial damage.

Most self-reconfigurable robotic systems are homogeneous systems that consist of identical active modules which en-

capsulate actuators, connection systems, sensors, controllers, and effectors [1–6] . In contrast, there are fewer studies on

heterogeneous self-reconfigurable robots [7–9] . Odin robot [7] consists of active links and active joints, in which the active

links provide power and structure functionalities, and the active joints transfer the power and information between any

adjacent links. ICubes robot [8] uses a manipulator composed of rigid links and active joints to move passive cubes around.

Morpho robot [9] consists of passive modules and active modules and connectors, in which the passive modules function as

linear joints, and they are specified for contraction and extension only. In short, heterogeneous systems that take advantage

of passive joints and passive links reduce energy consumption for the actuators and increase the functionalities. This paper

proposes an underactuated self-reconfigurable robot that has active joints and passive joints.

The main contribution of this paper is a computational model of reconfiguration of an underactuated self-reconfigurable

robot with a novel docking system. First, we analyze the architecture of the underactuated self-reconfigurable robot and the

∗ Corresponding author.

E-mail addresses: [email protected] (T. Zhang), [email protected] (W. Zhang), [email protected] (M.M. Gupta).

https://doi.org/10.1016/j.mechmachtheory.2018.03.004

0094-114X/© 2018 Elsevier Ltd. All rights reserved.

Page 2: Mechanism and Machine Theory - VCC€¦ · ICubes robot [8] uses a manipulator composed of rigid links and active joints to move passive cubes around. Morpho robot [9] consists of

T. Zhang et al. / Mechanism and Machine Theory 124 (2018) 248–258 249

docking system. Second, we give a computational model of the self-reconfiguration problem for the proposed architecture.

Third, a design case is given to demonstrate how the proposed model work.

This paper is organized as follows. Section 2 reviews related work on docking systems and self-reconfiguration prob-

lem. Section 3 describes the design of docking system and the reconfiguration process. Section 4 presents the model of

self-reconfiguration. Section 5 describes an experimental underactuated self-reconfigurable robot to demonstrate the self-

reconfiguration process, and Section 6 gives conclusions and future work.

2. Related work

2.1. Docking systems

To realize self-reconfigurability, an effective connection system for locking and releasing modules is crucial. Numerous

connection systems for self-reconfigurable robots [10–12] or reconfigurable robots [13–15] have been developed The most

common connections are mechanical connections and magnetic connections. Mechanical docking system enables strong con-

nections. A motor or other form of actuating element, such as a shape memory alloy (SMA), is used to mate posts with

latches, or mate holes with grooves. PolyBot robot [2] and CONRO robot [3,16] use peg-and-latch connection systems in

which a peg male part is inserted into the female part, and then a latch falls to lock the connection, and the connection

is released when the shape memory actuators (SMAs) are heated. Crystalline robot [17] uses rack-and-pinion mechanism to

actuate the expansion and contraction of the faces. Each face of the module has part of a connection mechanism. Two out of

the four faces have active latches mechanisms, and the other two have passive channels. The module with faces that actively

make the connection is called active, and the one that allows themselves to be connected is called passive. Similarly, ICubes

robot [18] uses a key-lock connection mechanism, where the key inserts into a hole and rotates, and then is fixed into the

locked position. The detachment action is carried out in reverse order. Another design is to change the peg or key into an

active hook, and the robot uses a hook mechanism to achieve connection and disconnection, such as ATRON robot [19] .

In magnetic connection systems, two surfaces are engaged by the attractive force between two magnets. In M-TRAN

robot [20] , each module’s faces have polarity, and two connected faces have different polarity to connect. Disconnection of

two surfaces is achieved by using SMA coils that, when heated, apply a strong pulling force to overcome the strength of the

magnets. Another method of disconnecting two permanent magnet connectors, as applied to the SMORES platform [21] , is

to insert a docking key system into the connected modules’ docking port, holding it in place, while rotating its connector

to separate the two magnets. This disconnection is much faster than the SMA approach. The locking actions for magnetic

connection systems are relatively simple but the connection is not strong, and it may be disconnected by accident. As well,

it consumes a relatively large amount of energy and needs an actuation mechanism for detachment, which is usually more

complex and increases the weight and energy consumption.

Another issue is that most connection systems have an independent power source for connection and disconnection only,

which is designed at the cost of size, weight, and energy consumption, such as the mechanical connection systems and

magnetic connection systems. To overcome these disadvantages, this paper presents a novel key-lock-based docking system.

Unlike the key-lock connection system in ICubes robot [18] that have only one locked position, the “key” of our docking

system can have two statuses: (1) the “key” has relative motion with the lock, thus forming a passive joint; (2) the “key”

can be locked at different positions in the lock. Since there are active joints, passive joints and links, and all modules can

connect with each other to achieve configuration changes, this robot is called an underactuated self-reconfigurable robot.

The passive joints may be designed in a robot to reduce the robot’s weight, cost, or energy consumption, or an active joint

becomes a passive joint as a result of an actuator failure. It is noted that, in this robot, the reconfiguration (i.e., connections

and disconnections) share the same motor with the locomotion, rather than using a separate drive, which is also a good

way to reduce the cost. As there is no separate actuator for reconfiguration, the disconnection of two modules was achieved

by the cooperation of all actuators in a loop. The inclusion of passive joints increases the degree of freedom (DOF) of the

chain, thus increases the flexibility of disconnection.

2.2. Self-reconfiguration planning and scheduling

The self-reconfiguration problem includes reconfiguration planning and reconfiguration scheduling, which is defined by

the initial configuration and goal configuration. Reconfiguration planning is to find a sequence of moves from an initial con-

figuration to a goal configuration. Reconfiguration scheduling is the realization and implementation of a successful reconfig-

uration planning, including the coordination or control of movements of the modules. It is noted that the goal configuration

search is driven by a specific task, and the goal configuration search for the underactuated self-reconfigurable robot can be

referred to our previous work in [22] .

For the problem of reconfiguration planning, the main idea is heuristic-based. Examples of the work for lattice-type self-

reconfigurable robots can be seen in [23] and [24–28] . It is noted that in lattice-type robots, the position of each module’s

position is specified by a unique 2D or 3D coordinates, and the configuration space is relatively small. However, the configu-

ration space becomes much larger in chain-type robots. Only a few studies on chain-type robots are reported in the current

literature. See, for example, [29–32] . Further, the study in [32] proved that finding the optimal reconfiguration planning

problem of finding the least number of reconfiguration steps to transform from a start configuration to a goal configuration

Page 3: Mechanism and Machine Theory - VCC€¦ · ICubes robot [8] uses a manipulator composed of rigid links and active joints to move passive cubes around. Morpho robot [9] consists of

250 T. Zhang et al. / Mechanism and Machine Theory 124 (2018) 248–258

Fig. 1. Module structures (adapted from [37] ). (a) The 3D view of a passive module (left top), and the 3D view of an active module (left bottom): servo-

motor (1), transmission shaft (2), small gear (3), big gear (4), and output axis (5); (b) the docking system structure.

between two configurations is an NP-complete problem. They have given the lower and the upper bounds for the minimum

number of reconfiguration steps for any given reconfiguration problem. For the problem of reconfiguration realization, cur-

rently, this problem is nearly incorporated into the problem of planning and scheduling. The problem is much simplified to

the level of kinematics; see the work of random movements [33,34] , local rules [35] , and coordinate attractor [36] , which

makes sense in kinematics, as force and torque are not considered in these work.

Currently, such approaches on self-reconfiguration may not be applicable to architectures other than the existing archi-

tectures (i.e., the self-reconfigurable robots that has a uniform type of modules), such as the self-reconfigurable robots with

passive joints, because the passive joints have to be manipulated by their neighboring active joints or active sub-systems or

chains.

3. Module design and reconfiguration process

3.1. Module design

The robotic system consists of two types of fundamental modules, i.e., active modules and passive modules. An active

module is a module that consists of actuators, sensors and docking systems and is used for actuation. The active modules

could provide actuation for locomotion and connections/disconnections. A passive module is a module that contains only

docking system without any electronic devices. As shown in Fig. 1 , both active and passive modules are cuboids. All modules

are structured to have two pairs of docking systems on each of the four sides. Each active module has two servomotors,

which are the power supply of all movements, such as locomotion and reconfiguration. The output power of the motor is

transmitted to the two male interfaces via two gears to an output axis.

The docking system is designed based on a simple key-lock concept [37] . As shown in Fig. 1 , each docking system has a

male interface (key part) and female interface (lock part), and each module is structured to have two male interfaces and

two female interfaces on each of its four sides. The male interface has two bits that engage the docking mechanism of any

female interface of another module, as shown in Fig. 1 b. The female interface has several layers that are spring-driven to

achieve different types of connections.

Both linear and rotation motion are required to connect a female interface and a male interface, see Fig. 1 b. To connect a

pair of the docking system, the male interface of one module is engaged to either Layer 1 or Layer 2 of the female interface

of another module, along Slot 1. To release, the male interface is driven to this slot and released to disengage with the

female interface. When a male interface inserts along Slot 1 and rotates to Layer 1 of a female interface and released, the

Page 4: Mechanism and Machine Theory - VCC€¦ · ICubes robot [8] uses a manipulator composed of rigid links and active joints to move passive cubes around. Morpho robot [9] consists of

T. Zhang et al. / Mechanism and Machine Theory 124 (2018) 248–258 251

Fig. 2. A passive joint (a) and a fixed connection (b) between two modules, and their cross-sectional view of the docking systems, respectively (adapted

from [37] ).

two interfaces are connected to form a passive joint, see Fig. 2 a. Rotate the male interface to Slot 1 and release the male

interface, and the two interfaces are disconnected, and the passive joint is disassembled.

When a male interface is pushed along Slot 2 and rotated, it will be spring-backed to the position between two teeth, and

the two modules are locked and becomes a rigid link, see Fig. 2 b. The length of the new link can be adjusted by changing

the relative angle between two modules, i.e., unlocking the connections (i.e., pushing the male port to the bottom of the

female interface) and then locking the connection (i.e., releasing when the male interface is rotated between another two

teeth). The adjustable length of a link formed by two modules is represented by a shadowed box in Fig. 2 b. The adjustable

connection can be disassembled by rotating the male interface to Slot 2 and then rotating to Slot 1 and then releasing the

male interface. It is noted that there are Velcro male side on Slot 1 and 2 to prevent the male interface from accidentally

slipping out of Layer 1 if the bits of the male interface are aligned with the slots, see Fig. 1 b.

Since there are active joints, passive joints and links, and all modules can connect with each other to achieve configura-

tion changes, this robot is called an underactuated self-reconfigurable robot [37,38] . The architecture of the underactuated

self-reconfigurable robot is as follow:

• An underactuated self-reconfigurable robot consists of two types of modules: joints and links. Further, joints are divided

into active joints and passive joints. A link is formed by two modules with a fixed connection. • The active modules and passive modules are the fundamental parts, and they are not disassembled. • A robot changes its configuration through a serial of docking actions between two modules, i.e., locking (forming a fixed

connection) and unlocking (forming a passive joint), and disconnection (separation). • The male interfaces of active modules provide actuation for both locomotion and reconfiguration. • Docking and undocking actions need both linear and rotation motions and are driven by active modules in a closed-loop

chain. If the male interface module is active, the rotation motion for docking can be driven by the male interface directly.

3.2. Reconfiguration process

Reconfiguration is performed by connecting two branches (i.e., two branches forming a closed-loop), and disconnecting

the closed-loop. Each branch should be a feasible branch in which a passive joint’s neighboring joint is not a passive joint.

Based on the structural design of the modules, there must be at least six modules on the two branches so that the modules

at each end of the branch are feasible to be connected, thus a loop is formed. It is noted that a chain is a series of modules

that are connected together. A serial of modules that may start or end at the intermediate linkage of a chain are called

branches. Thus, the passive joints are manipulated by their neighboring active joints. When neither branch is feasible to

move to the other one due to geometry or gravity, a third feasible branch will pick up one module and connect with

another module. This can be viewed as an enhancement of the reconfigurability. An alternative enhancement is to switch

a fixed connection into a passive joint, thus increasing the degree of freedoms (DOF) of the chain. Fig. 3 demonstrates the

reconfiguration process of a robot with the following sequences:

1) Two branches are connected to form a closed-loop chain, and the junction forms a passive joint.

2) One connection of the two modules that will be separate in the next step is unlocked and become a passive joint. As

needed, the fixed connection can be switched to passive joints to increase the DOF of the chain.

3) The connection in step 1) is locked.

4) The passive joint formed in step 2) is disconnected.

Note that the formation of passive joints formed in step 1) and 2) may be unnecessary if the DOFs of the closed-loop

chain is sufficient to complete a target disconnection. For example, if the required DOFs in the closed-loop chain is satisfied,

the connection in step 1) could become a locked connection directly, instead of passive joints. Thus, step 3) could be skipped.

Similarly, step 2) could be skipped. Thus, two modules are disconnected directly in step 4).

Page 5: Mechanism and Machine Theory - VCC€¦ · ICubes robot [8] uses a manipulator composed of rigid links and active joints to move passive cubes around. Morpho robot [9] consists of

252 T. Zhang et al. / Mechanism and Machine Theory 124 (2018) 248–258

Fig. 3. A sample of connection operation and the corresponding actuation operations: (a) initial configuration, (b) goal configuration, and (c) the represen-

tation of the actuation operation.

Fig. 4. The distance between two points on two interfaces. (a) The distance between the point (b) on the male interface and the point (c) on the female

interface.

4. Reconfiguration planning and reconfiguration scheduling

The goal of reconfiguration planning is to achieve a minimum number of changes or moves or reconfigurations. The goal

of scheduling is to achieve minimum effort and the shortest time based upon a reconfiguration plan. In this paper, we use

a GA-based optimization model for both reconfiguration planning and scheduling. The variables, constraints, and objectives

are detailed as follows.

4.1. Variables

Reconfiguration planning and reconfiguration scheduling can be viewed as a series of connection/disconnection oper-

ations and actuation operations, respectively. Connection operation denotes the connection information of two modules,

including types of connections and types of modules. A 1 × 6 matrix is used to represent one connection operation. Par-

ticularly, the ith connection operation is represented as g i = [ c, ID 1 , I D 2 , ID 3 , ID 4 , q ], where ID 1 denotes the modules with

its name of ID 1 ; ID 2 denotes the port (of the module ID 1 ) with its name of ID 2 ; ID 3 denotes the modules with its name

of ID 3 ; and ID 4 denotes the port (of the modules ID 3 ) with its name of ID 4 . Further, c denotes the connective status with

0 for connection and 1 for disconnection. If the two modules are to connect, q denotes the type of connection they form

with 1 for passive joint and 2 for rigid link and 0 for no connection. For the system as shown in Fig. 3 a and b, the code

of the connection operation [1, 1, 2, 6, 3, 1] has the following meanings: the first “1” means that Port 2 (marked as “2”) of

Module 1 (marked as the second “1”) will be connected with Port 3 (marked as “3”) of Module 6 (marked as “6”). The last

“1” means that the two modules will form a passive joint.

Page 6: Mechanism and Machine Theory - VCC€¦ · ICubes robot [8] uses a manipulator composed of rigid links and active joints to move passive cubes around. Morpho robot [9] consists of

T. Zhang et al. / Mechanism and Machine Theory 124 (2018) 248–258 253

The motion synthesis of the robot is represented by a segment-based motion sequences each of which specifies the

motor actuations for path planning and connection/disconnections. The motor actuations are represented as actuation op-

eration. Actuation operation describes the actions of active joints for the connection/disconnection operations generated in

the planning phase. To achieve the connection operation, each of the two modules will be actuated by the active modules

on their branch; then, the two branches form a loop. For the disconnection operation, the two modules and active modules

are in a loop. A 3 × m matrix is used to represent one actuation operation between two modules. Particularly, m is the

number of active modules in the two branches when the two modules are to be connected or disconnected. In the matrix,

each column represents the ID of each active module on the two branches or a loop, and the first, second, and third rows

represent the actuation of the corresponding active joints, specified by angles. The rotation angles in Row 1 are multiples

of 20 ° between −180 ° and 180 °, which is the motion of the active joints before the two ports contact. The rotation angles

in Row 2 and Row 3 are multiples of 3 ° between −20 ° and 20 °. The second row represents the motion of the active joints

when inserting the male interface to a layer (i.e., Layer 1 or Layer 2) of the female interface. Further, the third row rep-

resents the motion of the active joints when rotating in the corresponding layer of the male interface. For the system in

Fig. 3 a, the actuation operation respectively denotes the motions of the joint modules 1, 2, 4, and 6 so that the connection

operation (i.e., Port 2 of module 1 connects with Port 3 of module 6 to form a passive joint) can be realized.The code of the

actuation operation is shown in Fig. 3 c with the following meanings. The code in the first row, [ α1 , α2 , α3 , α4 ] respectively

denotes the motions of joint modules 1, 2, 4, and 6 sequentially to move Port 3 of Module 6 close to Port 2 of Module 1

contacted. The code in the second row, [ β1 , β2 , β3 , β4 ] respectively denotes the sequential motions of joint modules 1, 2, 4,

and 6 to insert Port 3 of Module 6 to Layer 1 of Port 2 of Module 1. The code in the third row, [ γ 1 , γ 2 , γ 3 , γ 4 ] respectively

denotes the motions of joint modules 1, 2, 4, and 6 to rotate Port 3 of Module 6 in Layer 1 of Port 2 of Module 1.

4.2. Constraints

In the planning phase, each individual should match the goal configuration, i.e., no error should exist between this con-

figuration and the goal configuration. ∣∣(C g − C j )∣∣ = 0 (1)

where C g is the goal configuration, and C j is the configuration generated in j th generation. Individuals that do not meet the

reconfiguration rules and the reconfiguration enhancement will be rejected.

In the scheduling phase, the interfaces of two modules should be connected to form either a passive joint or an ad-

justable link. As described before, there are three steps. The first step is to move the two modules to align the corresponding

interfaces, that is, the center axes of the two interfaces are aligned, and some points one the two interfaces overlap. In this

work, we define that the center point of the bottom edge of one bit (Point 1) should coincide with the center point of the

top edge of Slot 1 (Point 2) or Slot 2 (Point 2), which is denoted by Eq. (2) . √

( x k 1 − x k 2 ) 2 + ( y k 1 − y k 2 )

2 + ( z k 1 − z k 2 ) 2 = 0 (2)

where ( x k1 , y k1 , z k1 ) is the position of Point 1 and ( x k2 , y k2 , z k2 ) is the position of Point 2 or Point 3. k means that two

interfaces are connected during the k th reconfiguration (i.e., the k th gene).

To form a passive joint, the second and third steps are to push the male interface to the bottom of Layer 1 and to rotate

it Layer 1. These movements could be achieved with a random push and a random rotation with less sensory information

due to the structure of the docking system. Similarly, to form an adjustable link, the second and third steps are to push the

male interface to the bottom of Layer 2 and to rotate it to different positions between two adjacent teeth and release it.

In the scheduling phase, one branch connects or disconnects with another branch. The motion of each branch should

satisfy the kinematic and dynamic requirements. The kinematic relationship among θ a , θp , and x is expressed using the

Jacobian matrix, as follows:

˙ x = J p ˙ θp + J a ˙ θa (3)

x = J p θp +

˙ J p ˙ θp + J a θa +

˙ J a ˙ θa (4)

where x is the end-effector coordinate, x = [ x 1 , x 2 …x m

] T . It is the given task points. J a and J p are the Jacobian matrices for

active joints and passive joints.

The dynamic equation of motion is generally expressed as: [H aa H ap

H

T ap H pp

][θa

θp

]+

[b a

b p

]=

[τa

0

](5)

where θ a is the generalized coordinate for active joints, and θp represents passive joints. H aa , H ap , and H pp are inertia

matrices. b a and b p are Coriolis and centrifugal and gravity forces on the active and passive joints, respectively. τ a is the

vector of torques applied at the active joints. It is noted that the kinematic and dynamic parameters are obtained based on

the configuration of the branch. The configurations of these branches are obtained in the reconfiguration planning phase.

Page 7: Mechanism and Machine Theory - VCC€¦ · ICubes robot [8] uses a manipulator composed of rigid links and active joints to move passive cubes around. Morpho robot [9] consists of

254 T. Zhang et al. / Mechanism and Machine Theory 124 (2018) 248–258

(

The method of the automatic generation of kinematic and dynamic parameters is detailed in our previous work [39] and

the main strategy is as follows: (i) the process reads the representation of the whole configuration after or before each

connection/disconnection and determines on whether a serial of modules is a chain or a branch; (ii) the process generates

the D-H parameters for the kinematics, and the parameters of mass, mass distribution and moment, and product of inertia

for the dynamics.

It is noted that two modules on their branches connects with each other to form a loop and the connecting points are

random. The motion sequences that satisfy the design constraints are the feasible paths for two branches, i.e., two branches

are able to connect with each other.

4.3. Objectives

The main objective is to find a set of solutions that meet all design constraints. To improve the planning solutions, the

reconfiguration steps, N, will be employed as the objective function. Planning solutions with fewer steps will be considered

in the scheduling phase. In the scheduling phase, an index of power consumption in [40,41] was used to measure the

energy consumption of one branch when it connects with another branch. The index of energy consumption is calculated

as follows:

e =

∫ T ra

n ∑

i =1

| T i ( θ ) | d θi (6)

where e is the energy consumption, Tra is the workspace that consists of all working points along the trajectory, m is the

number of the active joints, and T i ( θ ) is the torque of the i th actuator.

5. Implementation by genetic algorithm

A genetic algorithm (GA) was employed for reconfiguration planning and scheduling. The procedure is detailed in a

flowchart in Fig. 5 . The main strategy in the reconfiguration process is as follows:

(i) In the planning phase, the fitness function first exhaustively rejected the infeasible branches and illegal configurations

due to self-locking and collisions. The strings are of variable length but were limited to fewer than 15 genes. Variations

were achieved through crossover and mutation. Restricted by the goal configuration in Eq. (1) , the fitness of all the feasi-

ble planning solutions is obtained and the ones with the M 1 maximum fitness are selected for reconfiguration scheduling

search.

ii) In the scheduling stage, M 2 random initial populations of scheduling are generated for each of the M 1 planning solutions.

Each string represents the connection or disconnection between two branches. Using the method in our previous work

[38] , the kinematic and dynamic parameters of each branch or each loop are generated. Using the kinematic and dynamic

equations in Eq. (2) –(5) , the torque of each actuator in the loop is calculated. The whole energy consumption e(t) for

each string (i.e., connection/disconnection) is calculated using Eq. (6) and -e(t) is the fitness function of each string.

The variables were changed through crossover and mutation, and then the reconfiguration solution with the maximum

fitness was selected. Similarly, the fitness for the remaining strings in the current planning solution is calculated. The

best scheduling solution for this planning is the one with the maximum fitness sum of all strings. Similarly, the best

scheduling solutions for the remaining M 1 -1 planning are obtained. Among M 1 best scheduling solutions, the one with

maximum fitness was selected as the best reconfiguration scheduling solution to achieve the goal configuration from an

initial configuration.

A variable-length genome is used to specify the planning sequence and scheduling sequence, which are encoded by the

design variables, i.e., the connection and actuation operations. In the reconfiguration process, the planning steps ( N ) and

the energy consumption are used as the evaluation functions for reconfiguration planning and reconfiguration scheduling,

respectively. Since the GA evaluates the solution that achieves the maximum function as the best solution, the fitness func-

tion in the planning phase is 1/ N , and a minus sign is placed before the objective function e(t) in the scheduling phase. For

a candidate solution that does not satisfy the constraints, its fitness will be given a larger negative value in order to reject

the candidate.

For selection, crossover, and mutation operation, the new generation group uses the following operators to proceed the

evolution. The roulette wheel method is used as the selection operator to pick individuals. The crossover operation for

planning is preceded among different variable-length genomes. A “cut and splice” crossover operator is used, see Fig. 6 A.

The cut operator breaks a genome into two parts with a cut probability, p c 1 . The cut position is chosen randomly. The splice

operator joins two genomes with a splice probability, p c 2 .

There are three types of mutation in planning: change, addition, and removal of genes ( Fig. 6 B). Their probabilities are

denoted as p m 1 , p m 2 , and p m 3 , respectively. The crossover operation for scheduling is shown in Fig. 6 C. The crossover opera-

tion is one cross-point crossover with the probability denoted as p c 3 . Genome length genome is the same for each planning

solution. There is the only replacement of random genes in mutation, which is p m

( Fig. 6 D).

4
Page 8: Mechanism and Machine Theory - VCC€¦ · ICubes robot [8] uses a manipulator composed of rigid links and active joints to move passive cubes around. Morpho robot [9] consists of

T. Zhang et al. / Mechanism and Machine Theory 124 (2018) 248–258 255

Fig. 5. The flowchart of the method of reconfiguration planning and reconfiguration scheduling.

Fig. 6. Crossover operators and mutation operators. (A) Cut and splice crossover operator for reconfiguration planning, (B) mutation operators for recon-

figuration planning: replacement, addition, and random. (C) one-point crossover operator for reconfiguration scheduling, and (D) mutation operator for

reconfiguration scheduling.

6. Experiments

The designs given in Section 3 were implemented using plastic modules assembled with electrical components. Me-

chanical components such as gears, shafts and docking system are created using PLA with MakerBot Replicator 2 printing

machine. Files generated by CAD programs were sent to the 3D printer for creating components that require minimal as-

sembly. The printer’s resolution is 0.1 mm. The design of the modules is modeled using Solidworks. Fig. 7 shows a passive

module and an active module. The length, width, and height of an active module and a passive module are taken as 11 cm,

Page 9: Mechanism and Machine Theory - VCC€¦ · ICubes robot [8] uses a manipulator composed of rigid links and active joints to move passive cubes around. Morpho robot [9] consists of

256 T. Zhang et al. / Mechanism and Machine Theory 124 (2018) 248–258

Fig. 7. The prototype of a passive module (a) and an active module (b).

Fig. 8. Best/average fitness.

3.2 cm and 3.2 cm, respectively. Actuation of the gear mechanism is provided by small servos which are capable of pro-

viding a torque of 1.5 kg cm at 6 Vs. An active module with two servos and two pairs of docking systems, complete with

shafts, gears measures approximately 200 gr, and a passive module with two pairs of docking system measures approxi-

mately 100 gr. It is noted that the spring is replaced by rubber band due to manufacturing difficulties. In order to reduce

the complexity of the connection, we used the female interfaces from active modules or passive modules, but we only used

the male interfaces of active modules as these male interfaces can directly complete the rotation action. The linear action

is actuated by the adjacent active module driver. Therefore, in the experiment, the passive module has only two female

interface modules, see Fig. 7 a.

The prototype described above are used to test the ability of reconfiguration of the system on a platform. The robot is

required to change from the initial damaged configuration ( Fig. 9 B) to goal configuration ( Fig. 9 F). In the damaged config-

uration, the robot consists of five passive modules (Modules 3, 5, 7, 8, 13, 14, marked in red) and seven active modules

(Modules 1, 2, 4, 6, 9, 10, 11, 12, marked in blue).

The algorithms were implemented in Matlab platform. The Matlab Robotic Toolbox and the GA Toolbox were used. The

experiment was conducted on a PC with 2.40 GHz and 3.00 GB RAM (Windows Vista operating system). In the simulation,

the parameters of the genetic algorithm are empirically set as follows.

• The initial population of the individuals of planning is 100. • Crossover ratio of planning: cut ( r c 1 = 0.9); splice ( r c 2 = 0.9). • Mutation ratio of planning: replacement ( r m 1 = 0.2), addition ( r m 2 = 0.5), and removal ( r m 3 = 0.5). • The stored individual from the solutions of planning is 30. • Crossover ratio of scheduling ( r c 3 = 0.9). • Mutation ratio of scheduling: replacement ( r m 4 = 0.5). • The termination condition for the GA program is 100 generations.

Fig. 8 shows the progress of the reconfiguration evolution. It shows that the solution converged after 20 generations

using GA-based algorithms. The optimal reconfiguration process is that Module 6 “picked up” Module 1 and assembled it

with Module 9, which was implemented on a physical robot, as seen in Fig. 9 . Intuitively, we can observe that the natural

and simple way to achieving the goal configuration in Fig. 9 o from Fig. 9 c is to remove two modules from each arm (i.e.,

the two branches on the top) and place them to one of the leg (one branch at the bottom). It can be seen that the best way

to remove the two modules of the two arms is to make them in one branch and then connect those two modules to the

leg and disconnect with the remaining module of the arm.

To achieve the optimal planning, the detailed connection and disconnection steps are as follows. First, Module 6 moved to

Module 1, driven by Module 4 ( Fig. 9 c and d), and Module 1 moved to Module 6 driven by Module 2 ( Fig. 9 e and f). Module

1 and Module 6 were connected, driven by Module 1, 2, 4, 6 ( Fig. 9 g). Then, Module 1 and Module 2 were disconnected,

driven by Module 1, 2, 4, 6 ( Fig 9 h, i and j). Module 1 moved to Module 9, driven by Module 4 and Module 6 ( Fig. 9 k and

l). Module 1 and Module 9 were connected, driven by Module 1, 4, 6, 9. Module 5 and Module 6 were disconnected, driven

Page 10: Mechanism and Machine Theory - VCC€¦ · ICubes robot [8] uses a manipulator composed of rigid links and active joints to move passive cubes around. Morpho robot [9] consists of

T. Zhang et al. / Mechanism and Machine Theory 124 (2018) 248–258 257

Fig. 9. Self-reconfiguration experiment with the reconfiguration process: Module 6 picks up Module 1 and assembles it with Module 9. (a) Original con-

figuration; (b) Module 13 and Module 14 dropped out; (c, d) Module 6 moved to Module 1; (e, f) Module 1 moved to Module 6; (g) Module 1 connected

with Module 6; (h, i, j) Module 1 disconnected with Module 2; (k, l) Module 1 moved to Module 9; (m) Module 1 connected with Module 1. (n, o) Module

5 disconnected with Module 6. (For interpretation of the references to color in the text, the reader is referred to the web version of this article.)

by Module 1, 4, 6, 9 ( Fig. 9 n and o). It is noted that, in this paper, the goal configuration is known and the algorithm of

searching the goal configuration is detailed in our previous work [22] .

This controller used for the self-reconfiguration was centralized off line. It was shown that the distance between two

branches to be connected was larger because of the gravity force. Thus, the connection failed some times and the whole

process took about 6 hours. In some cases, this problem can be overcome by installing simple sensors and by feedback

control, but in other cases, it needs modifications of modules and control methods. In the future work, we intend to install

a local controller such as a microcontroller on each active module with the communication system. For the hardware, the

modules will be not only stiff to reduce errors but also flexible to tolerate positioning errors.

7. Conclusions and future work

In this paper, an underactuated self-reconfigurable robot was presented. The architecture is featured that each module

cannot be divided further and the fixed connection could be switched to the passive joint through a novel docking system.

With the docking system, the minimum number of fundamental modules (i.e., active modules and passive modules) is

needed, and the reconfiguration and locomotion share the same motor, thus to increase the overall resource utilization as

well as to reduce the cost.

The proposed reconfiguration algorithm searches the optimal solution through two phases, i.e., reconfiguration planning

and reconfiguration scheduling. The first phase narrows the search range with consideration of hardware compatibility. The

second phase tests the feasibility of planning generates the optimal scheduling solution. The two-phase approach, as well as

the natural way of genome encoding, reduces the search time. An experiment was given to demonstrate the reconfiguration

process.

There are, however, some issues that remain to be investigated considering the manufacturing difficulties. We are work-

ing on the improvement of the modules and docking systems by using metal material, and the modules will be stiff to

reduce errors and the robot could change its configuration on the ground. We still need to investigate the influence of the

design parameter, such as the dimension of the modules and spring constants. The controller used for the robot in this pa-

Page 11: Mechanism and Machine Theory - VCC€¦ · ICubes robot [8] uses a manipulator composed of rigid links and active joints to move passive cubes around. Morpho robot [9] consists of

258 T. Zhang et al. / Mechanism and Machine Theory 124 (2018) 248–258

per is all centralized off-line. We intend to install microcontroller and sensors on each unit and our next step is to control

the underactuated self-reconfigurable robot online using deep reinforcement learning method.

Acknowledgment

This work was supported by a partial financial support from NSF of China (grant number 51375166 ) and NSERC Discovery

Grant.

References

[1] M. Yim , W.M. Shen , B. Salemi , D. Rus , M. Moll , H. Lipson , Modular self-reconfigurable robot systems - challenges and opportunities for the future, IEEE

Robot. Autom. Mag. 14 (2007) 43–52 . [2] M. Yim , Y. Zhang , K. Roufas , D. Duff, C. Eldershaw , Connecting and disconnecting for chain self-reconfiguration with PolyBot, IEEE/ASME Trans. Mecha-

tron. 7 (4) (2002) 442–451 . [3] A. Castano , W.M. Shen , P. Will , CONRO: towards deployable robots with inter-robots metamorphic capabilities, Auton. Robots 8 (3) (20 0 0) 309–324 .

[4] H. Kurokawa , K. Tomita , A. Kamimura , S. Kokaji , T. Hasuo , S. Murata , Distributed self-reconfiguration of M-TRAN III modular robotic system, Int. J.

Robot. Res. 27 (3–4) (2008) 373–386 . [5] V. Zykov , E. Mytilinaios , B. Adams , H. Lipson , Self-reproducing machines, Nature 435 (2005) 163–164 .

[6] J.W. Suh , S.B. Homans , M. Yim , Telecubes: mechanical design of a module for self-reconfigurable robotics, in: Proc. IEEE Int. Conf. Robot. Autom.,Washington, USA, 2002, pp. 4095–4101 .

[7] R. Garcia , K. Stoy , The Odin Modular Robot: Electronics and Communication MSc Thesis, the Maersk Mc-Kinney Moller Institute, University of SouthernDenmark, Odense, Denmark, 2008 .

[8] C. Ünsal , H. Kiliççöte , P.K. Khosla , A modular self-reconfigurable bipartite robotic system: implementation and motion planning, Auton. Robots 10

(2001) 23–40 . [9] C.H. Yu , K. Haller , D. Ingber , R. Nagpal , Morpho: a self-deformable modular robot inspired by cellular structure, in: Proc. IEEE/RSJ Int. Conf. Intell.

Robots Syst., Nice, France, 2008, pp. 3571–3578 . [10] K. Støy , D. Brandt , D.J. Christensen , Self-Reconfigurable Robots: An Introduction, MIT Press, Cambridge, Massachusetts, 2010 .

[11] M. Plooij , G. Mathijssen , P. Cherelle , D. Lefeber , B. Vanderborght , Lock your robot: a review of locking devices in robotics, IEEE Robot. Autom. Mag. 22(1) (2015) 106–117 .

[12] A . Brunete , A . Ranganath , S. Segovia , J.P. de Frutos , M. Hernando , E. Gambao , Current trends in reconfigurable modular robots design, Int. J. Adv. Rob.

Syst. 14 (3) (2017) 1–21 . [13] J.S. Dai, M. Zoppi, and X.W. Kong, “Advances in reconfigurable mechanisms and robots I,” in Proc. of the Second ASME/IFToMM Int. Conf. Reconfigurable

Mechanisms and Robots (ReMAR 2012), Springer ISBN: 978-1-4471-4140-2. [14] J.S. Dai, M. Zoppi, and X.W. Kong, “Reconfigurable mechanisms and robots,” in Proc. of the first ASME/IFToMM Int. Conf. Reconfigurable Mechanisms

and Robotics (ReMAR 2009), KC Edizioni, ISBN: 978-88-89007-37-2. [15] C.Y. Song , H. Feng , Y. Chen , Reconfigurable mechanism generated from the network of Bennett linkages, Mech. Mach. Theory 88 (2015) 49–62 .

[16] W.M. Shen , P. Will , Docking in self-reconfigurable robots, in: Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., Maui, USA, 2001, pp. 1049–1054 . [17] D. Rus , M. Vona , Crystalline robots: self-reconfiguration with compressible unit modules, Auton. Robots 10 (1) (2001) 107–124 .

[18] C. Unsal , P. Khosla , Mechatronic design of a modular self-reconfiguring robotic system, in: Proc. IEEE Int. Conf. Robot. Autom., San Francisco, USA,

20 0 0, pp. 1742–1747 . [19] E.H. Ostergaard , K. Kassow , R. Beck , H.H. Lund , Design of the ATRON lattice-based self-reconfigurable robot, Auton. Robots 21 (2) (2006) 165–183 .

[20] S. Murata , E. Yoshida , A. Kamimura , H. Kurokawa , K. Tomita , S. Kokaji , M-TRAN: Self-reconfigurable modular robotic system, IEEE/ASME Trans. Mecha-tron. 7 (4) (2002) 431–441 .

[21] J. Davey , N. Kwok , M. Yim , Emulating self-reconfigurable robots-design of the SMORES system, in: Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., Vilam-oura , Algarve, Portugal, 2012, pp. 4 464–4 469 .

[22] T. Zhang , C.L. Liu , Z.Q. Qian , D. Zhang , M.M. Gupta , W.J. Zhang , Configuration synthesis of underactuated resilient robotic systems, in: Proc. IEEE/ASME

Int. Conf. Adv. Intell. Mechatronics, Besançon , France, 2014, pp. 721–726. July 7–11 . [23] A. Pamecha , I. Ebert-Uphoff, G.S. Chirikjian , Useful metrics for modular robot motion planning, IEEE Trans. Robotics Autom. 13 (4) (1997) 531–545 .

[24] T. Larkworthy , S. Ramamoorthy , An efficient algorithm for self-reconfiguration planning in a modular robot, in: Proc. IEEE Int. Conf. Robot. Autom.,Anchorage, Alaska, USA, 2010, pp. 5139–5146 .

[25] C. Unsal , P.K. Khosla , Self-reconfiguration for task-oriented modular robotic systems, in: Proc. 4th Multiconference on Systems, Cybernetics and Infor-matics, IX, 20 0 0, pp. 6 82–6 87 .

[26] G.S. Chirikjian , Kinematics of metamorphic robotic systems, in: Proc. IEEE Int. Conf. Robot. Autom., San Diego, CA, USA, 1994, pp. 449–455 .

[27] J.M. McNew , E. Klavins , Non-deterministic reconfiguration of tree formations, in: American Control Conference, 2008, pp. 690–697. June . [28] L. Gagliardini , S. Caro , M. Gouttefarde , Discrete reconfiguration planning for cable-driven parallel robots, Mech. Mach. Theor. 100 (2016) 313–337 .

[29] W.M. Shen , B. Salemi , P. Will , Hormone-inspired adaptive communication and distributed control for CONRO self-reconfigurable robots, IEEE Trans.Robotics Autom. 18 (5) (Oct. 2002) 700–712 .

[30] A. Casal , M. Yim , Self-Reconfiguration planning for a class of modular robots, in: Proc. of SPIE Sensor Fusion and Decentralized Control in RoboticSystems II, 1999 Sept .

[31] Nelson C.A , A Framework For Self-Reconfiguration Planning For Unit-Modular Robots Ph.D. Thesis, Purdue University, Department of Mechanical Engi-

neering, 2005 . [32] F.L. Hou , Self-Reconfiguration Planning For Modular Robots Ph.D. Thesis, Department of Computer Science, University of Southern California, Los An-

geles, California, USA, 2011 . [33] S. Murata , H. Kurokawa , S. Kokaji , Self-assembling machine, in: Proc. IEEE Int. Conf. Robot. Autom., San Diego, CA, USA, 1994, pp. 4 41–4 48 .

[34] C. Jones , M.J. Mataric , From local to global behavior in intelligent self-assembly, in: Proc. IEEE Int. Conf. Robot. Autom., Taipei, Taiwan, 2003,pp. 721–726 .

[35] Z. Butler , K. Kotay , D. Rus , K. Tomita , Cellular automata for decentralized control of self-reconfigurable robots, in: Proc. IEEE Int. Conf. Robot. Autom.,

Seoul, Korea, 2001, pp. 21–26 . [36] E.H. Østergaard , Efficient distributed “hormone” graph gradients, in: Int. Joint Conf. Artificial Intelligence, 2005, pp. 1489–1494 .

[37] T. Zhang , W. Zhang , M.M. Gupta , A novel docking system for modular self-reconfigurable robots, Robotics 6 (25) (2017) . [38] T. Zhang , D. Zhang , M.M. Gupta , W.J. Zhang , Design of a general resilient robotic system based on axiomatic design theory, in: Proc. IEEE/ASME Int.

Conf. Adv. Intel. Mech., Pusan, Korea, 2015, pp. 71–78. July 7–11 . [39] T. Zhang , K. Backstrom , R. Prince , C.L. Liu , Z.Q. Qian , D. Zhang , W.J. Zhang , Robotic Dynamic Sculpture, IEEE Robot. Autom. Mag. 21 (3) (2014) 96–104 .

[40] Z.M. Bi , On Adaptive Robot Systems For Manufacturing Applications, Department of Mechanical Engineering, University of Saskatchewan, Saskatoon,

Canada, 2002 . [41] C.J.J. Paredis , P.K. Khosla , An approach for mapping kinematic task specifications into a manipulator design, in: Proc. 5th Int. Conf. Adv. Robotics, 1,

Pisa, Italy, 1991, pp. 556–561 .