Mechanism and Machine Theory - VCC€¦ · ICubes robot [8] uses a manipulator composed of rigid...
Transcript of Mechanism and Machine Theory - VCC€¦ · ICubes robot [8] uses a manipulator composed of rigid...
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.
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
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
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).
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.
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.
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).
4T. 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,
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
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-
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 .