System and method for onboard motion correction

The system corrects 3D wind vectors in real-time by synchronizing and transforming data with motion sensors, addressing latency issues and enhancing weather forecasting accuracy on movable platforms.

WO2026101584A1PCT designated stage Publication Date: 2026-05-15RES FOUND FOR SUNY
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
RES FOUND FOR SUNY
Filing Date
2025-08-15
Publication Date
2026-05-15

AI Technical Summary

Technical Problem

Existing systems fail to provide real-time or near real-time compensation for platform movements affecting 3D wind vector measurements due to satellite communication bandwidth limitations and latency issues, leading to delayed data processing and inaccurate weather forecasting.

Method used

A system and method for onboard motion correction that synchronizes and transforms 3D wind vector data with motion data from a motion sensor, using a transformation matrix to correct for platform movements, enabling real-time compensation on movable platforms like buoys, drones, and ships.

Benefits of technology

Enables accurate, real-time correction of 3D wind vectors, reducing data latency and improving weather forecasting accuracy by eliminating motion-induced errors.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2025042247_15052026_PF_FP_ABST
    Figure US2025042247_15052026_PF_FP_ABST
Patent Text Reader

Abstract

A method and an apparatus for correcting a 3D wind vector for velocities induced by linear and angular motions include receiving positional offsets associated with an anemometer and a motion sensor onboard a movable platform; receiving 3D wind vector data from the anemometer; receiving orientation data, angular motion data, and linear velocity data associated with the movable platform from the motion sensor; determining a transformation matrix based on the orientation data; transforming the 3D wind vector data based on the transformation matrix; calculating angular velocity of the anemometer based on the positional offsets and the angular motion data; transforming the angular velocity of the anemometer by the transformation matrix; calculating motion corrected wind vector based on the transformed 3D wind vector data, the transformed angular velocity of the anemometer, and the linear velocity data.
Need to check novelty before this filing date? Find Prior Art

Description

SYSTEM AND METHOD FOR ONBOARD MOTION CORRECTION

[0001] This patent application claims benefit of priority to U. S. provisional patent application serial no. 63 / 718,054, titled "ONBOARD MOTION CORRECTION SOFTWARE,” filed on 11 / 08 / 2024, which is incorporated herein by reference.TECHNICAL FIELD

[0002] The present disclosure generally relates to the field of atmospheric data, and more specifically to a method and system to determine, in real-time or near real-time, compensation for movement of a platform to correct three-dimensional (3D) wind vectors measured by a device fixed to the platform.BACKGROUND

[0003] Three-dimensional (3D) wind vectors provide important elements in various modem applications, such as meteorology, weather forecasting, wind power generation, and aviation, for studying atmospheric motion for improving accuracy in weather forecasting and tracking weather systems. 3D wind vectors represent the direction and speed of the wind in three dimensions, and enable accurate description of atmospheric flow.

[0004] Data for measuring and / or calculating 3D wind vectors may be obtained by an anemometer, which may be installed on a stationary platform on the ground or on a movable platform, such as a buoy, a waveglider, a drone, a ship, or a weather balloon. For an anemometer fixed to a movable platform, movement of the movable platform needs to be considered to determine accurate 3D wind vectors to compensate raw data received by the anemometer. Typically, corrections to account for the effects of the platform orientation, such as pitch, roll, and yaw of the platform, and motion, such asvelocities induced by linear and angular motions of the platform, on the measured 3D wind vector are computed from raw data, such as 10 Hz, in post-processing. That is, the 3D wind vector data are first collected and stored in a data storage device, then sometime later, the 3D wind vector data are retrieved from data storage and analyzed using a different computing system, for example, a central office server or other computing device. However, it is often not feasible to transmit the 10 Hz data in realtime back to remote servers, such as shore-based servers, due to satellite communication bandwidth limitations, latency issues associated with such transmissions, and high costs associated with such data transmissions. As a result, this process for buoys, or other platforms in remote locations at sea, may result in long delays, such as weeks or months, between when the 3D wind vector data are collected and when turbulent fluxes, for example, momentum, heat, moisture, and CO2 averaged over 10-30 minute intervals, are obtained.BRIEF DESCRIPTION OF THE DRAWINGS

[0005] The detailed description is set forth with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different figures indicates similar or identical items or features.

[0006] FIG. 1 illustrates a diagram of an example movable platform with an atmospheric motion measurement device and a motion sensor attached onboard.

[0007] FIG. 2 illustrates an example environment in which a method of calculating compensation for movements of the buoy and corrected 3D wind vectors compensated for the movement may be practiced.

[0008] FIG. 3 illustrates a flowchart of an example process for calculating compensation for movements of the buoy and corrected 3D wind vectors compensated for the movement.

[0009] FIG. 4 is a block diagram of an example onboard motion correction system.

[0010] FIG. 5 illustrates a graph of an example result from the onboard motion correction system.

[0011] FIG. 6 illustrates a graph of example momentum flux cospectral density calculated from along-wind and vertical wind vector components.DETAILED DESCRIPTION

[0012] A method and system disclosed herein are directed to compensation calculated, in real-time or near real-time, for movements of a platform to correct three-dimensional (3D) wind vectors measured by a device fixed to the platform. An atmospheric motion measurement device, such as an anemometer for measuring and / or determining 3D wind vectors, is mounted on a movable platform, such as a buoy, a waveglider, a drone, a ship, or a weather balloon. A motion sensor for obtaining orientation data and motion data of the movable platform by measuring platform movement and orientation, such as Euler angles, linear velocity, and angular velocity, is also mounted on the movable platform. The anemometer and the motion sensor are aligned and mounted rigidly to the movable platform, and a positional offset between the motion sensor and an anemometer measurement volume is determined. Once measured data, including the 3D wind vector(s) and the motion data, are sampled and synchronized, the measured data are rotated into a common frame of reference, by using a transformation matrix generated from the Euler angles. The 3D wind vectors are then corrected by subtracting winds induced by linear and angular motions of the platform.

[0013] FIG. 1 illustrates a diagram 100 of an example movable platform, such as a buoy 102, to which an atmospheric motion measurement device, such as an anemometer 104 for measuring and / or determining 3D wind vectors is attached or mounted at a first location 106, and a motion sensor 108 for obtaining motion data of the buoy 102 is attached or mounted at a second location 110. In this example, the anemometer 104 is shown to include a sensor 112 having transducers that measure wind speed along three non-orthogonal axes, which are then transformed by the anemometer firmware to three orthogonal wind components. Locational or positional information associated with equipment including the anemometer 104 and the motion sensor 108, data including the 3D wind vectors and the motion data, and calculations, may be referenced, or identified, relative to reference points of the buoy 102 including bow 122, stern 124, port 126, and starboard 128 as shown in FIG. 1. The locational or positional information may further be referenced relative to North, East, up, and down. For example, coordinate axes directions of the motion sensor 108 may be referred as Bow, Starboard, Down (BSD) indicating that for the motion sensor 108, the x-axis is toward the bow 122 of the buoy 102, the y-axis is toward the starboard 128, and the z-axis is downward. Cartesian coordinates, x-axis 130, y-axis 132, and z-axis 134, may additionally be used or referenced to identify data used in this disclosure. While Cartesian coordinates are shown above the buoy 102, the origin 136, i.e., (0, 0, 0) coordinate, is understood to be at the second location 110 where the motion sensor 108 is located, as indicated by a dotted arrow 138. The motion sensor 108 may obtain a global location of the buoy 102 by utilizing the Global Navigation Satellite System (GNSS) 144 with an internal GNSS receiver (not shown) of the motion sensor.

[0014] A positional offset 140 between the motion sensor 108 and an anemometer measurement volume 142 may then be measured. Once the buoy 102 is deployed, afield calibration of the motion sensor 108 may be performed to mitigate external magnetic field effects on the motion sensor 108 from the surrounding environment including Earth’s constant magnetic field, and from materials and equipment present. A computing device 146 onboard the buoy 102 may be connected to, and may receive raw data from, the anemometer 104 and the motion sensor 108, and may calculate the corrected 3D wind vectors. The computing device 146 may also be connected to other sensors 148 for receiving additional data, such as temperature, humidity, carbon dioxide (CO2) level, and other atmospheric parameters. The computing device 146 may additionally be connected to a transceiver 150 including an antenna 152 for transmitting, as shown by an arrow 154, the corrected data, such as the corrected 3D wind vectors, to a remote server, such as a server 156 remotely located from the buoy 102, and for receiving instruction from the server 156.

[0015] FIG. 2 illustrates an example environment, in which a method of calculating compensation for movements of the buoy 102 and corrected 3D wind vectors compensated for the movement may be practiced. In this example, the buoy 102 is viewed from the port 126 side. Due to movements of the buoy 102 caused by, for example, waves pushing the buoy 102, the buoy 102 is moved from an original position 202 to a displaced position 204 with a displaced distance 206 in negative x direction, and tilted with a tilt angle 208. While in the original position 202, measurements may be made with reference to the x-axis 130, y-axis 132, and z-axis 134, measurements in the displaced position 204 may be made with reference to x’-axis 130’. y’-axis 132’ (not shown), and z’-axis 134’ titled by the tilt angle 208 as shown in FIG. 2. The movement of the buoy 102, due to both a linear movement over the displaced distance 206 and an angular movement due to the tilt angle 208, causes an associated movement of the anemometer 104. In such examples, movement of the buoy 102 may cause theanemometer 104 to measure motion-induced, thus erroneous, wind speed information. The motion sensor 108 (not shown) obtains motion data by measuring the movement, and the motion data are synchronized with measured wind data, such as the 3D wind vectors, obtained by the anemometer 104, and are used to correct the 3D wind vectors.

[0016] FIG. 3 illustrates a flowchart of an example process 300 for calculating compensation for movements of the buoy and corrected 3D wind vectors compensated for the movement. The example process 300 described below may be performed by one or more processors onboard the buoy 102, such as the computing device 146. At block 302, the computing device 146 may receive a positional offset 140, in a first frame of reference, Bow, Starboard, Down (BSD), associated with an anemometer onboard a movable platform, such as the anemometer 104 onboard the buoy 102, relative to a motion sensor, such as the motion sensor 108, onboard the buoy 102. The positional offset 140 in the first frame of reference BSD may include Rxin the x-direction, Ryin y-direction, and R- in z-direction.

[0017] At block 304, the computing device 146 may receive 3D wind vector data from the anemometer 104. At block 306, the computing device 146 may receive, from the motion sensor 108, orientation data associated with the buoy 102, angular motion data associated with the buoy 102, and linear velocity data associated with the buoy 102. The 3D wind vector data, the orientation data, the angular motion data, and linear velocity data may be synchronized, for example, based on a timestamp associated with each set of data, so that effects of each set of data may be correlated to each other. The 3D wind vector data may include orthogonal components in the first frame of reference, the BSD frame, Um, Vm, and Wm, where the subscript m indicates that U, V. and W are measured values by the anemometer 104. The orientation data may include Euler angles <p for roll, i? for pitch, and < / / for yaw of the buoy 102. The angular motion data, in thefirst frame of reference BSD, may include angular rates of motion Qxabout the x-axis (that is, a rotation about the x-axis in a plane perpendicular to the x-axis following the right hand rule),yabout y-direction (that is, a rotation about the y-axis in a plane perpendicular to the y-axis following the right hand rule), and D_- about z-direction (that is, a rotation about the z-axis in a plane perpendicular to the z-axis following the right hand rule) of the buoy 102. The linear velocity data, in a second frame of reference, North, East, Down (NED), may include linear velocity of the buoy 102, Vx,linin the x-direction, Vy,linin y-direction, and Vz,linin z-direction. While the first frame of reference BSD is relative to the buoy 102, the second frame of reference NED is based on earth coordinates and is independent on the orientation of the buoy 102, which the motion sensor 108 may calculate by combining the raw (high rate) data with lower rate (ex., 1 or 4 Hz) data from the Global Navigation Satellite System (GNSS) 144 received with an internal GNSS receiver.

[0018] At block 308, a transformation matrix,may be determined, or constructed, based on the orientation data, i.e., Euler angles <p for roll, i? for pitch, and ip for yaw of the buoy 102, which may be expressed as [<p & ip] The transformation matrix, T, may be defined as shown below.7 = T(<p, <7, ( / ) = A(( / )A(i7)A(<p)

[0019] At block 310, the 3D wind vector data may be transformed from the first frame of reference BSD to the second frame of reference NED based on the transformation matrix, T. The transformation of the 3D wind vector data may be expressed as shown below.

[0020] At block 312, angular velocity of the anemometer 104, Vxymg, J,ang, and F-angin the first frame of reference BSD, that is, data contamination induced by angular motions of the buoy 102 may, be calculated based on the positional offsets Rx, Ry, and R:, and the angular motion rate data, Qx, Qy, andz. The angular velocity of the anemometer 104 in the first frame of reference may be expressed as shown below.

[0021] At block 314, the angular velocity of the anemometer 104calculated at block 310 may be transformed based on the transformation matrix, T, from the first frame of reference BSD to the second frame of reference NED. The transformation of the angular velocity of the anemometer 104 may be expressed as shown below.x,ang Vx,angyvy,ang = T yvy,angz,ang NED z,ang BSD

[0022] At block 316, motion corrected wind vector, in the second frame of reference NED, may be calculated based on, and summing, the transformed 3D wind vector data, the transformed angular velocity of the anemometer 104, and the linear velocity data, which are in the second frame of reference NED. The motion corrected wind vector may be expressed as shown below.el Vx,ang Vx,lin+ vry,ang + V y,,lm■V NED NEDvz,ang Vrz,h,■NED n NED

[0023] At block 318, corrected 3D wind vector may be generated by rotating the motion corrected wind vector from the second frame of reference NED to a third frame of reference. East, North, Up (ENU). Similar to the second frame of reference NED, the third frame of reference ENU is also based on earth coordinates and is independent on the orientation of the buoy 102. The corrected 3D wind vector may be expressed as shown below.r vcVc Ucg g 'a Lw / ENU L-icJ NED

[0024] At block 320, the corrected 3D wind vector may be transmitted to an external, and / or remote, server, such as the server 156, as discussed above with reference to FIG.1.

[0025] Prior to starting the process 300, that is, prior to the deployment of the buoy 102, the anemometer 104 may be mounted, or attached, to the buoy 102, for example, at the first location 106, and the motion sensor 108 may be mounted, or attached to the buoy 102, for example, at the second location 110, as discussed above with reference to FIG. 1. The anemometer 104 and the motion sensor 108 are mounted rigidly such that there would be no motion relative to each other. The positional offset 140 may then be determined by measuring from the center of the motion sensor 108 (the second location 110) to the center of the sonic anemometer measurement volume, including an x, y, and z component, for example, in meters. Once the buoy 102 is deployed and reaches a target, or desired, location, the motion sensor 108 may be calibrated (field calibration) and mitigate effects from a local magnetic field on the motion sensor 108.

[0026] FIG. 4 is a block diagram of an example onboard motion correction system 402. As discussed above with reference to FIGs. 1-3, the onboard motion correction system 402 is configured to be disposed, or mounted, on a movable platform, such as the buoy 102. In various embodiments, the onboard motion correction system 402 may include the anemometer 104, the motion sensor 108, which may additionally obtain a global location of the buoy 102 by utilizing the GNSS 144, at least one or more processors, such as the computing device 146 coupled to the anemometer 104 and the motion sensor 108, and memory 404 coupled to the computing device 146.

[0027] The onboard motion correction system 402 may additionally include the other sensors 148 and a user interface (UI) 406 coupled to the computing device 146. A transceiver, such as the transceiver 150 may be onboard the buoy 102 and be coupled to the computing device 146.

[0028] The computing device 146 may be a central processing unit (CPU), a graphics processing unit (GPU), or both CPU and GPU, or any other type of processing unit. The computing device 146 may have numerous arithmetic logic units (ALUs) that perform arithmetic and logical operations, as well as one or more control units (CUs) that extract instructions and stored content from processor cache memory, and then executes these instructions by calling on the ALUs, as necessary, during program execution. The computing device 146 may also be responsible for executing all computer applications stored in the memory 404.

[0029] Depending on the exact configuration and type of the onboard motion correction system 402, the memory 404 may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.) or some combination of both. The memory 404 may include, or store, an operating system 408, one or more program modules 410. and may include program data 412. The onboard motion correction system 402 may also includeadditional data storage devices (removable and / or non-removable) such as, for example, a flash drive, an SD card, magnetic disks, optical disks, or tape. Such additional storage is illustrated in FIG. 4 by a storage 414.

[0030] Non-transitory computer-readable storage media of the onboard motion correction system 402, such as the memory 404 and the storage 414, may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer-readable instructions, data structures, program modules, or other data. The memory 404 and storage 414 are all examples of computer-readable storage media. Non-transitory computer-readable storage media includes, but is not limited to, phase change memory (PRAM), static random-access memory (SRAM), dynamic random-access memory (DRAM), RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store the desired information and which can be accessed by the computing device 146 of the onboard motion correction system 402. In contrast, communication media may embody computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave, or other transmission mechanism. As defined herein, non-transitory computer-readable storage media do not include communication media.

[0031] The computer-readable, or computer-executable, instructions stored on one or more non-transitory computer-readable storage media, such as the memory 404 and the storage 414, when executed by one or more processors, such as the computing device 146 may cause the computing device 146 to perform operations described above with reference to FIGS. 1-3. For example, the one or more program modules 410 mayinclude various applications for receiving the 3D wind vector data from the anemometer 104, receiving the orientation data, angular motion data, and linear velocity data from the motion sensor 108, and calculating and transforming various data and parameters discussed above with reference to FIGS. 1-3. Generally, computer-readable instructions include routines, programs, objects, components, data structures, and the like that perform particular functions or implement particular abstract data types. The order in which the operations are described is not intended to be construed as a limitation, and any number of the described operations can be combined in any order and / or in parallel to implement the processes.

[0032] The transceiver 150 may include a long-range transceiver 416 and a short-range transceiver 418. The long-range transceiver 416 may be used for communicating with a remote server, such as the server 156 as discussed above with reference to FIGS. 1-3, over radio communication systems, such as shortwave radio communication systems, high frequency communication systems, satellite communication systems, cellular communication systems, and other long-range systems. The short-range transceiver 418 may include one or more transceivers for communicating using short-range wireless communication schemes, such as Bluetooth, WiFi, ZigBee, NFC, and other communication methods, which may be used to communicate with locally located devices (not shown).

[0033] The U1 406 may include input device(s) 420 such as a keyboard, a mouse, a touch-sensitive display, voice input device, etc. Output device(s) 422 such as a display, speakers, a printer, etc. may also be included. For example, a user may enter various commands to operate the onboard motion correction system 402 via the input device 420 by typing or speaking, and the onboard motion correction system 402 may displayon the touchscreen display, as the output device 422, the received data from the anemometer 104 and / or the motion sensor 108 and / or the corrected 3D wind vectors.

[0034] FIG. 5 illustrates a graph of an example result 500 of a 30-second time series of the along-wind component of the wind measured from a buoy, such as the buoy 102. A dotted line 502 represents the wind measured by a moving anemometer, such as the anemometer 104, and clearly shows oscillations at a surface wave period that are induced by the motion of the buoy 102. A solid line 504 represents wind speed after motion correction, which shows that the motion-induced peaks were effectively removed.

[0035] FIG. 6 illustrates a graph of example momentum flux cospectral density 600 calculated from along-, or horizontal, wind and vertical wind vector components measured at 10 Hz sample rate for a 10-minute period. An integral of the curve represents the turbulent vertical momentum transfer between the surface and the atmosphere forthat 10-minute period. The measured cospectrum 602 is shown with circles and the motion-corrected cospectrum 604 is shown with triangles. The measured cospectrum 602 shows a large spurious positive peak due to motion contamination of the wind vector, as shown in FIG. 5. The motion-corrected cospectrum 604 shows that the spurious peak is effectively removed.

[0036] Unless explicitly excluded, the use of the singular to describe a component, structure, or operation does not exclude the use of plural such components, structures, or operations or their equivalents. The use of the terms “a” and "an" and “the” and “at least one” or the term “one or more,” and similar referents in the context of describing the invention (especially in the context of the following claims) are to be construed to cover both the singular and the plural, unless otherwise indicated herein or clearlycontradicted by context. The use of the term “at least one'’ followed by a list of one or more items (for example, “at least one of A and B’’ or one or more of A and B”) is to be constmed to mean one item selected from the listed items (A or B) or any combination of two or more of the listed items (A and B; A, A and B; A, B and B), unless otherwise indicated herein or clearly contradicted by context. Similarly, as used herein, the word "or" refers to any possible permutation of a set of items. For example, the phrase "A, B, or C" refers to at least one of A, B, C, or any combination thereof, such as any of: A; B; C; A and B; A and C; B and C; A, B, and C; or multiple of any item such as A and A; B, B, and C; A, A, B, C, and C; etc.

[0037] Although features and / or methodological acts are described above, it is to be understood that the appended claims are not necessarily limited to those features or acts. Rather, the features and acts described above are disclosed as example forms of implementing the claims.

Claims

CLAIMSWHAT IS CLAIMED IS:

1. A method, comprising:receiving positional offsets associated with an anemometer onboard a movable platform and a motion sensor onboard the movable platform;receiving three-dimensional (3D) wind vector data from the anemometer; receiving, from the motion sensor:orientation data associated with the movable platform, angular motion data associated with the movable platform, and linear velocity data associated with the movable platform; determining a transformation matrix based on the orientation data; transforming the 3D wind vector data based on the transformation matrix; calculating angular velocity of the anemometer based on the positional offsets and the angular motion data;transforming the angular velocity of the anemometer based on the transformation matrix; andcalculating motion corrected wind vector based on the transformed 3D wind vector data, the transformed angular velocity of the anemometer, and the linear velocity data.

2. The method of claim 1. further comprising:generating corrected 3D wind vector by rotating the motion corrected wind vector.

3. The method of claim 2, further comprising:transmitting the corrected 3D wind vector to a server remotely located from the movable platform.

4. The method of claim 1, wherein the positional offsets are determined by:mounting the anemometer to the movable platform at a first location; mounting the motion sensor to the movable platform at a second location; and determining the positional offsets between the second location and an anemometer measurement volume associated with the anemometer at the first location.

5. The method of claim 1, wherein the positional offsets and the angular motion data are referenced to a first frame of reference.

6. The method of claim 5, wherein the 3D wind vectors are referenced to the first frame of reference.

7. The method of claim 6, wherein determining the transformation matrix based on the orientation data includes:constructing the transformation matrix based on Euler angles associated with the orientation data.

8. The method of claim 7, wherein transforming the angular velocity of the anemometer based on the transfonnation matrix includes:rotating the angular velocity of the anemometer from the first frame of reference to a second frame of reference by the transformation matrix.

9. The method of claim 8, wherein transforming the 3D wind vector data based on the transformation matrix includes:transforming the 3D wind vector data from the first frame of reference to the second frame of reference by the transformation matrix.

10. A system, comprising:an anemometer configured to be mounted to a first location of a movable platform;a motion sensor configured to be mounted to a second location of the movable platform;a computing device configured to be mounted to the movable platform, the computing device coupled to the anemometer and the motion sensor; and memory coupled to the computing device and configured to be mounted to the movable platform, the memory storing computer-executable instructions that, when executed by the computing device, cause the computing device to perform operations, the operations comprising:receiving positional offsets between the motion sensor at the second location and an anemometer measurement volume associated with the anemometer at the first location;receiving three-dimensional (3D) wind vector data from the anemometer; receiving, from the motion sensor:orientation data associated with the movable platform,angular motion data associated with the movable platform, and linear velocity data associated with the movable platform; determining a transformation matrix based on the orientation data; transforming the 3D wind vector data based on the transformation matrix; calculating angular velocity of the anemometer based on the positional offsets and the angular motion data;transforming the angular velocity of the anemometer based on the transformation matrix; andcalculating motion corrected wind vector based on the transformed 3D wind vector data, the transformed angular velocity of the anemometer, and the linear velocity data.

11. The system of claim 10, wherein the operations further comprise: generating corrected 3D wind vector by rotating the motion corrected wind vector.

12. The system of claim 11, wherein the operations further comprise: transmitting, by a transceiver, onboard the movable platform and coupled to the computing device, the corrected 3D wind vector to a server located offboard the movable platform.

13. The system of claim 12, wherein:the positional offsets and the angular motion data are referenced to a first frame of reference, andthe 3D wind vectors are referenced to the first frame of reference.

14. The system of claim 13, wherein:determining the transformation matrix based on the position data includes constructing the transformation matrix based on Euler angles associated with the orientation data; andtransforming the angular velocity of the anemometer based on the transformation matrix includes rotating the angular velocity of the anemometer from the first frame of reference to a second frame of reference by the transformation matrix.

15. The system of claim 14, wherein:transforming the 3D wind vector data based on the transformation matrix includes transforming the 3D wind vector data from the first frame of reference to the second frame of reference by the transformation matrix.

16. One or more non-transitory computer-readable media storing computerexecutable instructions that, when executed by a computing device of an onboard motion correction system disposed on a movable platform, cause the computing device to perform operations, the operations comprising:receiving positional offsets associated with an anemometer of the onboard motion correction system and a motion sensor of the onboard motion correction system;receiving three-dimensional (3D) wind vector data from the anemometer; receiving, from the motion sensor:orientation data associated with the movable platform, angular motion data associated with the movable platform, and linear velocity data associated with the movable platform;determining a transformation matrix based on the orientation data; transforming the 3D wind vector data based on the transformation matrix; calculating angular velocity of the anemometer based on the positional offsets and the angular motion data;transforming the angular velocity of the anemometer based on the transformation matrix; andcalculating motion corrected wind vector based on the transformed 3D wind vector data, the transformed angular velocity of the anemometer, and the linear velocity data.

17. The one or more non-transitory computer-readable media of claim 16, wherein the operations further comprise:generating corrected 3D wind vector by rotating the motion corrected wind vector; andtransmitting the corrected 3D wind vector to a server remotely located from the movable platform.

18. The one or more non-transitory computer-readable media of claim 16, wherein the positional offsets, the angular motion data, and the 3D wind vectors are referenced to a first frame of reference.

19. The one or more non-transitory computer-readable media of claim 18, wherein:determining the transformation matrix based on the position data includes constructing the transformation matrix based on Euler angles associated with the orientation data; andtransforming the angular velocity of the anemometer based on the transformation matrix includes rotating the angular velocity of the anemometer from the first frame of reference to a second frame of reference by the transformation matrix.

20. The one or more non-transitory computer-readable media of claim 19, wherein:transforming the 3D wind vector data based on the transformation matrix includes transforming 3D wind vector data from the first frame of reference to a third frame of reference by the transformation matrix.