Patent Description:
The technical field generally relates to navigational aids, and more particularly relates to systems and methods for search and rescue light control for a rotorcraft.

Rotorcraft searchlights are illumination devices mounted under the belly or chin of a rotorcraft. A rotorcraft searchlight can facilitate search and rescue mission operations by illuminating a point of interest on the ground. Some searchlights are rigidly mounted whereby the rotorcraft must maneuver to re-orient the light on ground. Other current searchlight configurations provide azimuth and tilt control to maneuver the direction/location of the searchlight beam of light on the ground, independent of the rotorcraft movement.

The searchlight control is usually provided as azimuth/tilt commands from the pilot or other crew member using a Hat Switch and in a general use case manually operated by the pilot while flying the rotorcraft. There are situations when the pilot needs to multitask between the rotorcraft control as well as precisely tracking the point of interest by constantly compensating the searchlight orientation due the vehicular motion. This might sometimes result in loss of target or loss of situational awareness.

During a Search and Rescue (SAR) mission, the onus is generally on the pilot to control the searchlight beam of light and/or fly the rotorcraft to follow a predefined SAR pattern. These missions are dynamic and can be very technically difficult. For example, the rotorcraft may have to fly close to the terrain, in high crosswinds, etc. Maintaining the rotorcraft attitude while controlling the searchlight beam of light is cognitively demanding.

Hence, it is desirable to provide systems and methods for automatically controlling the orientation of a searchlight. Furthermore, other desirable features and characteristics of the present invention will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and the foregoing technical field and background.

<CIT> describes a light fixture which can be controlled using one or motors used to control the tilt, pan and the focus of light. A controller can control the motors. The controller can communicate data with a lighting console and a computing device. The computing device can send a control signal to the motor controller to, in turn, affect the light fixture. The lighting console can also exchange data with the computing device, and can also be used to receive inputs from the user. A tracking system is in communication with the computing device. The tracking system can track the location of a beacon. The beacon can be used to mark the location of a specified target, for example, in three-dimensional (3D) space. The beacon can be used to mark the location of a specified target, for example, in 3D space. In other words, the location of the beacon, which is tracked using the tracking system, can be the specified target. The tracking system tracks the beacon and outputs the coordinates for the target location. The system then attempts to move the light fixture to point the spotlight onto the target location. An inverse kinematic model of the light fixture is provided. An input is provided to the inverse kinematic model, and the inverse kinematic model is used to compute a control signal for the light fixture. The input represents the desired location of the light and can be represented by coordinates x,y,z. More generally, the input represents the desired location at which the fixture is to point.

Aspects and preferred embodiments are set out in the appended claims. Disclosed herein is a searchlight system for an aerial vehicle. The searchlight system includes a searchlight having a light head and a plurality of searchlight actuators for adjusting an orientation of the searchlight and an electronics control unit for providing azimuth and tilt commands for the searchlight actuators. The electronics control unit includes a controller configured to: obtain a target range, using a ranging sensor, to a point of interest (POI) at a target that is at ground or at an elevation above ground; determine a searchlight position and attitude; calculate a three dimensional position (3D target position) at the POI using searchlight azimuth and tilt actuator angles, the target range, and the searchlight position and attitude, the 3D target position being a position at which the searchlight's light head should continue to point despite changes in movement or orientation of the aerial vehicle; calculate a desired light head orientation including azimuth angle and tilt angle to point the light head at the target through inverting a kinematic relationship between the aerial vehicle and the light head; calculate compensatory actuator angles for a plurality of searchlight actuators to achieve the desired searchlight orientation based on error measurements calculated from a current orientation; and command the plurality of searchlight actuators to the compensatory actuator angles, wherein an actual searchlight orientation is controlled to illuminate the target.

A computer-implemented method for controlling an orientation of a searchlight for an aerial vehicle is disclosed. The method includes: obtaining a target range, using a ranging sensor, to a point of interest (POI) at a target that is at ground or at an elevation above ground; determining a searchlight position and attitude; calculating a three dimensional position (3D target position) at the POI using searchlight azimuth and tilt actuator angles, the target range, and the searchlight position and attitude, the 3D target position being a position at which the searchlight's light head should continue to point despite changes in movement or orientation of the aerial vehicle; calculating a desired searchlight orientation including azimuth angle and tilt angle to point the light head at the target through inverting a kinematic relationship between the aerial vehicle and the light head; calculating compensatory actuator angles for a plurality of searchlight actuators to achieve the desired searchlight orientation based on error measurements calculated from a current orientation; and commanding the plurality of searchlight actuators to the compensatory actuator angles, wherein an actual searchlight orientation is controlled to illuminate the target.

Embodiments of the present disclosure may be described herein in terms of functional and/or logical components and various processing steps. It should be appreciated that such functional and/or logical components may be realized by any number of hardware, software, and/or firmware components configured to perform the specified functions.

The subject matter described herein discloses apparatus, systems, techniques, and articles for a control mechanism for a searchlight, wherein built-in intelligence in the searchlight will allow the searchlight once it is aimed at a point of interest (POI) to compensate for vehicular motions and continue to illuminate the POI without the need of a searchlight operator to adjust an azimuth and/or tilt angle, for example, via an azimuth and/or tilt command from the hat switch. The apparatus, systems, techniques, and articles provided herein can provide an operator with hands-free control of searchlight orientation without having to compensate for the rotorcraft motion to continue to illuminate a location. The apparatus, systems, techniques, and articles provided herein can allow the operator to point to and track targets irrespective of the target's relative height from the searchlight.

The apparatus, systems, techniques, and articles provided herein can also be used to upgrade current searchlights to provide features like position lock, geo-stabilization, and Cartesian Control with no blind spots. The apparatus, systems, techniques, and articles provided herein can provide a searchlight which, unlike current searchlights, has inputs beyond the hat switch and power commands. The apparatus, systems, techniques, and articles provided herein utilize inputs from external sensors such as an inertial measurement unit (IMU) and Joint Angle Sensors.

Provided are an apparatus, systems, techniques, and articles for calculating the orientation of a searchlight. The apparatus, systems, techniques, and articles provided herein can employ a design wherein azimuth and tilt axis are not coincidental. The apparatus, systems, techniques, and articles provided herein can employ Homogenous transform matrices <MAT> which also account for translations (alongside rotations). The apparatus, systems, techniques, and articles provided herein can use a kinematic relationship to calculate joint angles synthesized from the orientation of the searchlight. The apparatus, systems, techniques, and articles provided herein can use Inverse Kinematics to calculate joint angles from the light head angle wherein the value of the light head angle and joint angles are different.

The apparatus, systems, techniques, and articles provided herein do not rely on the measurement of height of the searchlight from the ground or sea level. The apparatus, systems, techniques, and articles provided herein directly measures the range of a target and does not have a constraint that the target has to be at the sealground level from where the height of the searchlight is measured. With the apparatus, systems, techniques, and articles provided herein the target can be at any elevation.

The apparatus, systems, techniques, and articles provided herein do not calculate target position using a flat-earth model, which has a limitation of the searchlight height having to be measured from the same plain on which the target exists. The apparatus, systems, techniques, and articles provided herein use direct range measurement to the target allowing the target to be arbitrarily placed at any elevation, thereby allowing positioning and locking the searchlight to any target possible with exception to features which create occlusion to the light beam.

The apparatus, systems, techniques, and articles provided herein can utilize an Inverse Kinematics technique using Quaternions for trajectory planning which alleviates an algorithm applying the technique from mathematical singularity issues that could occur in algorithms that use a design where azimuth and tilt axis are considered to coincide and that rely on "Euler Angles" based calculations which may have singularity limitations.

<FIG> is a block diagram depicting an example search and rescue (SAR) system <NUM> in a mobile platform <NUM>. The example SAR system <NUM> (also referred to herein as "system" <NUM>) is generally associated with a mobile platform <NUM>. In various embodiments, the mobile platform <NUM> is a rotorcraft, and is referred to as rotorcraft <NUM>. The SAR system <NUM> embodies a searchlight (SL) target tracking module <NUM>. In some embodiments, the SL target tracking module <NUM> may be integrated within a preexisting mobile platform management system, avionics system, cockpit display system (CDS), flight controls system (FCS), or rotorcraft flight management system (FMS). Although the SL target tracking module <NUM> is shown as an independent functional block, onboard the rotorcraft <NUM>, in other embodiments, it may exist in an electronic flight bag (EFB) or portable electronic device (PED), such as a tablet, cellular phone, or the like. In embodiments in which the SL target tracking module is within an EFB or a PED, the display system and a user input device <NUM> may also be part of the EFB or PED. The SL target tracking module <NUM> may be operationally coupled to any combination of the following rotorcraft systems: a communication system and fabric <NUM>; a rotorcraft inertial navigation system <NUM>; the user input device <NUM>; a searchlight assembly <NUM>; and other rotorcraft systems.

The example searchlight assembly <NUM> comprises a searchlight (also referred to herein as "SL," and as a searchlight device <NUM>). The SL <NUM> emits a beam of light from a portion called a light head; the beam of light illuminates a spot or object on which the beam of light impinges. The example searchlight assembly <NUM> also comprises actuators (such as motors <NUM>) for controlling the orientation of the searchlight device <NUM> (as used herein, the orientation of the SL <NUM> refers to the orientation of the SL light head with respect to earth), sensors <NUM> and a laser ranger <NUM>. In an embodiment, the orientation is measured in Euler angles. In operation, the SL <NUM> may have two control angles: Pan (Azimuth) and Tilt (Elevation). These control angles can be measured, for example, using encoders in each control joint. By mounting the searchlight assembly <NUM>, and hence the SL <NUM>, to the rotorcraft <NUM>, a fixed relationship between the SL light head and the rotorcraft's inertial frame can provide homogenous transformation of orientation values between the rotorcraft <NUM> and the SL <NUM>. Using these two measured angular control angles, one can arrive at the searchlight orientation with respect to earth. In other embodiments, the searchlight assembly <NUM> is equipped with an inertial sensor, among sensors <NUM>, from which the orientation with respect to earth may be obtained.

The sensors <NUM> detect orientation and configuration status of the searchlight device <NUM> and convert this status information into electrical signals for processing. The laser ranger <NUM> is configured to determine a distance from the SL <NUM> to an illuminated spot, the distance being referred to herein referred as a slant range, or simply "range. " As a functional block, the searchlight assembly <NUM> is configured to determine and provide an actual SL orientation and an actual SL range to a location referred to as a point of interest (POI).

In some embodiments, real-time rotorcraft state data is generated by the rotorcraft inertial navigation system <NUM>. Real-time rotorcraft state data may include any of an instantaneous location (e.g., the latitude, longitude, orientation), an instantaneous heading (i.e., the direction the rotorcraft is traveling in relative to some reference), a flight path angle, a vertical speed, a ground speed, an instantaneous altitude (or height above ground level), and a current phase of flight of the rotorcraft <NUM>. As used herein, "real-time" is interchangeable with current and instantaneous. The rotorcraft inertial navigation system <NUM> may be realized as including a satellite navigation system (GNSS), inertial reference system (IRS), or a radiobased navigation system (e.g., VHF omni-directional radio range (VOR) or long-range aid to navigation (LORAN)), and may include one or more navigational radios or other sensors suitably configured to support operation of the FMS, as will be appreciated in the art. In various embodiments, the data referred to herein as the real-time rotorcraft state data may be referred to as navigation data. The real-time rotorcraft state data is made available, generally by way of the communication system and fabric <NUM>, so other components, such as the SL target tracking module <NUM> and a display system, may further process and/or handle the rotorcraft state data.

In various embodiments, the communications system and fabric <NUM> is configured to support instantaneous (i.e., real time or current) communications between on-board systems, the SL target tracking module <NUM>, and one or more external data source(s). The communications system and fabric <NUM> may incorporate one or more transmitters, receivers, and the supporting communications hardware and software required for components of the system <NUM> to communicate as described herein. In various embodiments, the communications system and fabric <NUM> may have additional communications not directly relied upon herein, such as bidirectional pilot-to-ATC (air traffic control) communications via a datalink, and any other suitable radio communication system that supports communications between the rotorcraft <NUM> and various external source(s).

The user input device <NUM> and the SL target tracking module <NUM> are cooperatively configured to allow a user (e.g., a pilot, co-pilot, or other crew member) to interact with display devices in a display system and/or other elements of the system <NUM>. Depending on the embodiment, the user input device <NUM> may be realized as a cursor control device (CCD), keypad, touchpad, keyboard, mouse, touch panel (or touchscreen), joystick, knob, line select key, voice controller, gesture controller, or another suitable device adapted to receive input from a user. When the user input device <NUM> is configured as a touchpad or touchscreen, it may be integrated with the display system. As used herein, the user input device <NUM> may be used by a pilot to communicate with external sources, to modify or upload the program product <NUM>, etc. In various embodiments, the display system and user input device <NUM> are onboard the rotorcraft <NUM> and are also operationally coupled to the communication system and fabric <NUM>. In some embodiments, the SL target tracking module <NUM>, user input device <NUM>, and display system are configured as a control display unit (CDU).

In various embodiments, the SL target tracking module <NUM>, alone, or as part of a central management computer (CMC) or a flight management system (FMS), draws upon data and information from the rotorcraft inertial navigation system <NUM> and searchlight assembly <NUM> to control the orientation of the light head. The SL target tracking module <NUM> is configured to obtain a target range, using a ranging sensor (e.g., laser ranger <NUM>), to a POI at a target that is at ground or at an elevation above ground; determine a searchlight position and attitude; calculate a three dimensional position (3D target position) at the POI using searchlight azimuth and tilt actuator angles, the target range, and the searchlight position and attitude, while the SL light head continues to point at the 3D target position despite changes in movement or orientation of the mobile platform <NUM>; calculate a desired SL orientation including azimuth (AZ) angle and tilt angle to point the SL light head at the target through inverting a kinematic relationship between the mobile platform <NUM> and the SL <NUM>; calculate compensatory actuator angles for a plurality of SL actuators (e.g., motors <NUM>) to achieve the desired SL orientation based on error measurements calculated from a current orientation; and command the plurality of SL actuators to the compensatory actuator angles, wherein an actual SL orientation is controlled to illuminate the target.

Accordingly, in <FIG>, an embodiment of the SL target tracking module <NUM> is depicted as a processing component such as a controller. The processing component comprises at least one processor <NUM> and a computer-readable storage device or media (such as memory <NUM>) encoded with programming instructions for configuring the processing component. The processor <NUM> may comprise any type of processor or multiple processors, any custom-made or commercially available processor, a central processing unit (CPU), a graphics processing unit (GPU), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), an auxiliary processor among several processors associated with the processing component, a semiconductor-based microprocessor (in the form of a microchip or chip set), any combination thereof, or generally any device for executing instructions to carry out the described operations, tasks, and functions by manipulating electrical signals representing data bits at memory locations in system memory, as well as other processing of signals.

The computer readable storage device or media (e.g., memory <NUM>) may include volatile and nonvolatile storage in read-only memory (ROM), random-access memory (RAM), and keep-alive memory (KAM), for example. KAM is a persistent or non-volatile memory that may be used to store various operating variables while the processor is powered down. The computer-readable storage device or media may be implemented using any of a number of known memory devices such as PROMs (programmable read-only memory), EPROMs (electrically PROM), EEPROMs (electrically erasable PROM), flash memory, or any other electric, magnetic, optical, or combination memory devices capable of storing data, some of which represent executable programming instructions, used by the processing component. The memory <NUM> may be located on and/or co-located on the same computer chip as the processor <NUM>. Generally, the memory <NUM> maintains data bits and may be utilized by the processor <NUM> as storage and/or a scratch pad during operation. Specifically, the memory <NUM> stores instructions and applications <NUM>. Information in the memory <NUM> may be organized and/or imported from an external source during an initialization step of a process; it may also be programmed via a user input device <NUM>. During operation, the processor <NUM> loads and executes one or more programs, algorithms and rules embodied as instructions and applications <NUM> contained within the memory <NUM> and, as such, controls the general operation of the SL target tracking module <NUM>.

The novel program <NUM> includes rules and instructions that, when executed, convert the controller (e.g., processor <NUM>/memory <NUM>) configuration into the SL target tracking module <NUM>, which is a novel SAR target tracking SL target tracking module that performs the functions, techniques, and processing tasks associated with target tracking for the SAR system <NUM>. The novel program <NUM> directs the processing of searchlight assembly data with real time navigation data to determine differences/deviations between position, orientation and slant range between the intended values and actual values, as described hereinbelow. Novel program <NUM> and associated stored variables <NUM> may be stored in a functional form on computer readable media, for example, as depicted, in memory <NUM>. While the depicted exemplary embodiment of the SL target tracking module <NUM> is described in the context of a fully functioning computer system, those skilled in the art will recognize that the mechanisms of the present disclosure are capable of being distributed as a program product <NUM>.

As a program product <NUM>, one or more types of non-transitory computer-readable signal bearing media may be used to store and distribute the program <NUM>, such as a non-transitory computer readable medium bearing the program <NUM> and containing therein additional computer instructions for causing a computer processor (such as the processor <NUM>) to load and execute the program <NUM>. Such a program product <NUM> may take a variety of forms, and the present disclosure applies equally regardless of the type of computer-readable signal bearing media used to carry out the distribution. Examples of signal bearing media include recordable media such as floppy disks, hard drives, memory cards and optical disks, and transmission media such as digital and analog communication links. It will be appreciated that cloud-based storage and/or other techniques may also be utilized as memory <NUM> and as program product time-based viewing of clearance requests in certain embodiments.

In various embodiments, the controller (e.g., processor <NUM>/memory <NUM>) configuration of the SL target tracking module <NUM> may be communicatively coupled (via a bus <NUM>) to an input/output (I/O) interface <NUM>, and a database <NUM>. The bus <NUM> serves to transmit programs, data, status and other information or signals between the various components of the SL target tracking module <NUM>. The bus <NUM> can be any suitable physical or logical means of connecting computer systems and components. This includes, but is not limited to, direct hard-wired connections, fiber optics, infrared and wireless bus technologies.

The I/O interface <NUM> enables intra SL target tracking module <NUM> communication, as well as communications between the SL target tracking module <NUM> and other system <NUM> components, and between the SL target tracking module <NUM> and the external data sources via the communication system and fabric <NUM>. The I/O interface <NUM> may include one or more network interfaces and can be implemented using any suitable method and apparatus. In various embodiments, the I/O interface <NUM> is configured to support communication from an external system driver and/or another computer system. In one embodiment, the I/O interface <NUM> is integrated with the communication system and fabric <NUM> and obtains data from external data source(s) directly. Also, in various embodiments, the I/O interface <NUM> may support communication with technicians, and/or one or more storage interfaces for direct connection to storage apparatuses, such as the database <NUM>. In some embodiments, the database <NUM> is part of the memory <NUM>. In various embodiments, the database <NUM> is integrated, either within the SL target tracking module <NUM> or external to it.

The SL <NUM> has a plurality of joints that allow the orientation of the SL <NUM> to be adjusted to track a target. A Kinematic relationship between each of the joints to the light head is pre-established using transforms. These transforms are called Homogenous Transforms which have both rotational and translational quantities. The Inverse of the Kinematic relationship is an Inverse Kinematic (IK) relationship.

Described herein is one embodiment of a searchlight with <NUM>-degrees of freedom (azimuth and tilt) that utilizes IK based control. The apparatus, systems, techniques, and articles described herein may also be scaled to multi degree of freedom searchlight systems.

The Searchlight control of the orientation of the SL light head exercised by the SL target tracking module <NUM> involves understanding the coordinate space in which the SL operates. The coordinate space is chiefly described in two categories - joint space and task space. The joint space refers to the coordinate system constituted for each joint (in this example the azimuth and tilt joints). Each joint has its local coordinate system by which the position of each joint is determined. When an angular position of a joint is quantified, the angular position is quantified from an initial condition referenced in the same joint space.

The task space refers to the coordinate space with which the end-effector (in this case the light head) is positioned. The task space is an externally referenced (and anchored) coordinate system that helps determine the relationship between the light head and the world. The position of the light head is determined using north-east-down (NED) coordinates and Euler Angles.

The searchlight is a serial manipulator and kinematic equations that apply to it are like that of a robotic arm. The end-effector of a robotic arm is the piece that works with the job and is positioned in World Frame (in Task Space) by the virtue of changing the Joint Angles (in Joint Space). The rigid body transformation between the Joint Space and Task Space is represented using Homogenous Transforms. The Joint Space to Task Space reveals the position of the end effector and this is referred to as Forward Kinematics. In the case of Position Lock, the required position and orientation of the end-effector is known in Task Space. To position it there the Joint Angles, need to be changed. To find the magnitude of change, a Task Space to Joint space relationship is established using Inverse Kinematics. Every computational frame, IK is used to compute the joint angles based on the tracking error and hence it is a zero-order function which does not depend on a past value.

<FIG> are diagrams depicting various angular configurations of a light head <NUM> of a search light assembly <NUM>. <FIG> depicts the search light assembly <NUM> in a retracted state. <FIG> depicts the search light assembly <NUM> extending from the retracted state. <FIG> depicts the search light assembly <NUM> in an extended state with the light head <NUM> at a <NUM>° azimuth angle and a <NUM>° tilt angle. <FIG> depicts the search light assembly <NUM> in an extended state with the light head <NUM> at a -<NUM>° azimuth angle and a <NUM>° tilt angle. <FIG> depicts the search light assembly <NUM> in an extended state with the light head <NUM> at a <NUM>° azimuth angle and a <NUM>° tilt angle. By controlling the tilt and azimuth angles, the light head <NUM> may be directed in multiple directions to illuminate a target while a mobile vessel containing the SL changes locations.

<FIG> is a process flow chart depicting an example process <NUM> in a searchlight target tracking module for tracking a target at a POI. The order of operation within the process <NUM> is not limited to the sequential execution as illustrated in the figure but may be performed in one or more varying orders as applicable and in accordance with the present disclosure.

The example searchlight target tracking module includes a position lock feature and a stabilization feature that work simultaneously to compensate for helicopter movement and attitude changes to maintain the location of a beam of light on a target. The example searchlight target tracking module may be hosted within searchlight electronics or may be an external unit that feeds inputs to the searchlight in the form of azimuth and tilt commands. An external unit embodiment can allow a legacy searchlight to be converted into a smart searchlight system that automatically tracks a target.

The example process <NUM> includes selecting a target location (operation <NUM>). A searchlight operator may select a spot as a Point of Interest (POI). The POI could be at any elevation from the ground, even on features like mountain slopes, walls of building, rooftops, and others. The selected target can be provided as a first input to the searchlight system.

The example process <NUM> includes obtaining target range (operation <NUM>). The target range is directly measured using a ranging sensor (e.g., laser ranger <NUM>) that allows the searchlight system to know the exact distance to the target from the light head of the searchlight.

The example process <NUM> includes obtaining the searchlight position and attitude (operation <NUM>). The vehicle could be any rotorcraft or other mobile systems. The searchlight's position and attitude are determined based on the position and attitude of the vehicle based on a kinematic relationship between the vehicle and the searchlight.

The example process <NUM> includes calculating a target position (operation <NUM>). Using the searchlight's position, attitude and range to the target, the target position is determined in three dimensions. This position will be tracked by the searchlight system despite changes in movement or orientation of the vehicle.

The example process <NUM> includes calculating a required searchlight orientation (operation <NUM>). A required searchlight orientation to continue to illuminate the target is calculated by inverting the kinematic relationship between the vehicle and the searchlight that is mentioned with respect to operation <NUM>. The respective angles of each degree of freedom of the searchlight are calculated.

The example process <NUM> includes determining whether the current orientation is different from the required orientation (decision <NUM>). If the current orientation is not different from the required orientation (no at decision <NUM>) operations <NUM> through <NUM> are repeated. Operations <NUM> through <NUM> run periodically to provide continuous compensation for any change in vehicle position and attitude thereby enabling position lock and stabilization features compensating for the change in orientation and position of the vehicle.

If the current orientation is different from the required orientation (yes at decision <NUM>), then the example process <NUM> includes calculating required motor angles (operation <NUM>). Using the required orientation, an error measurement is calculated from the current orientation which is then used to generate the compensatory motor angles that will close the error. In this example the motors are the actuators that will close the error.

The example process <NUM> includes determining whether the current motor angle is different from the required motor angle (decision <NUM>). If the current motor angle is not different from the required motor angle (no at decision <NUM>), then operation <NUM> is repeated.

If the current motor angle is different from the required motor angle (yes at decision <NUM>), then the example process <NUM> includes commanding the motor to required angles (operation <NUM>). The motor control loop continues to command the motors with a feasible control regime that closes the error between the current and required motor angles. It could be any standard motor control law selected to match the bandwidth and performance of the system.

<FIG> is a block diagram depicting an example motor control law <NUM> in an example system <NUM>. The external commands (angle offset <NUM>, angle setpoint <NUM>, and measured angle <NUM>) are in terms of absolute angle offset in radians. The offset becomes the new setpoint. The output variable (at block <NUM>) is the electrical angle of the motor of a corresponding axis.

The voltages from the setpoint (sum of angle offset <NUM> and angle setpoint <NUM> added at summation block <NUM>) and output (measured angle <NUM>) are subtracted at summation block <NUM> to calculate a feed-back error <NUM>. The resulting error <NUM> is used in a PID function. In a proportional branch <NUM> of the PID, the error is multiplied by a constant Kp to provide a long term output for the motor. If an error is largely positive or negative for a while the integral branch <NUM> will provide a value that will become large and push the system towards zero. When a sudden change occurs in the error value, the differential branch <NUM> will give a quick response. The results of all three branches (<NUM>, <NUM>, <NUM>) are added together in the third summation block <NUM>. This result is filtered (e.g., via filter <NUM>) then amplified (e.g., at block <NUM>) to drive the motor (e.g., via a pulse with modulator <NUM>). The overall performance of the system can be changed by adjusting the gains in the three branches (<NUM>, <NUM>, <NUM>) of the PID function.

<FIG> is a process flow chart depicting an example process <NUM> for controlling an orientation of a searchlight on an aerial vehicle. The order of operation within the process <NUM> is not limited to the sequential execution as illustrated in the figure but may be performed in one or more varying orders as applicable and in accordance with the present disclosure.

The example process <NUM> includes obtaining a target range, using a ranging sensor, to a point of interest (POI) at a target that is at ground or at an elevation above ground (operation <NUM>). In various embodiments, the POI was selected by a searchlight operator.

The example process <NUM> includes determining a searchlight position and attitude (operation <NUM>). In various embodiments, determining a searchlight position and attitude comprises receiving a position and attitude for the aerial vehicle, and determining the searchlight position and attitude based on the kinematic relationship between the aerial vehicle and the searchlight.

The example process <NUM> includes calculating a three dimensional position (3D target position) at the POI (operation <NUM>). The 3D target position is calculated using searchlight azimuth and tilt actuator angles, the target range, and the searchlight position and attitude, while a searchlight light head continues to point at the 3D target position despite changes in movement or orientation of the aerial vehicle.

The example process <NUM> includes calculating a desired searchlight orientation including azimuth angle and tilt angle to point the light head at the target through inverting a kinematic relationship between the aerial vehicle and the searchlight (operation <NUM>). In various embodiments, the azimuth angle is measured with respect to an azimuth axis and tilt axis is measured with respect to a tilt axis, and the tilt axis and the azimuth axis are non-intersecting axes. In various embodiments, calculating a desired searchlight orientation including azimuth angle and tilt angle to point the light head at the target through inverting a kinematic relationship between the aerial vehicle and the searchlight comprises calculating a desired searchlight orientation including azimuth angle and tilt angle to point the light head at the target through inverting the kinematic relationship between the aerial vehicle and the searchlight using Quaternions.

The example process <NUM> includes calculating compensatory actuator angles for a plurality of searchlight actuators to achieve the desired searchlight orientation based on error measurements calculated from a current orientation (operation <NUM>). In various embodiments, calculating compensatory actuator angles for a plurality of searchlight actuators comprises calculating compensatory actuator angles to close the error measurements.

The example process <NUM> includes commanding the plurality of searchlight actuators to the compensatory actuator angles, wherein an actual searchlight orientation is controlled to illuminate the target (operation <NUM>). In various embodiments, commanding the plurality of searchlight actuators to the compensatory actuator angles comprises commanding the plurality of searchlight actuators to the compensatory actuator angles using an actuator control loop that continuously commands the plurality of actuators using a control regime that closes the error measurements between current and the compensatory actuator angles.

In various embodiments, one or more types of non-transitory computer-readable signal bearing media may be used to store and distribute a program that configures one or more processors to perform a process for controlling the orientation of a searchlight on an aerial vehicle. The process for controlling the orientation of a searchlight on an aerial vehicle may include operations <NUM> through operation <NUM> described above.

Described herein are apparatus, systems, techniques and articles for target position synthesis and search light control using Inverse Kinematics. The apparatus, systems, techniques, and articles provided herein can generate target coordinates without the need of elevation from sealground level and with arbitrary positioning of the target. The apparatus, systems, techniques, and articles provided herein can work on two or more degree of freedom searchlight with non-aligned axis for each degree of freedom. The apparatus, systems, techniques, and articles provided herein can generate stabilization commands to compensate for vehicle orientation to retain the searchlight orientation with respect to earth.

In one embodiment, a searchlight system for an aerial vehicle is disclosed. The searchlight system comprises a searchlight having a light head and a plurality of searchlight actuators for adjusting an orientation of the searchlight and an electronics control unit for providing azimuth and tilt commands for the searchlight actuators. The electronics control unit comprises a controller configured to: obtain a target range, using a ranging sensor, to a point of interest (POI) at a target that is at ground or at an elevation above ground; determine a searchlight position and attitude; calculate a three dimensional position (3D target position) at the POI using searchlight azimuth and tilt actuator angles, the target range, and the searchlight position and attitude, the 3D target position being a position at which the searchlight's light head should continue to point despite changes in movement or orientation of the aerial vehicle; calculate a desired light head orientation including azimuth angle and tilt angle to point the light head at the target through inverting a kinematic relationship between the aerial vehicle and the light head; calculate compensatory actuator angles for the plurality of searchlight actuators to achieve the desired searchlight orientation based on error measurements calculated from a current orientation; and command the plurality of searchlight actuators to the compensatory actuator angles, wherein an actual light head orientation is controlled to illuminate the target.

In one embodiment, to obtain the target range to the POI, the controller is configured to select the POI selected by a searchlight operator.

In one embodiment, to determine a searchlight position and attitude the controller is configured to: receive a position and attitude from a sensor internal to the searchlight; and determine a light head position and attitude based on a kinematic relationship between the sensor and the light head.

In one embodiment, to calculate compensatory actuator angles for the plurality of searchlight actuators, the controller is configured to calculate compensatory actuator angles to close the error measurements.

In one embodiment, to command the plurality of searchlight actuators to the compensatory actuator angles, the controller is configured to command the plurality of searchlight actuators to the compensatory actuator angles using an actuator control loop that continuously commands the plurality of actuators using a control regime that closes the error measurements between current and the compensatory actuator angles.

In one embodiment, the azimuth angle is measured with respect to an azimuth axis, the tilt angle is measured with respect to a tilt axis, and the tilt axis and the azimuth axis are non-intersecting axes.

In one embodiment, to calculate a desired light head orientation including azimuth angle and tilt angle to point the light head at the target through inverting a kinematic relationship between the aerial vehicle and the light head, the controller is configured to calculate a desired light head orientation including azimuth angle and tilt angle to point the light head at the target through inverting the kinematic relationship between the aerial vehicle and the light head using Quaternions.

In another embodiment, a computer-implemented method for controlling an orientation of a searchlight on an aerial vehicle is provided. The method comprises: obtaining a target range, using a ranging sensor, to a point of interest (POI) at a target that is at ground or at an elevation above ground; determining a searchlight position and attitude; calculating a three dimensional position (3D target position) at the POI using searchlight azimuth and tilt actuator angles, the target range, and the searchlight position and attitude, the 3D target position being a position at which the searchlight's light head should continue to point despite changes in movement or orientation of the aerial vehicle; calculating a desired searchlight orientation including azimuth angle and tilt angle to point the light head at the target through inverting a kinematic relationship between the aerial vehicle and the light head; calculating compensatory actuator angles for a plurality of searchlight actuators to achieve the desired searchlight orientation based on error measurements calculated from a current orientation; and commanding the plurality of searchlight actuators to the compensatory actuator angles, wherein an actual light head orientation is controlled to illuminate the target.

In one embodiment, obtaining the target range to the POI comprises selecting the POI selected by a searchlight operator.

In one embodiment, determining a searchlight position and attitude comprises: receiving a position and attitude from a sensor internal to the searchlight and determining the light head position and attitude based on the kinematic relationship between the aerial vehicle and the light head.

In one embodiment, calculating compensatory actuator angles for a plurality of searchlight actuators comprises calculating compensatory actuator angles to close the error measurements.

In one embodiment, commanding the plurality of searchlight actuators to the compensatory actuator angles comprises commanding the plurality of searchlight actuators to the compensatory actuator angles using an actuator control loop that continuously commands the plurality of actuators using a control regime that closes the error measurements between current and the compensatory actuator angles.

In one embodiment, calculating a desired searchlight orientation including azimuth angle and tilt angle to point the light head at the target through inverting a kinematic relationship between the sensor and the light head comprises calculating a desired searchlight orientation including azimuth angle and tilt angle to point the light head at the target through inverting the kinematic relationship between the sensor and the light head using Quaternions.

In another embodiment, a non-transitory computer-readable medium having stored thereon instructions which when executed by a processor cause the processor to perform a method for controlling an orientation of a searchlight on an aerial vehicle. The method comprises: obtaining a target range, using a ranging sensor, to a point of interest (POI) at a target that is at ground or at an elevation above ground; determining a searchlight position and attitude; calculating a three dimensional position (3D target position) at the POI using searchlight azimuth and tilt actuator angles, the target range, and the searchlight position and attitude, while a searchlight light head continues to point at the 3D target position despite changes in movement or orientation of the aerial vehicle; calculating a desired searchlight orientation including azimuth angle and tilt angle to point the light head at the target through inverting a kinematic relationship between the sensor and the light head; calculating compensatory actuator angles for a plurality of searchlight actuators to achieve the desired searchlight orientation based on error measurements calculated from a current orientation; and commanding the plurality of searchlight actuators to the compensatory actuator angles, wherein an actual light head orientation is controlled to illuminate the target.

In one embodiment, determining a searchlight position and attitude comprises: receiving a position and attitude from a sensor internal to the searchlight or from external equipment on the aerial vehicle and determining the light head position and attitude based on the kinematic relationship between the sensor and the light head.

In one embodiment, calculating compensatory actuator angles for the plurality of searchlight actuators comprises calculating compensatory actuator angles to close the error measurements.

In one embodiment, calculating a desired light head orientation including azimuth angle and tilt angle to point the light head at the target through inverting a kinematic relationship between the sensor and the light head comprises calculating a desired light head orientation including azimuth angle and tilt angle to point the light head at the target through inverting the kinematic relationship between the sensor and the light head using Quaternions.

In another embodiment, a searchlight system on an aerial vehicle is provided. The searchlight system comprises a searchlight having a light head and a plurality of searchlight actuators for adjusting an orientation of the searchlight and an electronics control unit for providing azimuth and tilt commands for the searchlight actuators. The electronics control unit comprises a controller configured to: select a point of interest (POI) selected by a searchlight operator that is at ground or at an elevation above ground at which a target is located; obtain a target range to the POI using a ranging sensor that provides the searchlight system with an exact distance of the target from the light head of the searchlight; receive a position and attitude from a sensor internal to the searchlight or from external equipment on the aerial vehicle, wherein a light head position and attitude can be determined based on a kinematic relationship between the sensor and the light head; calculate a three dimensional position of the target (3D target position) using the aerial vehicle's position, the aerial vehicle's attitude, searchlight azimuth and tilt actuator angles and the target range, wherein the Searchlight's Light Head continues to point at the 3D target position despite changes in movement or orientation of the aerial vehicle; calculate a desired light head orientation including azimuth and tilt to point the light head at the target through inverting a kinematic relationship between the sensor and the light head; calculate compensatory actuator angles for the plurality of actuators to achieve the desired light head orientation based on error measurements calculated from a current orientation, wherein the compensatory actuator angles are calculated to close the error measurements; and command the plurality of actuators to the compensatory actuator angles using a actuator control loop that continuously commands the plurality of actuators using a control regime that closes the error measurements between current and the compensatory actuator angles using an actuator control law selected to match bandwidth and performance characteristics of the system, wherein an actual searchlight orientation is controlled to illuminate the target.

The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in software executed by a processor, or in a combination of the two. A software may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.

Claim 1:
A searchlight system for an aerial vehicle, the searchlight system comprising:
a searchlight (<NUM>) having a light head (<NUM>) and a plurality of searchlight actuators (<NUM>) for adjusting an orientation of the light head; and
an electronics control unit for providing azimuth and tilt commands for the searchlight actuators, the electronics control unit comprising a controller configured to:
obtain (<NUM>, <NUM>) a target range, using a ranging sensor (<NUM>), to a point of interest, POI, at a target that is at ground or at an elevation above ground;
determine (<NUM>, <NUM>) a searchlight position and attitude;
calculate (<NUM>, <NUM>) a three dimensional position, 3D target position, at the POI using searchlight azimuth and tilt actuator angles, the target range, and the searchlight position and attitude, the 3D target position being a position at which the searchlight's light head should continue to point despite changes in movement or orientation of the aerial vehicle;
calculate (<NUM>, <NUM>) a desired light head orientation including azimuth angle and tilt angle to point the light head at the target through inverting a kinematic relationship between the aerial vehicle and the light head;
calculate (<NUM>) compensatory actuator angles for the plurality of searchlight actuators to achieve the desired searchlight orientation based on error measurements calculated from a current orientation; and
command (<NUM>, <NUM>) the plurality of searchlight actuators to the compensatory actuator angles, wherein an actual light head orientation is controlled to illuminate the target.