Tracking an object in the sky from a moving platform

The method and controller use trajectory and attitude data to adjust the optical unit's orientation on a moving platform, addressing alignment issues with celestial or airborne objects, ensuring stable tracking and reduced power consumption.

WO2026017643A1PCT designated stage Publication Date: 2026-01-22ARCHANGEL LIGHTWORKS LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2025/070147
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-15
Filing Date
2025-07-14
Publication Date
2026-01-22

AI Technical Summary

Technical Problem

Existing systems fail to accurately maintain alignment between an optical instrument and a target object in the sky when both move relative to the ground, especially in scenarios involving non-geostationary orbits or atmospheric movements.

Method used

A method and controller that utilize trajectory data, attitude data, and actuator data to adjust the orientation of an optical unit on a moving platform, using inverse differential kinematics models to generate control signals for actuators, enabling precise alignment without real-time direct measurement of the target object's location.

Benefits of technology

Enables stable and efficient tracking of celestial or airborne objects even when they are temporarily obscured, reducing system complexity and power consumption by minimizing unnecessary actuator movements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025070147_22012026_PF_FP_ABST
    Figure EP2025070147_22012026_PF_FP_ABST
Patent Text Reader

Abstract

A method of directing an optical axis of an optical unit (1) at a target object (3) using a pointing system (5) mounted on a moving platform (2). The pointing system (5) comprises a plurality of actuators (8) that jointly control a pointing direction of the optical unit (1) relative to the moving platform (2). The method comprises obtaining trajectory data specifying a trajectory of the target object (3), obtaining attitude data specifying a current attitude of the moving platform (2) and a current rate of change of the attitude of the moving platform (2), obtaining actuator data specifying current positions of the plurality of actuators (8), processing the trajectory data, the attitude data and the actuator data to generate control data specifying updated positions for the plurality of actuators (8), and providing the control data to the pointing system (5) to set the positions of the plurality of actuators (8) based on the control data.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Tracking an object in the sky from a moving platform

[0002] Technical Field

[0003] The present disclosure relates to a method and a controller for directing an optical axis of an optical unit at a target object in the sky.

[0004] Background

[0005] It is desirable in certain circumstances to be able to direct an optical instrument at a target object in the sky and to maintain such an alignment over time. For example, an optical communication transmitter may need to be accurately pointed at a satellite in order to be able to communicate with the satellite. When the optical instrument moves relative to the target object (e.g. because the optical instrument is mounted on a moving platform such as moving vehicle), the orientation of the optical instrument needs to be dynamically adjusted to maintain alignment with the target object. Known systems use inertial sensors to measure motion of the optical instrument, and thereby derive control signals to control actuators which move the optical instrument relative to the platform to compensate for the motion of the optical instrument. However, such systems may fail to derive the correct adjustments when both the optical instrument and the target object move and rotate relative to the ground (e.g. in the case of an optical communication transmitter mounted on a moving vehicle and in communication with a satellite on a non-geostationary orbit, or an object flying in the Earth’s atmosphere). It is therefore desirable to provide technigues for maintaining an alignment between an optical instrument and a target object even when both move relative to the ground.

[0006] Summary

[0007] The present invention aims to provide new and useful methods and systems for controlling a pointing system to control an orientation of an optical unit so that an optical axis of an optical unit (optical instrument) points at a target object in the sky. An optical unit is a device which is capable of transmitting / receiving electromagnetic radiation (“light”) along the optical axis. Note that the terms “optical” and “light” are used in this document to include electromagnetic radiation of any freguency, not just the visible freguency range.

[0008] A first aspect of the invention relates to a method of directing an optical axis of an optical unit at a target object in the sky using a pointing system mounted on a moving platform (e.g. the platform may be (e.g. rigidly) attached to a moving vehicle, for example a ship, an (e.g. unmanned) aircraft, a land vehicle, or a spacecraft). The optical unit may reguire accurate alignment with respect to the target object to function as intended. For example, the optical unit may comprise an optical telescope having an optical axis that needs to be aligned with the target object accurately enough that the target object is within a beam path of the telescope (to efficiently transmit or receive light to or from the target object).

[0009] As described below in more detail, the functionality of the optical unit depends on the intended application. For example the optical unit may comprise an optical communication transmitter / receiver, a camera (for capturing image of the target object), an optical range finder device (e.g. light detection and ranging (LIDAR) devices), or the like. The pointing system comprises a plurality of actuators jointly controlling a pointing direction of the optical unit relative to the moving platform (i.e. the pointing system controls the orientation of the optical unit relative to the moving platform). For example, the pointing system may comprise a (motorised) gimbal assembly for rotating the optical unit about at least two axes. The target object may be of any type of airborne or spaceborne object that moves relative to the ground on a trajectory which is pre-known or which can be estimated, such as by using observations of the object at successive times in the past (e.g. the target object may be an aircraft, a spacecraft (e.g. a satellite), a celestial body, or the like).

[0010] The method comprises obtaining trajectory data specifying a trajectory of the target object. The trajectory data means a collection of data items which each indicate an estimated location of the target object at a respective time (“estimation time”). Each data item was generated at an earlier time than the corresponding estimation time. It may have been received by, or in some cases generated by, the control system prior to the estimation time. The trajectory data typically comprises at least some data obtained from outside the UAV and the objects positioned on it (i.e. an external source).

[0011] More specifically, the trajectory data may specify, e.g. as a sequence of corresponding data items, a current location and a plurality of expected future locations of the target object. Each location of the target object may be specified as a translational position in a suitable global reference frame (e.g. using Cartesian XYZ coordinates or WGS-84 coordinates in a geocentric reference frame). Alternatively, in principle, each data item could be in the form of a vector which indicates the location of the target object at the corresponding estimation time by indicating the change in its location compared to its location at the estimation time corresponding to the preceding data item in the sequence. Particularly for target objects which are very far away from Earth (e.g. celestial objects such as stars or planets), the locations of the target object may be specified as a direction (e.g. using altitude and azimuth angles) in a suitable reference frame (generally, not one defined based on the target object, moving platform and optical unit; e.g. a “local vertical local horizontal” (LVLH) frame, also known as “local tangent plane coordinates” or local geodetic coordinates).

[0012] In some implementations, a data item of the trajectory data which is used in an iteration of the current method carried out at a current time may indicate the location of the target object at the current time. In other implementations, however, the data items may be generated taking into account the finite speed of light, e.g. to indicate a location which the target object will reach in the future at the same time as light emitted by the optical unit towards the location at the current time, or to indicate a location of the target object in the past, such that light emitted towards the optical unit by the target object when it was at that location, would reach the optical unit at the current time. The latter implementations may be particularly useful in the case in which the application of the system involves the transmission of light in one direction between the target object and the optical system. However, for simplicity such considerations will be omitted in the following discussion.

[0013] The method further comprises obtaining attitude data specifying a current attitude of the moving platform (i.e. an orientation of the platform in space, e.g. with respect to a gravitational direction or the Earth's horizon), and a current rate of change of the attitude of the moving platform (e.g. a set of angular velocities). The attitude data may be generated by an attitude sensor coupled to the moving platform. The method further comprises obtaining data specifying current positions (that is, configuration or “pose”) of the plurality of actuators of the pointing system. The current positions of the actuators may jointly define a current pointing direction of the optical unit relative to the moving platform. The method further comprises processing the trajectory data, the attitude data and the actuator data to generate control data specifying updated positions for the plurality of actuators. The updated positions of the actuators are positions of the actuators for which the optical axis of the optical unit is expected to be directed at the target object. The control data is then provided to the pointing system to set the positions of the plurality of actuators based on the control data.

[0014] The proposed method enables, for example, tracking a target object from a moving platform without the need to directly measure the location of the target object in real-time (e.g. by using a camera). The present invention achieves this by adjusting the orientation of the optical unit based on the expected trajectory of the target object (to take into account changes of the location of the target object) and the (measured) attitude of the platform (to take into account changes of the orientation of the platform and therefore changes of the orientation of the optical unit itself). Considering not only the current attitude of the platform but also its current angular velocities, enables smooth motion of the actuators which improves the ability of the system to follow the target’s trajectory accurately. This is particularly useful when the pointing system is mounted on a platform / vehicle that rotates at high speeds. Moreover, compared with control systems that employ cameras to measure the positional changes of the target object and perform control in real time based solely on images captured by the cameras, the proposed method may enable simpler designs since no camera is required. Further, unlike such camera-based control system, the proposed method can maintain the alignment with target object even when the target object is (temporarily) not visible, e.g. when the object is low on the horizon or shielded by clouds.

[0015] Basing the control on the attitude of the platform, rather than that of the optical unit itself, allows more rapid reactions to changes in the attitude of the platform, e.g. due to vibrations, and to more stable control of the optical unit.

[0016] The term “position” (or “pose”) of an actuator is used here to refer to one or more configuration value(s) specifying a current configuration of the actuator. The configuration of an actuator may be defined by one of more configuration variables which each take a corresponding configuration value within a corresponding range for the configuration value (a continuous range, or a range comprising multiple quantized possible configuration values). For example, at least one of the actuators may have a configuration defined by a single configuration value (e.g. a distance value specifying a location of an element of the actuator within a range of locations, or an angle specifying an angular position of a rotating element of the actuator within a range of possible angles). Alternatively or additionally, at least one of the actuators may have a configuration specified by multiple configuration values (e.g. distance values specifying a location of an element of the actuator within a multi-dimensional space of possible locations, and / or angles specifying an angular position of an element configured to be rotatable within range of angles relative to multiple rotational axes, e.g. a “solid” angle). The configuration value(s) for a given actuator may be determined by an actuator position sensor (e.g. an encoder) of the actuator.

[0017] In one example, the plurality of actuators may comprise a gimbal which defines an orientation of the optical unit relative to the moving platform. The configuration values of the actuators collectively specify the orientation of the optical unit relative to the moving platform and optionally also a translational position (location) of the optical unit relative to the moving platform.

[0018] The method may further comprise a step of obtaining a current location of the moving platform (i.e. its current translational position, rather than orientation; the location and attitude of the moving platform collectively fully specify its position in three dimensions). For example, the current location may be expressed as current WGS-84 coordinates of the moving platform. The current location of the platform may be obtained in any suitable manner (e.g. by using map data, or by processing data from a position sensor attached to the platform such a satellite navigation receiver (e.g. a GNSS, such as global positioning system (GPS) receiver)). In this case, processing the trajectory data, the attitude data and the actuator data to generate control data specifying updated positions for the plurality of actuators may comprise processing the trajectory data to determine a current location of the target object, processing the current location of the target object and the current location of the moving platform to determine a target pointing direction, and processing the target pointing direction, the attitude data and the actuator data to generate control data specifying updated positions for the plurality of actuators. The target pointing direction may specify the elements of a vector in the global reference frame that points from the current location of the platform to the current location of the target object (i.e. the target pointing direction may be independent of the current attitude of the platform or a current pointing direction of the pointing system).

[0019] By determining and using the current location of the platform, the alignment of the optical is further improved because changes of the location of the platform can also (i.e. in addition to changes of the platform’s attitude and changes of the target object’s location) be taken into account when generating the updated actuator positions. This may be particularly advantageous in cases where the motion of the platform leads to significant changes in the target pointing direction, e.g. when the platform is attached to a fast moving vehicle, or when the target object is not so far away from the optical unit that the motion of the moving platform hardly changes the target pointing direction. Note that since the optical unit is mounted on the optical platform, with a degree of relative motion relative to it which is limited by the actuators, obtaining the current location of the moving platform is typically equivalent to obtaining the current location of the optical unit, e.g. using a position sensor attached to the optical unit rather than the moving platform. In other applications in which the target object is very far from the optical unit (e.g. the target object is a celestial body), the current location of the moving platform may not be used to obtain the control data.

[0020] The control data specifying the updated positions for the plurality of actuators may be generated by first processing the target pointing direction, the attitude data and the actuator data to generate, for each actuator, a target rate of change of its position (e.g. a desired linear or angular velocity of the actuator), and then generating the control data specifying updated positions for the plurality of actuators based on the target rates of change of the positions of the plurality of actuators (this may involve integrating the desired linear / angular velocities of the actuators over a certain time period to derive desired positions of the actuators).

[0021] An inverse differential kinematics model may be used to generate the control data based on the target pointing direction, the attitude data and the actuator data. The inverse differential kinematics model may be a computational model that receives as input the target pointing direction, the attitude data and the actuator data, and generates (e.g. using kinematic equations known from the field of robotics), as output, a desired (linear or angular) velocity for each of the actuators from which updated positions for the plurality of actuators can be derived that would result in the optical unit pointing along the desired target pointing direction (corresponding control data for the pointing system can then be generated from the generated updated positions). The inverse differential kinematics model may be defined by a plurality of parameters which jointly specify how the actuator positions and velocities translate into the pointing direction and the angular velocity of the optical unit. The inverse differential kinematics model may generate the updated positions of actuators taking into account constraints of the actuators and the pointing system. In principle, a “direct” / ”forward” differential kinematics model, which uses an iterative process of controlling the actuators to home in on the desired pointing direction, could be used instead, but this would be expected to be slower.

[0022] In some embodiments, the trajectory data may specify an estimated trajectory of the target object. The trajectory may be estimated using a Kalman filter. For example, the trajectory may be estimated by using a dead reckoning method that employs a Kalman filter to determine a (continuous) estimate of a global location of the target object from a known start point (e.g. by integrating values determined by an inertial measurement unit (I MU) attached to the target object (this would be relayed to the control system), or a sequence of captured images of the target object). An alternative would be to use a sequence of GNSS position measurements of the target object (again, this would be relayed to the control system).

[0023] In some embodiments, the optical unit may comprise a camera for capturing images of the target object. In this case, the method may further comprise capturing an image of the target object. The control data may be generated based on the trajectory data, the attitude data, the actuator data and the image of the target object. In broad terms, the captured image may be used to further improve the alignment of the optical unit. As one example, the image of the target object may be used to reduce an error in the (estimated) trajectory of the target object (i.e. the image may be processed to update the trajectory data). As another example, the image may be used to update (i.e. correct) the parameters of the inverse differential kinematic model (again, optionally using a Kalman filter method). This may be done by processing the image to determine a discrepancy between the actual pointing direction of the optical unit and an expected pointing direction (i.e. the expected pointing direction may be determined based on the current actuator data, and the current platform location and attitude), and to update the model parameters so as to reduce this discrepancy (i.e. in this case it is assumed that the location / trajectory of the target object is accurately known).

[0024] In some embodiments, the method may further comprise processing the trajectory data, the attitude data and the actuator data to determine a current pointing error of the optical unit (e.g. the current pointing error may be indicative of a discrepancy between the current pointing direction of the optical unit and the target pointing direction). The current pointing error may be used to determine whether or not the actuator positions need to be adjusted. For example, if it is determined that a magnitude of the pointing error exceeds a threshold amount (i.e. that the optical unit is not well enough aligned), then updated actuator positions may be generated and set as described above. If the current pointing error does not exceed the threshold amount, the actuator positions may not be changed (i.e. updated actuator positions may or may not be generated but the pointing system does change the actual actuator position). This enables reduced power consumption by the pointing system because the actuators are moved only when the optical unit is significantly misaligned. This may be particularly advantageous when the platform is attached to an unmanned aerial vehicle (UAV) for which low power consumption is often critical.

[0025] In some embodiments where the platform is attached to a moving vehicle, the method may further comprise controlling (i.e. navigating) the vehicle based on the updated actuator positions. For example, the updated actuator positions may be processed to determine that a range limit of one or more actuators has been reached (or might be reached soon), and the vehicle may be navigated (i.e. the attitude and / or location of the vehicle may be changed) so that future updated actuator positions are well within the range limit of the actuator(s) in question.

[0026] According to a second aspect of the invention, there is provided a controller for controlling a pointing system mounted on a moving platform. The pointing system comprises a plurality of actuators jointly controlling a pointing direction of an optical axis of an optical unit relative to the moving base. The controller is configured to obtain trajectory data specifying a trajectory of the target object, obtain attitude data specifying a current attitude of the moving base, obtain actuator data specifying current positions of the plurality of actuators, process the trajectory data, the attitude data and the actuator data to generate control data specifying updated positions for the plurality of actuators, and provide the control data to the pointing system to set the positions of the plurality of actuators based on the control data. The controller may be further configured to implement the method of the first aspect.

[0027] Brief Description of the Drawings

[0028] Embodiments of the invention will now be described, by way of example only, with reference to the accompanying schematic drawings, in which:

[0029] Figure 1 illustrates an example scenario in which an embodiment of the invention can be employed;

[0030] Figure 2 is a block diagram of a control system according to an embodiment;

[0031] Figure 3 is a flow diagram of a method of directing an optical unit at a target object, and

[0032] Figure 4 is a block diagram of a variation of the control system of Figure 2.

[0033] Detailed

[0034] The present disclosure aims to provide new and useful methods and systems for controlling an optical axis of an optical unit so as to point at a target object in the sky. An example embodiment will now be described with reference to Figures 1 and 2. Figure 1 shows an example scenario is which an optical unit 1 (depicted as a telescope) is mounted on a vehicle 2 (an unmanned aerial vehicle (UAV) in this example). It is desirable to accurately direct the optical unit 1 at a target object 3 (a satellite in this example; in other examples, the target object may be an object moving (e.g. flying) in the atmosphere or a celestial body) which is located above the UAV 2 and moves on a trajectory 4 relative to the Earth (i.e. the satellite 3 is on a non-geostationary orbit). To be able to dynamically adjust the orientation of the optical unit 1 relative to the UAV 2, the optical unit 1 is attached to a pointing system 5 (a motorised gimballed mount in this example) which is mounted on a platform 6 which in turn is rigidly secured to the UAV 2.

[0035] One possible method of adjusting the orientation of the optical unit 1 is by providing inertial sensors on the UAV 2 and controlling the gimballed mount 5 so as to compensate for the motion of the UAV 2. However, as mentioned above, this method fails to properly track the satellite 3 because the movement of the satellite 3 is not taken into account. Optical feedback could be used to improve the tracking, e.g. an additional camera could be installed on the UAV 2 (e.g. aligned to the optical axis of the optical unit 1) to directly measure the current location of the satellite 3 so that the measured location could be used to provide real-time feedback to improve the orientation of the optical unit 1. Although this might enable accurate tracking of the satellite 3, relying solely on optical feedback is often undesirable because of the additional complexity of the system and because optical feedback can fail when the satellite 3 is temporarily not visible (e.g. when the view from the UAV 2 to the satellite 3 is obscured by clouds). Also there is a complex relationship between the degrees of freedom of the actuators and the “external” axes with reference to which the position of the target object is specified (the coordinate system of the measurement of the target object location), e.g. the attitude of the base platform changes the relationship between axes of the gimbal and the external axes, so the ideal pose of the gimbal depends in a complex way on the attitude of the base platform. With reference to Figure 2, a control system 100 will now be described that overcomes the aforementioned limitations.

[0036] The control system 100 comprises the optical unit 1 , the pointing system 5 configured to control the orientation of an optical axis of the optical unit 1 , the platform 6 (attached to UAV 2) onto which the pointing system 5 is mounted, and a control module 7. The control module 7 is configured to provide control signals (or “control data”) to the pointing system 5. More specifically, the control module 7 may be a closed-loop controller that is configured to receive data specifying the trajectory 4 of the satellite 3 (i.e. the flight path of the satellite 3), a current location, attitude and rate of change of the attitude of the platform 6 (which corresponds a current location and (change of) attitude of the UAV 2 since the platform 6 is rigidly mounted to the UAV 2) and a current configuration of the pointing system 5, and to generate the control signals for the pointing system 5 such that the pointing system 5 points the optical unit 2 at the satellite 3. The closed-loop control module 7 may be a digital controller configured to operate at a predefined update rate (or “execution rate”), e.g. at an update rate of 1 kHz or higher. The control module 7 may be computer-implemented, i.e. the control module 7 may be implemented using one or more computing devices (e.g. using an on-board computing device provided on board the vehicle onto which the platform 6 is mounted, i.e. on board the UAV 2 in the example of Figure 1).

[0037] The pointing system 5 comprises a plurality of actuators 8 which jointly control the pointing direction of the optical unit 1 relative to the platform 6. For example, the pointing system 5 may comprise a gimballed assembly with two (orthogonal) gimbal axes controlled by corresponding actuators. The gimbal axes may be configured to respectively control an altitude angle and an azimuth angle of the optical axis of the optical unit 1 with respect to the platform 6 (i.e. with respect to a reference coordinate system fixed to the platform 6). In this case, the pointing system 5 may be configured to receive, as control data, data specifying respective values for the altitude and azimuth angle, and to control the actuators to rotate the gimbal axes accordingly. In some implementations, the gimballed assembly may comprise more than two actuator-controlled gimbal axes. In some implementations, the pointing system 5 may employ (in addition to or instead of the gimballed assembly) other suitable pointing technologies (e.g. robotic arm(s), optical mirror steering systems, non-mechanical beam steering systems, and so forth). The actuators may take any form, e.g. they may be piezoelectric actuators.

[0038] The control system 100 further comprises actuator position sensors 9 coupled to the actuators 8 and configured to sense the current positions of the actuators 8. The actuator position sensors 9 may be implemented using any suitable type of position sensor, e.g. using resolvers, encoders, strain gauges, and so forth. The actuator position sensors 9 are configured to provide actuator data specifying the sensed positions of the actuators 9 to the control module 7. For example, in implementations in which the pointing system 5 comprises two gimballed axes to control the altitude and azimuth angles of the optical unit 1 , the actuator data may specify sensed values indicative of the current altitude and azimuth angles.

[0039] The control system 100 further comprises an attitude sensor 10 coupled to the platform 6 and configured to sense a current attitude of the platform 6 and its rate of change (i.e. to sense a current orientation of the platform 6 and the current angular velocities of the platform 6), and to generate attitude data specifying the sensed attitude and the sensed rate of change of the attitude. For example, the attitude sensor may be configured to sense an orientation of the platform 6 relative to a gravitational direction or the Earth's horizon. The attitude sensor 10 may directly sense the attitude of the platform 6 or may comprise a plurality of sensors to infer the attitude of the platform 6 based on information provided by the plurality of sensors. For example, the attitude sensor 10 may comprise a magnetometer for measuring an attitude relative to the Earth's magnetic field, an accelerometer for measuring an attitude relative to gravity, and a gyroscopic sensor for detecting rotation about one or more axes (the attitude sensor 10 may derive the attitude data using a combination of signals from the gyroscopic sensor, magnetometer, accelerometer, and differential GNSS, etc.). In some implementations, the attitude sensor 10 may be an attitude sensor 10 of the UAV 2, i.e. the attitude sensor 10 may also be used for navigating the UAV 2. In some implementations in which the UAV 2 changes its orientation at a fast rate (e.g. in which the UAV’s attitude changes significantly within a time period of one second), the attitude sensor 10 may be a “high-speed” attitude sensor capable of determining the UAV orientation and angular velocities with sufficient temporal resolution, i.e. with a sampling rate of 1 kHz or higher) (e.g. in such cases, attitude sensing based on differential GNSS may not be suitable since typical GNSS update rates are 1 Hz or slower).

[0040] The control system 100 of Figure 2 further comprises a position sensor 11 configured to determine a current location (i.e. the translational position) of the platform 6 (other implementations may not include the position sensor 11 , e.g. implementations in which the motion of platform 6 changes mainly the platform’s orientation but does not change the location to an extent that the pointing direction from platform’s location to the target object is significantly changed). In the embodiment of Figure 2, the position sensor 11 comprises a satellite navigation receiver (e.g. Global Navigation Satellite System (GNSS) receiver such as a Global Positioning System (GPS) receiver) to determine the platform’s current location in space, and more specifically to determine coordinates of the platform 6 in a global reference frame. In this example, the global reference frame is a geocentric reference frame (also known as an Earth-centred, Earth-fixed coordinate system) and the position sensor 11 determines the location of the UAV 2 by identifying corresponding coordinates in the geocentric reference frame, e.g. based on the current standard WGS-84 (World Geodetic System). The position sensor 11 may determine (timestamped) values for the platform’s latitude, longitude, and ellipsoidal height. In other implementations, the position sensor 11 may not employ a satellite navigation receiver to determine the platform’s location but may use instead a different, known technique. As one example, the position sensor may determine the platform’s current location by using a dead reckoning method (i.e. the position sensor 11 may comprise an inertial measurement unit (I MU) and may determine an estimate of platform’s global location from a known start point by integrating values determined by the IMU). As another example, the position sensor 11 may determine the platforms’ location by processing map data (e.g. the position sensor 11 may comprise a camera to capture images of the terrain below the UAV 2 and may process map data and the captured images to determine an estimated location of the UAV 2).

[0041] As noted above, the control module 7 is configured to obtain (in addition to the actuator positions and the platform’s location and attitude) data specifying the trajectory 4 of the satellite 3 (e.g. the trajectory data may be stored on a memory which the control module can access). The trajectory data describes the current and expected future locations of the satellite 3, and thus enables the control module 7 to fully consider the motion of the satellite 3 when generating the control data for the pointing system 5. The trajectory data may comprise, for each of a plurality of time points, coordinates of the satellite 3 in the geocentric reference frame (e.g. WGS-84 coordinates) (the time points may comprise a current time point and future time points). As mentioned above, in other implementations, a local geodetic coordinate system may be used to specify the target object’s trajectory.

[0042] For some target objects, the trajectory may be (accurately) known. As an example, the orbit of the satellite 3 may be known to a high degree. For other target objects, the trajectory may not be known with sufficient accuracy. In these cases, the trajectory may be estimated and the control module 7 may process the estimated trajectory. Many possibilities of estimating the trajectory of a moving object exist. One possibility is that a past, known trajectory may be used to estimate the future trajectory. To this end, past satellite navigation data (e.g. GPS data) of the target object may be processed to extrapolate the future flight path. Alternatively, I MU data of the target object may be used to predict the trajectory of the target object form a known location. In addition (or alternatively), the control system 100 may perform (infrequent) direct measurements of the target object to estimate the trajectory as described further below in more detail, such as using camera(s) (e.g. video cameras).

[0043] The control module 7 comprises a converter 13 and a controller 12. The converter 13 is configured to receive the trajectory data and (if used) the current platform location (from the position sensor 11) and to generate (i.e. derive) a target pointing direction. The target pointing direction may specify the elements of a vector in the global reference frame that points from the current location of the platform 6 towards the current location of the satellite 3. More specially, the converter 13 may process the trajectory data (e.g. WGS-84 coordinates) of the satellite 3 and, if used, the location of the platform 6 to determine the target pointing vector / direction (i.e. the target pointing direction is independent of the orientation / tilt of the platform 6 or the pointing direction of the optical unit 1).

[0044] The controller 12 is configured to process the actuator data, the attitude data and the target pointing direction to generate control data for the pointing system 5 so as to correct the pointing direction of the optical unit 1. To this end, the controller 12 comprises an inverse differential kinematics model 14. The inverse differential kinematics model 14 is a computational model that, in some implementations, is based on or derived from kinematic equations (which can be solved using known analytical or numerical methods; e.g. the kinematic equations may use a Jacobian matrix of the pointing system 5 which specifies a mapping between the angular velocities of the optical unit 1 (in a frame fixed to the pointing system 5) and the linear / angular velocities of the actuators 8) or a trained adaptive model. Inverse differential kinematics models are known from the field of robotics where such models have been used to determine the motion of a robot to reach a desired position (e.g. such models have been used to control assembly-line robots). In more general, inverse differential kinematics models determine (e.g. through an iterative optimisation process, or a least square root optimisation) appropriate configurations of a robot’s joints (in particular appropriate joint velocities) so that the robot moves into a position so that the robot’s “end-effector” (a device that is attached to the robot and that is meant to interact with the environment, e.g. a gripping-arm) is correctly positioned in relation to an object upon which the end-effector is intended to operate. The inventors have realised that inverse differential kinematics models are also suitable for controlling the alignment of a moving optical instrument, and that, compared with inverse kinematic models which only consider the current position of the “end-effector” but not its angular velocity, inverse differential kinematics models enable smoother motion of the actuators and improved tracking of the target object.

[0045] The inverse differential kinematics model 14 may receive, as input the target pointing direction, the attitude data and the actuator data, and generate, as output, updated positions for the plurality of actuators 8. More specifically, the inverse differential kinematics model 14 may first process the received data to generate desired linear / angular velocities for the actuators, and then derive updated positions for the plurality of actuators 8 from the desired linear / angular velocities for the actuators (i.e. based on an integration of the linear / angular velocities over an execution time period of the control module 7). The inverse differential kinematics model 14 comprises information about a relationship between the positions of the actuators 8 and the resulting orientation of the optical axis of optical unit 1 (i.e. the optical unit 1 may be considered to be the “end-effector” of the pointing system 5). In other words, the inverse differential kinematics model 14 “knows” how the optical unit is attached to the pointing system 5. This information may be specified in the inverse differential kinematics model 14 through a set of model parameters. Further, the inverse differential kinematics model 14 may comprise information specifying constraints of the actuators 8. The inverse differential kinematics model 14 generates the updated actuator position (taking into the constraints of the actuators 8) so that the resulting orientation of the optical unit 1 points along the desired target pointing direction. The controller 12 may generate corresponding control data for the pointing system 5 from the output of the inverse differential kinematics model 14, i.e. the generated updated actuator positions.

[0046] In some implementations, the inverse differential kinematics model 14 may not directly process the target pointing direction, the attitude data and the actuator data, but instead, the controller 12 may first transform the target pointing direction, based on the attitude data, into a rotated reference frame of the pointing system 5 (i.e. a reference frame that is rotated according to the attitude data). In this case, the inverse differential kinematics model 14 may process the transformed target pointing direction and the actuator data to generate the updated actuator positions.

[0047] In some implementations, the control module 7 may be further configured to generate additional control data for the vehicle (e.g. UAV 2) based on the generated control data for the pointing system 5. This additional control data may be used to control (i.e. navigate) the vehicle. For example, the control module 7 may determine that the optical unit 1 can no longer be directed at the target object 3 because of constraints of the pointing system 5 (i.e. when a range limit of an actuator is reached), and may generate additional control data for the vehicle to navigate the vehicle into a location / orientation from which the optical unit 1 can be directed at the target object 3.

[0048] An example process for directing the optical axis of an optical unit at a target object using the control system 100 of Figure 2 is described with reference to Figure 3. The process S300 of Figure 3 is described for the scenario of Figure 1. In general, the process S300 describes a (computer-implemented) control loop which may be executed for a large number of iterations. In each iteration, steps S301 to S305 may be carried out.

[0049] In step S301 , the control module 7 obtains the trajectory data of the target object (i.e. satellite 3) (e.g. by retrieving it from a memory) to determine a location of the target object for the current iteration (i.e. at the current time). In step S302, the control module 7 obtains attitude data and, in some implementations, location data of the platform 6 for the current iteration (from the attitude sensor 10 and the position sensor 11). The attitude data specifies a current attitude of the moving platform and a current rate of change of the attitude of the moving platform (e.g. values for the rotational velocity of the moving platform about corresponding inertial and geostationary axes). In step S303, the control module 7 obtains the actuator data for the current iteration (from the actuator position sensors 9). In step S304, the control module 7 processes the obtained data to generate control data specifying updated positions for the plurality of actuators 8. To this end, the converter 13 may generate the target pointing direction for the current iteration from the obtained trajectory data and the obtained platform location. The controller 12, using the inverse differential kinematics model 14, may process the generated target pointing direction, the obtained actuator data and the obtained attitude data to generate the control data specifying updated positions for the plurality of actuators 8. In step 305, the control module 7 provides the generated control data to the pointing system 5 to set the positions of the plurality of actuators based on the control data, i.e. to direct the optical axis of the optical unit 1 along the target pointing direction (and thus at the target object). The control module 7 may further generate additional control data for the vehicle based on the generated control data. The vehicle may be controlled based on the additional control data.

[0050] The control system 100 and the process 300 may be used for a wide range of applications. As a first example, the optical unit 1 may comprise a conventional optical communication unit (e.g. an optical receiver, transmitter or transceiver) for optically communicating with the target object. Thus, in this example, the control system 100 enables continuous communication between the optical communication unit and the target object even when both move relative to each other. As a second example, the optical unit 1 may comprise an optical range finding device (e.g. a LiDAR device) for determining a distance to the target object. Thus, in this example, the control system 100 enables continuous range finding. As a third example, the control system 100 may be used for applications in the field of astronomy (e.g. for tracking planets or other celestial objects with optical sensors). The optical unit may be capable of generating any electromagnetic beam, including a beam of radio waves or a laser beam, which may for example be used to transmit communications or as a weapon. Alternatively or additionally, the optical unit may be capable of generating any electromagnetic beam, including a beam of radio waves or a laser beam, which may for example be used to transmit communications or as an energy source.

[0051] In a variation of the control system of Figure 1 , the control module 7 may be further configured to process the trajectory data, the attitude data and the actuator data (and optionally the current location of the platform 6) to determine a current pointing error of the optical unit 1 (i.e. an error indicative of how much the optical unit 1 is misaligned). In this case, the control module 7 may determine whether a magnitude of the pointing error meets a certain criterion, e.g. that it exceeds a threshold amount (i.e. whether the misalignment is significant or tolerable). If the pointing error exceeds a threshold amount, the control module 7 may generate the control data for the pointing system 5 as described above. If the pointing error does not exceed the threshold amount, the control module 7 may not generate the control data for the pointing system 5, i.e. in this case, the pointing system 5 does not receive control data for the corresponding control loop iteration and thus may not change the positions of the actuators 8. In other words, the actuators are only actuated when necessary. This reduces the energy consumption by the pointing system 5.

[0052] As noted above, relying solely on optical feedback from the target object to adjust the orientation of the optical unit is problematic since optical feedback is usually slow and can easily get interrupted (e.g. because of clouds, sudden vibrations of the vehicle, and so forth). However, optical feedback may advantageously be combined with the control system of Figure

[0053] 2. Such a variation of the proposed control system will now be described with reference to Figure 4. The control system 400 is identical to the control system 100 of Figure 2, except that the control system 400 further comprises a camera 15 for capturing images of the target object

[0054] 3. The optical unit 1 may comprise the camera 15, i.e. the camera 15 may be aligned with the optical axis of the optical unit 1 (the optical may comprises further optical instruments, e.g. the aforementioned optical communication unit, range finder devices, and so forth). In broad terms, the camera 15 is configured to generate image data of the target object which is then processed by the control module 7 to improve the control loop described above with reference to Figures 2 and 3 (i.e. to further improve the pointing accuracy of the optical unit 1). In some implementations, the camera 15 captures image data at a lower rate than the execution rate of the control module 7. For example, the camera may be configured to capture new image data at a frame rate that is lower than 100 Hz (e.g. 10 Hz), while the control module 7 may be configured to operate at an execution rate that is greater than 100 Hz (e.g. 1 kHz). In this case, new image data may be incorporated into the control loop if and when such data becomes available while, in between frames, the control module 7 may execute the control loop as described above with reference to Figures 2 and 3 (i.e. without relying on image data).

[0055] The image data generated by the camera 15 can be used in different ways to improve the control loop. In implementations in which the trajectory is estimated, the image data may be used to reduce an error or an uncertainty of the estimated trajectory. More specifically, the control module 7 may be configured to process the image data to determine a current location of the target object. To this end, the control module 7 may process the actuator data, the attitude data and current location of the platform 6 to determine a current pointing direction of the optical unit 1 (and therefore of the camera 15), and may then process the image data and the current pointing direction to determine the current location of the target object. The so- determined location of the target object may be used to update (i.e. improve) the trajectory data which is then used in the control loop as described above.

[0056] For example, based on an image captured by the camera 15 at a current time, trajectory data which indicates an estimated location of the object at a future time (e.g. a time before another image has been captured by the camera 15) may be generated using in addition an estimated direction of motion and rate of motion of the target object. The direction of motion and rate of motion may be estimated from pre-determined trajectory data (e.g. data obtained from outside the UAV and the elements mounted on it) and / or using multiple images captured by the camera 15, e.g. the image captured at the current time and at least one image previously captured by the camera 15 when the target object was at an earlier location on the trajectory. This trajectory data may be used by the method explained above with reference to Figures 3 and 4.

[0057] In some implementations, following the capture of an image by the camera 15 there may be a step of determining whether the image meets a quality criterion indicative of whether the target object is visible in the image. If so, the image may be used as explained above. If not, e.g. because of cloud, the image may be discarded, and corresponding trajectory data may be estimated, e.g. based on previous images captured by the camera which meet the quality criterion, for each current time in which the control loop (i.e. the set of steps S301-S305) is performed until the camera 15 captures an image which meets the quality criterion.

[0058] Alternatively (e.g. in implementations in which the trajectory of the target object is known), the image may be used to update (i.e. improve) the set of model parameters of the inverse differential kinematics model 14 which specify the relationship between the positions of the actuators 8 and the resulting orientation of the optical axis of optical unit 1 . For example, in a real system there may be an unknown relationship (that is, not known to within a desired small uncertainty) between the position of two axes of the optical system, due to manufacturing tolerances, assembly inaccuracies, thermal effects, gradual degradation of mechanical parts, and calibration biases, and this could be determined, such as using a Kalman filter to obtain a determination of the unknown angle. To this end, the control module 7 may process the image data to determine a discrepancy between the actual pointing direction of the optical unit 1 and the expected current pointing direction (i.e. the “current pointing direction” generated from the current actuator data, and the current platform location and attitude). The control module 7 may update the set of model parameters of the inverse differential kinematics model 14 to reduce this discrepancy.

[0059] Those skilled in the art will appreciate that various modifications may be made to the above described embodiment without departing from the scope of the present invention.

Claims

CLAIMS:1 . A method of directing an optical axis of an optical unit at a target object in the sky using a pointing system mounted on a moving platform, the pointing system comprising a plurality of actuators jointly controlling a pointing direction of the optical unit relative to the moving platform, the method comprising: obtaining trajectory data specifying a trajectory of the target object; obtaining attitude data specifying a current attitude of the moving platform and a current rate of change of the attitude of the moving platform; obtaining actuator data specifying current positions of the plurality of actuators; processing the trajectory data, the attitude data and the actuator data to generate control data specifying updated positions for the plurality of actuators; and providing the control data to the pointing system to set the positions of the plurality of actuators based on the control data.

2. The method of claim 1 further comprising a step of obtaining a current location of the moving platform, and wherein processing the trajectory data, the attitude data and the actuator data to generate control data specifying updated positions for the plurality of actuators comprises: processing the trajectory data to determine a current location of the target object, processing the current location of the target object and the current location of the moving platform to determine a target pointing direction, and processing the target pointing direction, the attitude data and the actuator data to generate control data specifying updated positions for the plurality of actuators.

3. The method of claim 2, wherein processing the target pointing direction, the attitude data and the actuator data to generate control data specifying updated positions for the plurality of actuators comprises: processing the target pointing direction, the attitude data and the actuator data to generate, for each actuator, a respective target rate of change of the position of the actuator, and generating the control data specifying updated positions based on the target rates of change of the positions of the plurality of actuators.

4. The method of claim 3, wherein an inverse differential kinematics model is used to generate the control data based on the target pointing direction, the attitude data and the actuator data.

5. The method of any preceding claim wherein the pointing system comprises a gimbal assembly for rotating the optical unit about at least two axes.

6. The method of any preceding claim wherein the optical unit comprises a camera for capturing images of the target object, and the method further comprises capturing an image of the target object, and wherein the control data are generated based on the trajectory data, the attitude data, the actuator data and the image of the target object.

7. The method of claim 6 further comprising updating the trajectory data based on the image of the target object, and wherein the control data are generated based on the updated trajectory data, the attitude data, and the actuator data.

8. The method of claim 6, when dependent on claim 4, further comprising adjusting parameters defining the inverse differential kinematics model based on the image of the target object, and wherein the control data are generated, based on the trajectory data, the attitude data, and the actuator data, using the adjusted inverse differential kinematics model.

9. The method of any preceding claim further comprising processing the trajectory data, the attitude data and the actuator data to determine a current pointing error of the optical unit.

10. The method of claim 9 wherein processing the trajectory data, the attitude data and the actuator data to generate control data comprises: determining whether a magnitude of the pointing error exceeds a threshold amount; if the pointing error exceeds a threshold amount, processing the trajectory data, the attitude data and the actuator data to generate control data specifying updated positions for the plurality of actuators that jointly define a pointing direction of the optical unit that is more accurately directed at the moving than the current pointing direction of the optical unit.

11. The method of any preceding claim wherein the optical unit comprises a communication unit for optically communicating with the target object.

12. The method of any preceding claim, wherein the trajectory data comprises, for each of a plurality of time points, coordinates of the target object in a geocentric reference frame or in a local geodetic frame, and wherein the plurality of time points comprises a current time point and future time points.

13. The method of any preceding claim when dependent on claim 2, wherein obtaining a current location of the moving platform comprises obtaining coordinates of the moving platform in a geocentric reference frame.

14. The method of claim 13, wherein a satellite navigation receiver is attached to the moving platform, and obtaining a current location of the moving platform comprises processing data obtained from the satellite navigation receiver to determine coordinates of the moving platform in the geocentric reference frame.

15. The method of any preceding claim, wherein the trajectory data specifies an estimated trajectory of the target object.

16. The method of any preceding claim, wherein the trajectory data specifies a pre-known trajectory of the target object.

17. The method of any preceding claim, wherein the moving platform is attached to a moving vehicle.

18. The method of claim 17, wherein the vehicle is an aircraft.

19. The method of claim 18, wherein the aircraft is an unmanned aerial vehicle.

20. The method of any one of claims 17 to 19 further comprising: generating additional control data for the vehicle based on the generated control data, and controlling the vehicle based on the additional control data.21 . The method of any preceding claim, wherein the target object is a spacecraft.

22. The method of claim 21 , wherein the spacecraft is a satellite.

23. A controller for controlling a pointing system mounted on a moving platform, the pointing system comprising a plurality of actuators jointly controlling a pointing direction of an optical axis of an optical unit relative to the moving platform, the controller configured to: obtain trajectory data specifying a trajectory of the target object; obtain attitude data specifying a current attitude of the moving platform and a current rate of change of the attitude of the moving platform; obtain actuator data specifying current positions of the plurality of actuators;process the trajectory data, the attitude data and the actuator data to generate control data specifying updated positions for the plurality of actuators; and provide the control data to the pointing system to set the positions of the plurality of actuators based on the control data.

24. The controller of claim 23 further configured to implement the method of any one of claims 1 to 22.

Citation Information

Patent Citations

  • Optical antenna

    US11652549B2

  • Ground terminal design for high rate direct to earth optical communications

    US20160204866A1