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 1-3, Poly 1-5 and Poly 1-7 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 1-3, Poly 1-5 or Poly 1-7 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 right-click 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.
Double-click 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 |
|
Units1 |
|
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/s2 |
°/s2 |
|
Permitted range for the segment/move
Accel/Decel |
|
Jerk
|
|
m/s3 | °/s3 |
|
Permitted range for the
segment/move Jerk |
Time2
|
|
Total Duration
|
|
s |
|
Permitted range for the segment group Total
Duration |
Spline2
|
|
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/s2 | °/s2 |
|
Permitted range for the segment
group Start Acceleration
Only applies to profile types Polynomial 1-5 & 1-7
When not specified, Start Accel is 0 |
|
End Accel
|
|
m/s2 |
°/s2 |
|
Permitted range for the segment group End
Acceleration
Only applies to profile types Polynomial 1-5 & 1-7
When not specified, End Accel is 0 |
|
Start Accel = End Accel
|
|
m/s2 | °/s2 |
|
Segment group Start Accel value
equals the segment group End Accel
Only applies to profile types Polynomial 1-5 & 1-7 |
|
Start Jerk
|
|
m/s3 |
°/s3 |
|
Permitted range for the segment group Start
Jerk
Only applies to profile type Polynomial 1-7
When not specified, Start Jerk is 0 |
|
End Jerk
|
|
m/s3 | °/s3 |
|
Permitted range for the segment
group End Jerk
Only applies to profile type Polynomial 1-7
When not specified, End Jerk is 0 |
|
Start Jerk = End Jerk
|
|
m/s3 |
°/s3 |
|
Segment group Start Jerk value equals the segment
group End Jerk
Only applies to profile type Polynomial 1-7 |
|
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
|
Mechanism
|
|
Util
|
|
% |
|
Permitted range for the Mechanism Utilization |
|
Max Torque/Force Margin
|
|
% |
|
Permitted range for the Mechanism Max Torque/Force
Margin |
|
Max Speed Margin
|
|
% |
|
Permitted range for the Mechanism Max Speed
Margin |
Transformation3
|
|
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 re-starts 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.simon-modellierungen.de), combining its
powerful optimization library, SiMoLib, with SERVOsoft, the
industry leading servo system sizing CAE tool. |
Related topics