Professional Documents
Culture Documents
Abstract— This paper describes a custom Low Power Motor axial location of the DDU. The actuation unit of each DDU
Controller (LoPoMoCo) that was developed for a 34-axis robot is located at its upper extremity and the actuation is by super-
system currently being designed for Minimally Invasive Surgery elastic (NiTi) tubes operated in push-pull mode. This system
(MIS) of the upper airways. The robot system will includes
three robot arms equipped with small snake-like mechanisms, implements actuation redundancy in the design and control of
which challenge the controller design due to their requirement the DDU’s. Each DDU and TMU has 7 and 4 actuated joints,
for precise sensing and control of low motor currents. The respectively, which totals 34 actuated joints for the three armed
controller hardware also provides accurate velocity estimate from slave robot and RBU.
incremental encoder feedback and can selectively be operated The snake-like unit of the DDU is composed of a base
in speed or torque control mode. The experimental results
demonstrate that the controller can measure applied loads with disk, an end disk, several spacer disks and four super-elastic
a resolution of , even though the transmission is non- tubes (backbones) arranged as in Fig. 2. The central tube
backdriveable. Although the controller was designed for this is the primary backbone while the remaining three tubes
particular robot, it is applicable to other systems requiring torque are the secondary backbones. The secondary backbones are
monitoring capabilities. equidistant from the central backbone and from one another.
The central backbone is attached to both the base and end
I. I NTRODUCTION
disks and to all spacer disks while the secondary backbones
Minimally invasive surgery (MIS) of the throat is charac- are attached only to the end disk and are free to slide and
terized by insertion of endoscopes and multiple long tools bend through properly dimensioned holes in the base and
through a narrow tube (the laryngoscope) inserted into the spacer disks. These secondary backbones actuate the snake
patient’s mouth. Current manual instrumentation is awkward, in both push and pull modes, which makes it possible to
hard to manipulate precisely, and lacks sufficient dexterity to satisfy statics of the structure while preventing buckling of
permit common surgical subtasks such as suturing vocal fold the backbones - an important feature for successful reduction
tissue. This clinical problem motivated the development of of diameter to 4mm or less. This makes the design of the
a novel system for MIS of the upper airway including the controller challenging because it must prevent buckling by
throat and larynx [1] [2]. This system has a master/slave design ensuring that the backbones do not get overloaded.
similar to other telesurgical robots. We give a brief overview of
the slave unit, focusing on its snake-like mechanismPSfrag replacements
because 1. Laryngoscope
it placed the most demands on the design of the low level 2. Base link
controller, which is the subject of this paper. 3. Distal Dexterity Unit (DDU)
Figure 1 shows the design of the 3 armed slave robot 4. Suction snake
that works through a laryngoscope. Our design includes a 5. DDU holder
laryngoscope, a base link, two similar Distal Dexterity Units 6. 4 DoF Tool Manipulaiton Unit (TMU)
(DDU) for tool/tissue manipulation, and another DDU for 7. Rotating Base Unit (RBU)
suction. Each DDU is a 5 degree of freedom (DoF) robot
8. Fast clamping device
mounted on a DDU holder, which is manipulated by a 4
9. DDU actuation unit
DoF Tool Manipulation Unit (TMU). The TMU controls the
10. Electrical supply/data
angle of approach, the rotation about and the position along
the axis of the DDU holder. The TMU’s are mounted on
Fig. 1. Slave Robot Design
a Rotating Base Unit (RBU), permitting the system to be
oriented within the throat so as to minimize collisions between
DDU holders. The DDU holders are thin tubes (about 4 mm
II. D ESIGN OF THE L OW L EVEL S YSTEM C ONTROLLER
in outside diameter) providing an actuation pathway for the
DDU and possibly a light-source or suction channel. Each The requirements for controlling the surgical robot system
TMU is equipped with a fast clamping device for adjusting the are as follows:
eplacements
1. Gripper most of the requirements, but none that satisfied all of them.
2. Moving platform
3. Parallel stage flexible links
One major difficulty was that even the small (low power)
4. Gripper actuation links amplifiers were rated at several Amps and would therefore
5. End disk provide motor current feedback signals that were scaled to
6. Spacer disk
our range. This would not provide sufficient resolution for
7. Central backbone tube
8. Base disk our measurements. We considered solutions that combined off-
9. DDU holder the-shelf components with custom components, but eventually
decided that the resulting wiring complexity for the 34 axis
Fig. 2. The Distal Dexterity Unit (DDU)
robot system would lead to reliability and maintenance prob-
TABLE I lems. We therefore designed a custom board that provides all
M AXON DC M OTOR S PECIFICATIONS I/O hardware and power amplification to control up to four
Rated Power 0.75W axes. With this arrangement, each 7-axis DDU requires two
Nominal Voltage 12V boards, each 4-axis TMU requires one board and the 1-axis
No load current 6mA RBU requires one board, for a total of 10 boards (9 if the
Starting current 106mA RBU is controlled from an unused DDU channel).
Terminal resistance 114
Terminal inductance 0.92mH For simplicity, we selected a centralized architecture in
Total diameter 10mm which all control computations are performed on a single
PC and motor I/O is accomplished via the custom boards
installed in the PC (to further simplify our design task, we
chose the ISA bus). Figure 3 shows the custom controller
1) Control the three 7-axis DDU’s, three 4-axis TMU’s and board, called the Low Power Motor Controller (LoPoMoCo).
one RBU, for a total of 34 actuated joints. The entire 34-axis controller consists of 9 LoPoMoCo boards
2) Avoid buckling the snake portion of the DDU by and a single board computer installed in a PICMG backplane.
preventing motors from exceeding strain limits of the Each controller board contains a high-density 50-pin (SCSI-2)
secondary backbones. connector for motor power and feedback signals for 4 axes.
3) Initialize (home) the robot with little or no motion to To simplify cabling, we also designed a small 2-layer board
avoid buckling and to allow re-homing when deployed that interfaces 4 Maxon motors/encoders and 4 analog sensors
in the patient. to the 50-pin cable (see Figure 3). The following sections give
4) Measure and limit the interaction forces with the envi- further details about the LoPoMoCo.
ronment.
The surgical robot system is a small-scale design and does
not require high joint speeds. Therefore, it is possible to
use small, low-power motors with high gear reductions. We
selected the Maxon RE Series brush DC motor with integrated
planetary gearhead and (magnetic) incremental encoder for
the DDU and possibly the TMU and RBU as well. Some
key motor specifications are shown in Table I. Note that the
stall current is 106 mA and the no-load current is only 6
mA. We decided to prevent overloading the snake backbones
by controlling (or at least limiting) the motor currents. We
are still evaluating methods for measuring interaction forces.
The easiest solution is to add external force sensors, but Fig. 3. Low Power Motor Controller (LoPoMoCo)
this has the potential disadvantage of increasing system size.
Once we determine the force measurement resolution required
for our clinical application, we will evaluate whether we A. Power Amplifier Section
can adequately estimate interaction forces from the motor One key requirement is to sense small motor currents (less
current feedback. At a minimum, we anticipate that the motor than 100mA), which can be difficult in a noisy environment.
current feedback will give us sufficient information about Common sources of noise include:
the backbone tensions to develop control laws that resolve
500 mA continuous current and 750 mA peak current (3A and a voltage source 1 5 (we neglect the motor inductance,
and 5A for OPA548). which is small). Applying Kirchoff’s laws to the circuit of
A control input to set the maximum motor current. Figure 4 results in the following equations:
ADC
FPGA ADC Data
Interface
Internal Data
Data ADC
Actuator
Address ISA
Interface DAC Power
Pot
PSfrag replacements Control
Motor
Internal Control
Data Amp
DAC Encoder
Interface
DAC
Enable
Watchdog
Timer
Channel A
Encoder
Channel B
Velocity
Power Supply
convert them to digital format, and then repeat the process for to implement both methods and incorporate logic to select
the 4 analog sensor feedback signals. the most accurate velocity estimate at any given time [6].
The FPGA is clocked by the 8.33 MHz ISA bus clock and In terms of practical implementation, it is also important to
implements the following functions (Fig. 5): consider that the 1/DT method will overflow at very low
1) The interface between the ISA bus and all other compo- encoder frequencies and the DP/DS method will overflow at
nents on the board, such as the DAC and DAS (ADC). very high frequencies.
2) Position measurement from quadrature decoding of 4 We implemented both velocity estimation methods in the
incremental encoder feedbacks, maintained in 24-bit FPGA so that the higher-level software can obtain either
counters. or both estimates. Equations 7 and 8 give the quantization
3) Precise velocity measurement from the incremental en- errors in measurement for the 1/DT and DP/DS methods,
coder feedbacks, as described below. respectively, assuming a 1-bit counting error:
4) A watchdog timer that can be programmed with a
!" = # 5 b $ f 8 5&%
resolution of S uvxw up to a total period of S T X w . ? (7)
#!')( # 5 b$ f 85&%
The watchdog must be refreshed within the programmed
period; otherwise, it initiates a shutdown of the power *+"!" = S
(8)
amplifier section via the 4 amplifier enable signals # 5 b$ f 85&%-,/. '10
and/or a global shutdown circuit.
Here, #!'1( is the frequency of the clock signal used for the
5) An interval timer that can be programmed with a resolu-
1/DT method and . '10 is the period over which encoder pulses
tion of uV uWvxw up to a total period of u S X w . It can
are accumulated for the DP/DS method. To keep quantization
interrupt the PC using any one of 8 interrupt numbers.
error less than 1% and to avoid overflowing an 2 -bit counter,
These features all fit within an EPF10K30E FPGA, with the range of encoder frequencies for the 1/DT and DP/DS
many gates available for additional features. Furthermore, methods are given by equations 9 and 10, respectively. These
the FLEX10KE family includes higher-density pin-compatible ranges are graphically depicted in Figure 6 for different values
chips. The FPGA program can be easily modified because it =
of # ')( and . '10 , assuming 16-bit counters (2 S43 ).
is stored in a serially reprogrammable configuration EEPROM
(Atmel AT17LV512A). #5')( 6 6 #!'1(
S6VoS
# 57b$ f 857% b ? S (9)
C. Velocity Measurement
b ?
For many control schemes, it is valuable to accurately S 6 6 S
# 5 b$ f 85&% (10)
estimate the joint velocities. In a compact design such as the V V S8,9. '10 . '10
E8DE8D E8DE8D ED8ED88<<: E8DED8<8==<;:; E8DED8<8==< 987 E8DED <8==< 97 E8DED8<8==< B8BEDED8<8==< C8CBBEDED <8==< FG8CCBB <8==< FG8CCBB <8==< VX8FG8<8==< WY8VXFG8<8==< WYVXF8G8<==< Q8P F8G8Q8P F8G8QP F8G8F8G8O8F8G8O8F8G8O8F8G8O8F8G8O8F8G8O8^_c8b FG8O8c8b FG8O8c8b FG8]\8O c8b FG8]\ O8c8b FG8O8cb F8G8O8F8G8`a O8F8G8O8F8G8O8F8G8O8F8G8O8F8G8O8F8G8O8F8G8O8F8G8O8F8G8O8F8G8O 8TJ FG8S8RZ[8UTU J FG8S8RZ[8J F8G8SRZ[ J FG @8A8@ @8A8@ @8A8@ @8A8@ @8A8@ @A@
Nut Slide
%&
$
'!
!
#$
"
(#$ )+*,*, -(-(
.(.(/ /
10 Lead Screw Pulley
0 12 A8@A8A8@A8A8@A8A8@A8A8@A8A@A
16-bit overflow for DP/DS:
*, -(
.(/
9
rag replacements 8
7 Motor Coupling
Weight
6
Percentage Error
4
8.33MHz →
A. Experimental Setup
3 1.04125MHz →
d
The unit consists of a motor connected to a lead screw and a
nut assembly. The lead screw is 0.25 2 (6.25X X ) in diameter
with a V threads per inch (0.635X X pitch) and a total travel
We verified the performance of the OPA547 motor current
limit using the TV : resistor. Figure 7 shows the measured
d
of 6 2 (152.4X X ). The motor used is a Maxon RE-10 (10X X
diameter) gearmotor with a 64:1 planetary gear reducer and a
current feedback (horizontal axis) that corresponds to the
fe 5g
12 count encoder (48 with quadrature decoding). The motor
current limit specified via the DAC output (vertical axis). develops about 64.64X X torque and its no-load speed at
This figure illustrates that the current limit control works nominal 12 1 is 178.125 X . Provision is made on the nut to
well except at small currents (less than about VWXZY ), but attach different loads to simulate different loading conditions
that calibration is required to handle the offset between the of the backbones.
theoretical current limit (calculated from component values
and the equation in the OPA547 data sheet) and the measured B. Measurement of Force Applied to Motor
current limit. We calibrated the motor current limit by fitting Our first test was to verify that we could use the motor
piecewise linear segments to the positive and negative motor current feedback to estimate the motor load and if so, to
current data in Figure 7. use the collected data for calibration. Because our system is
non-backdriveable, we did not know á priori how well this
would work. We performed the test by attaching several known
63
8000 Measured
Theoretical
7000
weights to the pulley and moving the motor at different speeds.
CDAC = 54.565Iset We recorded the motor current feedback over 1000 samples
6000 ( Tw ). Figure 9 shows a plot of motor feedback current vs.
354 applied load at several different motor speeds. Note that the
Current Limit (DAC Counts)
5000
63 CDAC = 60.92Iset − 1363 relationship is linear and fairly independent of motor speed.
4000 The mean variation in the measured motor current across
CDAC = −55.74Iset − 448 all speeds and loads is about S TGXZY . After performing the
e
3000
calibration of load with respect to motor current, this variation
2000 corresponds to an uncertainty of V in the estimated force.
This is less than 3% of the full scale load applied to the system.
rag replacements 1000
40
IV. C ONCLUSION
30
354
80 Iset = 2.09 F+ 7.28 @ Vspeed = 10.42rps
speed measurement via hardware processing of the incremen-
70