Bulldozers are widely used in industrial applications such as in mining and construction. A bulldozer is typically constructed with three main components: a body, which serves as the main structure of the vehicle and which enables the operator to control the vehicle; a blade, which is configured for movement to gather and/or transport materials; and an attachment member (alternatively referred to as a “C-frame” or “lift arm”) that controls the lifting position of the blade. The vehicle body generally moves laterally against a surface in three-dimensions, the attachment member moves vertically with respect to the vehicle body, and the blade is configured for six-way movement with respect to the vehicle body. Movement of the bulldozer, and each component, can be characterized using rigid body kinematics and dynamics, in particular the three Euler angles pitch, roll, and yaw.
Although some orientation parameters can be determined to high accuracy, other parameters are much more difficult to determine. Two particular examples are the reference swing angle of the blade and the relative heading of the blade. These parameters are difficult to determine due to the freedom of movement of the blade relative to the body. However, knowing the motion and orientation of the blade is important for many applications, for example, in automated driving or driving assistance.
The details of one or more embodiments are set forth in the description below. The features illustrated or described in connection with one exemplary embodiment may be combined with the features of other embodiments. Thus, any of the various embodiments described herein can be combined to provide further embodiments. Aspects of the embodiments can be modified, if necessary to employ concepts of the various patents, applications and publications as identified herein to provide yet further embodiments.
In one embodiment, a system is disclosed. The system comprises at least one first sensor mounted on a vehicle. The vehicle includes a body, a blade, and an attachment member that couples the blade to the body. At least one of the at least one first sensor is coupled to the blade. The attachment member is configured for lift movement, wherein the lift movement is defined as a rotation along a horizontal axis with respect to the body. The blade is configured for swing movement, wherein the swing movement is defined as a rotation along an axis orthogonal to an axis of the lift movement with respect to the attachment member. The at least one first sensor is configured to determine rotation rate measurements with respect to movement of the blade about at least one axis of rotation. The movement of the blade includes lift movement synchronized with the lift movement of the attachment member. The system comprises at least one processor integrated in or coupled to the at least one first sensor. The at least one processor is configured to determine a lift rotation rate of at least one of: the blade or the attachment member. The lift rotation rate is associated with a pure lifting movement of the blade and the attachment member performed simultaneously. The at least one processor is configured to determine at least one orientation parameter of the blade with respect to the attachment member based on the lift rotation rate and the rotation rate measurements.
In another embodiment, a method for determining at least one orientation parameter of a blade attached to a vehicle is disclosed. The vehicle includes a body and an attachment member that couples the blade to the body. Movement of the blade is defined orthogonal to an axis of motion with respect to the attachment member. The attachment member is configured for lift movement, wherein the lift movement is defined as a rotation along a horizontal axis with respect to the body. The blade is configured for swing movement, wherein the swing movement is defined as a rotation along an axis orthogonal to an axis of the lift movement with respect to the attachment member. The method comprises determining rotation rate measurements with respect to movement of the blade about at least one axis of rotation. The method comprises determining a lift rotation rate of at least one of: the blade or the attachment member. The lift rotation rate is associated with a pure lifting movement of the blade and the attachment member performed simultaneously. The method comprises determining at least one orientation parameter of the blade with respect to the attachment member based on the lift rotation rate and the rotation rate measurements.
In yet another embodiment, a program product is disclosed. The program product comprises a non-transitory processor-readable medium on which program instructions configured to be executed by at least one processor are embodied. By executing the program instructions, the at least one processor is configured to determine rotation rate measurements with respect to movement of a blade about at least one axis of rotation. The blade is coupled to a body of a vehicle by an attachment member. Movement of the blade is defined orthogonal to an axis of motion with respect to the attachment member. The attachment member is configured for lift movement, wherein the lift movement is defined as a rotation along a horizontal axis with respect to the body. The blade is configured for swing movement, wherein the swing movement is defined as a rotation along an axis orthogonal to an axis of the lift movement with respect to the attachment member. The at least one processor is configured to determine a lift rotation rate of at least one of: the blade or the attachment member. The lift rotation rate is associated with a pure lifting movement of the blade and the attachment member performed simultaneously. The at least one processor is configured to determine at least one orientation parameter of the blade with respect to the attachment member based on the lift rotation rate and the rotation rate measurements.
Other embodiments are also disclosed, as subsequently described.
Understanding that the drawings depict only exemplary embodiments and are not therefore to be considered limiting in scope, the exemplary embodiments will be described with additional specificity and detail by the accompanying drawings, as immediately follows and as subsequently described in the detailed description.
In accordance with common practice, the various described features are not drawn to scale but are drawn to emphasize specific features relevant to the exemplary embodiments.
In the following detailed description, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration specific illustrative embodiments. However, it is to be understood that other embodiments may be utilized and that logical, mechanical, and electrical changes may be made. Furthermore, the methods presented in the drawing figures and the specification are not to be construed as limiting the order in which the individual steps may be performed. The following detailed description is, therefore, not to be taken in a limiting sense.
The attachment member 104 is suitably coupled to an end of vehicle body 102, for example, by mounting ankles 130 (see
Movement of blade 106 is described with respect to its own coordinate system defined by the axes z3, x3, and y3 as shown in
A reference coordinate system 101 can be used to determine the orientation of the various components of vehicle 100. For example, the reference coordinate system 101 can be defined in a frame relative to a surface or other external reference point relative to vehicle 100. As shown in
Each of the rotations associated with attachment member 104 and blade 106 can be described in terms of rotation angles about the appropriate axis. For example, the orientation of attachment member 104 with respect to the y2 axis can be expressed as the lift angle, which changes as attachment member 104 moves about the y2 axis. The orientation of blade 106 with respect to the z3 axis can be expressed as the swing angle, which changes as blade 106 moves about the z3 axis. Additionally, the orientation of blade 106 with respect to the x3 axis can be expressed as the tilt angle, and likewise changes when the blade 106 tilts clockwise or counterclockwise. The complete orientation of attachment member 104 and blade 106 in three-dimensional space can be captured by their respective configuration of Euler angles with respect to an inertial reference frame, i.e., reference coordinate system 101. In some embodiments, the orientation and movement of blade 106 is defined first by the lift angle, followed by the swing angle, and followed by the tilt angle. Some of these angles are difficult to capture during operation of vehicle 100. In particular, the swing angle of blade 106 is difficult to determine because it is a yaw movement and cannot be inferred via traditional methods from effects of gravity acting on the blade 106.
Motion sensing circuit 200 further includes a plurality of sensors mounted on vehicle 100. A first sensor 204 is coupled to blade 106, for example, on the top of the blade, and may be referred to as “blade sensor 204”. A second sensor 206 can be coupled to attachment member 104 and configured to monitor movement with respect to the attachment member, and may be referred to as “attachment member sensor 206”. And optionally, a third sensor 208 is coupled to a portion of vehicle body 102, such as inside the chassis 108, and may be referred to as a “body sensor 208”. Each of these sensors are coupled to a workstation device 212. Workstation device 212 is an electronic device such as a laptop, smartphone, tablet, or other portable or onboard electronic device. In the case of a portable electronic device, workstation device 212 can be coupled to communication bus 202 via a wireless communication link. In the case of an electronic device mounted in the chassis, workstation device 212 can be coupled to communication bus 202 via one or more connecting ports.
Although
Additionally, motion sensing circuit 200 includes at least one processor 210. Processor 210 can be integrated in at least one of the sensors 204, 206, 208, but can be implemented as a separate processing circuit as shown in
Memory 304 is configured to store a blade orientation application 305 that enables processor 302 to receive and optionally process data from sensors 204, 206, 208, and processor 210. For example, in executing the instructions of blade orientation application 305, processor 302 receives attitude measurements of each of the sensors and the parameters of the blade 106, such as the swing angle and the relative heading, and causes the parameters to be displayed on display 308 to the vehicle operator. As blade 106, attachment member 104, or body 102 undergoes movement, the data displayed on 308 changes in response to receiving updated parameters by motion sensing circuit 200.
Data is received from motion sensing circuit 200 through communication interface 310. In the case of a portable workstation device 212, communication interface 310 includes a wireless interface such as a USB port that connects to a receiving port on communication bus 202. In other embodiments, communication interface 310 includes a wired interface such as electrical wiring that physically couples workstation device 212 to communication bus 202.
Optionally, other inertial data is used to calculate the attitude measurements with respect to a component of vehicle 100. For example, processing logic 400 optionally uses position information in the x, y, and z coordinates. Such information can be acquired by the respective sensor 204, 206, 208, or can optionally be provided by GNSS receiver 214. Additionally, processing logic 400 optionally receives velocity measurements in the x, y, and z coordinates, along with the covariance information in the x, y, and z dimensions. Other inertial data can also be measured, depending on the sensor that is used.
Processing logic 400 combines each of the raw inertial measurements, including the acceleration and optional rotation rate, position, velocity, and covariance, into a filter 402. In some embodiments, filter 402 is a Kalman filter, complimentary filter, or other kind of processing filter that uses sensor fusion techniques to combine the raw inertial measurements. In some embodiments, data from other sensors can be combined by filter 402.
Filter 402 then outputs one or more attitude measurements of a component of vehicle 100 based on the raw inertial measurements. The attitude measurements are determined with respect to at least one Euler angle characterizing the orientation of the component being monitored. As shown in
Since first sensor 204 is mounted on blade 106, the first sensor 204 is configured to measure the attitude and/or rotation rate of the blade 106 with respect to at least one of the Euler angles in the reference frame of the blade 106. In some embodiments, first sensor 204 measures the pitch angle of blade 106 (the angle defined by the orientation of the blade 106 with respect to the y3 axis) and the roll angle of blade 106 (defined by the orientation of the blade 106 with respect to the x3 axis). Meanwhile, second sensor 206 is mounted on the attachment member 104 and is configured to measure the attitude and/or rotation rate of the attachment member 104 with respect to at least one of the Euler angles in the reference frame of the attachment member 104. For example, second sensor 206 measures the pitch angle of attachment member 104 (defined by the orientation of the attachment member 104 with respect to the y2 axis) and the roll angle of attachment member 104 (defined by the orientation of the attachment member 104 with respect to the x2 axis). These attitude and/or rotation rate measurements are then provided to processor 210 for determination of the swing angle of blade 106 with respect to the frame of attachment member 104. These attitude measurements (along with the rotation rate) can be provided to processor 210 for analysis, e.g., for determination of the swing angle of the blade 106 relative to the attachment member 104, the relative yaw of the blade 106 relative to the body 102, and other orientation parameters, as further described.
Method 600 optionally includes installing at least one inertial sensor on the attachment member at block 602. For example, in some embodiments, the attachment member 104 includes one or more second sensors 206 mounted on one or more portions thereon configured to determine inertial information about the attachment member 104, including the pitch and roll angle of the attachment member 104 in its own frame of reference, and/or rotation rate measurements of the attachment member 104, as subsequently described. However, in some embodiments, the attachment member 104 does not include inertial sensors. For example, inertial sensors may only be coupled to the blade 106, depending on the orientation parameter of interest. Therefore, block 602 is optional.
Method 600 includes installing at least one inertial sensor on the blade of the vehicle at block 604, which may be performed after or in parallel with installing an inertial sensor on the attachment member at block 602. For example, the blade 106 includes one or more first sensors 204 mounted on one or more portions thereon. The blade sensors 204 are configured to determine inertial information about the blade 106, including the rotation rate of the blade corresponding to lifting motion about the y-axis. In some embodiments, the blade sensors 204 also determine an attitude of the blade 106, such as the roll, pitch, and yaw.
Proceeding to block 606, method 600 performs a pure lifting movement of the blade. A pure lifting movement is defined as the rotation of the blade 106 (and attachment member 104) about the y-axis, without any substantial rotation of the blade 106 about the x and z axes. Referring to
Once the pure lifting movement of the blade is performed, method 600 determines the swing angle of the blade at block 608. The swing angle is determined based on inertial measurements acquired from blade sensor 204 when the blade 106 undergoes the pure lifting movement. In some embodiments, the inertial measurements of the blade sensor 204 includes the rotation rate of the blade 106 with respect to the pure lifting movement. As used herein, the swing angle of the blade 106 refers to the orientation of the blade 106 with respect to rotation about the z-axis. The swing angle corresponds to the horizontal swinging rotation of the blade 106 in the left or right direction relative to the attachment member 104 and vehicle body 102, which remain fixed in the swinging axis of the blade 106.
In some embodiments, the orientation parameters of the blade, such as the swing angle determined at block 608 are transformed from the reference frame of the blade 106 to the reference frame of the vehicle body 102, characterized by the coordinate system, y1, x1, z1. The inertial measurements determined by the blade sensor 204 are initially determined in the reference frame of the blade 106. These inertial measurements can be characterized relative to a reference coordinate system 101, such as a surface below the vehicle 100, or a level surface characterized by an attitude offset of the ground surface. By acquiring the orientation of the vehicle body 102 relative to the coordinate system 101, the inertial measurements of the blade 106 can be converted to the reference frame of the vehicle body 102, for example, by matrix algebraic techniques.
Optionally, method 600 proceeds to block 610 and determines the relative yaw between the blade and the attachment member. To determine this orientation parameter, at least one inertial sensor 206 is mounted on the attachment member 104 to determine the orientation of the attachment member 104. For example, second sensor 206 determines the pitch and roll angles of the attachment member 104 in its reference frame, which can then be converted into the frame of the vehicle body 102. The relative yaw between the blade 106 and the attachment member 104 is then determined based on the pitch and roll angles of the attachment member 104 as determined by sensor 206 and the rotation of the blade 106 corresponding to the pure lifting movement performed at block 606.
One example of determining the swing angle of the blade 106 is subsequently described. Due to the structural configuration of the attachment member 104 and the blade 106, both the blade 106 and attachment member 104 simultaneously lift together during a pure lifting movement. Accordingly, the rotation about the y-axis will be identical between the blade 106 and attachment member 104, and the rotation of the blade 106 will differ from the frame of the attachment member 104 based on the swing and tilt orientation of the blade 106. The rotation relationship between the blade 106 and the attachment member 104 can be expressed by the matrix equation:
where the left-hand side is the rotation matrix characterizing the rotation rate of the blade 106 as determined from blade sensor 204, and the right-hand side of Equation 1 includes the rotation matrix characterizing the tilt rotation of the blade 106, the rotation matrix characterizing the swing rotation of the blade 106, and the rotation matrix characterizing the rotation rate of the attachment member 104, respectively. Specifically, the variables ωbx, ωby, ωbz are the components of the rotation rate of the blade 106 in the x, y, and z directions, respectively, while the variables ωcx, ωcy, ωcz are the components of the rotation rate of the attachment member 104 about the x, y, and z directions, respectively.
By performing matrix multiplication, Equation 1 can be reduced to the form:
When the blade 106 undergoes a pure lifting movement, the vector norm of the rotation of the blade 106 is equivalent to the vector norm of the rotation of the attachment member 104, that is:
But, because the attachment member 104 only undergoes rotation about the y-axis, the x and z rotation components of the attachment member 104 should be zero, reducing the preceding equation to:
In some embodiments, the rotation ωcy of the attachment member 104 can be directly obtained by attachment member sensor 206, if such a sensor is mounted on the attachment member 104. Acquiring the rotation ωcy directly may reduce the noise or uncertainty of the measurement during the pure lifting movement. However, the rotation ωcy of the attachment member 104 can be inferred based on the rotation of the blade 106 by computing the norm of the blade rotation, as shown in Equation 4. Doing so reduces the equipment mounted on the vehicle 100 during operation, particularly since only one sensor 204 on the blade can be implemented to determine this information.
Substituting the results from Equation 4 into Equation 2 then yields:
where the rotation of the blade 106 is represented by the following set of equations:
Accordingly, the swing and tilt angles of the blade 106 can be determined from measurements of the pure lifting movement by the equations:
If only blade sensors 204 are installed, the swing angle can be alternatively represented by the equation:
which is completely determined from the rotation of the blade 106 independent of the orientation of the attachment member 104.
In embodiments where at least one sensor 206 is mounted on the attachment member 104, the orientation of the attachment member 104 can be used to determine the relative yaw between the attachment member 104 and blade 106. The attachment member sensor 206 first determines the pitch angle θc and roll angle φc in its own reference frame. In some embodiments, the yaw ψc of the attachment member 104 is also determined; however, in some embodiments, the yaw ψc can simply be set to zero if its value is unknown. Once the pitch angle θc, roll angle θc, and optionally yaw angle ψc of the attachment member 104 are determined, the quaternion qc characterizing the rotation of the attachment member 104 can be determined from the orientation of the attachment member 104.
As the pure lifting movement is performed at block 606 is completed, the quaternion qb characterizing the rotation of the blade 106 is determined from the following equation:
where qswing is the quaternion characterizing the rotation of the swing movement of the blade 106, which can be calculated from the swing angle as determined from Equations 7 or 9. Once the quaternion of the blade qb is found, the yaw ψb of the blade 106 can be determined from the quaternion qb. Accordingly, the relative heading Δψ between the attachment member 104 and the blade 106 is determined from the equation:
Method 700 includes determining blade rotation rate measurements of the blade at block 702. As described with respect to
Proceeding to block 704, method 700 determines a lift rotation rate associated with a pure lifting movement. This pure lifting movement corresponds to the pure lifting movement performed at block 606 of method 600. In some embodiments, the lift rotation rate is determined based on the rotation rate measurements of the blade 106, for example, by calculating the norm of the rotation rate about each axis of the blade 106 as expressed in Equation 4. Additionally, or alternatively, where at least one sensor 206 is coupled to the attachment member, the lift rotation rate of the pure lifting movement can be directly determined by the rotation rate measurements of the attachment member sensor 206 during the pure lifting movement. If both measurements are available, the lift rotation rate can be selected with the least amount of noise or uncertainty.
Method 700 then determines one or more orientation parameters of the blade 106 at block 706. For example, one orientation parameter of the blade is the swing angle. In this example, the swing angle of the blade 106 relative to the attachment member 104 is determined based on the trigonometric relationships of the rotation rate measurements of the blade 106 and optionally of the attachment member 104, as described with respect to Equations 7 and 9. Additionally, or alternatively, the orientation parameters include a relative yaw between the blade 106 and the attachment member 104, which can be determined based on kinematic relationships between the quaternions of the blade 106, attachment member 104, and of the swing orientation as characterized in Equation 10 and ultimately determined by Equation 11.
Now referring to
The methods and techniques described herein may be implemented in digital electronic circuitry, or with a programmable processor (for example, a special-purpose processor or a general-purpose processor such as a computer) firmware, software, or in various combinations of each. Apparatus embodying these techniques may include appropriate input and output devices, a programmable processor, and a storage medium tangibly embodying program instructions for execution by the programmable processor. A process embodying these techniques may be performed by a programmable processor executing a program of instructions to perform desired functions by operating on input data and generating appropriate output. The techniques may advantageously be implemented in one or more programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instruction to, a data storage system, at least one input device, and at least one output device. Generally, a processor will receive instructions and data from a read-only memory and/or a random-access memory. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and DVD disks. Any of the foregoing may be supplemented by, or incorporated in, specially-designed ASICs.
Example 1 includes a system, comprising: at least one first sensor mounted on a vehicle, wherein the vehicle includes a body, a blade, and an attachment member that couples the blade to the body, wherein at least one of the at least one first sensor is coupled to the blade, wherein the attachment member is configured for lift movement, wherein the lift movement is defined as a rotation along a horizontal axis with respect to the body, wherein the blade is configured for swing movement, wherein the swing movement is defined as a rotation along an axis orthogonal to an axis of the lift movement with respect to the attachment member, wherein the at least one first sensor is configured to determine rotation rate measurements with respect to movement of the blade about at least one axis of rotation, wherein the movement of the blade includes lift movement synchronized with the lift movement of the attachment member; and at least one processor integrated in or coupled to the at least one first sensor, wherein the at least one processor is configured to: determine a lift rotation rate of at least one of: the blade or the attachment member, the lift rotation rate associated with a pure lifting movement of the blade and the attachment member performed simultaneously, determine at least one orientation parameter of the blade with respect to the attachment member based on the lift rotation rate and the rotation rate measurements.
Example 2 includes the system of Example 1, wherein the at least one orientation parameter of the blade includes a swing angle of the blade with respect to the attachment member, wherein the at least one first sensor is physically coupled to the blade.
Example 3 includes the system of Example 2, wherein the at least one processor uses the rotation rate measurements from the at least one first sensor physically coupled to the blade to determine a rotation rate of the attachment member.
Example 4 includes the system of any of Examples 2-3, comprising at least one second sensor physically coupled to the attachment member, wherein the at least one second sensor is configured to determine rotation rate measurements of the attachment member.
Example 5 includes the system of Example 4, wherein the at least one processor is configured to determine the swing angle of the blade with respect to the attachment member based on the rotation rate measurements of the attachment member and the blade.
Example 6 includes the system of any of Examples 1-5, comprising at least one second sensor physically coupled to the attachment member, wherein the at least one first sensor is configured to determine an attitude of the blade and the at least one second sensor is configured to determine an attitude of the attachment member, wherein the at least one orientation parameter of the blade includes a relative heading between the blade and the attachment member, wherein the at least one processor is configured to determine the relative heading based on the attitude of the blade and the attitude of the attachment member.
Example 7 includes the system of Example 6, wherein to determine the relative heading, the at least one processor is configured to: determine a first quaternion characterizing an extent of rotation of the attachment member relative to an inertial reference frame; determine a second quaternion characterizing an extent of rotation corresponding to a swing movement of the blade relative to the inertial reference frame; determine a third quaternion characterizing an extent of rotation of the blade from the first and the second quaternions; determine a heading of the blade based on the third quaternion; and determine the relative heading from the heading of the blade.
Example 8 includes the system of any of Examples 6-7, wherein the at least one orientation parameter includes a swing angle of the blade relative to the attachment member, wherein the at least one processor is configured to determine the relative heading based on the swing angle.
Example 9 includes the system of any of Examples 1-8, wherein the at least one orientation parameter includes a swing angle of the blade relative to the attachment member and a relative heading between the blade and the attachment member, wherein the at least one processor is configured to generate a smoothed swing angle from raw swing angle measurements, wherein the at least one processor is configured to determine the relative heading based on the smoothed swing angle.
Example 10 includes a method for determining at least one orientation parameter of a blade attached to a vehicle, wherein the vehicle includes a body and an attachment member that couples the blade to the body, wherein movement of the blade is defined orthogonal to an axis of motion with respect to the attachment member, wherein the attachment member is configured for lift movement, wherein the lift movement is defined as a rotation along a horizontal axis with respect to the body, wherein the blade is configured for swing movement, wherein the swing movement is defined as a rotation along an axis orthogonal to an axis of the lift movement with respect to the attachment member, the method comprising: determining rotation rate measurements with respect to movement of the blade about at least one axis of rotation; and determining a lift rotation rate of at least one of: the blade or the attachment member, the lift rotation rate associated with a pure lifting movement of the blade and the attachment member performed simultaneously, determining at least one orientation parameter of the blade with respect to the attachment member based on the lift rotation rate and the rotation rate measurements.
Example 11 includes the method of Example 10, comprising: determining a rotation rate of the attachment member from the rotation rate measurements with respect to movement of the blade.
Example 12 includes the method of any of Examples 10-11, comprising: determining rotation rate measurements of the attachment member; and determining a swing angle of the blade with respect to the attachment member based on the rotation rate measurements of the attachment member and the blade.
Example 13 includes the method of any of Examples 10-12, comprising: determining an attitude of the blade; determining an attitude of the attachment member; and determining a relative heading between the blade and the attachment member based on the attitude of the blade and the attitude of the attachment member.
Example 14 includes the method of any of Examples 10-13, comprising: determining a swing angle of the blade with respect to the attachment member based on the lift rotation rate and the rotation rate measurements; and determining a relative heading between the blade and the attachment member based on the swing angle.
Example 15 includes the method of any of Examples 10-14, comprising: determining a smoothed swing angle from raw swing angle measurements; and determining a relative heading between the blade and the attachment member from the smoothed swing angle.
Example 16 includes the method of any of Examples 10-15, comprising: determining a first quaternion characterizing an extent of rotation of the attachment member relative to an inertial reference frame; determining a second quaternion characterizing an extent of rotation corresponding to a swing movement of the blade relative to the inertial reference frame; determining a third quaternion characterizing an extent of rotation of the blade from the first and the second quaternions; determining a heading of the blade based on the third quaternion; and determining a relative heading between the blade and the attachment member from the heading of the blade.
Example 17 includes a program product comprising a non-transitory processor-readable medium on which program instructions configured to be executed by at least one processor are embodied, wherein by executing the program instructions, the at least one processor is configured to: determine rotation rate measurements with respect to movement of a blade about at least one axis of rotation, wherein the blade is coupled to a body of a vehicle by an attachment member, wherein movement of the blade is defined orthogonal to an axis of motion with respect to the attachment member, wherein the attachment member is configured for lift movement, wherein the lift movement is defined as a rotation along a horizontal axis with respect to the body, wherein the blade is configured for swing movement, wherein the swing movement is defined as a rotation along an axis orthogonal to an axis of the lift movement with respect to the attachment member; and determine a lift rotation rate of at least one of: the blade or the attachment member, the lift rotation rate associated with a pure lifting movement of the blade and the attachment member performed simultaneously, and determine at least one orientation parameter of the blade with respect to the attachment member based on the lift rotation rate and the rotation rate measurements.
Example 18 includes the program product of Example 17, wherein by executing the program instructions the at least one processor uses the rotation rate measurements received from at least one sensor physically coupled to the blade to determine a rotation rate of the attachment member.
Example 19 includes the program product of any of Examples 17-18, wherein by executing the program instructions the at least one processor is configured to receive rotation rate measurements from at least one sensor physically coupled to the attachment member, and to determine a swing angle based on rotation rate measurements from the at least one sensor.
Example 20 includes the program product of any of Examples 17-19, wherein by executing the program instructions, the at least one processor is configured to: determine an attitude of the blade; determine an attitude of the attachment member; determine a relative heading between the blade and the attachment member based on the attitude of the blade and the attitude of the attachment member.
Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement, which is calculated to achieve the same purpose, may be substituted for the specific embodiments shown. Therefore, it is manifestly intended that this invention be limited only by the claims and the equivalents thereof.