During his PhD program at the UCSD Coordinated Robotics Lab, Nick Morozovsky developed several dynamic robotic systems, including Switchblade, a balancing treaded platform, and SkySweeper, a novel cable-locomoting 3D-printed robot. In addition to describing the development process of these robots, and showing the prototypes, Nick will discuss trends in robotics technologies (microprocessors, 3D printing, etc.) that have made prototyping and developing robots faster and cheaper than ever.
4. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
Introduction
⢠Hardware revolution is underway
⢠Robotics is a subset, what is a robot anyway?
⢠Barriers to entry in developing hardware are
plummeting
⢠Driven by low-cost, capable components,
software tools, and global communications
⢠The line between hardware and software is being
blurred.
4
http://makezine.com/projects/make-43/smart-rat-trap/
5. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
Introduction
⢠Proliferation of low-cost and capable
microprocessors and sensors
⢠3D Robotics CEO Chris Andersonâs
âpeace dividend of the smartphone warâ
⢠Accelerometers, gyroscopes,
magnetometers, light sensors,
cameras, GPS, WiFi, Bluetooth, etc.
⢠Additive manufacturing (3D printing) has
dropped two orders of magnitude in price
⢠Rapid prototyping on your desk
5
6. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
Introduction
6
from Cyril Ebersweilerâs Hardware trends 2015 slideshare
http://www.slideshare.net/haxlr8r/hardware-trends-2015
or search: slideshare hardware trends
7. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
Introduction
Robotics Challenges
7
MobilityPerception
Manipulation
âGo get me a
beer from the
fridgeâ
Stairs
Openingâ¨
a door
Sandâ¨
Eggs
Unstructuredâ¨
terrain
Where toâ¨
grasp object
Localizationâ¨
Mapping
9. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
Tools
Mechanical Engineering
⢠3D printing
⢠Multiple materials are here,
and more are coming
⢠New generation of CAD tools
⢠TinkerCAD
⢠OpenSCAD
⢠Onshape
9
11. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
Tools
Electrical Engineering
⢠Voxel8 Multi-material 3D printer
⢠Autodesk Project Wire
11
12. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
Tools
Software Engineering
⢠Explosion of single board computers
⢠Arduino, Raspberry Pi, BeagleBone,
Spark, etc. communities
⢠Almost any sensor or actuator youâre
trying to interface has already been
interfaced
⢠Pay attention to licenses and be a
good community member
⢠ROS: Robot Operating System
12
13. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
Tools
Funding
⢠Bootstrapping
⢠Accelerators/Incubators
⢠Increasing number of
hardware accelerators
13
15. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
Tools
Crowdfunding
15
from Cyril Ebersweilerâs Hardware trends 2015 slideshare
http://www.slideshare.net/haxlr8r/hardware-trends-2015
or search: slideshare hardware trends
16. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
Tools
Complementary Filter
⢠MEMS accelerometer can measure
absolute angle of gravity vector
⢠Susceptible to high frequency
noise and body accelerations
⢠MEMS gyroscope can be
integrated to measure incremental
angle
⢠Susceptible to thermal drift and
integration error
⢠Use complementary ďŹlter to
combine accelerometer and
gyroscope measurements
16
atan2
1/s
Low
Pass
High
Pass
s
Accelerometer
Gyroscope
Encoder
+
+
++
++ Ë
Ëâ
â
ÂľGHP =
1/!c
1/!c + h
, ÂľALP =
h
1/!c + h
17. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
Tools
Encoder Velocity Estimation
⢠Limited by encoder and clock
resolution
⢠Quadrature sub-periods are not
equal
⢠Measure four separate periods
⢠Average multiple periods when
possible (M ⼠2)
⢠Bound low speed by time since
last edge (M < 1)
17
A
ARF
B
AFR
BFR BRF
AR BR BR AF AF BF BF AR
ARR
BFF
M =
2!h CPR
âĄ
18. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
Tools
Lagrangian Dynamics
⢠Powerful dynamics
formulation
⢠Apply constraints with
Lagrange multiplier
⢠Broadly applicable to a
large class of robotic
systems
⢠Can be applied
programmatically
18
L = T V
d
dt
â
L
Ëqi
â
L
qi
= Qi
M(q)¨q + F(q, Ëq) = Q
A(q) Ëq = 0
M(q)¨q + F(q, Ëq) = Q + A(q)T
S(q) = null[A(q)]
S(q)T
M(q)¨q + S(q)T
F(q, Ëq) = S(q)T
Q
19. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
Tools
Lagrangian Dynamics
19
Ëq = SâŤ, ¨q = S ËâŤ, ST
M(q)S Ë⍠+ ST
F(q, Ëq) = ST
Q
Ë⍠= [ST
M(q)S] 1
ST
[Q F(q, Ëq)]
¨q = S[ST
M(q)S] 1
ST
[Q F(q, Ëq)]
Q = B⧠= B[âu Z( Ëq)]
Ëqr =
ÂŻ
SâŤ, ¨qr =
ÂŻ
S ËâŤ, x =
â
qr
Ëqr
â
, Ëx = f(x) + (x)u
f(x) =
â
Ëqr
ÂŻ
S[ST
M(q)S] 1
ST
[BZ( Ëq) + F(q, Ëq)]
â
(x) =
â
0nâĽnu
ÂŻ
S[ST
M(q)S] 1
ST
Bâ
â
20. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
Tools
Equilibrium Manifold
⢠Solve for (unstable) equilibrium manifold from dynamics by setting
accelerations and velocities to zeroâ¨
â¨
â¨
â¨
â¨
â¨
â¨
⢠Equivalent to static analysis, setting Newtonâs 2nd Law equal to zero and
setting center of mass over contact point
⢠u* is a feedforward term when the equilibrium requires non-zero control input
20
Ë⍠= [ST
M(q)S] 1
ST
{B[âu Z( Ëq)] F(q, Ëq)} = 0nrâĽ1
ST
{B[âuâ¤
Z(0nâĽ1)] F(qâ¤
, 0nâĽ1)} = 0nrâĽ1
Ëx = x xâ¤
, Ëu = u uâ¤
ËËx = f(Ëx + xâ¤
) + (Ëx + xâ¤
)(Ëu + uâ¤
)
21. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
Tools
Linearization & Integral Control
⢠Linearize about
reference position
⢠Integrate regulation error
⢠Discretize with sample
time h
⢠State feedback matrix
from LQR
⢠Can be applied
programmatically
21
ËËx =AËx + B(Ëu + uâ¤
)
A =
f(Ëx + xâ¤
)
Ëx Ëx=0
, B = (Ëx + xâ¤
)
Ëx=0
Ëâ =CËx, ÂŻx =
â
Ëx
â
â
, ËÂŻx = AÂŻx + B(Ëu + uâ¤
)
A =

A 02nâĽnu
C 0niâĽnu
, B =

B
0niâĽnu
ÂŻxk+1 =F ÂŻxk + G(Ëuk + uâ¤
)
F =eAh
, G =
Z h
0
eAâ
Bdâ
u =K
â
x xâ¤
â
â
+ uâ¤
23. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
Switchblade
⢠Tread assemblies can pivot
w.r.t. the central chassis
⢠SigniďŹcantly changes the â¨
center of mass
⢠DiďŹerent modes of locomotion
⢠Applications: search & rescue,
border patrol, mine exploration,
toy/entertainment, general
research platform
⢠Patent pending
23
24. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
Switchblade
Perching Dynamics
⢠Constraint matrices combine no-slip condition and
diďŹerent stiction statesâ¨
⢠Power function accounts for rate of energy
dissipation due to coulomb friction
24
θ
Îą
Ď
LT
LC
rmT
mC
w
mS
X
YĎ
w = r( âľ) â˘(âĄ/2 âľ)
P =
Âľkmgr
sin âľ
( Ë Ëâľ) cT ( Ëâľ Ëâ)
P
Ëq
=
0
B
B
@
0
Âľkmgr
sin ⾠¡ sgn( Ë Ëâľ)
Âľkmgr
sin ⾠¡ sgn( Ë Ëâľ) cT ¡ sgn( Ëâľ Ëâ)
cT ¡ sgn( Ëâľ Ëâ)
1
C
C
A , q =
0
B
B
@
w
âľ
â
1
C
C
A
25. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
Switchblade
Mechanical Design
⢠Two degree of freedom hip joint
⢠Two independent torques
transmitted coaxially
⢠Continuous rotation
⢠Motors, sensors, and battery in
chassisâsimpliďŹes wiring
⢠Leverage symmetry to reduce unique
part count
⢠Sheets of plastic laser cut into parts
⢠Tabs and slots speed up assembly and
reduce the number of fasteners needed
25
27. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
Switchblade
Perching
⢠Friction compensator improves
performance
⢠Oscillation is due to stiction
⢠Performance limited by mass distribution
and friction
27
0 1 2 3 4 5 6 7 8 9 10
â0.5
0
0.5
1
1.5
2
T im e (sec)
Angle(rad)
Ď
Îą
θ
Ďâ
Îą â
θ â
0 1 2 3 4 5 6 7 8 9 10
â1.92
â1.9
â1.88
â1.86
â1.84
â1.82
â1.8
â1.78
â1.76
T im e (sec)
ĎâÎą(rad)
0 1 2 3 4 5 6 7 8 9 10
â1
â0.5
0
0.5
1
T im e (sec)
ËĎâËÎą(rad/sec)
Ex p erim ental a S = 0
Ex p erim ental a S = 0.06
Sim ulation a S = 0
Sim ulation a S = 0.06
Ďâ
â Îą â
θ
Îą
Ď
LT
LC
rmT
mC
w
mS
X
YĎ
29. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
SkySweeper
⢠2 identical links pivotally
connected by rotary series
elastic actuator (SEA) hub
⢠3 position actuated clamp
(a) Open
(b) Rolling - allows axial
translation
(c) Pivoting
⢠Presented at IROS 2013 in Tokyo
29
30. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
SkySweeper
Inchworm
⢠One pivoting clamp and one rolling clamp
⢠SEA actuates to increase the angle between the links
⢠Switch clamp conďŹguration, decrease the angle between the links, repeat
30
31. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
SkySweeper
Swing-Up
⢠One pivoting clamp and
one open clamp
⢠Sine sweep control input
to the SEA
⢠Second clamp closes
once it reaches cable
⢠Useful for installation on
the cable
31
32. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
SkySweeper
BackďŹip
⢠One pivoting clamp and one open clamp
⢠Preload SEA, release one clamp, swing to grab other end, repeat
⢠Circumvent obstacle on the cable
32
33. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
đ
đś
x
y
JL ,mL
JL ,mL
JJ
2L
2L
1
2
SkySweeper
Dynamics
⢠Dynamic constraints depend on
the conďŹguration of the clamps
⢠0, 1, or 2 constraints per clamp
⢠Holonomic vertical constraint
when clamp is rolling or pivoting
⢠Additional non-holonomic
horizontal constraint when clamp
is pivoting
⢠Stack applicable constraint
matrices and ďŹnd orthonormal
basis for null space
33
y = 0
Ay1(q) = (0 1 0 0 0)
Ëx = 0
AËx1(q) = (1 0 0 0 0)
y 2L(cos â + cos âľ) = 0
Ay2(q) = (0 1 2L sin â 0 2L sin âľ)
Ëx + 2L( Ëâ cos â + Ëâľ cos âľ) = 0
AËx2(q) = (1 0 2L cos â 0 2L cos âľ)
q = x y â âľ
T
34. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
SkySweeper
Finite State Machine Controller
⢠Actions: clamp positions, SEA
⢠Transitions deďŹned by sensor
readings: spring deďŹection,
separation angle, cable
detection
⢠Implemented in code as a
switch structure
⢠Simulation performed with
switched system of equations
of motion with diďŹerent
constraint matrices
đ+Ď-đś > 1.9
đ+Ď-đś < 1.0
State 0: Open
Clamp 1: Pivoting
Clamp 2: Rolling
u = -0.65
State 1: Close
Clamp 1: Rolling
Clamp 2: Pivoting
u = 0.40
State 8: Swing 1
Clamp 1: Pivoting
Clamp 2: Open
u = -0.20
State 9: Charge 2
Clamp 1: Pivoting
Clamp 2: Pivoting
u = 1
Cable in grasp of clamp 2
State 7: Charge 1
Clamp 1: Pivoting
Clamp 2: Pivoting
u = -1
đś-Îł > 1
State 10: Swing 2
Clamp 1: Open
Clamp 2: Pivoting
u = 0.20
đś-Îł < -1
Cable in grasp of clamp 1
34
State 5: Swing
Clamp 1: Pivoting
Clamp 2: Open
u = 0.7t*sin(Ď t)
State 6: Hold
Clamp 1: Pivoting
Clamp 2: Pivoting
u = 0
Cable in grasp of clamp 2
Inchworm
Swing-Up
BackďŹip
35. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
SkySweeper
Design
⢠3D printed parts with oďŹ the shelf electronics
⢠3 position actuated clamp
⢠Servo drives symmetrically coupled clamp arms
⢠Magnets align clamps, teeth prevent rotation in pivoting position
⢠IR emitter and phototransistor pair detect cable
⢠Series elastic actuator (SEA) hub
⢠DC motor and two unidirectional torsion springs
⢠Energy storage for dynamic maneuvers
⢠Potentiometers measure spring deďŹection and angle between links
35
41. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
Conclusions
Nickâs Rules of Robotics
41
1. Never disassemble a working robot.
1. Always have a demo ready.
2. Video or it didnât happen.
2. If it works the ďŹrst time, youâre testing it wrong.
1. How good is good enough? Have deďŹned metrics.
2. If you canât measure it, you canât control it.
3. When in doubt, lubricate.
42. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
Conclusions
Nickâs Rules of Robotics
4. Never underestimate the estimation problem.
1. âbut it works in simulationâ
5. If specs for a part are listed diďŹerently in two places, theyâre both wrong.
1. How can you validate it yourself? Or deal with uncertainty?
6. Glue, tape, and zip-ties are not engineering solutions (though they might work in
a pinch).
1. You should be able to open your robot.
2. The component thatâs hardest to access will be the ďŹrst to fail.
42
43. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
Conclusions
Nickâs Rules of Robotics
7. Do not leave lithium polymer batteries charging unattended.
1. Itâs not worth the risk.
2. Use a charging sack.
8. Always have a complete CAD model, including screws and fasteners, before
constructing your robot.
1. Plan out order of operations for assembly.
2. Have extra parts on hand.
43
44. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
Conclusions
Nickâs Rules of Robotics
9. Avoid using slip rings if at all possible.
1. Intermittent contact, high/variable resistance
10.Clamping collars are always better than set screws.
1. If you have to use set screws (e.g. for cost reasons), use a driving ďŹat
and an appropriate thread-locking agent.
11.Always check polarity before plugging a component into a power source.
1. Label battery connectors and components.
44
ServoCity.com clamping hub
45. UCSD Coordinatedâ¨
Robotics Lab
Nick Morozovsky Mar 17, 2015
Conclusions
Acknowledgments
⢠Advisor: Professor
Thomas Bewley
⢠Chris Schmidt-Wetekam,
Andrew Cavender
⢠Members of the
Coordinated Robotics Lab
at UCSD
45