Industrial IoT Motor Control Trajectory Optimization
Randall Restle Digi-Key Electronics
1
2
• Requirements
• Rediscovery
• The Missing Link
• The Case for SoC
3
Industrial IoT Motion Controller Requirements
• Connection to the Internet
• A communications payload that fits that medium
TCP
t t
4
Where There Is More Time
COMM. BW PROGRAM CONTROL SOURCES
LOW 1. Move Sequencing
2. Profile Generation
3. Trajectory Update
4. Position Loop Existing Altera® Motor
Control Library
5. Velocity Loop
6. Commutation
7. Current Loop
8. Power Switching
HIGH 9. Torque/Force Motor
Splitting the Intelligence in a Motion Control System by: Curtis S. Wilson - 1992 Motion Control Magazine
5
Infinite # of Ways to Go from A to B but One is Best
Gradual and
Smooth
Snappy and
Abrupt
6
• Requirements
• Rediscovery
• The Missing Link
• The Case for SoC
7
Mechanical Engineers Solved this in the 1950s
Stoddart, David A. “Polydyne Cam Design,” Machine Design (January 1953), 121.
Kloomok, M. and Muffley, R. V. “Plate Cam Design,” Product Engineering (February 1955), 156.
8
Popular Solutions of Electrical Engineers
POSITION
TRAPEZOIDAL
VELOCITY
ACCELERATION
S-CURVE SPLINE
A1
A1 + A2
A1 + A2 + A3
A1 A2 A3
9
D D D Dwell D D R D D F D R D modified sine rise D R R 3-4-5 half rise start D R F 8th order rise start D F D modified sine fall D F R 8th order fall start D F F 3-4-5 half fall start R D D R D R R D F R R D 3-4-5 half rise end R R R constant velocity rise R R F half harmonic rise end R F D 8th order fall end R F R full harmonic fall R F F half harmonic fall start F D D F D R F D F F R D 8th order rise end F R R half harmonic rise start F R F Full harmonic rise F F D 3-4-5 half fall end F F R half harmonic fall end F F F constant velocity fall
8th Order Rise Start
8th Order Fall End
8th Order Fall Start
8th Order Rise End
CAM SEGMENT TYPES
See KLOOMOK & MUFFLEY 1955 for like types
18 Classical Cam Shapes
10
18 Classical Cam Shapes KLOOMOK & MUFFLEY 1955
Segment Names CAM SEGMENT TYPES
See KLOOMOK & MUFFLEY 1955 for like types
D D D Dwell D D R D D F D R D modified sine rise D R R 3-4-5 half rise start D R F 8th order rise start D F D modified sine fall D F R 8th order fall start D F F 3-4-5 half fall start R D D R D R R D F R R D 3-4-5 half rise end R R R constant velocity rise R R F half harmonic rise end R F D 8th order fall end R F R full harmonic fall R F F half harmonic fall start F D D F D R F D F F R D 8th order rise end F R R half harmonic rise start F R F Full harmonic rise F F D 3-4-5 half fall end F F R half harmonic fall end F F F constant velocity fall
3-4-5 Half Rise Start
3-4-5 Half Fall Start
3-4-5 Half Fall End
3-4-5 Half Rise End
11
18 Classical Cam Shapes KLOOMOK & MUFFLEY 1955
Segment Names
KLOOMOK & MUFFLEY 1955
Segment Names
D D D Dwell D D R D D F D R D modified sine rise D R R 3-4-5 half rise start D R F 8th order rise start D F D modified sine fall D F R 8th order fall start D F F 3-4-5 half fall start R D D R D R R D F R R D 3-4-5 half rise end R R R constant velocity rise R R F half harmonic rise end R F D 8th order fall end R F R full harmonic fall R F F half harmonic fall start F D D F D R F D F F R D 8th order rise end F R R half harmonic rise start F R F Full harmonic rise F F D 3-4-5 half fall end F F R half harmonic fall end F F F constant velocity fall
Half Harmonic Rise Start
Half Harmonic Rise End
Half Harmonic Fall Start
Half Harmonic Fall End
CAM SEGMENT TYPES
See KLOOMOK & MUFFLEY 1955 for like types
12
18 Classical Cam Shapes KLOOMOK & MUFFLEY 1955
Segment Names
KLOOMOK & MUFFLEY 1955
Segment Names
D D D Dwell D D R D D F D R D modified sine rise D R R 3-4-5 half rise start D R F 8th order rise start D F D modified sine fall D F R 8th order fall start D F F 3-4-5 half fall start R D D R D R R D F R R D 3-4-5 half rise end R R R constant velocity rise R R F half harmonic rise end R F D 8th order fall end R F R full harmonic fall R F F half harmonic fall start F D D F D R F D F F R D 8th order rise end F R R half harmonic rise start F R F Full harmonic rise F F D 3-4-5 half fall end F F R half harmonic fall end F F F constant velocity fall
Modified Sine Rise
Constant Velocity Rise
Constant Velocity Fall
Modified Sine Fall
CAM SEGMENT TYPES
See KLOOMOK & MUFFLEY 1955 for like types
13
18 Classical Cam Shapes KLOOMOK & MUFFLEY 1955
Segment Names Full Harmonic
Rise Full Harmonic
Fall
KLOOMOK & MUFFLEY 1955
Segment Names
KLOOMOK & MUFFLEY 1955
Segment Names
D D D Dwell D D R D D F D R D modified sine rise D R R 3-4-5 half rise start D R F 8th order rise start D F D modified sine fall D F R 8th order fall start D F F 3-4-5 half fall start R D D R D R R D F R R D 3-4-5 half rise end R R R constant velocity rise R R F half harmonic rise end R F D 8th order fall end R F R full harmonic fall R F F half harmonic fall start F D D F D R F D F F R D 8th order rise end F R R half harmonic rise start F R F Full harmonic rise F F D 3-4-5 half fall end F F R half harmonic fall end F F F constant velocity fall
CAM SEGMENT TYPES
See KLOOMOK & MUFFLEY 1955 for like types
14
Elegance of the Mechanical Solution
Precision Points POSITION
D R F R D F D
[ 8th Order Rise Start ] [ Full Harmonic Fall ]
VELOCITY
ACCELERATION
Motion becomes fluid
15
• Requirements
• Rediscovery
• The Missing Link
• The Case for SoC
16
7th Order Polynomial
𝒑(𝒙) = 𝑨𝒙𝟕 + 𝑩𝒙𝟔 + 𝑪𝒙𝟓 +𝑫𝒙𝟒 + 𝑬𝒙𝟑 + 𝑭𝒙𝟐 + 𝑮𝒙 + 𝑯
𝒗(𝒙) = 𝟕𝑨𝒙𝟔 + 𝟔𝑩𝒙𝟓 + 𝟓𝑪𝒙𝟒 +𝟒𝑫𝒙𝟑 + 𝟑𝑬𝒙𝟐 + 𝟐𝑭𝒙 + 𝑮
𝒂(𝒙) = 𝟒𝟐𝑨𝒙𝟓 + 𝟑𝟎𝑩𝒙𝟒 + 𝟐𝟎𝑪𝒙𝟑 +𝟏𝟐𝑫𝒙𝟐 + 𝟔𝑬𝒙 + 𝟐𝑭
𝒋(𝒙) = 𝟐𝟏𝟎𝑨𝒙𝟒 + 𝟏𝟐𝟎𝑩𝒙𝟑 + 𝟔𝟎𝑪𝒙𝟐 +𝟐𝟒𝑫𝒙 + 𝟔𝑬
𝑝0 = 𝐻
𝑣0 = 𝐺
𝑎0 = 2𝐹
𝑗0 = 6𝐸
𝑝1 = 𝐴 + 𝐵 + 𝐶 + 𝐷 + 𝑗0 6 + 𝑎0 2 + 𝑣0 + 𝑝0
𝑣1 = 7𝐴 + 6𝐵 + 5𝐶 + 4𝐷 + 𝑗0 2 + 𝑎0 + 𝑣0
𝑎1 = 42𝐴 + 30𝐵 + 20𝐶 + 12𝐷 + 𝑗0 + 𝑎0
𝑗1 = 210𝐴 + 120𝐵 + 60𝐶 + 24𝐷 + 𝑗0
Explicit specification of the boundary conditions:
17
Challenge of Speed is Met with FPGA Fabric
18
Challenge of Arithmetic Variety is Met with a mP
𝐴 =−20(𝑝1 − 𝑝0)
𝑥7+10 𝑣1 + 𝑣0
𝑥6+−2 𝑎1 − 𝑎0
𝑥5+𝑗1 + 𝑗06𝑥4
𝐵 =70(𝑝1 − 𝑝0)
𝑥6+−34𝑣1 − 36𝑣0
𝑥5+13𝑎1 − 15𝑎0
2𝑥4+−3𝑗1 − 4𝑗0
6𝑥3
𝐶 =−84(𝑝1 − 𝑝0)
𝑥5+39𝑣1 + 45𝑣0
𝑥4+−7𝑎1 + 10𝑎0
𝑥3+𝑗1 + 2𝑗02𝑥2
𝐷 =35(𝑝1 − 𝑝0)
𝑥4+−15𝑣1 − 20𝑣0
𝑥3+5𝑎1 − 10𝑎0
2𝑥2+−𝑗1 − 4𝑗0
6𝑥
Closed Form Expression for the Coefficients
19
Python*-based 7th Order Polynomial Class
20
DSP Builder Model
21
• Requirements
• Rediscovery
• The Missing Link
• The Case for SoC
22
A Complete Solution
COMM. BW PROGRAM CONTROL SOURCES
DEVICES
LOW 1. Move Sequencing Polynomial
Cam Generator
ARM 2. Profile Generation
3. Trajectory Update
FPGA
4. Position Loop
Existing Altera® Motor
Control Library
5. Velocity Loop
6. Commutation
7. Current Loop
8. Power Switching
HIGH 9. Torque/Force Motor Motor
Intel® SoC FPGA
Splitting the Intelligence in a Motion Control System by: Curtis S. Wilson – 1992 Motion Control Magazine
23
This is Why Intel® SoC FPGA
DHCP SNMP HTTP FTP TFTP
UDP TCP
ICMP
IP
ARP
Ethernet
𝒑 = 𝑨𝒙𝟕 + 𝑩𝒙𝟔 + 𝑪𝒙𝟓 + 𝑫𝒙𝟒 + 𝑬𝒙𝟓 + 𝑭𝒙𝟓 + 𝑮𝒙𝟓 +𝑯
High-Performance CPU High-Performance FPGA
Better Motion Control
24
Summary and Next Steps
• Industrial IoT (IIoT) Motion Control requires reducing communications bandwidth
• What was not feasible in the 1950s is feasible now with SoCs
- This problem has been solved
• Current solutions are not optimum
• SoC makes possible:
- Sophisticated motion control
- Internet communication
- Robust application framework built on Linux
• New and better machines are possible
- Faster, smoother, less maintenance, flexible, larger
- More energy efficient and cost effective