[0001] The present invention concerns a target pointing system.
[0002] In particular, the present invention concerns a pointing system installed onboard
a terrestrial vehicle, corresponding, for example, to a tank or similar vehicle, and
is configured for conveniently aiding an operator in the operation of aiming at a
target, making the tracking operation easier when the vehicle and the target are both
in movement.
[0003] More in detail, the present invention concerns a pointing system of the type comprising
an optical pointing device, which in turn is equipped with an optical reflection unit
movably mounted on the terrestrial vehicle so that it can move on two orthogonal axes
(typically indicated as the "azimuth axis" and the "elevation axis"), an optical sensor
(for example, a telecamera) mounted on the vehicle so as to cooperate with the optical
unit in order to acquire the images reflected by the latter, a moving device for the
optical unit and an automatic optics control system able to pilot the moving device
so as to adjust the positions of the optical unit on the azimuth and/or elevation
axes during the course of acquiring images.
[0004] The pointing system also comprises a display able to show the operator/gunner the
images acquired by the optical sensor and a graphical pointer, typically represented
by crosshairs superimposed on the images, which defines both an "optical pointing
reference" regarding the position assumed by the optical unit on the azimuth and elevation
axes, and a "firing reference" indicating a quantity correlated to the assumed position
of the target and therefore utilizable by an weapon system possibly installed on the
terrestrial vehicle for determining the line of fire with which to operate the weapon
in order to hit the aimed-at target.
[0005] The pointing system also comprises a joystick that can be manually controlled by
the operator on two mutually orthogonal control axes, and is configured to provide
the automatic control system with control quantities correlated to the displacement
of the joystick lever on the two control axes.
[0006] In particular, the automatic control system processes the control quantities in order
to control the displacement of the optical unit on the azimuth axis and on the elevation
axis in response to the displacement of the joystick lever on the first and second
control axes respectively.
[0007] In known pointing systems of the above-described type, the optical unit comprises
a mirror that has an optical pointing axis arranged perpendicular to the flat surface
of the mirror itself and is movably mounted on the vehicle such that it is possible
to move the optical pointing axis on the azimuth axis, and/or on the elevation axis.
Regarding the moving unit, this comprises electric motors connected to the optical
mirror via motion transmission members to enable moving of the mirror on the azimuth
and elevation axes.
[0008] With regards to the automatic control system, this comprises an adjustment module,
which is configured to stabilize the orientation of the mirror's optical axis, making
it independent of the vehicle's angles of orientation measured with respect to the
azimuth and elevation axes assumed by the vehicle itself during its movement.
[0009] In the case in point, the adjustment module comprises a gyroscopic device firmly
fixed to the tank that receives a precession control angle in input indicating the
position to make the precession axis of the gyroscope assume and is able to provide
an output signal proportional to the relative angular speed between the gyroscope's
precession axis and the mirror's optical pointing axis. In other words, the adjustment
module is configured to cancel the relative angular speed between the precession axis
of the gyroscopic device's rotor and the mirror's optical pointing axis by means of
a feedback system. The optical pointing axis of the mirror therefore tends to assume
an angular position that will differ from the precession axis by a constant angle
over time, i.e. they will tend to coincide, except for an offset.
[0010] The automatic control system also comprises an electronic controller, which is configured
to receive the control quantities generated by the joystick in input, these corresponding
to the angular speeds of displacement of the joystick along the two control axes,
and to carry out an integration calculation on them in order to generate a command
containing the angle that the precession axis of the gyroscopic device's rotor must
be made to assume.
[0011] The above-mentioned pointing system is very efficient because the response of the
commands issued by the automatic control system to the optical unit based on the speed
command generated by joystick, apart from being extremely rapid, exhibits high sensitivity
to the manual action exerted by the operator on the joystick lever.
[0012] However, if on one hand the sensitivity and rapidity of response of the control is
extremely useful to the operator in the initial phase of approach and positioning
the pointer on the target, a condition hereafter indicated as the re-phasing operative
condition, on the other it has been shown to be not entirely efficient when the operator,
after positioning the pointer on the target, must keep the pointer locked on the target
in movement, this latter condition indicated as the tracking operative condition.
[0013] In fact, in the tracking operative condition, the joystick lever is subjected to
accidental movements caused by the shaking produced by the tank while on the move.
In this condition, the operator is consequently obliged to manually compensate movements
induced on the joystick lever in order to maintain target tracking, this last condition
being extremely difficult when the target to follow has a steady angular motion.
[0014] This difficulty manifests itself as a state of tension for the operator that, as
times passes, causes an involuntary increase in imprecision in target pointing.
[0015] The object of the present invention is therefore that of embodying a pointing system
that is capable of facilitating the operator in maintaining correct aiming on a mobile
target.
[0016] According to the present invention, a system is made to facilitate aiming at a target,
as provided for in claim 1 and preferably, but not necessarily, in any of the claims
directly or indirectly dependent on claim 1.
[0017] According to the present invention, a tank is made, as provided for in claim 11.
[0018] The present invention shall now be described with reference to the enclosed drawings,
which show a non-limitative example of embodiment, where:
- Figure 1 schematically shows a terrestrial vehicle equipped with a target pointing
system made according to the principles of the present invention,
- Figure 2 shows a block diagram of the pointing system installed on the terrestrial
vehicle shown in Figure 1,
- Figure 3 is the block diagram of a pointing aid module of the pointing system shown
in Figure 2,
- Figure 4 is a flow chart of the operation of the pointing aid module shown in Figure
3, while
- Figure 5 shows the flow chart of the calculation algorithm implemented by the pointing
aid module shown in Figure 3.
[0019] With reference to Figure 1, reference numeral 1 indicates, in its entirety, a terrestrial
vehicle comprising a pointing system 2 configured to facilitate an operator in aiming
at a target when the vehicle 1 and/or the target are in movement.
[0020] In the example shown in Figure 1, the terrestrial vehicle 1 is a tank, which comprises
a hull 3, extending along a longitudinal axis A and structured to allow the accommodation
of operators/gunners, and a weapon system 4, which is mounted on top of the hull 3
and in turn comprises a rotating turret 5, which extends upwards from the hull 2 along
an axis B orthogonal to the longitudinal axis A for turning around the same axis B,
and a weapon 6, in particular, a cannon positioned on the rotating turret 5.
[0021] The weapon system 4 is of known type and will not be further described, other than
specifying that it comprises a moving unit 7 able, upon command, to turn the rotating
turret 5 around axis B and/or move the weapon 6 around one or more axes of rotation
(not shown), and a weapon control system (not shown) configured to calculate the line
of fire to give the weapon 6 and the moment of firing based on a first reference quantity
associated with the pointing position established by the pointing system 2, and to
pilot the moving unit 7 based on the calculated line of fire.
[0022] With regards to the pointing system 2, this comprises an optical pointing device
8, which in turn is provided with an optical reflection unit 9 movably mounted on
the vehicle 1, and an optoelectronic sensor 10, preferably, but not necessarily, comprising
a telecamera mounted on the vehicle 1 near to the optical reflection unit 9 so that
it acquire the images reflected by the optical reflection unit 9.
[0023] In particular, with reference to Figures 1 and 2, the optical reflection unit 9 comprises
a mirror, which has an optical pointing axis C that extends orthogonally from the
reflective surface of the mirror and is movably mounted on the turret 5 of the vehicle
1 so as to move the optical pointing axis C along an azimuth axis Ox. In particular,
in the example shown in Figure 1, the azimuth axis Ox lies on a plane that is substantially
horizontal and is parallel to the longitudinal axis A and orthogonal to axis B, while
the mirror of the optical reflection unit 9 is movably mounted on the vehicle 1 so
as to keep the optical pointing axis C on the same horizontal plane.
[0024] The mirror of the optical reflection unit 9 is also movably mounted such that the
optical pointing axis C can be moved along an elevation axis Oy, which is substantially
orthogonal to the azimuth axis Ox. In particular, the elevation axis Oy lies on a
substantially vertical plane, while the mirror of the optical reflection unit 9 is
movably mounted on the vehicle 1 to keep the optical pointing axis C on the same vertical
plane.
[0025] The optical pointing device 8 also comprises a moving device 11 for the optical reflection
unit 9 and an automatic optics control system 12, which is configured to pilot the
moving device 11 in order to adjust the positions of the optical reflection unit 9
along axis Ox and/or axis Oy during pointing.
[0026] In this case, in the example shown in Figure 2, the moving device 11 comprises electric
motors and/or electromechanical actuators 13 that are connected to the mirror of the
optical reflection unit 9 via known systems of motion transmission (not shown) for
moving the mirror so as to cause the traverse of the optical pointing axis C along
axes Ox and Oy.
[0027] With reference to Figures 1 and 2, the pointing system 2 also comprises a display
14 located inside the crew compartment built in the hull 2 and able to display the
images acquired by the optoelectronic sensor 10 to the operator/gunner.
[0028] The display 14 is also able to display a graphical pointer 30 (shown in Figure 2)
for the operator, preferably, but not necessarily, represented by crosshairs superimposed
on the images, which defines both an "optical pointing reference" (i.e. associated
with the angular position assumed by the optical pointing axis C with respect to axes
Ox and Oy) and the first reference quantity to supply to the weapon system 4 for calculating
the line of fire.
[0029] The pointing system 2 also comprises a manual user control, preferably a joystick
15, which can be manually controlled by the operator in two mutually orthogonal control
axes, and is configured to provide the automatic control system 12 with control quantities
correlated to the displacement of the joystick lever on the same two control axes.
[0030] In particular, with reference to Figures 2 and 3, the joystick 15 is equipped with
a control lever that can be operated by a user on a first axis X associated with a
displacement command of the optical pointing axis C along axis Ox, and a second axis
Y orthogonal to axis X and associated with a displacement command of the optical pointing
axis C along axis Oy.
[0031] In this case, the joystick 15 is configured to generate quantities X(t
n), Y(t
n) indicating the angular position assumed by the control lever of the joystick 15
at nth time t
n along the first axis X and/or the second axis Y respectively.
[0032] With reference to Figure 2, the automatic control system 12 comprises an adjustment
module 16, which is configured to stabilize the orientation of the mirror's optical
pointing axis C, rendering it independent of the vehicle's angles of orientation 1
measured with respect to the azimuth and elevation axes assumed by the vehicle 1 itself
when in movement.
[0033] In this case, in the example shown, the adjustment module 16 comprises a gyroscopic
device 18 firmly fixed to the vehicle 1, which receives a precession command ω
P in input indicating the angular speed that must be given to the precession axis (not
shown) of the gyroscopic device 18 and is able to provide an output signal containing
the angular speed ω
E existing between the precession axis of the gyroscopic device 18 and the optical
pointing axis C of the mirror.
[0034] The adjustment module 16 is of known type and will not be further described, other
than specifying that it is configured to cancel the angular speed ω
E existing between the precession axis of the rotor (not shown) of the gyroscopic device
18 and the optical pointing axis C of the mirror by means of a feedback control chain
19.
[0035] The automatic control system 12 also comprises an electronic controller 21, which
is configured to receive a command in input containing saturated angular speeds V
s(t
n)=(V
sx(t
n);V
sy(t
n)) and carry out a known (and therefore not described in detail) integration calculation
on them, in order to generate the precession command ω
P to apply to the precession axis of the rotor of the gyroscopic device 18 so as to
cause movement of the mirror of the optical reflection unit 9.
[0036] In this case, the saturated angular speeds V
s(t
n)= (V
sx(t
n);V
sy(t
n) are associated with the angular displacement of the joystick 15 along axes X and
Y and are processed by the electronic controller 21 to define a precession command
ω
Px, based on which the adjustment module 16 provides for activating, in a known manner,
the moving of the mirror along the azimuth axis Ox, and/or a precession command ω
Py, based on which the adjustment module 16 provides for activating, in a known manner,
the moving of the mirror along the elevation axis Oy.
[0037] Unlike known pointing systems, the automatic control system 12 of the pointing system
2 comprises a pointing aid module 22, which is configured to receive as input the
quantities X(t
n), Y(t
n) indicating the angular position assumed by the joystick lever 15 and to filter them,
according to a calculation algorithm described in detail further on, so as to provide
the control quantities containing the angular speeds V
s(t
n)=(V
sx(t
n);V
sy(t
n)) in input to the electronic controller 21.
[0038] In particular, the pointing aid module 22 is configured to implement a first adaptive
filtering of the quantities X(t
n),Y(t
n) regarding the angular position assumed by the control lever of the joystick 15,
so as to assign a value to the angular speeds V
s(t
n)=(V
sx(t
n);V
sy(t
n)) proportional to the manual displacement speed applied to the control lever of the
joystick 15 when the system 2 is in a re-phasing operative condition.
[0039] The pointing aid module 22 is also configured to implement a second adaptive filtering
of the quantities X(t
n),Y(t
n) regarding the angular position assumed by the joystick lever 15, so as to assign
a value to the angular speeds V
s(t
n)=(V
sx(t
n);V
sy(t
n)) proportional to the acceleration of the manual displacement applied to the joystick
lever 15 when the pointing system 2 is in a tracking operative condition.
[0040] With reference to the example shown in Figure 3, the pointing aid module 22 comprises
an adaptive filter 23 and is configured to modify the transfer function of the adaptive
filter 23 on the basis of the re-phasing or tracking operative condition in course
on the pointing system 2.
[0041] The adaptive filter 23 receives the time t
n and the position X(t
n) and Y(t
n) of joystick 15 in input and provides a filtered angular speed command V(t
n)=(V
x(t
n), Vy(t
n)) in output.
[0042] The pointing aid module 22 also comprises a compensator module 24 that receives the
filtered angular speed command V(t
n)(Vx(t
n), Vy(t
n)) in input and provides the saturated angular speed command V
s(t
n) in output, for supply to the electronic controller 21.
[0043] The adaptive filter 23 is a digital filter configured to modify the coefficients
that characterize the transfer function according to a first or, alternatively, a
second filter configuration.
[0044] In this case, when the pointing aid module 22 detects the re-phasing operative condition,
the adaptive filter 23 assumes a first filter configuration in which the filter's
transfer function is a one-pole first order function. Instead, when the pointing aid
module 22 detects the tracking operative condition, the adaptive filter 23 assumes
a second filter configuration, in which the filter's transfer function is a two-pole
second order function.
[0045] In particular, with reference to the example shown in Figure 3, the adaptive filter
23 assumes the first filter configuration schematized by block 25 or, alternatively,
the second filter configuration schematized by block 26.
[0046] From that described above, it should be specified that the pointing system 2 provides
for controlling the two quantities Ox(t
n) and Oy(t
n) associated with the angular position of the optical pointing axis C along axes Ox
and Oy on the basis of the two control quantities X(t
n) and Y(t
n) indicating the position of the joystick lever 15 along axes X and Y at time t
n.
[0047] In particular, in the first filter configuration, the digital adaptive filter 23
assumes the function (block 25):

where X(t
n) and Y(t
n) correspond to the positions of the control lever of the joystick 15 along axis X
and axis Y respectively at sampling time t
n; Vx(t
n) and Vy(t
n) correspond to the filtered angular speeds, namely those provided in output from
the adaptive filter 23 at sampling time t
n, and αx is the coefficient of the first-order filter's transfer function associated
with quantity X(t
n) in the first configuration, while αy is a coefficient of the first-order filter
associated with quantity Y(t
n) in the first configuration.
[0048] In the second filter configuration, the adaptive filter 23 calculates the angular
speeds Vx(t
n) and Vy(t
n) filtered by means of the following functions (block 26):

where Ox(t
n) and Oy(t
n) correspond to the angular displacements of the optical pointing axis C at time t
n,

where αy, βx, αx and βy are coefficients of the filter in the second configuration,
T is the quantity sampling interval, and Vfx(t
n) and Vfy(t
n) correspond to the non-saturated filtered angular speeds at time (t
n),

where Oxp
n+1/n and Oyp
n+1/n correspond to the angular displacements of the optical pointing axis C, transversally
and in elevation, at time (t
n+1), but estimated at previous time t
n, and

[0049] Regarding the compensator module 24, this is configured to compare the filtered speeds
Vx(t
n) and Vy(t
n) with a predetermined maximum angular speed threshold V
MAX.
[0050] In the case where the absolute value of one of the two filtered angular speeds Vx(t
n) and Vy(t
n) is greater than the predetermined maximum angular speed threshold V
MAX, the compensator module 24 determines a speed saturation condition and assigns the
same absolute value of the predetermined maximum angular speed V
MAX to the module, at the same time maintaining the sign of the non-saturated quantity.
[0051] Instead, if the absolute value of the filtered angular speeds Vx(t
n) and Vy(t
n) is less than or equal to the predetermined maximum angular speed threshold V
MAX, the compensator module 24 determines a "non saturation" condition for the speed
and assigns the corresponding angular speeds Vx(t
n) and Vy(t
n), obtained in output from the adaptive filter 23, to the speed command V
sx(t
n), V
sy(t
n).
[0052] With reference to Figure 4, the operations implemented by the pointing aid module
22 while the operator is aiming at a target will now be described in detail.
[0053] It is assumed that in the re-phasing condition, the pointing aid module 22 assigns
a first logical value, equal to 0 for example, to a filter status variable indicated
as "Filter Status", whilst in the tracking condition, the pointing aid module 22 assigns
a second logical value, equal to 1 for example, to FilterStatus.
[0054] It is also assumed that at sampling time t=t
n, the adaptive filter 23 receives as input the position of the joystick X(t
n)=JoyX, Y(t
n)=JoyY imposed by the operator and a saturated speed command V
s(t
n-1)=(V
sx(t
n-1),V
sy(t
n-1)) calculated by the compensator module 24 following filtering carried out at time
t
n-1, prior to the current time t
n.
[0055] It should be specified that the pointing aid module 22 can preferably, but not necessarily,
carry out auxiliary processing on the joystick position commands X(t
n)=JoyX, Y(t
n)=JoyY to modify the response sensitivity of the pointing system 2 to the meving of
the control lever of the joystick 15, on the basis of the current operative condition.
[0056] To this end, the pointing system can preferably, but not necessarily, envisage that
in one of the operative conditions, in the tracking operative condition for example,
the position quantities generated by the joystick 15 are processed in the following
manner (block 99):

where KjoyX and KjoyY are predetermined constants and can conveniently take a constant
value equal, for example, to approximately 0.05.
[0057] The pointing aid module 22 receives as input the saturated speed V
sx(t
n-1), hereafter indicated as Omega_p1X, the saturated speed V
sy(t
n-1), hereafter indicated as Omega_p1Y, and the FilterStatus variable and determines
whether or not a change in the operative condition is in course on the basis of these
parameters.
[0058] In particular, if variable FilterStatus=1 (exit 100a from block 100), the pointing
aid module 22 checks if the system was operating in the tracking operative phase at
the previous sampling time t
n-1. In this case, the pointing aid module 22 compares the Omega_p1X and Omega_p1Y speeds
related to the saturated speeds in the previous tracking operative phase, with a first
predetermined speed threshold SogliaAccVel (block 110).
[0059] If the absolute values of both speeds Omega_p1X and Omega_p1Y are less than the first
predetermined speed threshold SogliaAccVel (NO exit from block 110), the pointing
aid module 22 confirms the state of preserving the tracking operative phase. In this
case, the pointing aid module 22 keeps the second filter configuration of the two-pole
filter (block 120) existing at previous time t
n-1 unchanged.
[0060] Instead, if the absolute value of at least one of the speeds Omega_p1X or Omega_p1Y
regarding tracking is greater than the first predetermined speed threshold SogliaAccVel
(YES exit from block 110), the pointing aid module 22 orders the changeover from the
tracking operative condition to the re-phasing operative condition.
[0061] In this last case, the pointing aid module 22 changes the FilterStatus variable,
setting it to 0, sets the first configuration for implementation on the adaptive filter
(block 120) and carries out smoothing on the coefficients of the same adaptive filter
(block 130). Coefficient smoothing provides for gradually modifying the filter's coefficients
during the passage from the second to the first configuration of the filter, so that
achieving the operating value to assign to each alpha and beta coefficient in the
first configuration takes place through a predetermined asymptotic trend with a rise
time dependent on the band assigned to the filter itself.
[0062] In particular, the change of configuration (block 120) envisages that the pointing
aid module 22 calculates the final values of the coefficients α
x, α
y and β
x, β
y, henceforth respectively indicated as AlfaX, AlfaY, BetaX and BetaY, so as to assign
the first configuration to the filter in the following manner: AlfaX=AlfaVeloX, AlfaY=AlfaVeloY
and BetaX=0, BetaY=0, where AlfaVeloX and AlfaVeloY are predetermined values that
will be described in detail further on.
[0063] Instead, the smoothing phase carried out by the pointing aid module 22 (block 130)
envisages that the change of configuration of the two-pole filter associated with
the tracking condition and having the coefficients AlfaX=AlfaAcceX, AlfaY=AlfaAcceY
and BetaX=BetaAcceX, BetaY=BetaAcceY, to the one-pole filter associated with the re-phasing
condition and having the coefficients AlfaX=AlfaVeloX, AlfaY=AlfaVeloY and BetaX=0,
BetaY=0, takes place so as to gradually modify the filter's band.
[0064] In particular, in the smoothing phase, the pointing aid module 22 envisages modifying
the coefficients AlfaX=AlfaAcceX, AlfaY=AlfaAcceY such that they asymptotically reach
the coefficients AlfaX=AlfaVeloX, AlfaY=AlfaVeloY and, at the same time, modifies
the coefficients BetaX=BetaAcceX, BetaY=BetaAcceY such that they asymptotically reach
the null value.
[0065] At the end of the smoothing phase, completion of the first configuration of the adaptive
filter 23 has taken place and the pointing aid module 22 carries out filtering on
the position of the joystick X(t
n)=JoyX, Y(t
n)=JoyY controlled by the operator and the speed command Omega_p1X, Omega_p1Y, and
generates the speed commands V
x(t
n), V
y(t
n) in output, henceforth respectively indicated as OmegaX and OmegaY.
[0066] If variable FilterStatus=0 in the initial phase (exit 100b from block 100), then
the compensator module 24 determines that the pointing system was in the re-phasing
operative condition at previous time t
n-1.
[0067] At this point, the pointing aid module 22 compares the absolute value of the speeds
Omega_p1X, Omega_p1Y associated with the re-phasing operative phase with a second
predetermined speed threshold SogliaVelAcc (block 160).
[0068] From that described above, it should be specified that the first SogliaAccVel and
the second SogliaVelAcc predetermined speed thresholds have different values from
each other to guarantee hysteresis in the comparison of the parameters so as to conveniently
cancel possible instability conditions in the pointing aid module.
[0069] If the absolute value of at least one of the speeds Omega_p1X, Omega_p1Y is greater
than the second predetermined speed threshold SogliaVelAcc (NO exit from block 160),
the pointing aid module 22 decides to keep the previous re-phasing operative phase
and keeps the first configuration of the one-pole filter present at previous time
t
n-1 (block 120) substantially unchanged.
[0070] Instead, if the absolute values of both speeds Omega_p1X and Omega_p1Y regarding
the tracking are less than the second predetermined speed threshold SogliaVelAcc (YES
exit from block 160), the pointing aid module 22 operates the changeover from the
re-phasing operative phase to the tracking operative phase.
[0071] In this last case, the pointing aid module 22 modifies the variable FilterStatus=1,
sets the second configuration for implementation on the adaptive filter 23 (block
170) and carries out smoothing on the coefficients of the same adaptive filter (block
180), which provides for gradually modifying the coefficients of the filter during
the passage from the first to the second configuration of the filter, so that achieving
the operating value of each coefficient of the second configuration takes place in
an asymptotic manner with a rise time dependent on the band assigned to the filter
itself.
[0072] In particular, the configuration change (block 170) envisages that the pointing aid
module 22 calculates the final values of the coefficients AlfaX, AlfaY and BetaX,
BetaY to assign to the filter in the first configuration in the following manner:
AlfaX=AlfaAcceX, AlfaY=AlfaAcceY and BetaX=BetaAcceX, BetaY=BetaAcceY, where AlfaAcceX,
AlfaAcceY, BetaAcceX and BetaAcceY are predetermined values.
[0073] Instead, the smoothing phase carried out by the pointing aid module 22 (block 180)
envisages that the change of configuration of the one-pole filter associated with
the re-phasing condition and having the coefficients AlfaX=AlfaVeloX, AlfaY=AlfaVeloY
and BetaX=0, BetaY=0, to the two-pole filter associated with the tracking condition
and having the coefficients AlfaX=AlfaAcceX, AlfaY=AlfaAcceY and BetaX=BetaAcceX,
BetaY=BetaAcceY, takes place so as to gradually modify the filter's band.
[0074] In particular, in the smoothing phase, the pointing aid module 22 modifies the coefficients
AlfaX=AlfaVeloX, AlfaY=AlfaVeloY such that they asymptotically reach the coefficients
ALfaX=AlfaAcceX, AlfaY=AlfaAcceY and, at the same time, modifies the coefficients
BetaX=0, BetaY=0 such that they asymptotically reach the predetermined values BetaX=BetaAcceX,
BetaY=BetaAcceY.
[0075] At the end of the smoothing phase, completion of the second configuration of the
adaptive filter 23 has taken place: in this phase, the pointing aid module 22 carries
out filtering on the position of the joystick X(t
n)=JoyX, Y(t
n)=JoyY chosen by the operator and the speeds Omega_p1X and Omega_p1Y, and generates
the speed commands OmegaX and OmegaY in output (block 190).
[0076] From that described above, it is therefore evident that if the current operative
condition corresponds to the re-phasing operative condition, the pointing aid module
22 provides the compensator module 24 with the speeds OmegaX and OmegaY generated
by the adaptive filter 2e using the first configuration (block 140), whilst failing
this, namely if the current operative condition corresponds to the tracking operative
condition, the pointing aid module 22 provides the compensator module 24 with the
speed command OmegaX and OmegaY generated by the adaptive filter 23 using the second
configuration.
[0077] The speeds OmegaX and OmegaY are then supplied in input to the compensator module
23, which compares these same speeds OmegaX and OmegaY with the predetermined maximum
angular speed threshold V
MAX.
[0078] The compensator module 23 then generates the saturated speed V
sx(t
n) V
sy(t
n) on the basis of the above-indicated comparison and supplies it to the electronic
controller 16.
[0079] At this point, the electronic controller 16 outputs precession command ω
P, while the adjustment module 16 pilots the moving device 11 to cause displacement
of the mirror of the optical reflection unit 9 as a function of the angle δ
Px and angle δ
Py.
[0080] With reference to Figure 5, the operations and/or calculation relations implemented
by the pointing aid module 22 in the course of controlling the above-described filtering
shall now be described in greater detail. It should be specified that the adaptive
filter 23 could be defined by a calculation algorithm implemented by a DSP microprocessor
and comprising a series of operations described in detail in the following.
[0081] To this end, it is first of all necessary to define the variables involved in the
calculation algorithm.
[0082] In particular, the calculation algorithm provides for the processing of a series
of first variables, which are associated with the transition of the pointing system
from the re-phasing operative condition to the tracking operative condition and vice
versa.
[0083] Second variables are instead associated with quantities regarding the transversal
displacement of the optical pointing axis C along axis O
X in response to a manual displacement of the control lever of the joystick 15 along
axis X.
[0084] Third variables are instead associated with quantities regarding the elevation displacement
of the optical pointing axis C along axis O
Y in response to a manual displacement of the control lever of the joystick along axis
Y.
[0085] More in detail, the first variables include a variable AlfaVelAcc associated with
the temporary alpha coefficient of the filter that can be used in the above-described
smoothing phase in the case of transition from the re-phasing condition to the tracking
condition. In the example shown, the algorithm assigns a constant value of approximately
0.12 to the variable AlfaVelAcc. It should be specified that configuring the adaptive
filter 23 with the variable AlfaVelAcc conveniently gives a correlation time Tc for
the adaptive filter 23 of approximately 1 second.
[0086] The first variables also include a coefficient AlfaAccVel associated with the temporary
alpha coefficient of the adaptive filter 23 that can be used in the above-described
smoothing phase in the case of transition from the tracking condition to the re-phasing
condition.
[0087] In the example shown, the algorithm assigns a constant value of approximately 0.2
to the variable AlfaAccVel. It should be specified that configuring the adaptive filter
23 with the variable AlfaAccVel=0.2 conveniently gives a correlation time Tc for the
adaptive digital filter 24 of approximately 0.55 seconds.
[0088] The first variables also include the predetermined speed threshold SogliaVelAcc that,
as previously stated, is associated with the transition from the re-phasing condition
to the tracking condition. In the example shown, the calculation algorithm assigns
a value of approximately 10 mrad/sec (0.573 deg/sec) to the variable SogliaVelAcc.
[0089] The first variables also include the predetermined speed threshold SogliaAccVel that,
as previously stated, is associated with the transition from the tracking condition
to the re-phasing condition. In the example shown, the calculation algorithm assigns
a value of approximately 14 mrad/sec (0.8 deg/sec) to the variable SogliaAccVel.
[0090] From that described above, it should be specified that the values assigned to the
variables AlfaVelAcc and AlfaAccVel are calculated to manage the smoothing gradually
during the configuration changeover of the adaptive filter 23.
[0091] Regarding the second variables, these include the variable AlfaVeloX, containing
the value to assign to the alpha parameter of the adaptive filter 23 in conditions
of completion of the first configuration associated with the re-phasing operative
phase.
[0092] In the example shown in Figure 5, the calculation algorithm assigns variable AlfaVelox
with the unitary value AlfaVeloX=1 that, when operating regularly, corresponds to
an unfiltered condition for the signal arriving from the joystick. It should be specified
that in this particular configuration, filtering is delegated to the interlocking
that controls the moving of the optical mirror. Therefore, the correlation time when
operating regularly in the re-phasing phase is equal to zero, i.e. the condition Tc=0
seconds is applicable.
[0093] Regarding the adaptive filter in the tracking phase 23, this corresponds to an alpha-beta
type filter, in which the coefficients are identified by the second variables AlfaAccX
and BetaAccX. In the example shown, the calculation algorithm assigns the value 0.1
to variable AlfaAccX and BetaAccX = 0.0005, which results in a correlation time Tc=0.8
seconds in the alpha-beta filter.
[0094] Regarding the third variables, these include AlfaVeloY, indicating the value to assign
to the alpha parameter of the adaptive filter 23 in conditions of completion of the
first configuration associated with the re-phasing operative phase. In the example
shown, the calculation algorithm assigns a value of 1 to variable AlfaVeloY.
[0095] Regarding the adaptive filter in the tracking phase 23, this corresponds to an alpha-beta
type filter, in which the coefficients are identified by the third variables AlfaAccY
and BetaAccY. In the example shown, the calculation algorithm assigns the value 0.1
to variable AlfaAccY and BetaAccY = 0.0005, which results in a correlation time Tc=0.8
seconds in the alpha-beta filter.
[0096] During filtering, the pointing aid module 22 also provides for processing the following
variables: JoyX and JoyY that (as described above) are associated with the position
of the control lever of the joystick 15 along axes X and Y respectively, OmegaX and
OmegaY that (as described above) correspond to the filtered transversal speeds along
axis X and in elevation along axis Y, and the variable FilterStatus to which the value
0 is assigned in the re-phasing condition and 1 in the tracking condition.
[0097] Upon reaching a condition of regular re-phasing operation, the calculation algorithm
configures the coefficients AlfaX, AlfaY, BetaX and BetaY of the adaptive filter 23
in the following manner: AlfaX=AlfaVeloX, BetaX=0, AlfaY=AlfaVeloY, BetaY=0.
[0098] The calculation algorithm also configures the following variables associated with
the coefficients of the adaptive filter 23 at time t
n-1: AlfaFil_p1X=AlfaVeloX, BetaFil_p1X=0, AlfaFil_p1Y=AlfaVeloY, BetaFil_p1Y=0.
[0099] The calculation algorithm also configures the following variables associated with
the speeds: OmegaX_p1=0 corresponding to the saturated angular speed set for the electronic
controller 12 during displacement of the optical pointing axis C along axis O
X at time t
n-1 preceding the current time t
n and OmegaXfil_p1=0 corresponding to the angular speed estimated by the adaptive filter
23 at time t
n-1 preceding current time t
n, OmegaY_p1=0 corresponding to the saturated angular speed set for the electronic
controller 21 during displacement of the optical pointing axis C along axis O
Y at time t
n-1 preceding current time t
n and OmegaYfil_p1=0 corresponding to the angular speed estimated by the adaptive filter
23 in the second configuration, calculated at time t
n-1 preceding current time t
n.
[0100] With reference to Figure 5, the pointing aid module 22 implements a first calculation
operation (block 300) on the scaled position commands of the joystick's control lever
used in the tracking condition:

[0101] At this point, the pointing aid module 22 selects the operative phase in course.
[0102] If it is found that (block 310):
Status FilterStatus=1 (YES exit from block 310) (corresponding to the tracking condition),
then if one of the following conditions is applicable (YES exit from block 320):
|Omega_p1X|>SogliaAccVel or
|Omega_p1Y|>SogliaAccVel, then (YES exit from block 320) assign FilterStatus=0 and
request changeover to the re-phasing condition; in this case, the following assignments
are made: AlfaX=AlfaVeloX, BetaX=0, AlfaY=AlfaVeloY, BetaY=0 (block 360).
Instead, if the following condition is found: |Omega_p1X|<SogliaVelAcc and |Omega_plY|<SogliaVelAcc
(YES exit from block 360):
then assign FilterStatus=1 (i.e. the new phase is tracking) and the following assignments
are made:
AlfaX=AlfaAcceX, BetaX=BetaAcceX,
AlfaY=AlfaAcceY, BetaY=BetaAcceY (block 330).
[0103] A this point, the operating configuration of the adaptive filter 23 is completed
and the smoothing operation is started, which gradually modifies the configuration
of the adaptive filter 23 so as to achieve the operating configuration provided for
in the previous phase.
[0104] In particular, the operations implemented by the pointing aid module 22 during smoothing
are as follows:
If FilterStatus=1, i.e. if passage of the tracking condition to the re-phasing condition
takes place (block 370), then it is preferable to implement the following relations
(block 380) :
AlfaFilX=(1-AlfaAccVel)*AlfaFilX_p1+AlfaAccVel*AlfaX
BetaFilX=(1-AlfaAccVel)*BetaFilX_p1+AlfaAccVel*BetaX
AlfaFilY=(1-AlfaAccVel)*AlfaFilY_p1+AlfaAccVel*AlfaY
BetaFilY=(1-AlfaAccVel)*BetaFilY_p1+AlfaAccVel*BetaY
Otherwise, if the condition FilterStatus=0 arises (block 360),
the following relations are implemented:
AlfaFilX=(1-AlfaVelAcc)*AlfaFilX_p1+AlfaVelAcc*AlfaX
BetaFilX=(1-AlfaVelAcc)*BetaFilX_p1+AlfaVelAcc*BetaX
AlfaFilY=(1-AlfaVelAcc)*AlfaFilY_p1+AlfaVelAcc*AlfaY
BetaFilY=(1-AlfaVelAcc)*BetaFilY_p1+AlfaVelAcc*BetaY (block 340).
[0105] Once smoothing terminates, the pointing aid module 22 carries out filtering on the
positions.
[0106] In detail, if FilterStatus=1, the tracking condition is identified, and then (block
350):
OmegaX=(1-AlfaFilX)*Omega_p1X+AlfaFilX*JoyX
OmegaY=(1-AlfaFilY)*Omega_p1Y+AlfaFilY*JoyY
OmegaFil_p1X=0
OmegaFil_p1Y=0
[0107] Instead, if FilterStatus=0, then:
OtticaFilX=AlfaFilX*JoyXris
OtticaFilY=AlfaFilY*JoyYris
OmegaFilX=Omega Fil_p1X+(BetaFilX/TCAMP)*JoyXris
OmegaFilY=Omega Fil_p1Y+(BetaFilY/TCAMP)*JoyYris
OtticaPreX=OtticaFilX+OmegaFilX*TCAMP
OtticaPreY=OtticaFilY+OmegaFilY*TCAMP
OmegaX=OmegaPreX/TCAMP
OmegaY=OmegaPreY/TCAMP
Omega Fil_p1X=OMegaFilX
Omega Fil_p1Y=OmegaFilY (block 390).
[0108] At this point, the compensator module 24 saturates the speed command OmegaX and OmegaY
while the pointing aid module 22 controls the saving of the following parameters,
which will be used in the next step t
n+1:
AlfaFilX_p1=AlfafilX
BetaFilX_p1=BetafilX
AlfaFilY_p1=AlfafilY
BetaFilY_p1=BetafilY
Omega_p1Y=OmegaX (saturated values)
Omega_p1Y=OmegaY (block 390).
[0109] The above-described pointing system is extremely advantageous as it is capable of
modifying the filtering band over time as a function of the movement of the joystick
produced by the operator.
[0110] In particular, when the corrections requested by the pointer operator are substantial,
the filter is modified to render pointer movements more rapid. Subsequently, when
the operator has positioned the pointer on the target and tends to make small corrections,
the calculation algorithm gradually modifies the coefficients that determine the band
in order to estimate the speed of the target with good precision. In this condition,
the adaptive filter interprets the commands of the joystick lever as acceleration
commands and in the case of the target moving at a constant speed, the operator's
command will tend to be null.
[0111] In other terms, in conditions of constant angular speed, the speed command tends
to be null, as the pointing system has identified the speed of the target. In this
case, an ideal tracking condition is created in which the sensitivity to disturbances
transferred to the joystick lever by the shaking of the vehicle is substantially null.
[0112] Finally, it is evident that modifications to and variants of the above-described
pointing system can be made without however leaving the scope of the present invention
defined by the enclosed claims.