1S Servo and Synchronized Motion

Updated February 20, 2023

Introduction

The 1S servo introduced a new Two Degree of Freedom or TDF mode which improves the stability of the servo system when controlling difficult to manage loads such as low rigidity and higher inertia ratio loads. This mode uses advanced algorithms to create this stability. It is most useful for Positioning functions, ie independent axes without synchronization requirements whereby stability and quicker settling time at the end of the move is more valued than Following Error.

However this algorithm achieves this functionality at the expense of its ability to maintain the lowest possible following error. Whenever a signal or control variable is filtered by a control loop, it is inherently delayed and so for low error Master-Slave control relationships such as Cam control, electronics gearbox, CNC, Robot axis control or multi axis interpolation this is a disadvantage.

The TDF mode is the default mode and does not use a key parameter known as Velocity Feed Forwards which is very important to reduce Following Error. It is very easy to change the mode of the 1S servo to One Degree of Freedom or ODF which allows the use of this parameter. 

A generic servo controller is shown below. It illustrates the three key control loops present in most if not all servo controllers. Note the three distinct loops, being Position, Velocity and Acceleration/Torque/Current loops. All three are used when operating a servo in a Position Control mode. When using a servo in a Velocity mode, the Position loop is not required, and when operating a servo in a Torque mode (screw driving, tension control etc) then only the third loop is required.


The Position loop is responsible for minimizing the positional error by creating a control output for Velocity based on the difference between the Command Position and the Actual Position. The difference between these two positions is what is called Following Error or FE. Using a Proportional (P) or Proportional Integral (PI) control loop, the Position loop take the input of the Following Error and will output to the Velocity loop a command velocity.

Therefore, in order to create a Velocity command, a positional error must exist. In fact, the error resulting from this loop will always be proportional to the command velocity, as the command velocity increases, so does the error. 

Velocity Feed Forwards is a gain parameter of 0-100% which bypasses the Position loop inside the servo drive. By directly injecting a proportion (0-100%) of the Command Velocity (determined by calculating the change in command position within a given change in time) signal directly into the Velocity loop, the Proportional loop is no longer tasked with creating the entire Velocity signal. It instead can focus on the position correction, rather than the entire Velocity loop command. It is in essence a feed in addition to the Position Loop function, hence the term a "feed forward".

Pre-Requisites

You will need to be competent with Sysmac Studio and the 1S servo drive in order to make this change. Please reference these manuals referenced below.

Further Reading

Please reference Sysmac Studio Drives Function Users manual I589-E1-06  or higher and the 1S servo manual I586-E1-14 or higher for further information.

Procedure

In order to utilize the Velocity Feed Forwards  the user must firstly change the mode of the servo to ODF using object 0x3000.03 = 0. This can be done using Sysmac Studio Parameter editor for the axis listed under the EtherCAT devices on the left hand side. Note the servo drive will need to be restarted before this takes effect. 

Once the drive has restarted (and any EtherCAT errors have been cleared due to the drive dropping off the EtherCAT network momentarily), it is now possible to change the Velocity Feed Forwards parameter (object 0x3112.01). This parameter contains a value from 0-1000 which sets the % of feed forwards from 0-100% (in 0.1% units) as per below. Note that this object consists of multiple sub objects, as we are concerned with sub object 01 (Gain). 

It is common to set this parameter to a value of 1000 (=100%) to minimize the Following Error. Note that the Following Error will also be affected by the tuning of the servo, so you will want to also tune the servo to the highest state using Sysmac Studio's Auto Tuning or Manual Tuning functions. Please refer to the referenced manuals above for more information.

The value of the Following Error can be readily monitored during the Tuning process in order to understand the influence of the parameters and tuning on this key variable. It can also be mapped into the PDO and used in the control program, or traced usign the Sysmac Studio Data Trace function if desired.

Start a Conversation
This conversation is closed
Uploading...