trajectory generation for servo motor drives
DESCRIPTION
Trajectory generation for servo motor drives to move from point A to point B with a smooth motion, as fast as possible limiting the jerks, acceleration and speed to specified value. Long trajectories are possible. Simple and real time computation (when the motor is running). Also errors due to discrepancies in symmetry is fixed in real time.TRANSCRIPT
![Page 1: Trajectory generation for Servo motor drives](https://reader035.vdocuments.mx/reader035/viewer/2022062405/557e7a4cd8b42a03668b5268/html5/thumbnails/1.jpg)
copyright 2011 controltrix corp www. controltrix.com
www.controltrix.com
Trajectory generation for Servo motor drives
![Page 2: Trajectory generation for Servo motor drives](https://reader035.vdocuments.mx/reader035/viewer/2022062405/557e7a4cd8b42a03668b5268/html5/thumbnails/2.jpg)
copyright 2011 controltrix corp www. controltrix.com
Requirement• To move (linear or rotary )motor from point A to B • Generate a trajectory (periodic position command )• Smooth motion• As fast as possible• Limit jerks, acceleration and speed to specified value• Load inertia is known but variable
![Page 3: Trajectory generation for Servo motor drives](https://reader035.vdocuments.mx/reader035/viewer/2022062405/557e7a4cd8b42a03668b5268/html5/thumbnails/3.jpg)
copyright 2011 controltrix corp www. controltrix.com
Requirements.• Minimum distance A to B can be small• Real time computation (though motor is running)• Long trajectories are possible (limited processor memory real time while motor is moving calculations)• Trajectories are always from standstill to standstill • Trajectory is defined as instantaneous value of position, velocity and acceleration to be commanded to the control system
![Page 4: Trajectory generation for Servo motor drives](https://reader035.vdocuments.mx/reader035/viewer/2022062405/557e7a4cd8b42a03668b5268/html5/thumbnails/4.jpg)
copyright 2011 controltrix corp www. controltrix.com
• Floating point (Pseudo (IQ) or true) support • Digital signal processor (finite periodic sampling time ~ 1ms)• Memory is limited to 500 samples• Trajectory generation and data use occurs in a circular buffer• Trajectory generation will fill buffer (provided it is empty ) at 10 X data consumption
Given
![Page 5: Trajectory generation for Servo motor drives](https://reader035.vdocuments.mx/reader035/viewer/2022062405/557e7a4cd8b42a03668b5268/html5/thumbnails/5.jpg)
copyright 2011 controltrix corp www. controltrix.com
Divide trajectory into regimes e.g. for positive direction movement • Constant positive jerk (acceleration increase )• Constant positive acceleration (vel increase ,jerk =0)• Constant negative jerk (acceleration decrease to 0)• Constant positive velocity(cruise mode) (jerk=0,acc=0) • midpoint
Method
![Page 6: Trajectory generation for Servo motor drives](https://reader035.vdocuments.mx/reader035/viewer/2022062405/557e7a4cd8b42a03668b5268/html5/thumbnails/6.jpg)
copyright 2011 controltrix corp www. controltrix.com
• Constant positive velocity (cruise mode) (jerk=0,acc=0)• Constant negative jerk (acceleration decrease to –ve value)• Constant negative acceleration (vel decrease ,jerk = 0 )• Constant positive jerk (acceleration increase to 0)• Stop is position B
Method.
![Page 7: Trajectory generation for Servo motor drives](https://reader035.vdocuments.mx/reader035/viewer/2022062405/557e7a4cd8b42a03668b5268/html5/thumbnails/7.jpg)
copyright 2011 controltrix corp www. controltrix.com
Ideal caseZone 1 2 3 4 5 6 7 8
Zone1: StandbyZone2: Const +ive jerk Zone3: Const +ive accZone4: Const -ive jerk Zone5: Const velZone6: Const -ive jerk Zone7: Const -ive accZone8: Const +ive jerk
Jerk
velocity
position
acceleration
![Page 8: Trajectory generation for Servo motor drives](https://reader035.vdocuments.mx/reader035/viewer/2022062405/557e7a4cd8b42a03668b5268/html5/thumbnails/8.jpg)
copyright 2011 controltrix corp www. controltrix.com
Simple calculations using basic equations of motion
a(k) = a(k-1) + J(k-1).Tv(k) = v(k-1) +a(k-1).TS(k) =S(k-1) + v(k-1).T + 1/2 . a(k-1) . T . TWhereJ=jerk ,a = acc, v =velocity ,S = position
Mirror image based solutionReal time computation (with motor running)Limiting to maximum permissible limits for (j, a, v)
Advantages
![Page 9: Trajectory generation for Servo motor drives](https://reader035.vdocuments.mx/reader035/viewer/2022062405/557e7a4cd8b42a03668b5268/html5/thumbnails/9.jpg)
copyright 2011 controltrix corp www. controltrix.com
• Overshoot /undershoot at the end (numerical errors , finite sampling, slight unsymmetry between the first and second half) do not allow velocity and acceleration to converge to 0 simultaneously• Small Span trajectories cannot be supported (as midpoint can be hit before cruise mode)• Variable inertia -> maximum acceleration varies hence span varies• Jerky trajectory termination
Challenges
![Page 10: Trajectory generation for Servo motor drives](https://reader035.vdocuments.mx/reader035/viewer/2022062405/557e7a4cd8b42a03668b5268/html5/thumbnails/10.jpg)
copyright 2011 controltrix corp www. controltrix.com
Zone 1 2 3 4 5 6 7 8 9 10
Undershoot due to numerical errors
Zone1: InitZone2: Const +ive jerk Zone3: Const +ive accZone4: Const -ive jerk Zone5: Const velZone6: Const -ive jerk Zone7: Const -ive accZone8: Const +ive jerk
Jerk
velocity
position
acceleration
A
B
midpoint
![Page 11: Trajectory generation for Servo motor drives](https://reader035.vdocuments.mx/reader035/viewer/2022062405/557e7a4cd8b42a03668b5268/html5/thumbnails/11.jpg)
copyright 2011 controltrix corp www. controltrix.com
Jerk
acceleration
velocity
position
B
A
Zone 1 2 3 4 5 6 7 8 9 10
Overshoot due to numerical errors
Zone1: InitZone2: Const +ive jerk Zone3: Const +ive accZone4: Const -ive jerk Zone5: Const velZone6: Const -ive jerk Zone7: Const -ive accZone8: Const +ive jerk
midpoint
![Page 12: Trajectory generation for Servo motor drives](https://reader035.vdocuments.mx/reader035/viewer/2022062405/557e7a4cd8b42a03668b5268/html5/thumbnails/12.jpg)
copyright 2011 controltrix corp www. controltrix.com
• Real time compensation for over/undershoot for smooth termination• Smooth correction• Errors due to discrepancies in symmetry fixed in real time
Proposed method
![Page 13: Trajectory generation for Servo motor drives](https://reader035.vdocuments.mx/reader035/viewer/2022062405/557e7a4cd8b42a03668b5268/html5/thumbnails/13.jpg)
copyright 2011 controltrix corp www. controltrix.com
• Smaller spans supported (by backward scaling)• Variable inertia programmable (by scaling)• Trajectory is almost always nearly symmetric• Simple computation• Fixed and floating point implementations
Proposed method
![Page 14: Trajectory generation for Servo motor drives](https://reader035.vdocuments.mx/reader035/viewer/2022062405/557e7a4cd8b42a03668b5268/html5/thumbnails/14.jpg)
copyright 2011 controltrix corp www. controltrix.com
Minimum spanZone 1 2 3 4 5 6 7 8
Zone1: InitZone2: Const +ive jerk Zone3: Const +ive accZone4: Const -ive jerk Zone5: Const velZone6: Const -ive jerk Zone7: Const -ive accZone8: Const +ive jerk
midpoint
![Page 15: Trajectory generation for Servo motor drives](https://reader035.vdocuments.mx/reader035/viewer/2022062405/557e7a4cd8b42a03668b5268/html5/thumbnails/15.jpg)
copyright 2011 controltrix corp www. controltrix.com
• Servo motor drives • Machine tool industry • Position control• Robotics
Target Application
![Page 16: Trajectory generation for Servo motor drives](https://reader035.vdocuments.mx/reader035/viewer/2022062405/557e7a4cd8b42a03668b5268/html5/thumbnails/16.jpg)
copyright 2011 controltrix corp www. controltrix.com
Experimental Results
Red : velocityBlue: position
![Page 17: Trajectory generation for Servo motor drives](https://reader035.vdocuments.mx/reader035/viewer/2022062405/557e7a4cd8b42a03668b5268/html5/thumbnails/17.jpg)
copyright 2011 controltrix corp www. controltrix.com
Experimental Results.
Red : velocityBlue: position
![Page 18: Trajectory generation for Servo motor drives](https://reader035.vdocuments.mx/reader035/viewer/2022062405/557e7a4cd8b42a03668b5268/html5/thumbnails/18.jpg)
copyright 2011 controltrix corp www. controltrix.com
Experimental Results..
Red : velocityBlue: position
![Page 19: Trajectory generation for Servo motor drives](https://reader035.vdocuments.mx/reader035/viewer/2022062405/557e7a4cd8b42a03668b5268/html5/thumbnails/19.jpg)
copyright 2011 controltrix corp www. controltrix.com
Experimental Results…
Red : velocityBlue: position
![Page 20: Trajectory generation for Servo motor drives](https://reader035.vdocuments.mx/reader035/viewer/2022062405/557e7a4cd8b42a03668b5268/html5/thumbnails/20.jpg)
copyright 2011 controltrix corp www. controltrix.com
Thank Youwww.controltrix.com