Please enable JavaScript to view this site.

When interfacing the drives through a fieldbus the position loop is usually closed directly by the drive. In fact RTE exchanges the data contained in the PDOs at the rules frequency and calculates the new IP (ideal position) for the controlled axes.

If the drives are configured with speed control the user can have the position loop closed by the motion controller as follows :

Using the default position loop closure, which includes a proportional component (PRO_GAI) and a speed feed forward component (KFF)

By writing the code of his own PID at RULE's level in the dedicated REF fields

From RTE 33.4 it is possible to add low-pass or notch filters when the position loop is closed by the Robox controller.

A typical use is the attempt to improve the performance of robotics structures by filtering the mechanical resonances frequencies.

Up to 3 parallel filters can be added on the generation of the Ideal Position (IP), three for the Ideal Velocity (IV) and three for the position error (EPOS)

It is also possible to add three wave generators (see below) to analyze the behaviour of the mechanics.

The filters configuration is made in project configurator-->configuration-->axes-->filters

filtri_po_loop_1filtri_po_loop_2

Types of filters

Filters that can be used

Type

Parameters

Description

Filters on the generation of the IP (Ideal Position)

F1_TYPE (first filter)

F2_TYPE (second filter)

F3_TYPE (third filter)

0 disabled

1 notch

2 lowpass

 

Omega [rad/sec] -> frequency * DUEPI

F1_OMEGA

F2_OMEGA

F3_OMEGA

The value is limited to 15% of the rule frequency * DUEPI

In the variable IP_F the ideal (possibly) filtered position is computed.

If no filter is imposed on IP, it is inferred that IP_F = IP.

IV is computed as follows:

If IP has not been filtered the IV is calculated canonically, i.e., IVt = (IPt -IP t-1) / SI

If IP has been filtered (so IP <> IP_F) the reference IV is recalculated using IP_F, i.e. IVt = (IP_Ft -IP_F t-1) / SI

RTE provides a circular buffer containing the IP_Fs computed in the previous 32 samplings.

For access, use the function P_IP_F(ax,idx).

NOTE: Filters on IP (F1-:-F3) are always valid regardless of who is doing the position ring closure.

Quality Factor [unit]

F1_Q

F2_Q

F3_Q

Value is limited to be no smaller than 0.75 for lowpasses and 0.2 for notches

Filters on IV (Ideal Velocity) generation.

F4_TYPE (first filter)

F5_TYPE (second filter)

F6_TYPE (third filter)

0 disabled

1 notch

2 lowpass

 

Omega [rad/sec] -> frequency * DUEPI

F4_OMEGA

F5_OMEGA

F6_OMEGA

The value is limited to 15% of the rule frequency * DUEPI

The ideal (possibly) filtered speed is computed in the variable IV_F.

If no filter is imposed on IV it is inferred that IV_F = IV

The value of IV_F is then used in the automatic calculation of the speed reference:

SREF(ax) = ......+ IV_F(ax) * K_FF (ax)

RTE provides a circular buffer containing the IV_Fs computed in the previous 32 samplings. Use the function P_IV_F(ax,idx) for access .

NOTE: Filters on speed (F3-:F6) are usable only if the control generates a speed reference.

Quality Factor [unit]

F4_Q

F5_Q

F6_Q

Value is limited to be no smaller than 0.75 for lowpasses and 0.2 for notches

Filters on EPOS (Position Error).

F7_TYPE (first filter)

F8_TYPE (second filter)

F9_TYPE (third filter)

 

0 disabled

1 notch

2 lowpass

Omega [rad/sec] -> frequency * DUEPI

F7_OMEGA

F8_OMEGA

F9_OMEGA

The value is limited to 15% of the rule frequency * DUEPI

The filtered (possibly) position error is computed in the variable EPOS_F.

If no filter is imposed on EPOS, it is inferred that EPOS_F =EPOS.

The value of EPOS_F is used in the automatic calculation of the velocity reference:

SREF(ax) = EPOS_F(ax) * PRO_GAI(Ax) + ......

NOTE: The filters on the error (F7-:-F9) are usable only if the control generates a speed reference.

Quality Factor [unit]

F7_Q

F8_Q

F9_Q

Value is limited to be no smaller than 0.75 for lowpasses and 0.2 for notches

NOTA: EPOS(ax) = P_IP_F(ax, idx) - CP(ax)

NOTA: SREF(ax) = EPOS_F(ax) * PRO_GAI(Ax) + IV_F(ax) * K_FF (ax)

Types of wave generator

To enable the programmer to better analyze and optimize filter parameters RTE offers a sine, triangle or square wave generator on the specified axis.

NOTE: By enabling wave generators their effect is detectable on EPOS_F, IP_F and IV_F p respectively (even if no filter is applied).

Using the generator on IP has the side effect that using the ideal axis velocity is equivalent to having a filter on IP.

Wave generator over IP

Set WGP_TYPE as follows:

0 off

1 sinusoidal

2 triangle

3 square wave

Set WGP_FREQ wave frequency for IP [hz].

Set WGP_AMP value in units of IP wave amplitude [axis unit] .

Activate the previous settings on the desired axis: WGP_ON_AX axis on which to generate the wave.

NOTE: In the WGP_OUT variable, the value in IP units of the output value due to wave generation can be observed. [axis unit]

Wave generator on IV

Set WGV_TYPE as follows:

0 off

1 sinusoidal

2 triangle

3 square wave

Set WGV_FREQ frequency of the wave by IV [hz].

Set WGV_AMP value in units of IV wave amplitude [axis unit/sec].

Activate the previous settings on the desired axis: WGV_ON_AX axis on which to generate the wave.

NOTE: In the WGV_OUT variable, the value in IP units of the output value due to wave generation can be observed. [axis unit/sec]

Wave generator on EPOS (Position error).

Set WGE_TYPE as follows:

0 off

1 sinusoidal

2 triangle

3 square wave

Set WGE_FREQ wave frequency for IV [hz].

Set WGE_AMP value in units of IV wave amplitude [axis unit] .

Activate the previous settings on the desired axis: WGE_ON_AX axis on which to generate the wave.

NOTE: In the variable WGE_OUT you can observe the value in IP units of the output value due to wave generation. [axis unit]

 

  

Keyboard Navigation

F7 for caret browsing
Hold ALT and press letter

This Info: ALT+q
Page Header: ALT+h
Topic Header: ALT+t
Topic Body: ALT+b
Contents: ALT+c
Search: ALT+s
Exit Menu/Up: ESC