The Optimizer optimizes motion profiles for minimum duration,
velocity, accel and jerk, as well as motor torque, force, and drive
peak power and continuous power (energy efficiency). The only fixed
parameters are duration and distance. When optimizing for duration,
then only distance is fixed. Duration and distance are defined in
the Sequence.
The Optimizer is especially useful for complex dynamic loads and
mechanisms such as the Slider Crank.
Launch the Optimizer from the Sequence form. The 'Optimizer
Lite' is limited to optimize just the motion profile parameters
velocity, accel and jerk. The 'Optimizer PRO' is an option when
enabled, in addition to the motion profile parameters, allows users
to optimize for minimum duration, motor torque / force, and drive
peak and continuous power (energy efficiency).
The 'Optimizer PRO' is an option
that is only available with the SERVOsoft PRO version, which
includes the CAM Profiles feature, essential to take full
advantage of the Optimizer. 
The Optimizer plays with the motion profile variables velocity,
accel and jerk, which are 'input' variables, and then compares the
results of the optimized variable. As the Optimizer 'learns' the
relationship between the input variables and the optimized
variable, it zones in on an optima.
First select what you want to optimize such as in the example
below, "Max Motor Torque". And then select one or more profile
types to be used in the optimization run. In the example below
Poly 13, Poly 15 and Poly 17 are selected.
Moves are handled individually. If a Segment ends with zero
velocity or is adjacent to a Move, then it is also handled
individually. For individual Moves and Segments, the Optimizer will
optimize each separately. However, if a Segment is part of a series
of 2 or more adjacent Segments where the end velocity of one
Segment is the same as the start velocity of the next Segment, then
this series of Segments is handled as a 'Group'. When the Optimizer
works on a Group, it will optimize the entire Group, and also
ensure the Group has continuity of velocity. If the Optimizer is
working with Poly 13, Poly 15 or Poly 17 profile
types, it will also ensure continuity of accel and jerk.
Constraints are simply a Min and Max range of acceptable
values.
There are two types of constraints  input and output. Input
constraints are limits on input variables, which are the motion
profile variables duration, velocity, accel and jerk. For example,
if the velocity must be limited between 1 to 2 m/s, then the
Optimizer will play with velocity values only between 1 to
2 m/s.
An output constraint is a limited range of acceptable result
values. For example, the motor peak torque is the 'result' of the
input motion profile variables. A typical constraint might be to
limit the motor peak torque to less than say 100 Nm.
In addition to the default constraints of duration, velocity,
accel and jerk, additional constraints can be applied to one or
more Moves/Segments/Groups. To open the Edit Constraints form,
select one or more Moves/Segments/Groups, and then rightclick and
select 'Constraints > Edit' as shown. Here you can add
constraints such as motor peak torque, motor RMS torque margin,
drive peak power, etc. When the OK button is clicked, the
constraints will be applied to all selected
Moves/Segments/Groups.
Output constraints for the motion profile variables are shown
with their Min & Max cells with light blue background
##### .
Because they are output constraints, you also have the option to
not place any limits on them by leaving the Min & Max values
blank as shown for the Accel values below.
Doubleclick a segment, segment group or move
to directly open the Edit Constraints form 
If not sure where to begin, the Suggested
Parameters button is a great way to get started
Sets the Algorithm, Segment and Additional Constraints with
suggested values
Based on the Optimize Type, the suggested parameters tend to be
"wider" and not too precise/tight to allow the Optimizer to find a
good solution. The trade off being it may take longer to find an
optimal solution.

Constraint^{ } 

Units^{1} 

Description^{ } 
Segment/Move


Duration


m/s  °/s 

Permitted range for the segment/move Duration
(Does not include the move's Dwell time) 

Velocity


m/s 
°/s 

Permitted range for the
segment/move Velocity 

Accel


m/s^{2} 
°/s^{2} 

Permitted range for the segment/move
Accel/Decel 

Jerk


m/s^{3}  °/s^{3} 

Permitted range for the
segment/move Jerk 
Time^{2}


Total Duration


s 

Permitted range for the segment group Total
Duration 
Spline^{2}


Start Vel


m/s  °/s 

Permitted range for the segment group Start
Velocity 

End Vel


m/s 
°/s 

Permitted range for the segment
group End Velocity 

Start Vel = End Vel


m/s  °/s 

Ensure the segment group Start Veloicty value
equals the segment group End Velocity 

Start Accel


m/s^{2}  °/s^{2} 

Permitted range for the segment
group Start Acceleration
Only applies to profile types Polynomial 15 & 17
When not specified, Start Accel is 0 

End Accel


m/s^{2} 
°/s^{2} 

Permitted range for the segment group End
Acceleration
Only applies to profile types Polynomial 15 & 17
When not specified, End Accel is 0 

Start Accel = End Accel


m/s^{2}  °/s^{2} 

Segment group Start Accel value
equals the segment group End Accel
Only applies to profile types Polynomial 15 & 17 

Start Jerk


m/s^{3} 
°/s^{3} 

Permitted range for the segment group Start
Jerk
Only applies to profile type Polynomial 17
When not specified, Start Jerk is 0 

End Jerk


m/s^{3}  °/s^{3} 

Permitted range for the segment
group End Jerk
Only applies to profile type Polynomial 17
When not specified, End Jerk is 0 

Start Jerk = End Jerk


m/s^{3} 
°/s^{3} 

Segment group Start Jerk value equals the segment
group End Jerk
Only applies to profile type Polynomial 17 

Total Distance 

m  ° 

Permitted range for the segment
group Total Distance 

Traversing Range


m  ° 

Permits traversing range for the segment
group.
Set to control the range of overshoot for the segment group. 

Segment Distance Overshoot


% 

Percentage range of overshoot for each segment in the group. Set
to 0 if no overshoot is allowed for all segments in the group.
Example:
Segment Distance = 100mm
Traversing Overshoot = Min:10% and Max:+5%
Then the allowed Segment Distance = 90mm to 105mm

Transformation^{3}


Util


% 

Permitted range for the Transformation
Utilization 

Max Torque


Nm 

Permitted range for the
Transformation Max Output Torque 

Max Torque Margin


% 

Permitted range for the Transformation Max Output
Torque Margin 

Nominal Torque Margin


% 

Permitted range for the
Transformation Max Output Torque Margin 

Max Speed Margin


% 

Permitted range for the Transformation Max Speed
Margin 
Motor^{ }


Util


% 

Permitted range for the Motor Utilization 

Max Torque/Force


Nm 
N 

Permitted range for the Motor
Max Torque/Force 

Max Torque/Force Margin


% 

Permitted range for the Motor Max Torque/Force
Margin 

RMS Torque/Force


Nm 
N 

Permitted range for the Motor
RMS Torque/Force 

RMS Torque/Force Margin


% 

Permitted range for the Motor RMS Torque/Force
Margin 

I2t


% 

Permitted range for the Motor
It2 thermal overload model 

Max Speed


rpm  m/s 

Permitted range for the Motor Max Speed 

Max Speed Margin


% 

Permitted range for the Motor
Max Speed Margin 
Inverter^{ }


Util


% 

Permitted range for the Inverter Utilization 

Peak Current


A 

Permitted range for the Inverter
Peak Current 

Peak Current Margin


% 

Permitted range for the Inverter Peak Current
Margin 

Cont Current


A 

Permitted range for the Inverter
Continuous Current 

Cont Current Margin


% 

Permitted range for the Inverter Continuous
Current Margin 

Ixt


% 

Permitted range for the Inverter
Ixt thermal overload model 

Peak Power


W 

Permitted range for the Inverter Peak Power 

Cont Power (efficiency)


W 

Permitted range for the Inverter
Continuous Power 
Infeed^{ }


Util


% 

Permitted range for the Infeed Utilization 

Peak Power Margin


% 

Permitted range for the Infeed
Peak Power Margin 

Output Peak Power Margin


% 

Permitted range for the Infeed Output Peak Power
Margin 

Regen Peak Power Margin


% 

Permitted range for the Infeed
Regen Peak Power Margin 

Cont Power Margin


% 

Permitted range for the Bleeder Cont Power
Margin 

Pxt


% 

Permitted range for the Infeed
Pxt thermal overload model 
Bleeder^{ }


Util


% 

Permitted range for the Bleeder Utilization 

Peak Power Margin


% 

Permitted range for the Bleeder
Peak Power Margin 

Cont Power Margin


% 

Permitted range for the Bleeder Cont Power
Margin 

Bxt


% 

Permitted range for the Bleeder
Bxt thermal overload model 
Power
Group^{ }


Util


% 

Permitted range for the Power Group
Utilization 
^{1}

Units shown are examples. Actual units are defined
in Units Setup. 
^{2}

Available for Segments and Segment Groups only.
Ie. Not available for Moves. 
^{3}

Transformation constraints apply to all
transformations in the axis drive chain where rated torque/speed
exists 
Once all the constraints have been set, click the 'Start' button
to start the Optimizer. As the Optimizer runs, it provides progress
in the 'Results' column. Depending on the sequence, optimized
variable, output constraints, etc., the Optimizer can run and
finish in a matter of seconds, or take hours to complete.
At any time while the Optimizer is running, you can click the
'Break' button to end the process. The best results found up to
that point are available to be applied to the Sequence. However,
note that clicking 'Start' again restarts the Optimizer from the
beginning.
After the Optimizer is finished, on the far right column, you
can select some or all of the results. Then click OK to apply the
selected results to the Sequence.
The Optimizer was developed
working in close partnership with SIMON
Modellierungen (www.simonmodellierungen.de), combining its
powerful optimization library, SiMoLib, with SERVOsoft, the
industry leading servo system sizing CAE tool. 
Related topics