Scan 0079
Scan 0079
Scan 0079
brill.nl/ar
Full paper
Arthur W. Mahoney a,∗ , John C. Sarrazin b , Eberhard Bamberg b and Jake J. Abbott b
a
School of Computing, University of Utah, Salt Lake City, UT 84112, USA
b
Department of Mechanical Engineering, University of Utah, Salt Lake City, UT 84112, USA
Received 25 June 2010; accepted 11 August 2011
Abstract
Magnetic helical microswimmers, which swim using a method inspired by the propulsion of bacterial flag-
ella, are promising for use as untethered micromanipulators and as medical microrobots. Man-made devices
are typically heavier than their fluid environment and consequently sink due to their own weight. To date,
methods to compensate for gravitational effects have been ad hoc. In this paper, we present an open-loop
algorithm for velocity control with gravity compensation for magnetic helical microswimmers that enables
a human operator or automated controller to command desired velocity intuitively, rather than directly con-
trolling the microswimmer’s orientation and rotation speed. We provide experimental verification of the
method.
© Koninklijke Brill NV, Leiden and The Robotics Society of Japan, 2011
Keywords
Microrobot, helix, screw, magnetic, wireless, untethered
1. Introduction
© Koninklijke Brill NV, Leiden and The Robotics Society of Japan, 2011 DOI:10.1163/016918611X568620
1008 A. W. Mahoney et al. / Advanced Robotics 25 (2011) 1007–1028
tethered microrobots stand to impact a broad range of fields, but we must first
understand their locomotion and how to effectively control them wirelessly.
The environment in which a microrobot operates is significantly different than
that of macroscale robots as we know them. In particular, microrobots typically
operate in fluids at the low-Reynolds-number regime, where viscous drag signif-
icantly dominates over inertia [6]. In this environment, propulsion and actuation
can be challenging, and although there are a number of ways for a microrobot to
be wirelessly propelled, one method of particular interest is helical propulsion —
a swimming method inspired by the propulsion of bacterial flagella — using torque
produced from the rotation of an externally applied magnetic field [4, 7, 8]. It
has been shown that magnetic helical swimming performs well compared to other
methods of magnetic propulsion as the size of the microrobot scales down [9]. Mi-
crorobots that are propelled in this manner are typically simple devices consisting
of a magnetic body rigidly attached to a chiral structure resembling a cork screw
or wood screw. The community now has a good basic understanding of the ways
in which magnetic helical microswimmers can be controlled and researchers have
begun to tackle some of the non-idealities that manifest themselves during experi-
mentation [10].
One such non-ideality is the microrobot sinking due to its own weight. Mag-
netic control of helical microswimmers has typically started from the assumption
that the microswimmers behave similarly to bacteria, which are approximately neu-
trally buoyant, and the microswimmer is simply pointed in the direction of desired
velocity, as depicted in Fig. 1a. When swimming under an optical microscope, the
microswimmer typically lies near the horizontal plane, such that it can be easily
observed and controlled. However, man-made microswimmers are typically heav-
ier than their fluid medium and they sink down, albeit slowly, due to their own
weight, resulting in a velocity that is not aligned with the thrust direction of the
microswimmer (Fig. 1b and d), thus making the microswimmer attain a desired ve-
locity is not as simple as merely pointing the microrobot in the desired direction. To
counteract this downward drift and keep the microswimmer at a desired focal plane,
researchers have pitched the microswimmer up in an ad hoc manner, as shown in
Fig. 1c, with the goal of keeping the long axis of the microswimmer close to the hor-
izontal plane such that observation through the microscope is relatively unchanged.
In Ref. [4], for example, the authors report that their microswimmers require a com-
pensation pitch of approximately 10◦ –20◦ , with the necessary pitch being inversely
proportional to the microswimmer’s rotation speed. As we will show herein, there
is a unique combination of pitch angle and rotation speed (modulo 180◦ change
in pitch) to achieve the desired velocity of the microswimmer, whether or not the
desired velocity lies in the horizontal plane, and this combination of pitch angle
and rotation speed is not intuitive to a human operator. In this paper, we describe
a velocity-control-plus-gravity-compensation algorithm that calculates the correct
pitch angle and rotation speed to achieve the commanded velocity with results like
those shown in Fig. 1e, making teleoperation much more intuitive.
A. W. Mahoney et al. / Advanced Robotics 25 (2011) 1007–1028 1009
(a) Neutrally buoyant swimmer (b) Heavy swimmer (c) Gravity compensation
(d) Experiment without gravity compensation (e) Experiment with gravity compensation
Figure 1. (a) Natural flagellated bacteria are nearly neutrally buoyant. (b) Man-made swimmers are
denser than water, causing them to drift downward under their weight. (c) To compensate for this
drift, the microswimmer must be commanded to swim at a unique pitch angle and rotation speed.
(d and e) Composite images from scaled experiments where the swimmer is commanded to move
horizontally with a constant velocity, without and with the proposed gravity-compensation algorithm,
demonstrating the behaviors described in (b) and (c), respectively. Gravity points downward in the
images.
where:
h
(φ) = h Rs (φ)s s Rh (φ). (8)
As the helix is swimming, the velocity vs of an infinitesimally small segment
of helix (parameterized by φ with position described by p(φ)) can be decomposed
into the sum of the microswimmer’s translational velocity v and the velocity caused
by an arbitrary helix rotation ω:
vs = v + ω × p(φ) = v − p(φ) × ω. (9)
This can be expressed in the helix frame as:
h
vs = h v − S{h p(φ)}h ω = h v + S{h p(φ)}Th ω, (10)
where S{k} packs the vector k = [k1 k2 k3 ]T into the skew-symmetric matrix,
representing the cross-product operation:
0 −k3 k2
S{k} = k3 0 −k1 . (11)
−k2 k1 0
Substituting (10) into (7) results in:
h
dfs = h (φ)h v ds + h (φ)S{h p(φ)}Th ω ds. (12)
A similar differential expression relating fluidic torque to translational and angular
velocities of the helix can also be derived. Each force acting on an infinitesimally
small segment of helix induces a subsequent torque about the helix origin. The rela-
tionship between the torque and force at an arbitrary helix segment, parameterized
by φ, can be expressed in the helix frame as:
h
dτ s = h p(φ) × h dfs = S{h p(φ)}h dfs . (13)
Here, we make an assumption that is common when using RFT: that the drag torque
on the helix due to a given segment is due to the translational velocity of the segment
as it slices through the fluid and that the torque due to the small segment’s rotation
is negligible. This assumption significantly simplifies calculations and should be
valid provided that the cross-section of the segment is small compared to the overall
radius of the helix.
The total fluidic force and torque on the helix are found by integrating the forces
and torques on the segments along the total length of the helix:
fh = dfs , τ h = dτ s . (14)
For both (12) and (13) the helix was parameterized using the polar angle φ. There-
fore, the force and torque will be obtained by integrating both differentials with
respect to φ. Substituting (12) into (13), replacing ds with rh dφ/ sin(θ ) and in-
tegrating φ from −πn to πn produces two integral equations for an n-turn helix
A. W. Mahoney et al. / Advanced Robotics 25 (2011) 1007–1028 1013
centered at Oh :
πn
rh
h
fh = h
(φ) dφ h v
sin(θ ) −πn
πn
rh
+ h
(φ)S{ p(φ)} dφ h ω
h T
(15)
sin(θ ) −πn
πn
rh
h
τh = S{ p(φ)} (φ) dφ h v
h h
sin(θ ) −πn
πn
rh
+ S{ p(φ)} (φ)S{ p(φ)} dφ h ω.
h h h T
(16)
sin(θ ) −πn
Evaluating all four matrix integrals results in two equations relating force and
torque to translational velocity and angular velocity around Oh :
h h h
fh Ah h Bh v
hτ = h T h h , (17)
h Bh Ch ω
where:
ah11 0 0 bh11 0 bh13
h
Ah = 0 ah22 0 , h
Bh = 0 bh22 0
0 0 ah22 0 0 bh33
(18)
ch11 0 ch13
h
Ch = 0 ch22 0 ,
ch13 0 ch33
and:
2πnrh (ξ cos2 (θ ) + ξ⊥ sin2 (θ ))
ah11 = (19)
sin(θ )
πnrh (ξ⊥ + ξ⊥ cos2 (θ ) + ξ sin2 (θ ))
ah22 = (20)
sin(θ )
bh11 = 2πnrh2 (ξ − ξ⊥ ) cos(θ ) (21)
− ξ⊥ ) cos(θ )
−2πnrh2 (ξ
bh13 = (22)
tan(θ )
−3πnrh (ξ − ξ⊥ ) cos(θ )
2
bh22 = (23)
2
−πnrh (ξ − ξ⊥ ) cos(θ )
2
bh33 = (24)
2
2πnrh3 (ξ⊥ cos2 (θ ) + ξ sin2 (θ ))
ch11 = (25)
sin(θ )
−2πnrh (ξ⊥ cos2 (θ ) + ξ sin2 (θ ))
3
ch13 = (26)
sin(θ ) tan(θ )
1014 A. W. Mahoney et al. / Advanced Robotics 25 (2011) 1007–1028
acting on the head is the product of the translational drag coefficient and the head’s
velocity. Arbitrary movement of the microswimmer produces a magnet velocity,
expressed in the helix frame, of
h
vm = h v + h ω × h k = h v − h k × h ω = h v + S{h k}Th ω, (31)
which corresponds to a force on the magnet:
h
fm = ξvm h v + ξvm S{h k}Th ω. (32)
The drag torque caused by the spherical head is a result of the force acting at the
moment arm k as well as the drag caused by the rotation of the head itself. This can
be expressed in the form h τ m = h k × h fm + ξωm h ω, with h fm from (32). Replac-
ing the cross-product operator with its corresponding skew-symmetric matrix and
grouping like terms produces:
h
τ m = ξvm S{h k}h v + ξvm S{h k}S{h k}T + ξωm I h ω, (33)
where I is the identity matrix. If we let the matrices:
h
Am = ξvm I, h
Bm = ξvm S{h k}T
(34)
h
Cm = ξvm S{h k}S{h k}T + ξωm I,
then the total force h f = h fh + h fm and torque h τ = h τ h + h τ m acting on the mi-
croswimmer are:
h h h
f A hB v
h τ = h BT h C hω , (35)
A. W. Mahoney et al. / Advanced Robotics 25 (2011) 1007–1028 1015
where h A = h Ah + h Am , h B = h Bh + h Bm and h C = h Ch + h Cm :
a11 0 0 ah11 + ξvm 0 0
h
A = 0 a22 0 = 0 ah22 + ξvm 0 (36)
0 0 a22 0 0 ah22 + ξvm
b11 0 b13 bh11 0 bh13
h
B= 0 b22 b23 = 0 bh22 ξvm |k| (37)
0 −b23 b33 0 −ξvm |k| bh33
c11 0 c13
h
C = 0 c22 0
c13 0 c33
ch11 + ξωm 0 ch13
= 0 ch22 + ξvm |k| + ξωm
2 0 . (38)
ch13 0 ch33 + ξvm |k| + ξωm
2
Equation (35) is the 6 d.o.f. equivalent of (1). Note that f and τ do not represent
viscous drag associated with the microswimmer’s total velocity v and ω. Rather,
they represent non-fluidic force and torque — in this paper, force due to gravity and
torque due to magnetism — corresponding to a given microswimmer velocity (i.e.,
the force and torque required to overcome viscous drag for a given microswimmer
velocity). Now that we are equipped with a 6-d.o.f. helical microswimmer model,
we are ready to develop the control algorithm that enables intuitive control over the
microswimmer’s velocity, as opposed to directly controlling the microswimmer’s
orientation and rotation speed.
swimmer around the yh or zh axis) can produce complex forces and torques act-
ing on the microswimmer aside from those produced by weight. Despite this fact,
previous research has shown that magnetic helical microswimmers can be turned
effectively by adjusting the axis around which the applied magnetic field rotates
[4, 12]. Although there is evidence that commanding steering maneuvers that are
too rapid can lead to loss of control, we make the assumption herein that the mi-
croswimmer can be turned continuously to a desired pitch angle away from vertical
fast enough such that the microswimmer’s transient behavior is negligible.
In this section, we present a steady-state solution to the velocity problem, and use
it to produce a control algorithm that takes a desired velocity as its input and outputs
1016 A. W. Mahoney et al. / Advanced Robotics 25 (2011) 1007–1028
the direction the microswimmer must be pointed and how fast it must be rotating
to attain the desired velocity at steady state. We denote the pointing direction by
x̃ and the rotation speed by . In the context of command inputs using magnetic
fields, x̃ is also the axis around which the magnetic field should rotate, such that the
magnetic field is always perpendicular to x̃ and is the rate of rotation.
If the stationary world frame is aligned with the microswimmer’s workspace in
an intuitive manner, the control inputs would best be expressed in this frame. To
avoid requiring vectors to be converted back and forth between the world frame
and the microswimmer’s coordinate frame (i.e., frame h, which rotates), any equa-
tions used to generate the necessary pitch and angular velocity would also best be
represented in the world frame. From the 6-d.o.f. model derived in Section 2, the
portion of (35) that is of particular interested to us is:
h
f = h Ah v + h Bh ω, (39)
which relates the microswimmer’s velocity to applied non-fluidic forces and angular
velocity of the microswimmer. As h A is clearly invertible, the desired velocity can
be solved for in (39) to produce:
h
v = (h A−1 )h f + (−h A−1h B)h ω = h Dh f + h Eh ω, (40)
where:
d11 0 0 e11 0 e13
h
D= 0 d22 0 , h
E= 0 e22 e23 , (41)
0 0 d22 0 −e23 e33
all expressed in the microswimmer’s helix frame. Using w Rh , (40) can be written
in the world frame:
w
v = w Dw f + w Ew ω, (42)
using similarity transformations:
w
v = w Rh h v, w
f = w Rh h f
(43)
w
D = w Rh h Dh Rw , w
E = w Rh h Eh Rw .
Constructing h Rw requires the orientation of the robot as it rotates to be detected.
In practice, it is difficult to sense the orientation of the robot about its central axis as
it rotates during propulsion (e.g., using computer vision). To make best use of (42)
for anything aside from the trivial cases where the microswimmer is being com-
manded to move vertically, we will express (42) in a manner that does not require
the orientation of the microswimmer about its central axis to be known.
Since weight is the sole non-fluidic force acting upon the microrobot, the in-
put force f to (39) is mg. The desired velocity, v, can be broken into vertical and
horizontal components, respectively:
vver = (v · ĝ)ĝ (44)
vhor = v − vver . (45)
A. W. Mahoney et al. / Advanced Robotics 25 (2011) 1007–1028 1017
(a) (b)
Figure 3. (a) Definition of the principle frame, angles and forces. (b) Construction of x̃.
1018 A. W. Mahoney et al. / Advanced Robotics 25 (2011) 1007–1028
wx
p = −w xh ). It can be easily verified that h xh is an eigenvector of h E correspond-
ing to the eigenvalue e11 . The similarity transformations of (43) do not affect the
eigenvalues of matrices and only rotate the eigenvectors with the w Rh transforma-
tion, implying that e11 is an eigenvalue of w E and its corresponding eigenvector is
w x , and due to their parallelism, w x is also a corresponding eigenvector. Thus, the
h p
expression of w Ew ω using the principle frame basis vectors can be easily found:
E ω = w Ew xp = e11 w xp .
w w
(51)
Recasting the w Dw f term of (42) is performed in a similar manner. It is also easily
h
verified that D has two eigenvalues: d11 and d22 . The d11 eigenvalue has the cor-
responding eigenvector h xh and an eigenspace spanned by {h yh , h zh } corresponds
to the eigenvalue d22 . Any vector that is a linear combination of h yh and h zh will
be scaled by the eigenvalue d22 . Again, eigenvalues are preserved under similar-
ity transformations, so the subsequent eigenvalues and eigenvectors of w D are d11
corresponding to w xh and d22 corresponding to any vector found in the span of
{w yh , w zh }. The force w f acting on the microswimmer can be broken into two com-
ponent vectors with one parallel to the eigenvector w xh , which is aligned with the
central axis of the helix, and the other perpendicular (i.e., in the span of s yh and
s z ):
h
w
f = (f · xh )w xh + (f · yh )w yh + (f · zh )w zh = w fh + s f⊥h . (52)
Both w f and w fh are unaffected by the spinning of the microswimmer about the
w x axis, implying that w f
h ⊥h remains unchanged as well. Using this fact, and be-
cause both w yp and w zp are in the span of {w yh , w zh }, w f⊥h can be written as linear
combinations of w yp and w zp . In fact, as can be seen from Fig. 3, no component of
⊥h lies in the direction of yp , making f⊥h = (f · zp ) zp . This implies that f⊥h
wf w w w w
is an eigenvector corresponding to eigenvalue d22 and, along with the fact that w fh
is an eigenvector corresponding to eigenvalue d11 , leads us to write the w Dw f term
of (42) using the principle frame basis:
w
Dw f = w Dw fh + w Dw f⊥h = d11 w fh + d22 w f⊥h
= d11 (f · xp )w xp + d22 (f · zp )w zp . (53)
Combining (51) and (53) produces (42) written using the basis vectors of the prin-
ciple frame:
w
v = d11 (f · xp )w xp + d22 (f · zp )w zp + e11 w xp . (54)
As (f · zp )w zp = w f⊥h is invariant to the microswimmer’s propulsive rotation and
the swimmer rotates around the w xp axis, neither of the terms in (54) are affected
by the rotation of the swimmer about its central axis.
Since the horizontal component of the desired velocity vhor is nonzero, we can
denote the angle of v measured from the vertical axis of the world frame by α =
tan−1 (vhor /vver ). To compensate for weight, the microswimmer will need to
be pitched upward by some angle above v as shown in Fig. 3. Let this angle be
A. W. Mahoney et al. / Advanced Robotics 25 (2011) 1007–1028 1019
denoted by
. Taking (54) and projecting it first onto the w xp axis and then the w zp
axis produces two scalar equations of the form:
(v · xp ) = d11 (f · xp ) + e11 (55)
(v · zp ) = d22 (f · zp ). (56)
The angle
can be computed from (56) by recognizing from Fig. 2 that (v · zp ) =
−v sin(
) and (f · zp ) = f sin(
− α), producing:
−v sin(
) = d22 f sin(
− α). (57)
By utilizing the identity sin(
− α) = sin(
) cos(α) − cos(
) sin(α) and then
grouping terms, we can solve for
resulting in:
4. Experimental Verification
4.1. Experimental Setup
The experimental setup used to generate the controlled magnetic fields is shown
in Fig. 4. The system consists of three nested sets of Helmholtz coils. Each set of
Helmholtz coils generates a magnetic field that is optimally uniform in the center
of the workspace, which is aligned with the axis of the coils and which varies lin-
early with the electrical current flowing through wire. Each set of Helmholtz coils
is connected in series, such that a single current is used to power set. The three
1020 A. W. Mahoney et al. / Advanced Robotics 25 (2011) 1007–1028
Table 1.
Parameters of Helmholtz coil electromagnets
Coil Coil radius No. wraps No. wraps No. wraps Resistance Inductance
set (mm) (width) (depth) (total) () (mH)
The radius, number of wraps wide, number of wraps deep and total wraps are reported per indi-
vidual coil, whereas the resistance and inductance are reported for each pair. All coils are wrapped
with 14 AWG insulated copper magnet wire (1.628 mm diameter). The separation of the coils in a
Helmholtz pair is equal to the radius of the coils in the pair.
sets are arranged orthogonally such that the magnetic field vector can be assigned
arbitrarily, with each Helmholtz pair corresponding to one basis direction of the
field vector. The details of the Helmholtz coils can be found in Table 1. Each set
of Helmholtz coils is driven by an Advanced Motion Controls S16A8 PWM ana-
log servo drive, capable of 8 A continuous current and 16 A peak current. The
S16A8 is designed to drive three-phase brushless motors with sinusoidal current
profiles, which is similar to the task of generating rotating magnetic fields required
herein. The three S16A8 drives are powered by a single Advanced Motion Controls
PS2x300W power supply. Analog communication between the PC and the drives is
accomplished with a Sensoray 626 Analog and Digital I/O card. The relationship
between the generated magnetic field and the commanded current was calibrated in
the center of the workspace using a Hirst GM08 gaussmeter. A 25 mm × 25 mm
square-cross-section vial with a length of 50 mm is located in the common center of
the Helmholtz coils. A Basler A602FC camera fitted with a Computar MLH-10X
macro zoom lens has a lateral view of the contents of the vial, which is backlit by a
Coherent Cold Cathode ML-0405 Backlight Panel that gives high-contrast images.
The entire system is cooled from above with a desk fan in a temperature-controlled
room in order to maintain an approximately constant viscosity of the swimmer’s
A. W. Mahoney et al. / Advanced Robotics 25 (2011) 1007–1028 1021
Figure 5. (a) Helical swimmer machined from 1-mm outer diameter Nitinol tubing using micro elec-
trical discharge machining to produce a 5-mm long helix with 3.5 turns in a single sweep. (b) Scanning
electron micrograph of the fabricated helix. (c) Helical swimmer on a human fingertip.
1022 A. W. Mahoney et al. / Advanced Robotics 25 (2011) 1007–1028
understand for what size of microswimmer our results directly apply, we consider
matching of Reynolds number:
ρmic Lmic Vmic ρmod Lmod Vmod
Re = = , (61)
ηmic ηmod
where ‘mod’ denotes our model and ‘mic’ denotes the equivalent microscale swim-
mer in water. We are interested in finding the length scale of a microswimmer that
corresponds to our experimental results. For our characteristic length we will con-
sider the radius of the helix: rh . For our characteristic velocity we will consider the
velocity of a segment of the helix moving through the fluid: rh . The achievable
rotation speed is invariant to scaling, due to the fact that magnetic torque scales
with volume, which is proportional to length cubed, and rotational viscous drag
also scales as length cubed (see model of Section 2). The result is a relation that
describes the radius of the microswimmer that matches our experimental results:
ρmod ηmic 2
rh,mic = r . (62)
ρmic ηmod h,mod
Our model swims in corn syrup, which has a viscosity of approximately ηmod =
2500 cps, compared to ηmic = 1 cps for water. The density of corn syrup is ap-
proximately ρmod = 1.36 g/ml, compared to ρmic = 1 g/ml for water. The radius of
our helical swimmer is rh,mod = 420 µm. Thus, the experimental results from our
helical swimmer in corn syrup will correspond directly to a microswimmer with a
radius rh,mic = 9.8 µm swimming in water, which is reasonably close to the 1.5-µm
radius of the microswimmers of Ref. [4] and which places our results squarely into
the low-Reynolds-number regime of interest.
4.3. Characterization of the Magnetic Helical Swimmer
Since (58) and (60) require only d11 , d22 and e11 , only the two terms in h A and
the b11 term from h B need to be determined. Rather than explicitly calculating
these parameters using the derived equations, (19)–(30), we experimentally mea-
sured the necessary parameters using a method similar to that described in Ref. [12]
using (35) with known non-fluidic force (gravitational force in this case). The mass
of the robot was measured to be 8.9 mg, resulting in a gravitational force acting
on the swimmer of −8.7 × 10−5 N. Using this force, the a11 and a22 terms of
h A were calculated by measuring the velocity of the swimmer as it sinks in the
fluid at room temperature, first oriented vertically to obtain a11 and then horizon-
tally to obtain a22 . As the swimmer sinks, a static magnetic field was applied to
enforce ω = 0, making (35) a relation between f and v. With v measured and
ω = 0, a11 = 0.42 N · s/m and a22 = 4.4 N · s/m were found. To find the b11 co-
efficient, rather than applying a static field to force ω = 0, the microswimmer
was oriented vertically and made to rotate fast enough so the forward propulsion
in the upward direction balanced the gravitational force downward. At this point
of equilibrium, ω is known and v = 0, turning (35) into a relation between ap-
plied force and rotation speed along the xh axis. Experimentally, the rotational
A. W. Mahoney et al. / Advanced Robotics 25 (2011) 1007–1028 1023
speed necessary to balance the gravitational force was found to be 2.23 Hz making
b11 = −3.9 × 10−5 N · s. Since d11 = 1/a11 , d22 = 1/a22 and e11 = −b11 /a11 , then
we calculate the necessary parameters as: d11 = 2.4 N−1 · m/s, d22 = 0.23 N−1 · m/s
and e11 = 9.3 × 10−5 m.
4.4. Experimental Results
A variety of experiments were performed to study how the helical swimmer dis-
cussed in Sections 4.2 behaves under open-loop velocity control. Each experiment
was performed with the swimmer submerged in a 50 × 20 × 20-mm rectangular
tank of corn syrup arranged in the center of the Helmholtz coils.
Presenting the user with control over the microswimmer’s velocity in the world
frame is an intuitive method to direct the swimmer. Without the algorithm presented
in Section 3, performing simple maneuvers requires non-intuitive control over the
direction to point the swimmer and how fast to rotate it. In the experiment shown
in Fig. 6, the user held the vertical velocity at zero and manually adjusted the de-
sired velocity in the horizontal direction to make the swimmer go from a stationary
hover, ramp up to a constant horizontal velocity of 0.35 mm/s and then return to
hover. Although it is intuitive that the swimmer must turn in the direction of the
desired velocity and increase its rotation speed, the exact pitch angle from verti-
cal and the rotation speed of the swimmer required to execute this maneuver are
not immediately obvious to a human operator. With each change in input from the
user, the control algorithm immediately adjusts the axis around which the magnetic
field rotates and its rotational speed. The algorithm naively neglects the transient
response of the swimmer to the changes in output. During the transient response,
the robot sinks as seen in Fig. 6a between the swimmer at time 1 and 54 s. This is
discussed further in Section 5.
The algorithm is not only designed to maintain a constant elevation by keeping
vver = 0. Figure 7a and b shows the resulting trajectories after commanding the
swimmer to attain a velocity of 0.1 mm/s pitched 30◦ above horizontal and 30◦
below horizontal, respectively. The results show the swimmer moves in a straight
trajectory approximately as commanded, achieving desired velocities of 0.12 mm/s
20◦ above horizontal and 0.17 mm/s 17◦ below the horizontal for the respective
cases.
We found while performing the experiments that the steady-state behavior of
the microswimmer is sensitive to changes in the viscosity of the corn syrup. The
effect of fluid viscosity on fluidic characteristics can be understood by examining
the terms of the h A and h B matrices. The ξ , ξ⊥ and ξωm coefficients that appear
in each term of h A and h B are linearly scaled by the viscosity of the medium (η)
[15], making h A and h B themselves also linearly related to viscosity. The matrix
h D and h E from which the control equations were derived are not related to vis-
(c) Pitch angle vs. time (d) Rotation speed () vs. time
(a) Ascent under velocity control (b) Descent under velocity control
Figure 7. Composite experimental image sequences showing resulting trajectories after commanding
the swimmer to attain a velocity of (a) 0.1 mm/s angled 30◦ above horizontal and (b) 0.1 mm/s angled
30◦ below horizontal. These results show a velocity error of 33% error in direction and 22% error in
magnitude for (a). For (b), the results show a velocity error of 43% error in direction and 75% error in
magnitude. Detailed discussion of these errors are presented in Section 4.4.
A. W. Mahoney et al. / Advanced Robotics 25 (2011) 1007–1028 1025
Figure 8. Composite experimental image sequence demonstrating that the algorithm seamlessly con-
trols maneuvers such as this ‘U-turn’ while maintaining a constant forward velocity.
viscosity, their net effect cancels and h E itself is invariant to changes in viscosity.
The error shown in Fig. 7 is likely attributable to a change in fluid viscosity caused
by fluctuation in ambient temperature after the swimming properties were char-
acterized using methods discussed in the preceding section, as well as changes in
the distance between the swimmer and the walls of the container. Simple sensitivity
analysis when commanding the swimmer to obtain a velocity of 30◦ above horizon-
tal at 0.1 mm/s (as is the case shown in Fig. 7a) shows that altering the parameters
d11 and d22 (near the values obtained in Section 4.3) by overpredicting viscosity
by 15% induces the microrobot to swim at an angle 10% less than desired above
horizontal and with magnitude 17% less than desired. Underpredicting viscosity
by 15% causes the microrobot to swim at an angle 10% more than desired above
horizontal with magnitude 23% greater than desired. Additionally, we have found
that the sensitivity to error in viscosity increases when operating in fluids with less
viscosity than that used in this paper. Although potentially large, these disturbances
can be compensated for by the human operator if he/she perceives that the swim-
mer is not moving as desired, since correction in the velocity commands are more
intuitive to the human than corrections in pitch and rotation speed.
The algorithm presented in this paper is not limited to maneuvers where the
swimmer is primarily oriented vertically, like those in the preceding experiments.
The algorithm can determine the necessary control outputs given any spatial veloc-
ity. Figure 8, for example, shows the trajectory of the swimmer under control of
the algorithm for a maneuver where the user initially commands the swimmer to
move horizontally and then rotates the velocity 180◦ returning back to horizontal
velocity opposite that at the start (as if performing a ‘U-turn’ in a car), while main-
taining constant velocity magnitude. As can be seen in Fig. 8, the algorithm handles
maneuvers such as these seamlessly.
5. Discussion
There are a number of assumptions built into the algorithm presented herein. (i) We
assume that the microswimmer is always rotating in sync with the applied field,
implying that the commanded rotation speed is not above the step-out frequency
of the microswimmer. The step-out frequency is well understood when swimming
parallel to the central axis, but the effect of steering maneuvers on step-out is not
1026 A. W. Mahoney et al. / Advanced Robotics 25 (2011) 1007–1028
6. Conclusions
We have developed a 6-d.o.f. model for helical microswimmers in a low-Reynolds-
number regime. Using this model, we derived a simple open-loop controller that
allows a human user to directly command a desired velocity to magnetic helical
microswimmers. The method incorporates a gravity-compensation routine that pre-
A. W. Mahoney et al. / Advanced Robotics 25 (2011) 1007–1028 1027
vents the microswimmer from sinking due to its own weight. The method is more
intuitive than controlling the orientation and rotation speed of the microswimmer
directly, which is the method utilized in prior works. We found good agreement
between experimental results and predictions.
Acknowledgements
This work was supported by the National Science Foundation under grants IIS-
0952718 and DGE-0654414. The Nitinol tube used to manufacture the helical
microswimmer was provided by Johnson Matthey Medical. The photo in Fig. 5c
is courtesy Utah Daily Chronicle. The authors wish to thank Lisandro Leon for
his contributions during the construction of the Helmholtz coil system and Kathrin
Peyer (ETH Zurich) for her extremely useful correspondence on RFT.
References
1. B. J. Nelson, I. K. Kaliakatsos and J. J. Abbott, Microrobots for minimally invasive medicine,
Ann. Rev. Biomed. Eng. 12, 55–85 (2010).
2. C. Pawashe, S. Floyd and M. Sitti, Modeling and experimental characterization of an untethered
magnetic micro-robot, Int. J. Robotics Res. 28, 1077–1094 (2009).
3. D. R. Frutiger, K. Vollmers, B. E. Kratochvil and B. J. Nelson, Small, fast, and under control:
wireless resonant magnetic micro-agents, Int. J. Robotics Res. 29, 613–636 (2010).
4. L. Zhang, J. J. Abbott, L. X. Dong, B. E. Kratochvil, D. Bell and B. J. Nelson, Artificial bacterial
flagella: fabrication and magnetic control, Appl. Phys. Lett. 94, 064107 (2009).
5. M. P. Kummer, J. J. Abbott, B. E. Kratochvil, R. Borer, A. Sengul and B. J. Nelson, OctoMag:
an electromagnetic systems for 5-DOF wireless micromanipulation, in: Proc. IEEE Int. Conf. on
Robotics and Automation, Anchorage, AK, pp. 1610–1616 (2010).
6. E. M. Purcell, Life at low Reynolds number, Am. J. Phys. 45, 3–11 (1977).
7. T. Honda, K. I. Arai and K. Ishiyama, Micro swimming mechanisms propelled by external mag-
netic fields, IEEE Trans. Magn. 32, 5085–5087 (1996).
8. A. Ghosh and P. Fischer, Controlled propulsion of artificial magnetic nanostructured propellers,
Nano Lett. 9, 2243–2245 (2009).
9. J. J. Abbott, K. E. Peyer, M. Cosentino Lagomarsino, L. Zhang, L. X. Dong, I. K. Kaliakatsos and
B. J. Nelson, How should microrobots swim? Int. J. Robotics Res. 28, 1434–1447 (2009).
10. K. E. Peyer, L. Zhang, B. E. Kratochvil and B. J. Nelson, Non-ideal swimming of artificial bac-
terial flagella near a surface, in: Proc. IEEE Int. Conf. Robotics and Automation, Anchorage, AK,
pp. 96–101 (2010).
11. B. Behkem and M. Sitti, Design methodology for biomimetic propulsion of miniature swimming
robots, ASME J. Dyn. Syst. Meas. Control 128, 36–43 (2006).
12. L. Zhang, J. J. Abbott, L. X. Dong, K. E. Peyer, B. E. Kratochvil, H. Zhang, C. Bergeles and
B. J. Nelson, Characterizing the swimming properties of artificial bacterial flagella, Nano Lett. 9,
3663–3667 (2009).
13. E. Lauga, W. DiLuzio, G. Whitesides and H. Stone, Swimming in circles: motion of bacteria near
solid boundaries, Biophys. J. 90, 400–412 (2005).
14. J. Gray and G. J. Hancock, The propulsion of sea-urchin spermatozoa, J. Exp. Biol. 32, 802–814
(1955).
1028 A. W. Mahoney et al. / Advanced Robotics 25 (2011) 1007–1028
Jake J. Abbott received the PhD degree in Mechanical Engineering from Johns
Hopkins University, Baltimore, MD, in 2005. He became a Postdoctoral Re-
search Associate at the Institute of Robotics and Intelligent Systems, ETH Zurich,
Switzerland, in 2005, and an Assistant Professor at the University of Utah, Salt
Lake City, UT, in 2008. He is currently the Head of the Telerobotics Laboratory,
Department of Mechanical Engineering, University of Utah, where his research
involves medical and microscale telerobotics.