ROBOT ENGINEERING 2024
Introduction
Definition of Robot
A Robot is a “re-programmable” “multifunctional” manipulator designed to move
material, parts, tools, or special devices, through variable programmed motion.
- by RIA (Robotics Industry Association)
*Old definition for industrial robot
Applications
Industrial Robot Is NOT Everything:
Industry
Remote exploration
Biomedical
Service
Entertainment
Other emerging applications (Military/Law Enforcement, Disaster Response…)
Five Key Areas of Robotics
① Manipulation
② Locomotion
③ Navigation
④ Interaction
⑤ Intelligence
*This class focuses on Manipulation.
Robotic System & Its Components
① Mechanism
Electric
Hydraulic
Pneumatic
② Computer
Receive sensor input
Compute control output
Send out control output
③ Sensors
Encoder/Tachometer
Force sensors
Tactile sensors
Vision (Camera)
Robotics - System Engineering
Robotics as Science of “System Integration”
Related Fields to Robotics
Mechanical Engineering
Kinematics
Dynamics
Control
Mechanical Design
Computer Science
Programming
Electrical Engineering
Mechatronics
Sensor
Control
This Course Will Cover:
Robot Kinematics
Robot Dynamics
Robot Control
Robot Design/Building
*This Class is based on ME, rather than on CS or EE
Other ME Classes Related to This Class
Linear Algebra
Engineering Mathematics
Computer Aided Design
Kinematics
Dynamics
Automatic Control
Mechanical Vibration
Mechatronics
Micro-processor
Sensor and Measurement
Mechanical Element Design
Prerequisites
Engineering Mathematics 1
Computer-Aided Design
Kinematics
Dynamics
Mechanical Vibration
Automatic Control
Introduction to Electrical Engineering
*This is a senior course in mechanical engineering, which requires sufficient
background in related fields.
Contents of This Course
System Dynamics and Control
Mechatronics
Coordinate Transformation
Kinematics
Velocity Kinematics
Statics
Stiffness Servo
Dynamics
Control
System Dynamics and Control
System
An interconnection of elements and devices that we can draw a dotted line around
and define inputs and outputs
𝑦(𝑡) = 𝑓(𝑢(𝑡))
*function 𝑓(… ) mapping input 𝑢 (𝑡) to output 𝑦(𝑡)
*Here, SISO (Single Input Single Output) system
Static System vs. Dynamic System
Static System
Output y at time t depends only on input u at time t
(ex) see-saw
𝑙!
𝑦 (𝑡 ) = 𝑢(𝑡)
𝑙"
Dynamic System
Output y at time t depends on past value of input u, as well as input u at time t
(ex) water tank
#
𝐴𝑦(𝑡) = * 𝑎𝑢(𝜏)𝑑𝜏
$
#
𝑎
𝑦 (𝑡 ) = * 𝑢(𝜏)𝑑𝜏
$ 𝐴
OR
𝑑𝑦(𝑡) 𝑎
= 𝑢(𝑡)
𝑑𝑡 𝐴
Ordinary Differential Equation (O.D.E.)
Stability
Stable System
finite input finite output
Unstable System
(ex) positive feedback
(ex) resonance
Linearity
Linear System
𝑦 = 𝑓(𝛼𝑢" + 𝛽𝑢! ) = 𝛼𝑓(𝑢" ) + 𝛽𝑓(𝑢! )
Nonlinear System
𝑦 = 𝑓(𝛼𝑢" + 𝛽𝑢! ) ≠ 𝛼𝑓(𝑢" ) + 𝛽𝑓(𝑢! )
(ex) 𝑓 (𝑥) = 𝑠𝑖𝑛𝑥
𝑓 (𝑥 ) = 𝑥 !
Time invariance
Time-Invariant System
(ex)
𝑦(𝑡) = 𝑎𝑢(𝑡) (𝑎 = constant)
At 𝑡 = 𝑡" , 𝑢(𝑡) = 𝑈 → 𝑦(𝑡" ) = 𝑎𝑈
At 𝑡 = 𝑡! , 𝑢(𝑡) = 𝑈 → 𝑦(𝑡! ) = 𝑎𝑈
Time-Varying System
(ex)
y(t) = 𝑎(𝑡)𝑢(𝑡) (𝑎 = function of time)
At 𝑡 = 𝑡" , 𝑢(𝑡) = 𝑈 → 𝑦(𝑡" ) = 𝑎(𝑡" )𝑈
At 𝑡 = 𝑡! , 𝑢(𝑡) = 𝑈 → 𝑦(𝑡! ) = 𝑎(𝑡! )𝑈
*battery à modelled as time-invariant, while it is actually time-varying
System Modeling
l Represent the system mathematically (ex) ODE, Transfer Function
l Describe, Predict, and Control the system
Mechanical System
① Kinematics (Motion, Geometry)
② Force Balance (Free-Body Diagram)
③ Force-Motion Relation (Mechanical Component)
(ex) mass-spring-damper system
① Kinematics (Motion, Geometry)
∆𝑙 = 𝑥
𝑙 ̇ = 𝑙$̇ + ∆𝑙 ̇ = 𝑥̇
② Force Balance (Free-Body Diagram)
ΣF = 𝑓 − 𝑓" − 𝑓!
③ Force-Motion Relations (Mechanical Component)
spring
𝑓" = 𝑘∆𝑙 = 𝑘𝑥
damper
𝑓! = 𝑏𝑙 ̇ = 𝑏𝑥̇
mass
ΣF = 𝑚𝑥̈
○
1 , ○
2 , ○
3 à
System Equation
𝑓 − 𝑘𝑥 − 𝑏𝑥̇ = 𝑚𝑥̈
Electrical System
① Kirchoff’s Current Law (KCL)
② Kirchoff’s Voltage Law (KVL)
③ Voltage-Current Relations (Electrical Component)
(ex) R-L-C circuit
① Kirchoff’s Current Law (KCL)
𝑖 = 𝑖" = 𝑖! = 𝑖%
② Kirchoff’s Voltage Law (KVL)
𝐸 − 𝑒" − 𝑒! − 𝑒% = 0
③ Voltage-Current Relation (Electrical Component)
resistance
𝑒" = 𝑖" 𝑅
inductance
𝑑𝑖!
𝑒! = 𝐿
𝑑𝑡
capacitance
1
𝑒% = * 𝑖% 𝑑𝑡
𝑐
○
1 , ○
2 , ○
3 à
System Equation
𝑑𝑖 1
𝐸 − 𝑅𝑖 − 𝐿 − * 𝑖𝑑𝑡 = 0
𝑑𝑡 𝑐
integro-differential equation
1
𝐸̇ − 𝑅𝚤̇ − 𝐿𝚤̈ − 𝑖 = 0
𝑐
differential equation
Electromechanical System
Electrical Domain
Electrical System Modeling ○
1 , ○
2 , ○
3 à
&'
𝑉 − 𝑅𝑖 − 𝐿 − 𝑒( = 0 à ○
a
&#
Mechanical Domain
Mechanical System Modeling ○
1 , ○
2 , ○
3 à
𝜏( − 𝐵𝜃̇ = 𝐼𝜃̈ à ○
b
*angular version of Newton’s Second Law Σ𝜏 = 𝐼𝜃̈ (Σ𝐹 = 𝑚𝑥̈ )
DC Motor (Electromechanical Component)
𝜏( = 𝐾𝑖 à ○
c
&)
𝑒( = 𝐾 à ○
d
&#
*𝑒( = back electromotive force
*Fleming’s left-hand rule à 𝐹 = 𝐵𝑖𝐿
*Fleming’s right-hand rule à 𝑒 = 𝑣𝐵
○
a , ○
b , ○
c , ○
d à
System Equation
𝐿𝐼 𝑅𝐼 𝐿𝐵 𝑅𝐵
𝑉= 𝜃T + U + V 𝜃̈ + U + 𝐾V 𝜃̇
𝐾 𝐾 𝐾 𝐾
*conversion of electrical power to mechanical power
electrical power (Watt = J/sec)
𝑃*+*,#-',.+ = 𝑒( 𝑖
mechanical power (Watt = J/sec)
𝑃(*,/.0',.+ = 𝜏( 𝜃̇
energy efficiency of DC motor is near 100% à 𝑒( 𝑖 ≈ 𝜏( 𝜃̇
DC motor
𝜏( = 𝐾" 𝑖
𝑒( = 𝐾! 𝜃̇
(𝐾! 𝜃̇)𝑖 ≈ (𝐾" 𝑖)𝜃̇
∴
𝐾! = 𝐾" = 𝐾
System Behavior
Physical System
Modeling
Mathematical Model (O.D.E)
Solving
System Behavior (Solution)
Solution of ODE
time-domain solution à step response
Laplace-domain solution à transfer function, root locus
frequency-domain à frequency response function, Bode plot
Time-Domain Solution
Analytical Solution
*what you learned in Engineering Mathematics I
① check the type of ODE
② apply known solution
③ general solution = homogeneous solution + particular solution
④ apply initial conditions
Numerical Solution
*use ode45 in matlab
① ONE N-th order ODE à N 1st order ODE’s
② input N 1st order ODE’s and I.C. into matlab code
③ solve using ode45.m
Laplace-Domain Solution
Transfer Function
relation between input and output in s-domain
output
𝑌(𝑠)
= 𝐺(𝑠)
𝑈(𝑠)
Input
Block Diagram
graphical representation of transfer function
Block Diagram Manipulation
𝑌 = 𝐾𝐺𝐸
where
𝐸 = 𝑅 − 𝐻𝑌
𝑌 = 𝐾𝐺 (𝑅 − 𝐻𝑌) à 𝑌(1 + 𝐾𝐺𝐻) = 𝐾𝐺𝑅
𝑌 𝐾𝐺
=
𝑅 1 + 𝐾𝐺𝐻
Feedback Control
Open-Loop System
(ex) mass-spring-damper system
𝑚𝑥̈ + 𝑏𝑥̇ + 𝑘𝑥 = 𝐹
𝑚𝑠 ! 𝑋(𝑠) + 𝑏𝑠𝑋(𝑠) + 𝑘𝑋(𝑠) = 𝐹(𝑠)
Transfer function 𝐺 (𝑠 )
𝑋(𝑠) 1
𝐺 (𝑠) = =
𝐹(𝑠) 𝑚𝑠 ! + 𝑏𝑠 + 𝑘
Step Input à Step Response
System Performance?
Stable?
Fast?
Error?
Step response
transient behavior
system performance in time domain
performance indices à overshoot, rise time, settling time, steady-state error
l Overshoot 𝑀1 à
Max percent overshoot
l Rise Time 𝑡- à
10-90%, 5-95%, 0-100%
l Settling Time 𝑡2 à
1, 2 or 5% of final value
l Steady-State Error 𝑒22 à
error as 𝑡→∞
*ideal response?
* use step function in matlab
(ex)
50
𝐺 (𝑠) =
𝑠 % + 9𝑠 ! + 30𝑠 + 40
>> step(50,[1 9 30 40]);
Closed-Loop System
Improve System Performance by Closing the Loop
* 𝑟(𝑡 ) 𝑜𝑟 𝑅(𝑠) = reference input
l Plant 𝐺 (𝑠 )
- a dynamic system to be controlled
- unsatisfactory system performance
l Controller 𝐾(𝑠)
- provides the excitation for the plant
- designed to control the overall system behavior
l Sensor 𝐻 (𝑠 )
- measure the state of plant
- may have its own dynamics
PID-Controller
- 90 % (or more) of control loops in industry
- Simple controller
Time domain
𝑑𝑒(𝑡)
𝑢(𝑡) = 𝐾3 𝑒(𝑡) + 𝐾4 * 𝑒(𝜏)𝑑𝜏 + 𝐾5
𝑑𝑡
Laplace domain
𝐾4 𝐾5 𝑠 ! + 𝐾3 𝑠 + 𝐾4
𝑈(𝑠) = U𝐾3 + + 𝐾5 𝑠V 𝐸(𝑠) = 𝐸(𝑠)
𝑠 𝑠
where
𝐾3 = proportional gain
𝐾4 = Integral gain
𝐾5 = derivative gain
(ex)
Mass-Spring-Damper System
𝑋(𝑠) 1
𝐺 (𝑠) = =
𝐹(𝑠) 𝑚𝑠 ! + 𝑏𝑠 + 𝑘
PID controller
𝐾5 𝑠 ! + 𝐾3 𝑠 + 𝐾4
𝐾 (𝑠) =
𝑠
𝑋 𝐾𝐺
=
𝑅 1 + 𝐾𝐺
𝑋(𝑠) 𝐾5 𝑠 ! + 𝐾3 𝑠 + 𝐾4
= = 𝐺67 (𝑠)
𝑅(𝑠) 𝑚𝑠 % + (𝑏 + 𝐾5 )𝑠 ! + (𝑘 + 𝐾3 )𝑠 + 𝐾4
*𝐺67 (𝑠) = Closed-Loop Transfer Function (CLTF)
Design of PID Controller
Design of “Well-Behaving” CL system
Stable
Fast response
Minimum overshoot
No steady-state error
Determine right values for KP, KI, and KD to improve the step response
*Rules of Thumb in Determining Gains
- Not exactly accurate, because KP, KI, and KD are dependent on each other
- Still useful… Can be used as a reference
General Tips
① Obtain an Open-loop response and determine what needs to be improved
② Add P-controller to improve the rise time
③ Add D-controller to improve the overshoot.
④ Add I-controller to eliminate the steady state error
⑤ Adjust each of KP , KI , and KD until you obtain a desired overall response
For more information:
https://ctms.engin.umich.edu/CTMS/index.php?example=Introduction§ion=Contr
olPID
More on PID control
physical meaning of PID control
① P control
ex) spring-loaded door à restoring torque
𝑢(𝑡) = 𝐾3 𝑒(𝑡)
② PD control
ex) spring-loaded door with viscous damper
correct for the momentum as it moves towards the reference point
𝑑𝑒(𝑡)
𝑢(𝑡) = 𝐾3 𝑒(𝑡) + 𝐾5
𝑑𝑡
③ PI control
integrate error over time à
kick to drive the system to reference point
𝑢(𝑡) = 𝐾3 𝑒(𝑡) + 𝐾4 * 𝑒(𝜏)𝑑𝜏
Implementation of Feedback Control System
Robot Joint - DC motor driving a link
Modeling of Plant
Electrical Domain
① KCL
② KVL
③ Voltage-Current Relation
&'
à 𝑉 = 𝑅𝑖 + 𝐿 + 𝑒( ≈ 𝑅𝑖 + 𝑒( a
à○
&#
where
𝑅≫𝐿
Mechanical Domain
① kinematics
② force balance
③ Force-Motion Relation
à 𝜏( = 𝐼𝜃̈ + 𝐵𝜃̇ b
à○
Electromechanical Component (DC Motor)
𝑒( = 𝐾𝜃̇, 𝜏( = 𝐾𝑖 c
à○
Plant Dynamics
○
a, ○
b, ○
c à
𝐾! 𝑉
𝐼𝜃̈ + f𝐵 + g 𝜃̇ = 𝐾
𝑅 𝑅
𝛩 𝐾
= = 𝐺 (𝑠)
𝑉 𝐾!
𝑅 i𝐼𝑠 ! + U𝐵 + 𝑅 V 𝑠j
Feedback Control
P-Control
𝑉 (𝑡) = 𝐾3 𝑒(𝑡)
𝛩 𝐾𝐾3
=
𝛩- 𝐾!
𝑅 i𝐼𝑠 ! + U𝐵 + 𝑅 V 𝑠j + 𝐾𝐾3
PD-Control
𝑑𝑒
𝑉 (𝑡) = 𝐾3 𝑒(𝑡) + 𝐾5
𝑑𝑡
𝛩 𝐾𝐾3 + 𝐾𝐾5 𝑠
=
𝛩- 𝐾 ! 𝐾𝐾
𝑅 i𝐼𝑠 ! + U𝐵 + 𝑅 + 𝑅 5 V 𝑠j + 𝐾𝐾3
*Velocity Feedback
𝑉 (𝑡) = 𝐾3 𝑒(𝑡) − 𝐾8 𝜔
where
𝜔 = “measured” angular velocity
𝜴
* ?
𝑽
𝛩 𝐾
= = 𝐺 (𝑠)
𝑉 ! 𝐾!
𝑅 i𝐼𝑠 + U𝐵 + 𝑅 V 𝑠j
𝛺 𝑠𝛩 𝐾
= = 𝑠𝐺 (𝑠) =
𝑉 𝑉 𝐾!
𝑅 i𝐼𝑠 + U𝐵 + 𝑅 Vj
Directly measure angular velocity 𝜔 using tachometer
No need to differentiate angle 𝜃
More on System Performance
Time domain
Laplace domain
Frequency domain
Time Domain
transient behavior
Step Response
overshoot
rise time
settling time
steady-state error
*use step function in matlab
(ex)
50
𝐺 (𝑠) =
𝑠 % + 9𝑠 ! + 30𝑠 + 40
>> sys = tf([50],[1 9 30 40]);
>> step(sys)
>> S = stepinfo(sys)
Laplace Domain
stability in Laplace plane
Root Locus
Poles and zeros in Laplace plane
Placement of CL poles
Stability
* use rlocus function in matlab
(ex)
50
𝐺 (𝑠) =
𝑠 % + 9𝑠 ! + 30𝑠 + 40
>> rlocus(50,[1 9 30 40]);
Frequency Domain
steady-state behavior
Bode plot
Stability
Gain Margin/Phase Marginà
margins to instability (amplitude ratio = 1 , phase shift = 180o)
*use bode function in matlab
(ex)
50
𝐺 (𝑠) =
𝑠 % + 9𝑠 ! + 30𝑠 + 40
>> bode(50,[1 9 30 40]);
Mechatronics
Implementation of Robotic System
Analog Controller
Op-Amp (Operational Amplifier)
Ideal Op-Amp
𝑒$ = 𝐴(𝑒! − 𝑒" )
where
𝐴 → ∞ (~10; )
𝑖 < , 𝑖 = → 0 (~10=> )
𝑒$ is not affected by load
*almost always used by feedback to keep 𝑒" = 𝑒!
Op-Amp Circuits
Inverting Amp
𝑖 = 𝑖" + 𝑖! , 𝑖" = 0
𝑒 − 𝑒$ 𝑒$
𝑖! = = − (𝑒 ≅ 𝑒! = 0)
𝑅! 𝑅!
𝑒" − 𝑒 𝑒"
𝑖= =
𝑅" 𝑅"
𝑖! = 𝑖
𝑅!
𝑒$ = − 𝑒
𝑅" "
Differential Amp
𝑖=0
𝑒" − 𝑒 𝑒 − 𝑒$
𝑖" = =
𝑅" 𝑅!
𝑒! − 𝑒 𝑒 − 0
𝑖! = =
𝑅% 𝑅?
𝑅" + 𝑅! 𝑅? 𝑅!
𝑒$ = U 𝑒! − 𝑒V
𝑅" 𝑅% + 𝑅? 𝑅" + 𝑅! "
Let
𝑅" = 𝑅% and 𝑅! = 𝑅?
𝑅!
𝑒$ = (𝑒 − 𝑒" )
𝑅" !
*Can also build OP-Amp Integrator and OP-Amp Differentiator
Digital Controller
Digital Devices as Controller
PC
Digital Signal Processor (DSP)
Micro-Controller
sensor output à analog
PC à digital
motor input à analog
A/D D/A Converters
A/D – Analog to Digital (Sensor to Computer)
D/A – Digital to Analog (Computer to Motor)
A/D Converter
① Sampling
② Quantization
① Sampling
analog signal – continuous function of time 𝑓(𝑡)
Sampling
digital signal – time series 𝑓(0), 𝑓 (∆𝑡), 𝑓(2∆𝑡), 𝑓(3∆𝑡), …
Here,
1
∆𝑡 =
𝑓@ABCDEFG
where
∆𝑡 = sampling time interval (sec)
𝑓2.(1+'0H = sampling frequency (Hz)
Nyquist Theorem
*Low Sampling Rate and Aliasing
(a) 𝒇𝒔𝒂𝒎𝒑𝒍𝒊𝒏𝒈 = 𝒇𝒔𝒊𝒈𝒏𝒂𝒍
(b) 𝒇𝒔𝒊𝒈𝒏𝒂𝒍 < 𝒇𝒔𝒂𝒎𝒑𝒍𝒊𝒏𝒈 < 𝟐 × 𝒇𝒔𝒊𝒈𝒏𝒂𝒍
(c) 𝒇𝒔𝒂𝒎𝒑𝒍𝒊𝒏𝒈 = 𝟐 × 𝒇𝒔𝒊𝒈𝒏𝒂𝒍
*Nyquist Theorem
Sampling frequency 𝒇𝒔𝒂𝒎𝒑𝒍𝒊𝒏𝒈 should be larger than Nyquist frequency
𝒇𝑵𝒚𝒒𝒖𝒊𝒔𝒕 to avoid aliasing.
𝒇𝒔𝒂𝒎𝒑𝒍𝒊𝒏𝒈 > 𝒇𝑵𝒚𝒒𝒖𝒊𝒔𝒕
where
𝒇𝑵𝒚𝒒𝒖𝒊𝒔𝒕 = 𝟐 × 𝒇𝒔𝒊𝒈𝒏𝒂𝒍
② Quantization
Determine signal values to some accuracy
Q-size (Quantization size) = Resolution
𝑫
𝟐𝑵 ≥
𝑸
where
𝑁 = bits required
𝐷 = signal range
𝑄 = Q-size (resolution)
(ex)
5 quantization levels à needs 3-bit encoding (23 = 8 > 5)
Sampling and Quantization
(ex)
5 Samples in 5 Sec à Sampling at 1 Hz
11 quantization levels à needs 4-bit encoding (24 = 16 > 11)
D/A Converter
① Zero-Order Hold (ZOH)
② Pulse-Width Modulation (PWM)
① Zero-Order Hold (ZOH)
discrete-time signal 𝑓(0), 𝑓(∆𝑡), 𝑓(2∆𝑡), 𝑓 (3∆𝑡), …
Zero-Order Hold
continuous-time signal 𝑓(𝑡)
② Pulse-Width Modulation (PWM)
Effective control of DC motor
𝑉.8*-.H* = 𝑉1*.V × 𝐷𝑢𝑡𝑦 𝐶𝑦𝑐𝑙𝑒
where
𝑃𝑢𝑙𝑠𝑒 𝑊𝑖𝑑𝑡ℎ
𝐷𝑢𝑡𝑦 𝐶𝑦𝑐𝑙𝑒 = (0~100%)
𝑃𝑊𝑀 𝑃𝑒𝑟𝑖𝑜𝑑
1
𝑃𝑊𝑀 𝑃𝑒𝑟𝑖𝑜𝑑 (𝑠𝑒𝑐) =
𝑃𝑊𝑀 𝐹𝑟𝑒𝑞𝑢𝑒𝑛𝑐𝑦 (𝐻𝑧)
Coding Digital Controller
Differential to Difference
𝑑𝜃 𝜃 (𝑘∆𝑡) − 𝜃((𝑘 − 1)∆𝑡)
≈
𝑑𝑡 ∆𝑡
Integral to Summation
# V
* 𝜃 (𝜏)𝑑𝜏 ≈ ‚ 𝜃(𝑖∆𝑡)∆𝑡
$ 'W$
(ex)
PID-Controller
𝑢(𝑡) =
#
𝑑𝜃- (𝑡) 𝑑𝜃(𝑡)
𝐾3 ƒ𝜃- (𝑡) − 𝜃(𝑡)„ + 𝐾4 * ƒ𝜃- (𝜏) − 𝜃(𝜏)„𝑑𝜏 + 𝐾5 f − g
$ 𝑑𝑡 𝑑𝑡
≈ 𝐾3 ƒ𝜃- (𝑘∆𝑡) − 𝜃(𝑘∆𝑡)„
V V
+𝐾4 (‚ 𝜃- (𝑖∆𝑡)∆𝑡 − ‚ 𝜃(𝑖∆𝑡)∆𝑡)
'W$ 'W$
𝜃- (𝑘∆𝑡) − 𝜃- ((𝑘 − 1)∆𝑡) 𝜃 (𝑘∆𝑡) − 𝜃((𝑘 − 1)∆𝑡)
+𝐾5 ( − )
∆𝑡 ∆𝑡
Sensors
Types of Sensors for Robotics System
l Internal Sensors – Information on Internal State of Robot
- Position Sensor
- Velocity Sensor
- Torque and Acceleration Sensors
l External Sensors – Information on State of Environment Outside of Robot
- Tactile Sensor
- Force and Torque Sensors
- Proximity Sensor
- Range Sensor
- Vision Sensor
Commonly Used Sensors in Robotic System
Encoder - Displacement/Velocity
Potentiometer - Displacement
Tachometer - Velocity
Force Sensor - Force/Torque
Encoder
Optical Encoder
Disc with transparent and opaque areas
Light emitters and light detectors
Count of pulses
Incremental Encoder
2 tracks
90-degree phase difference (cw or ccw)
Can only measure “relative’ angular displacement
Absolute Encoder
Multiple tracks (bits)
Optical patterns to measure “absolute” angle
Potentiometer
Variable Resistance
𝑙
𝑅∝
𝐴
𝑉- = 𝑅#X#.+ 𝑖
𝑉$ = 𝑅𝑖
Here,
𝑖 = common
Since 𝑉$ ∝ 𝑅 and 𝑅∝𝑥
𝑉$ ∝ 𝑥
Likewise, for angular displacement
𝑉$ ∝ 𝜃
Tachometer
Electrical Generator DC motor
v
*Mechanical Energy v Electrical Energy
Same equations as DC motor
𝜏 = 𝑘𝑖
𝑒( = 𝑘𝜃̇ = 𝑘𝜔
Force Sensor
Strain gages on structure
Cantilever Beam
moment
𝑀 =𝐹∙𝐿
stress distribution
𝑀𝑦
σ=−
𝐼Y
where
𝑏ℎ%
𝐼Y =
12
strain gauge located at 𝑦 = ℎ/2
6𝑀
σ=
𝑏ℎ!
Since
𝜎 = 𝐸𝜀
𝒃𝒉𝟐 𝑬𝜺
𝑭=
𝟔𝑳
Torsion Bar
𝑇𝑟
𝜏=
𝐼[
𝜋𝑑?
𝐼[ =
32
strain gate located at 𝑟 = 𝑑/2
16𝑇
𝜏=
𝜋𝑑%
*principal stress (Mohr’s Circle)
16𝑇
𝜏=𝜎=
𝜋𝑑%
Since
𝐸
𝜎= 𝜀
1+𝜈
𝝅𝒅𝟑 𝑬𝜺
𝑻=
𝟏𝟔(𝟏 + 𝝂)
Actuators
Types of Actuators for Robotic System
https://robocademy.com/2020/04/13/how-to-choose-an-actuator-for-your-robot/
l Electromagnetic Actuator
- high precision, low noise, easy to program, fewer environmental hazards
- high cost, overheating, wear and tear
l Hydraulic Actuator
- easy to control and accurate, easy maintenance, capable of generating
constant torque/fore regardless of speed change
- maintenance required, expensive, leakage, dangerous
l Pneumatic Actuator
- clean, inexpensive, safe, easy to operate
- loud and noisy, lack of precision, vibration
Other Actuators for Robotics System
Piezoelectric Actuator
Shape Memory Alloy
DC Motor
- rotor (coil windings) and stator (permanent magnet)
- supply DC voltage to two motor terminals (+ and -)
- commutator touching brushes in armature (wear-out)
BLDC (Brushless DC) Motor
- flipped version of brushed DC motor
(rotor – permanent magnet, stator – coil windings)
- no commutator and brushes
- electronic commutation instead of brushes (mechanical commutation)
- controlled by directions of magnetic fields generated by stator coils
Hydraulic Actuator
- Pascal’s Law à
The pressure applied to a fluid in a closed container is transmitted equally to
all points in the fluid and act in all directions of the container
amplification of force à
𝐹" = 𝑃𝐴"
𝐹! = 𝑃𝐴!
- composed of cylinder and piston
- pressure applied to hydraulic fluid in chamber to push piston
𝐹 = 𝑃𝐴
𝑄 = 𝐴𝑥̇
Pneumatic Actuator
- compressed air instead of hydraulic fluid
- air - compressible fluid
Piezoelectric Actuator
Elasticity + Electricity
electrical property
𝐃 = 𝛆𝐄
where
𝐄 = electric field strength
𝐃 = electric displacement
𝛆 = permittivity
mechanical property
𝐒 = 𝐬𝐓
where
𝐒 = strain
𝐓 = stress
𝐬 = compliance under short-circuit conditions
piezoelectric property
𝐒 = 𝐬𝐓 + 𝐝𝐓 𝐄
𝐃 = 𝐝𝐓 + 𝛆𝐄
where
𝐝 = matrix for the direct piezoelectric effect
Shape Memory Alloy
Mechanical Elements
l Gears
- Spur Gear
- Helical Gear
- Worm Gear
- Bevel Gear
- Rack and Pinion
l Belt Drives
- Round Belt
- Flat Belt
- V-Belt
- Timing Belt
Gears
Belt Drives
Gear Train
Simple Gear Train
gear ratio
𝑟!
𝑛=
𝑟"
𝜏" = 𝐹𝑟"
𝜏! = 𝐹𝑟!
𝐹 = common
𝜏" 𝜏!
𝐹= =
𝑟" 𝑟!
𝝉𝟏 𝒓𝟐
𝝉𝟐 = ∙ 𝒓𝟐 = ∙ 𝝉𝟏 = 𝒏𝝉𝟏
𝒓𝟏 𝒓𝟏
Power
𝑃 =𝐹∙𝑣 =𝜏∙𝜔
𝜏" 𝜔" ≈ 𝜏! 𝜔!
with negligible friction
𝟏
𝝎𝟐 = 𝝎
𝒏 𝟏
Backlash
the amount by which the width of a tooth space is wider than the thickness of the
engaging tooth as referenced to the pitch cycle
Robot Arm Drive System with Gear Train
There are errors in Asada’s Book. Pleas follow the steps below.
Robot Arm Drive System
*Rotor of DC motor is driven by magnetic force between Rotor and Stator
Inertia of Rotor 𝐼"
Inertia of Arm Link (Load) 𝐼+X.&
Kinematics
l Gear Train
Gear Ratio 𝑟
1
𝜔! = 𝜔"
𝑟
l Rigid Shafts
𝜔( = 𝜔"
𝜔! = 𝜔+X.&
Force Balance
l Massless Gear
𝜏! = 𝑟𝜏"
l Massless Shafts
𝜏! = 𝜏+X.&
l Resultant Torque on Rotor
𝛴𝜏 = 𝜏( − 𝜏"
* NOTE!!!
𝜏( ≠ 𝜏"
𝜏( = electromagnetic torque between the stator and the rotor
𝜏" = reactive torque in the shaft for the smaller gear
l Resultant Torque on Arm Link (Load)
𝛴𝜏 = 𝜏+X.& − 𝑏𝜔+X.&
Dynamics
l Rotor of DC Motor
𝐼( 𝜔̇ ( = 𝜏( − 𝜏"
l Arm Link (Load)
𝐼+X.& 𝜔̇ +X.& = 𝜏+X.& − 𝑏𝜔+X.&
Resulting System Equation
(𝑰𝒍 + 𝒓𝟐 𝑰𝒎 )𝝎̇𝒍𝒐𝒂𝒅 + 𝒃𝝎𝒍𝒐𝒂𝒅 = 𝒓𝝉𝒎
Robotics Terminology
Joints
Revolute Joint (Rotary Joint)
Joints in which the adjacent links rotate with respect to each other about the joint
axis
Prismatic Joint (Sliding Joint):
Joints in which the adjacent links translate linearly to each other along the joint axis
(ex)
3 revolute joints and 1 prismatic joint
Links
A rigid mechanical object which connects two joints
Serial kinematic linkage (Open Kinematic Chain):
A sequence of links connected together by joints
End-Effectors
Depending on tasks:
(ex)
Gripper for assembly
Tools for welding, painting, grinding, etc.
Degrees of freedom (DOFs)
Number of independent coordinates which are used to describe the motion of an
object.
An unconstrained rigid body has 6 DOF. ß 3 translations + 3 rotations
A manipulator with n joints (revolute and prismatic) has n DOF.
In order for the manipulator arm to move its end-effector to an arbitrary position
and orientation in 3-D space, 6 DOFs are required.
*n-DOF manipulator has n joints and (n+1) links including a base link (ground).
Wrists
3 DOFs with 3 revolute joints
Roll-Pitch-Yaw motion
Workspace
the space which the end-effector of a manipulator can reach
(ex)
Resolution
the smallest increment of motion achieved by a robotic manipulator at its endpoint
Accuracy
capability to position its endpoint at a given target point within its work volume
Repeatability
ability to position its endpoint back to a position in space that was previously taught