Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
MOTOR GRADER 3D GRADE CONTROL
Document Type and Number:
WIPO Patent Application WO/2020/146386
Kind Code:
A1
Abstract:
Systems and methods for providing grade control on a motor grader without the use of masts attached to the blade. Embodiments include a body angle sensor configured to detect movement of a construction machine's body, a front positioning sensor configured to detect a geospatial position of the construction machine's body within a world space, a drawbar angle sensor configured to detect movement of the construction machine's drawbar, and a blade angle sensor configured to detect movement of the construction machine's blade. Two positions on the blade may be calculated first within a machine space and subsequently within the world space. Movement of at least one articulating connection may be caused based on the blade positions within the world space.

Inventors:
ENNIS NATHAN (US)
PECCHIO PATRICK (US)
MILLS GEOFFREY (US)
PADILLA CHRISTOPHER (US)
ZHU YONGLIANG (US)
HILL JASON (US)
DANIELL COLIN (US)
ZELLER SHAWN (US)
Application Number:
PCT/US2020/012581
Publication Date:
July 16, 2020
Filing Date:
January 07, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
CATERPILLAR TRIMBLE CONTROL TECH LLC (US)
International Classes:
E02F3/76; E02F3/84; G01C19/00
Foreign References:
US20110213529A12011-09-01
US20020162668A12002-11-07
Attorney, Agent or Firm:
MELLOR, Brett, L. et al. (US)
Download PDF:
Claims:
WHAT IS CLAIMED IS:

1 1. A construction machine cornpri sing:

2 a body including at least a front frame;

3 a body angle sensqf configured to detect body angle data corresponding to:

4 movement of the body;

5 a front positioning sensor mounted to (he body and configured to detect a

6 geospatial position of the body within a world space:

7 a drawbar coupled to the body via a first articulating connection:;

8 a drawbar angle sensor configured to detect drawbar angle data corresponding to 9 mov e en t of the drawbar;

0 a blade coupled to t he drawbar via a second articulating connection:;

1 a blade angle sensor configured to: deiect blade angle data corresponding to2 movement of the blade; and

3: one or more processors configured to perform operations comprising·

4 receiving, firoiri the body angle sensor, the body angle data;:

5 receiving, from the drawbar angle sensor, the dra bEn- angle data;

6 receiving, from the blade angle sensor, the blade angle data;

7 receiving, from the front positioning sensor, the geospatial position of thes body within the World space;

9 calculating, based on the drawbar angle data and the blade angle data, a0 first and a second position on the blade within machine space, wherei the machine1 space includes a machine-space reference: point positioned within the construction2 machine;

3 calculating, based on the body angle data, the geospatial position, and the4 first and second positions on the blade within the machine space, a first and a second5 position on the blade within the world space; and

6 causing movement of at least one of the first artieuiatihg connection and? the second articulating connection based on the first and second positions on the blade8 within the world space.

1 2. The construction machine of claim 1, wherein: the body angle sensor is mounted to the front frame;

the drawbar angle sensor is mounted to the drawbar;

the blade angle sensor is mounted to the blade; and

the front positioning sensor is mounted to the front frame, wherein the geospatial position of the body is a geospatial posi tion of the front frame.

3; The construction machine of claim 2, further comprising a rear positioning sensor mounted to a cab of the body and configured to detect a geospatial position of the: cab, and wherein the operations further comprise;

receiving, from the rear positioning sensor, the geospatial position of the cab; calculating, based on the geospatial position of the front frame and the geospatial position: of the cab, a machine heading of the construction machine; and

causing movement of at least ne of the first articulating connection and the second articulating connection based on the machine heading.

4. The construction machine of claim 1, wherein:

the machine-space reference point is the first articulating connection; calculating the first and second positions on the blade withi the machine space includes calculating a first and a second vector beginning at the machine-space reference point and ending at the first and second positions on the blade within the machine space;

the first and second positions on the: blade within the machine space are located at opposite ends along a bottom tip of the blade; or

the operations further comprise caicukding, based oh the body angle data and the geospatial position of the body, a space translation variable.

5. A machine co trol system comprising;

a body angle sensor configured to detect body angle data corresponding to movement of a body of a construction machine, wherein the body includes at least a front frame;

a front positioning sensor configured to detect a geospatial position of the body within a world space; 6 a drawbar angle sensor configured to detect drawbar angle data corresponding to

7 movement of a drawbar of the construction machine, wherein the drawbar is coupled to the body

8 via a first articulating connection;

9 a blade angle sensor configured to detect blade angle data corresponding to0 movement of blade of the construction machine, wherein the blade is coupled: to th e: drawbar1 via a second articulating connection; and

one or more processors configured to perform operations comprising:

3 receiving, from the body angle Sensor, the body angle data;

4 receiving, from the drawbar angle sensor, the drawbar angle data;

5 receiving, from the blade angle sensor, the blade angle data;

6 receiving, from the front positioning sensor, the geospatial position of the7 body wi thin the world space;

calculating, based on the drawbar angle data and the blade angle data, a9 first and a second position on the blade within a machine space, wherein the: machine:0 space includes a machine-space reference point positioned within the construction1 machine;

2 calculating, based on the body angle data, the geospatial position, and the3 first and second positions on the blade within the machine space, a first and a second4 position on the blade within the world space; and

5 causing movement of at least one of the first articulating connection and6 the second articulating connection based on the first and second positions on tire blade? within the world space,

1 6. The machine control system of claim 5, wherein:

2 the body angle sensor is mounted to the front frame;

3 the drawbar angle sensor is mounted to the drawbar;

4 the blade angle sensor is mounted to the blade; and

5: the front positioning sensor is mounted to the front frame, wherei the geospatial

6 position of the body is a geospatial position of the front frame. I 7, The machine control system of claim 6, further comprising a rear

2 positioning sensor mounted to a cab of the body and configured to detect a geospatial position of

3 the cab, and wherein the operations further comprise:

4 receiving, from the rear positioning sensor, the geospatial position of the cab:

5 calculating, based on the geospatial position of the front frame and the geospatial

6 position of the cab, a machine heading of the construction machine; and

7 causing movement of at least one of the first articulating connection and the S second articulating connection based on the machine heading.

1 8, The machine control system of claim 5, wherein:

2 the maehine^s ace reference point is the first articulating connection;

3 calculating the first and second positions on the blade within the machine spac

4 includes calculating a first and a second ector beginning at the machine-space reference point

5 and. ending at the first and second positions on the blade within the machine space:

6 the first and second positions on the blade within the machine space are located at :7 opposite ends along a bottom ti of the blade; or

8 the operations further comprise calculating, based on the body angle data and the 9 geospatial position of the body, a space translation variable.

1 9 A method of operating a construction machine, the method comprising:2 receiving, from a body angle sensor, body angle data corresponding to movement

3 Of a body of a construction machine, wherein the body includes at least a front frame:

4 receiving, from a front positioning sensor mounted to the body, a geospatial

5 position of the body within a world space;

6 receiving, from a drawbar angle sensor, draw-bar angle dat corresponding to

7 mo vement of a drawbar of the construction machine, wherein the drawbar is coupled to the body

8 via a first articulating connection;

9 receiving, from a blade angle sensor, blade· angle data corresponding to movement0 of a blade of the construction machine, wherein the blade is coupled to th drawbar via a second1 articulating connection; calculating, based on the drawbar angle data and the blade angle data, a first and a second position bn the: blade within a machine space, wherein the machine space includes a machine-space reference point positioned within the construction machine;

calculating, based on the body angle data, the geospatial position, and the first and second positions on the blade within the machine space, a first and a second position o tire blade within the world space; an

causing movemen t of at least one of the first articulating connectio and the second articulating connection based on the first and second positions on the blade within the world space.

10. The method of claim 9, wherein:

the body angle sensor is mounted to the front trams;

the drawbar angle sensor is mounted to; the drawbar;

the blade angle sensor is mounted to the blade;

the front positioning sensor is mounted to the front frame, wherein the geospatial position of the body is a geospatial positio of the front frame; and

the method fur ther comprises :

receiving, from a rear positioning sensor mounted to a cab of the body, the geospatial position of the cab*

calculating, based on t he geospatial position of the front frame anti t he geospatial position of the cab, a machine heading of the construction machine; and

causing movement of at least one of the first articulating connection and tire second articulating connectio based on the machine heading.

1 1. The ethod of cl aim 9, wberei n ;

the machine-space reference point is the first articulating connection; calculating the first and second positions o the blade within the machine space includes calculating a first and a second vector beginning at th machine-space reference point and ending at the first and second positions on the blade within the machine space; or

the first and second positions on the blade within the machine space are located at opposite ends along a botto tip of the blade. i 2, A construction machine comprising:

a body including at least a front frame;

a body angle sensor configured to detect body angle data corresponding t movement of the body;

a front positioning sensor mounted to the body and: configure to detect a geospatial position of the body within a worl space;

a drawbar coupled to the body via a first articulating connection; a dra bar angle sensor configured to detect drawbar angle data corresponding to movement of the drawbar;

a blade coupled to the drawbar via a second articulating connection; a blade angle sensor configured to detect blade angle data correspondin to mo v emen t of the blade ; and

one or more processors configured to perform operations comprising:

receiving, from the body angle sensor, the body angle data;

receiving, from the drawbar angle sensor, the drawbar angle data;

receiving, torn the blade angle sensor, the blade angle data;

receiving, from the front positioning sensor, the geospatial position of the body within the world space;

calculating, based on the d awbar angle data and the blade angle data, a first and a second position on the blade within a machine space, wherein the machine space Includes a machine- space reference point positioned Within th Construction machine;

calculating, based on the body angle data, the geospatial position, and the first and second positions on the blade within the machine space, a first and a secon position on the blade within the world space; and

causing movement of at least one of the first articulating connection and the second articulating connection based on the first and second positions o the blade within the world space.

13. The construction machine of claim 12, wherein :

the body angle sensor is mounted to the front frame; 3 the drawbar angle sensor is mounted to the drawbar;

4 the blade angle sensor is mounted to the blade;

5 the .front positioning sensor is mounted to the front frame, wherein the geospatial

6 po sit ion of the body i s : a geospatial position of the iron t frame;

7 a rear positioning sensor mo un ted to a cab of the b ody and configured to detect a $ geospatial position of the cab; an

9 the operations further comprise;

0 receiving, from the rear positioning sensor, the geospatial position of the1 cab;

2 calculating, based on the geospatial position of the front frame and the3 geospatial position of the cab, a machine heading of the construction machine; and4 causing movement of at least one of the first articulating connection and:5 the second articulating connection based on the machine heading.

1 14. The construction machine of claim 12 , wherein:

2 the machine-space reference point is the first articulating connection;

3 calculating the first and second positions on the blade within the machine space

4 includes calculating a first and a second vector beginning at the mac ine space reference point

5 and ending at the first and second positions on the blade withi the machine space;

6 the first and second positions on the blade within the machine space are located at

7 opposite ends along a bottom tip of tire blade; or

8 the operations farther comprise calculating, based on the body angle data and the 9 geospatial position of the body, a space translation variable.

1 15. A machine control system comprising:

2 a body angle sensor configured to detect bod angle data corresponding to

3 movement of a body of a construction machine, wherein the body includes at least a front frame;

4 a front posi tioning sen sor configured to detect a geospatial position of th e body

5 within a world space;;

6 a drawbar angle sensor configured to detect drawbar angle data corresponding to

7 movement of a drawbar of tile construction machine, wherein the drawbar Is coupled to the bod

8 via a first articulating connection; a blade angle sensor configured to detect blade angle data corresponding to movement of a blade of the construction machine, hefeih the blade is coupled to: tile drawbar via a second articulating connection; and

one Or more processors configured to perform operations comprising:

receiving, from: the body angle sensor, the body angle, data;

receiving, from the drawbar angle sensor, the drawbar angle data;

receiving, from the blade angle sensor, the blade angle data;

receiving, from the front positioning sensor, the geospatial position of the body within the -world space;

calculating, based on the drawbar angle data and the blade angle data, a first and a second position on the blade within: a machine space:, wherein the machine space includes a machine-space reference point positione within the construction machine;

, calculating, based on the body angle data, the geospatial position, and the first and second positions On the blade within the machine space, a first and a second position on the blade within the world space; and

causing movement of at least one of the first articulating connection an the second articulating connection based on the first and second positions on the blade within the world space

16. The machine control system of clai 15, wherein;

the body angle sensor is mounted to the fron frame;

the drawbar angle sensor is mounted to fire drawbar;

the blade angle sensor is mounted to the blade;

the front positioning sensor is mounted to the front frame, wherein the geospatial position of the body is a geospatial position of the front frame;

a rear positioning sensor mounted to a cab of the body and configured to detect a geospatial position of the cab; and

the operations further comprise:

receiving, from the rear positioning sensor, the geospatial position of the cab; calculating, based on the geospatial position of the front frame and the geospatial position of the nab, a machine heading of the construction machine; and

causing movement of at least one of the first articulating connection and the second articulating connection based on the machine heading.

17. The machine control system of claim 15, wherein;

the machine-space reference point is the first articulating connection;

calculating the first and secon positions on the blade within the machine space includes calculating a first and a second vector beginning at the machine-space reference point: arid ending at the first and second positions on the blade within the machine space;

the first and second positions on the blade within the machine space are located at opposi te ends along a bottom ti of the blade; or

the operations further comprise calculating, based on the body angle data and: the geospatial position of the body, a space translation variable.

18. A method of operating a construction machine, the method comprising: receiving, from a body angle sensor, body angle data corresponding: to movement: of a body of a construction machine, wherein the body includes at least a front frame:

receiving, from a front positioning sensor mounte to the body, a geospatial position of the body within a world space;

receiving, from a drawbar angle sensor, drawbar angle data corresponding to movement of a drawbar of the construction machine, wherein the drawbar i s coupled to the bod Via a first articulating connection;

receiving, from a blade angle: sensor; blade angle data corresponding: to movement of a b I ade of the construe tipn ra acliitte, w er ein the blade is coupled to the drawbar vi a a second articulating connection;

calculating, based on the drawbar angle data and the blade angle data, a first and a second position on the blade within a machine space, wherein the machine space includes a machine-space reference point positioned within the construction machine;

: calculating, based on the body angle data, the geospatial position, an the first and second positions On the blade within the machine space, a first and a second position on the blade within die world space; and 8 causing movement of at least one of the first articulating: connection and the9 second articulating connection based on the first and second: positions on the blade within the0 world space.

1 19. The method of claim 18, wherein:

2 the body angle sensor is mounte to the front frame;

3 the drawbar angle sensor is mounted to the drawbar;

4 the blade angle sensor is mounted to the blade;

5 the front positioning sensor is mounted to the front frame, wherein the geospatial

6 position of the body is a geospatial position of the iron† frame; and

7 the method further comprises;

8 receiving, from a rear positioning sensor mounted to a cab of the body, the 9 geospatial position of the cab;

0 calculating, based on the geospatial position of the front frame and the1 geospatial position of the cab, a machine heading of the construction machine; and2 causing movement of at least one of the first articulating connection and3 the second articulating connection based on the machine heading.

:i 20 , The method of claim 18, wherein:

2 the machine-space reference point is the first articulating connection;

3 calculating the first and second positions on th blade within the machine space

4 includes calculating a first and a second vector beginning at the machine- space reference point

5 and ending at the first and second positions on the blade within the machine space; or b the first and secon positions on The blade within the machine space are located at

7 opposite ends along a bottom tip of the blade.

Description:
MOTOR GRADER 3D GRADE CONTROL

CROSS-REFERENCES TO RELATED APPLICATIONS (0001} The present application claim the benefit of U.S. Non-Provisional Application No li/242,148, filed January 8, 2019, entitled“MOTOR GRADE 3D GRADE CONTROL, 5* and U.S, 16/510,582 filed on July 12, 2019, entitled“MOTOR GRADER 3D GRADE

CONTROL.’^ the conten ts of which are herein incorporated in their en tirety.

BACKGROUND

(00021 Modem construction machines have dramatically increased the efficiency of performing various construction projects. For example, earthmoving machines employing automatic slope control systems are able to grade a project area using fewer passes and in less time than what was previously done manually, As another example, modern asphalt pavers and other ro ad m akers have allowed replacement of ol roads and construction of new roads to occur on the order of hours and days instead of what once took place over weeks and months. Gonstnictiori crews also now comprise fewer individuals due to the automation of various aspects of the construc ti on process. Much of the technological advances of construction machines are Owed in part to the availability of accurate sensors that allow realtime monitoring of the condition and position of a machine’s components and/or the environment surrounding the machine. Despite the improvements in modem construction machines, new systems, methods, and techniques are still needed.

SUMMARY

100031 A summary of the present disclosure is provided below in reference to a series of examples. As used below, any reference to a series of examples is to be understood as a reference to each of those examples disjunctively (e.g , "Examples 1-4" is to be understood as "Examples 1 , ¾ 3, or 4”).

100041 Example 1 is construction machine comprising: a body including at least a front frame; a body angle sensor configured to detect body angle dat correspoMing to movement of the body ; a front positioning sensor (e.g,, a front GNSS receiver or a front UTS device) mounted to the body and configured to detect a geospatial position of the body within a worl space; a drawbar coupled to the body via a first articulating connection; a drawbar angle sensor configured to detect drawbar angle data corresponding to movement of the drawbar; a blade coupled to the drawbar via a second articulating connection; a blade angle sensor configure to detect blade angle data corresponding to movement of the blade; and one or more processors configured to perform operations comprising: receiving, fro the body angle sensor, the bod angle data; receiving, from : the drawbar angle sensor, the drawbar angle data; receiving, from the blade angle sensor, the blade angle data; receiving, from the front positioning sen sor, the geospatial position of the body within: the world space; calculating, based on the drawbar angle data and the blade angle data, a first and a second position on the blade within a machine space, wherein the machine space includes a machine-space reference point positioned within the construction machine; calculating, based on the body angle data, the geospatial position, and the first and Second positions on the blade within the machine space, a first and a second position on the blade within the world space; and causing movement of at least one of the first articulating connection and the second articulating connection based on the first an second positions on the blade within the world space. j 0005| Example 2 is the construction machine of e am ie(s) 1, wherein: the body angle sensor is mounte to the front frame; the drawbar angle sensor is mounted to the drawbar; the blade angle sensor is mounted to the blade; and the front positioning sensor is mounted to the front frame, wherein the geospatial position of the body is a geospatial position of the front frame 00061 Example 3 is the construction machine of examplef s) 1-2, further comprising a rear positioning sensor (e.g., a rear GNSS^ receiver or a rear UTS device) mounted to a cab of the body and configured to detect a geospatial position Of the cab, and wherein the operations .further comprise: receiving, from the rear positioning sensor, the geospatial position of the cab; calculating, based on the geospatial position of the front frame and the geospatial position of the cab, a machine heading of the construction machine; and causing movement of at least one of the first arti c ulating connection an the second articulating connection based on the machine heading. 10007J Example 4 is the construction machine of exampie(s) 1 -3, w herein the machine- space reference point is the first articulating connection. [0008J Example 5 is the construction machine of examples) 1-4, wherei calculating the first and second positions on the blade within the machine space includes calculating a first and a second vector beginning at the machine-space reference point and ending at the first and second positions on the blade withi the machine space.

[00091 Example 6 is the construction machine of example(s) 1-S, wherein th first and second positions on the blade within the machine space are located at opposite ends along a bottom tip of the blade.

{00101 Example 7 is the construction machine of Gxample(s) 1 -6, wherein the operations fivriher comprise: calculating, based on the body angle data and the geospatial position of the body, a space translation variable.

[00il I Example 8 is a machine control system comprising; a body angle sensor configured to detect body angle data corresponding to movement of a bod of a constructio machine, wherein the body includes at least a front frame: a front positioning sensor (e.g., a front GNS S recei ver or a front UTS device) configured to detect a geospa tial position of the body within a world space; a drawbar angle sensor configured to detect drawbar -angle data corresponding to movement of a drawbar of the construction machine, wherein the drawbar is coupled to the body via a first articulating connection; a blade angle sensor configured to detect blade angle data corresponding to movement of a blade of the construction machine, wherein the blade is coupled to the drawbar via a second articulating connection ; and one or more processors configured to perform operations comprising: receiving, from the body angle sensor, the body angle data; receiving, fro t the drawbar angle sensor, the drawbar angle data; receiving, tom the blade angle sensor, the blade angle data; receiving, from the front positioning sensor, the geospatial position of the body wi thi the world space; calculating, based on the drawbar angle data and the blade angle data, a first and a second position o the blade within a machine space, w erein the machine space includes a machine-space reference point positioned within the construction machine; calculating, based on the body angle data, the geospatial position, and the first and second positions on the blade within the machine space, a first and a second position on the blade within the world space; and causing movement of at least one of the first articulating connection and the second articulating connection based on the first and second positions on the blade within the world space.

[9012| Example 9 is th machine control system of example(s) 8, wherein: the body angle sensor is mounted to the front frame; the drawbar angle sensor is mounted to the drawbar; the blade angle sensor is mounted to the blade; and the front positioning sensor is mounted to the front frame, wherein the geospatial positio of the body is a geospatial position of the front frame.

[0O13j Example 10 is the machine control system of example(s 8-9, further comprising a rear positioning sensor (e.g., a rear GNSS receiver or a rear UTS device) mounted to a cab of the body an configured to detec a geospatial position of the cab* and wherein the operations further comprise: recei ving, from the rear positioning sensor, the geospatial position of the cab; calculating, based oh the geospatial position of the front frame and the geospatial position of the cab, a machine heading of the construction machine; and causing movement of at least one of the first articulating connection and the second articulating connection base on the machine heading.

(00141 Example 1 1 is the machine control system of example(s) 8-10, wherein the machine-space reference point is the first articulating connection.

[00151 Example 12 is the machine control system of exaraple(s) 8- 1 1, wherein calculating the first and second positions on the blade within the machine space includes calculating a first and a second vector beginning at the machine-space reference point and ending at the first and second positions on the blade within the machine space,

(00161 Example 13 is the machine control system of examp!e(s) 8- 12, wherein the first and second positions o the: blade within the: machine space are located at opposite ends along a bottom tip of the blade.

[0017| Example 14 is the machine control system of example(s) 8-13, wherein the operations further comprise: calculating, based on the body angle dat and the geospatial position of the body, a space translation variable.

(00181 Example 15 is a method of operating a construction machine, the method comprising: receiving, from a body angle sensor, body angle data corresponding to movement of a body of a construetion machine, wherein the body includes at least a front frame; receiving, from a front: positioning sensor (e,g., a front GNSS receiver or a front UTS device) mounte to the body, a geospatial position of the bo y within the worl space;

receiving, from a drawbar angle sensor, drawbar angle data corresponding to movement of a drawbar of the construction machine, wherein the drawbar is coupled to the body via a first articulating connection; receiving, from a blade angle sensor, blade angle data correspondin to movement of a blade of the construction machine, wherein the blade is coupled to the drawbar via a Second articulating connection; calculating, base on the drawbar angle data and the bl de angle data, a first and a second position on the blade within a machine space, wherein the machine space includes a machine-space reference point positioned within the construction machine; calculating, based on the body angle data, the geospatial position, and the fi rst and second positions on the blade within the machine space, a first and a second position on the blade within the world space; and causing movement of at least one of the first articulating connection and the second articulating connection based on the first and second positions on the blade within the world space,

100191; Example 16 is the method of exampiefs) 15, wherein: the body angle sensor is mounted to the front frame; the drawbar angle sensor is mounted to the drawbar; the blade angle sensor is mounted to the blade; an the front positioning sensor is mounte to the front frame, wherein the geospatial position of the body is a geospatial position of the front frame,

[002(11 Example 17 is the method of e amples) 15-16, further comprising: deceiving, from a rear positioning sensor (e.g., a rear GNSS receiver or a rear UTS device) mounted to a cab of the body, the geospatial position of the cab; calculating, based on the geospatial position of the front frame and the geospatial position of the cab, a machine heading of the constructio machine; and causing movement of at least one of the first articulating conn ection an the second articulating connectio based on the machine beading,

[0021] Example 18 is the method of exampiefs) 15-17, wherei the machine-space reference point is the first articulating connection.

[0022] Example 19 is the method of exampiefs) 15~18, wherein calculating the first and second positions on the blade within the machine space includes calculating a first and a second vector beginning at the machine-space reference point and ending at the first and second positions on the blade within the machine: space.

[0023] Example 20 is the method of exaniple(s) 15- 19, wherein the first and second positions on the blade within the machine space are located at opposite ends along a bottom tip of the biade.

[0024] Example 21 is a construction machine comprising: a body including at least a front frame; a body angle sensor configured to detect body angle data corresponding to movement of the body; a front positioning sensor (e.g,, a front GNSS receiver or a front UTS device) mounted to the body and configured to detect a geospatial position of the body within a worl space; a drawbar coupled to the body via a first articulating connection; a drawbar angle sensor configured to detect drawbar angle data corresponding to movement of the drawbar; a blade coupled to the drawbar via a second articulating connection; a blade angle sensor configure to detect blade angle data corresponding to movement of the blade; and one or more processors configured to perform operations comprising: receiving, fro the body angle sensor, the bod angle data; receiving, from : the drawbar angle sensor, the drawbar angle data; receiving, from the blade angle sensor, the blade angle data; receiving, from the front positioning sen sor, the geospatial position of the body within: the world space; calculating, based on the drawbar angle data and the blade angle data, a first and a second position on the blade within a machine space, wherein the machine space includes a machine-space reference point positioned within the construction machine; calculating, based on the body angle data, the geospatial position, and the first and Second positions on the blade within the machine space, a first and a second position on the blade within the world space; and causing movement of at least one of the first articulating connection and the second articulating connection based on the first an second positions on the blade within the world space. [00251 Example 22 is the construction machine of example(s) 21, wherein: the body angl sensor is mounte to the front frame; the drawbar angle sensor is mounted to the drawbar; the blade angle sensor is mounted to the blade; and tile front positioning sensor is mounted to the front frame, wherein the geospatial position of the body is a geospatial position of the front frame

[00201 Example 23 is the construction machine of example(s) 21 -22, further comprising a rear positioning sensor (e,g,, a rear GNSS receiver ora rear UTS device) mounted to a cab of the body and configured to detect a geospatial position of the: cab, and wherein the operations .further comprise: receiving, from the rear positioning sensor, the geospatia position pi the cab; calculating, based on the geospatial position of the front frame and the geospatial position of the cab, a machine heading of the construction machine; and causing movement of at least one of the first arti c ulating connection an the second articulating connection based on the machine heading. [00271 Example 24 is the construction: machine of examplefs) 21 -23, wherein the maeMne- space reference point is the first articulating connection. [0028J Example 25 is the construction machine of example(s) 21-24, wherein calculating the first and second positions on the blade within the machine space includes calculating a first and a second vector beginning at the machine-space reference point and ending at the first and second positions on the blade within the machine space.

[00291 Example 26 is the construction machine of example(s) 2 i -25, wherein the first and second positions on the blade within the machine space are located at opposite ends along a bottom tip of the blade.

{00301 Example 27 is the construction machine ofexample(s) 21 -26, wherein the operations further comprise: calculating, based on the body angle data an the geospatial position of the body, a space translation variable.

[00311 Example 28 is a machine control system comprising;: a body angle sensor configured to detect body angle data corresponding to movement of a body of a construction machine, wherein the body includes at least a front frame; a front positioning sensor (e.g., a front GNSS receiver or a front UTS device) configured to detect a geospatial position of the body withi worl space; a drawbar angle sensor configured to detect: drawbar angle data corresponding to movement of a drawbar of the construction machine, wherein the drawbar is coupled to the body via a firs articulating connection; a blade angle sensor configured to detect blade angle data corresponding to movement of a blade of the construction machine, wherein the blade i s coupled to the drawbar via a second articulating connection ; and one or more processors configured to perform operations comprising: receiving, from the body angle sensor, the body angle data; receiving, from the drawbar angle sensor, the drawbar angle data; receiving, fr om the blade angle sensor, the blade angle data; receiving, from the front positioning sensor, the geospatial position of the body wi thin the world space; calculating, based on the drawbar angle data and the blade angle data, a first and a second position on the blade within a machine space, wherein the machine space includes a machine-space reference point positioned within the construction machine; calculating » based on the body angle data, the geospatial position, and the first and second positions on the blade within the machine space, a first and a second position on the blade within the world space; and causing movement of at least one of the first articulating connection and the second articulating connection based on the first and second positions on the blade within the world space.

[0032| Example 29 is the machine control system of exampie(s) 28, wherein: the body angle sensor is mounted to the front frame; the drawbar angle sensor is mounted to the drawbar; the blade angle sensor is mounted to the blade; and the front positioning sensor is mounted to the, .front frame, wherein the geospatial position of the body is a geospatial position of the front frame.

[00331 Example 30 is the machine control system of exampte(s) 28-29, further comprising a rear positioning sensor (e.g,, a rear GNSS receiver or a rear UTS device) mounted to: a eah of the body and configured to : detect a geospatial position of the eab, and wherein the operations further comprise: receiving, from the rear positioning sensor, the geospatial position of the eab; calculating, based o the geospatial position of the front frame and the geospatial position of the cab, a machine heading of the construction machine; and causing movement of at least one of the first articulating connection and the second articulating connection based on the machine heading.

|0034f Example 31 is the machine control system of example(s) 28-30, wherein the machine-space reference point is the first articulating connection,

[00351 Example 32 is the machine control system of exarapie(s) 28-31, wherein calculating the first and secon positions on the blade within the machine space includes calculating a first and a second vector beginning at the machine-space reference point and ending at the first and second positions on the blade within the machine space.

[00361 Example 33 is the machine control system of example(s) 28-32, wherein: the first and second positions on the blade within the machine· space are located at opposite ends along a bottom ti p of the blade.

[00371 Example 34 is the machine control system of example(s) 28 * 33, wherein the operations further comprise: calculating, base on the body angle dat and the geospatial position of the body, a space translation variable

(00381 Example 35 is a method of operating a construction machine, the method comprising: receiving, from a body angle sensor, body angle data corresponding to movement of a body of a construction machine, wherein the body includes at least a front frame; receiving, from a front: positioning sensor (e.g , a front GNSS receiver or a front UTS device) mounted to the body, a geospatial position of the bo y within the world space;

receiving, from a drawbar angle sensor, drawbar angle data corresponding to movement of a drawbar of the construction machine, wherein the drawbar is coupled to the body via a first articulating connection; receiving, fro a blade angle sensor, blade angle data correspondin to movement of a blade of the construction machine, wherein the blade is coupled to the drawbar via a Second articulating connection; calculating base on the drawbar angle data and the bl de angle data, a first and a second position on the blade within a machine space, wherein the machine space includes a machine-space reference point positioned within the construction machine; calculating, based on the body angle data, th geospatial position, and the fi rst and second positions on the blade within the machine space, a first and a second position on the blade within the world space; and causing movement of at least one of the first articulating connection and the second articulating connection based on the first and second positions on the blade within the world space, 100391 Example 36 is the method of exampiefs) 35, wherein: the body angle sensor is mounted to the front frame; the drawba angle sensor is mounted to the drawbar; the blade angle sensor is mounted to the blade; an the front positioning sensor is mounte to the front frame, wherein the geospatial position of the body is a geospatial position of the front frame, 0040 Example 37 is the method of exampiefs) 35-36, further comprising receiving, from a rear positioning sensor (e.g , a rear GNSS receiver or a rear UTS device) mounted to a cab of the body, the geospatial position of the cab; calculating, based on the geospatial position of the front frame and the geospatial position of the cab, a machine heading of the constructio machine; and causing movement of at least one of the first articulating conn ection an the second articulating connection based on the machine heading [00411 Example 38 is the method of exampiefs) 35-37, wherein the machine-space reference point is the first articulating connection.

[00421 Example 39 is the method of exampiefs) 35-38, wherein calculating the first and second positions on the blade within the machine space includes calculating ailrst and a second vector beginning at the machme-space reference point and ending at the first and second positions on the blade within the machine: space.

[00431 Example 40 is the method of exampiefs) 35-39, wherein the first and second positions on the blade within the machine space are located at opposite ends along a bottom tip of the b lade. BRIEF DESCRIPTION OF THE DRAWINGS

{00441 The accompanying drawings, which are included to provide a further understanding of the invention, are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the detailed description serve to explain the principles of the invention, No attempt is made to show structural details of the invention in more detail than may be necessary for a fundamental understanding Of the invention and various ways in which it may be practiced. {00451 FIG. 1 illustrates a perspective view of a motor grader, according to some embodiments of the present disclosure. 100 6] FIGS 2A and 2B illustrate perspective views of various components of a motor grader, according to some embodiments of the present disclosure,

[0047] FIGS. 3 A and 3B illustrate rear views of various components of a motor grader, according to some embodiments of the present disclosure.

[0048] FIG. 4 illustrates a rear view of a blade of a motor grader, according to some embodiments of the present disclosure.

[0049] FIG , 5 illustrates a perspecti ve view of a mo tor grader and a calculation of two positions along a blade within: a machine space, according to some embodiments of the present disclosure.

[0050] FIG. 6 illustrates a perspective view of a motor grader and calculation of two positions along a blade within: a world space, according to some embodiments of the present disclosure.

[0051] FIG . 7 illustrates a rigid body diagra of a motor grader, according to some embodiments of the present disclosure. :

[005 1 FIG 8 illustrates a generalized rigid body diagram of motor grader an a calculation of world-space positions, according to some embodiments of the present disclosure

[0053] FIG 9 illustrates a machine control system, according to some embodiments of the present disclosure.

[0054] FIG. 10 illustrates a method of operating a motor grader, according to some embodiments of the present disclosure. [0055! FIG, 11 illustrates an example of a Global Navigation Satellite System (GNSS) receiver, according to some embodiments of the present disclosure.

[0056! FIGS. 12A-I2D illustrate a trilaieraiion technique performed by a GNSS receiver to generate a posi tion estimate, according to some embodimen ts of the present disclosure,

[00571 FIG- 13 illustrates a simplified computer system, according to .some embodiments of the present disclosure.

[005$f the appended figures, similar components andtor features may have the same numerical reference label. Further, various components of the same typ may be

distinguished by following the reference label With: a letter or by following the reference label with a dash followed by a second numerical reference label that distinguishes among the similar components and/or features. If only the first numerical reference label is used in the specification, the description is applicable to any one of the similar components and/or features having the same first numerical reference label irrespective of the suffix.

DETAILED DESCRIPTION

[00591 Embodiments: of the present disclosure relate to systems, methods, and other techniques for providing grade control on a motor grader without the use of masts attached to the blade. Drawbacks of b 1 ade m bunted three-dimensional (3 D) grade con trol systems are well documente and include, but are not limite to, reduced possible range of blade placements, increased risk of theft, increased potential damage to the grader, to the masts, or to the 3D components caused by driving the masts into the cab when rotating the blade, si e shifting the blade, and or side shifting the entire drawbar. With many mast-based systems, the operator is expected to remove the 3D components from the masts at the end of a work shift, These l imitations, among others, are o vercome by embodiments of the present di sclosure by providing grade control by strategically mounting and/or integrating several rotation sensors (e.g., inertial measurement units (IMU)) and at least one positioning sensor (e.g. s GlobalNavigation Satellite System (G SS) receiver or Universal Total Station (UTS) device) with the grader sous to establish two positions on the grader blade within a world space.

100601 FIG, 1 illustrates a perspective view of a motor grader 100 (or alternatively reiemid to as a“grader” or“road grader”), according to some embodiments of the present disclosure Motor grader 100 is a type of construction machine used to create flat surfaces in accordance with a grading operation, which may demand a particular pitch, cross-slope, and/or elevation

I I over a proj ect area. Motor grader 100 may be used to perforin rough grading (low precision) or fine grading (high-precisian) tasks of the grading operation;. As used herein, the ter “constniction machine” may refer to motor grader 100 or to any one of a number of different types of construction machines, including pavers (e.g., concrete, asphalt, slipfonn, vibratory, etc.), graders, compactors, excava tors, scrapers, loaders, etc,, each of which may have components similar to those described in reference to otor grader 100.

[00611 In some embodiments, motor grader 100 may include a tractor 302 -with wheels, axles, and a gasoline-, diesel-, electric-, or steam-powered engine for providing power an traction to motor grader 100 to drive along a desired path, often at a constant speed !h the illustrate embodiment, motor grader 100 includes three axles including one front axle an two rear axles, With the engine and a cab 104 located above the two rear axles. An operator of motor grader 100 may control the construction machine within cab 104 Using various: input devices such as computers, levers, switches, buttons, pedals, etc. Input devices may alternatively Or additionally be located at other locations throughout motor grader 100.

Steering of motor grader 100 may be accomplished by controlling the angle of the front axle which may, in some embodiments, cause frame articulation between the front and rear axles to allow motor grader 100 to turn along a small turning radius.

[00621 ht some embodiments, motor grader 100 include a front frame 106, which may be rigidl y connected to cab 104 and/or tractor 102 at a rear end of front frame 106, and may he connected to a drawba 1 10 at a bottom en of front frame 106, Alternati vely, front frame 06 may he connected to cab 104 and/or tractor 102 at the rear end of front frame 106 via an articulating: connection. Front frame 106 may furthe be rigidly connected to a link bar 108 at or near the rear end of front fram 106. Front frame 106 may be partially elongated and may be substantially parallel to a longitudinal direction. In some embodiments, : front frame 106 serves as a: primary connection between the front and rear axles. In some embodiments, front frame 106 is rigidly connected to a left lift ami 1 12A and a right lift arm 112B at lateral sides of front frame 106 and/or at a botto side of front frame 106. In some embodiments, left lift ami 112A is connected to a left cylinder 1 14A and right lift arm 1 12B is connected to a right cylinder 1 14B. in some embodiments, front frame 106 may further be connected to the front axle at front and/or bottom end of front frame 106. 00631 In some embodiments, motor grader 100 includes a link bar 1 8, which may be rigidly connecte to front frame 106 at a to end of link bar 108, and may be connecte to a drawbar 110 via an articulating connection at a bottom end of link bar 108. In some embodiments, link bar 108 may be rigidly connected to left and right lift arms 112 such that link bar 108 extends between the bottom ends of left and right lift arms 112. In some embodiments, link bar 108 is connected to a center shift; cylinder 124 that is connected to drawbar 110 at a top side of drawbar 110,

100641 In some embodiments, raot-or grader 100 Me lades a drawbar 1 10, which may be connected to front frame 106 at a forward end of drawbar 130 via an articulating connection, and may be connected to a circle 1 16 at a rear end of drawbar 110 via an articulating connection. In some embodiments, the articulating connection between drawbar 110 and front frame 106 may allow drawbar 110 to rotate with respect to front frame 106 in at least one direction e.g,, yaw, pitch, roll). Drawbar 110 may be partially elongated and may be entirely or partially positioned vertically below front frame 106. In some embodiments, drawbar ! 10 may be connected to left cylinder 1 14A at left side of drawbar 110 and to right cylinder 1 14B at a right side of drawbar 110 such that extensio or retraction of left and right cylinders 114 cause corresponding movement of drawbar 110 (e,g,, roil or pitch), in some embodiments, drawbar 1 10 may be connected to center shift cylinder 124 such that extension or retraction of center shi ft cylinder 124 causes a corresponding movement of drawbar 110 (e.g., yaw).

[0065J In some embodiments, motor grader 100 includes a circle 1 16, which may be conn ected to drawbar 110 at a top side of circle 116 via an articulating connection, and may be connected to a retainer 118 at a bottom side of circle 116 vi an articulating connection. I some embodiments, the articulating connection between circle 1 16 anti drawbar 130 ma allow circle 116 to rotate with respect to drawba 1.10 in a circular direction. In some embodiments, the articulating connection between circle 116 and drawbar 110 may be configured to allow complete or partial circular rotation of circle 116 with respect to drawbar 110. In some embodiments, the articulating connection between circle 116 and drawbar 310 comprises a circle rotator 123, which may include a motor or other actuating device that causes circle 116 to rotate with respect to drawbar 1 I D in a circular direction. In some embodiments, circle 1 16 is connected to a retainer cylinder 120, I0066f In some embodiments, motor grader 100 includes a retainer 1 18, which may be connected to circle 116 at a rear side of retainer 116 via an articulating connection, an may be connecte to a blade 122 at a front side of retainer 116 via an articulating connection. In some embodiments, the articulating connection between retainer 118 and circle 116 may allow retainer 118 to rotate with respect to circle 116 in at least one direction (e g. , pitch). In some embodiments, retainer 1 18 is connected to retainer cylinder 120 at a rear side of retainer 118 sndt that extension or retraction of retainer cylinder causes a corresjmndlng movement of retainer 118 (e.g., pitch).

100671 In some embodiments, motor grader 100 includes a blade 122, which may Re connected to retainer 118 at a rear side of blade 122 via an articulating connection. In some embodiments, the articulating connection between blade 122 and retainer 118 may allow blade 122 to shift with respect to retainer 118 in at least one direction {e.g., transverse direction). In some embodiments, the articulating connection between blade 122 and retainer 118 comprises a side shifter 125 configured to shift blade 122 in the left or right transverse direction. Blade 122 may be the primary means through which motor grader 100 interacts with the material to be graded, al though some embodiments may include one or more additional blades (e.g., a front blade attached to a front side of link ar 108). Blade may include a bottom, reinforced tip having two ends (e.g., a left en and a right end).

100681 In accordance with the configurability of the above-described rigid bodies, articulating connections, and actuators of motor grader 100, blade 1 2 may he place in a wide range of positions to accomplish a grading operation. In so e embodiments, motor grader 100 may include fewer or additional rigid bodies, articulating connections, an actuators than those described above thereby providing a wider or narrower range of positions of blade 122. To allow 3D tracking of blade 122 in accordance with embodiments of the present disclosure, various sensors (e.g., rotation sensors, positioning sensors) may be mounted to and/or integrated with the above- described com ponents of motor pader 100. As used herein, a sensor that is described as being *hntnjii†ed >T to a component may include embodiments in -which the sensor is attached, connected, coupled, joined, fastened, affixed, secured, and/or integrated with the component.

10069) As used herein, an IMU may refer to any electron ic device capable of detecting acceleration, angular rate, and/or angular position. For example, an IMU may include one or more accelerometers and/or one or more gyroscopes, among other possibilities. As used here, an angle sensor may refer to any electronic device capable of detecting angular rate and/or angular position. As such, an IMU as described herein may include an angle sensor and/or an acceleration sensor. In some embodiments, an angle sensor may directly detect angular rate and may integrate to obtain angular position, or alternatively an angle sensor may directly measure angular position and may determine a change in angular positio (e.g., determine the derivative) to obtain angular rate, in many instances, an angle sensor is used to determine the yaw angle (potation angle with respect to a vertical axis), the pitch angle (rotation angle with respect to a transverse axis), and/or the roll angle (rotation angle with respect to a longitudinal axis).

[(10701 As used herein, a GNSS receiver may refer to any electronic device capable of detecting a 3D position Within a world space by analyzing received positioning signals. Such a device may be alternatively referred to as a 3 D positioning device, which ma correspond to a number of 3D positioning solutions, such as a total station device, that can establish a direct line of sight with a second nearby device to detect a 3D position in some

embodiments, a GNSS receiver may use wireless signals that are transmitte fro medium Earth orbit (MEG) or geostationary Earth orbit (GEO) satellites to GNSS receivers to determine position, velocity, and time information for the GNS receivers. Examples of currently operational GNSSs include the United States 5 Global Positioning System (GPS), the Russian Global Navigation Satellite System (GLONASS), the Chinese BeiDou Satellite Navigation System, the European Union’s (EU) Galileo, and the Satellite-based

Augmentation System (SBAS), Today, GNSS receivers are used in a wide range of applications, including navigation (e.g,, for automobiles, planes, boats, persons, animals, freight, military precision-guided munitions, etc.), surveying, mapping, and time referencing.

[00711 I® some embodiments, a body IMU 126 (or, more specifically, a body angle sensor) is mounted to front frame 106 so as to detect angular movement of front frame 106. I some embodiments, body IMU 126 may be configured to detect a yaw angle, a pitch angle, and/or a roll angle associ ated wi th angular movement of front frame: 106. Alternati vely or additionally, bod IMU 126 may be mounted to any component that is rigidly connected to front frame 106 (e.g., link bar 108, left and right lift arms 112) such that body IMU 126 may detect angular movement of the body of motor grader 100.

[0072] In some embodiments, a drawbar IMU 128 (or, more specifically, drawbar angle sensor) is moun ted to drawbar 110 so as to detect angular movement of drawbar 1 10, In some embodiments, drawbar IMU 128 may be configured to detect a yaw angle, a pitch angle* ami or a roll angle associated with angular movement of drawbar 110. [0073| I** some embodiments, a rotation sensor 130 may be mounted to circle rotator 123, circle 116, an 'or drawbar 110 so as to detect circular rotation of circle 116 with respect to drawbar 110, In some embodiments, rotation sensor 130 is integrated with circle rotator 123 such that the actuator itself (i.e-., circle rotator 1.23 ) may determine an amount of circular 5 rotation applied. In some embodiments, rotation sensor 130 may be used to determine

circula rotation of blade 122.

10074! In some embodiments, a blade IMU 132 (or, more specifically, a blade angle sensor) is mounted to retainer 118 and/or blade 122 so as to detect angular movement of blade 122. In some embodiments, blade IMIJ 132 may be configured to detect s yaw angle, a:0 pitch angle, and/or a roll angle associated with angular movement of blade 122. Because retainer 118 and blade 122 are linearly shifted with respect to each other, mounting blade IMU 132 to either of retainer 1 18 and blade 122 may allow' detection of angular movement of blade 122, In some embodiments, retainer 118 may be considere a subcomponent of blade 122 such that mounting blade IMU 132 to blade 122 may imply mounting to either of retainer5 118 or blade 122,

100751 In some embodiments, a shift sensor 134 may be mounted to side shifter 125, blade 122, and/or retainer 1 18 so as to detect a side shift amount applied by side shifter 125 in the left or right transverse directions. In some embodiments, shift sensor 134 is integrated with side shifter 125 such that the actuator itself (i.e., side shifter 125) ma determine an amount0 of side shift applied.

[00761 In some embodiments, a front GNSS receiver 136 may be mounted to front frame 106 so as to detect a 3D geospatial position of front frame 106 : within a -world space. Front GNSS receiver 13 may be mounted to a top side of front frame 106 at a particular location that allows front GNSS receiver 136 to have a substantially; unimpeded view of the sky.5 Alternatively or additionally, front GNSS receiver 136 may be mounted to any component that is rigidly connected to front frame 106 (e.g,, link bar 108, left an right lift arms 112) such that front GNSS receiver 136 may detect a 3D geospatial position of the body of motor grader IQiX

[00773 Iti Some embodiments, a rear GNSS receiver 138 may be mounted to cab 104 so as0 to detect a 3 D geospatial position of cab 104 within: a world space. Rear GNSS receiver 138 may be mounted to a top side of cab 104 at a particular location that allows rear GNSS receiver 138 to have a substantially unimpeded view of the sky. Alternatively or additionally, rear GNSS receiver 138 may be mounted to any component that is rigidl connected to cab 104 (e.g., tractor 102).

[0078! Data from one or more of tire sensors descri ed above may be analyze to determine a relationship from each sensor to a machine-space reference point 140 positioned within motor grader 100. In the i llustrated embodiment:, machine-space reference point 140 is positioned at the articulating connection between drawbar 110 and front frame 106 (i,e„ between drawbar 110 and the body of motor grader 100). M achine-space reference point 140 may alternatively or additionally be positioned at link bar 108 and/or front frame 106, among other possibilities.

[0079] FIGS, 2A and 2B each illustrate a perspective view of various components of motor grader 100, according to some embodiments of the present disclosure. In some embodiments, left lift ami 112 A includes a left yoke pin 17QA that is rotatable within an upper portion of left lift arm 112 A. Left yoke pin 170A may be connected to left cylinder 1 14A at one end of left yoke pin 170A. Similarly, i some embodiments, right lift arm 1 1;2B includes a right yoke pin 170B that is rotatable within an upper portion of right lift arm 1 12B. Right yoke pi 170B may be connected to right cylinder 1 14B at one end of right yoke pin 170B,

[0080] During operation of motor grader 100, extension or retraction of center shi ft cylinder 124 can cause yaw movement of drawbar 1 10 an circle 1 16, To permit tire yaw movement of draw bar 110 and circle 116, left yoke pin 17QA may rotate about an axial direction of left yoke pin 170A an left cylinder 1 1 A may rotate with respect to a pivot point at the connection point between left cylinder 114 A and left: yoke m 170 A, heft cylinder 1 1 may also extend or retract during the yaw movement, based on the directio of the yaw movement. Similarly, to permit the: yaw movement of drawbar 1 10 and circle 116, right yoke pin 170B may rotate about an axial directi on of ri ght yoke pin 170B and right cylinder 1 14B may rotate with respect to a pivot point at the connection point between right cylinder 114B and right yoke pin 170B. Right cylinder 1 14B may also extend or retract during the yaw movement based on the direction of toe yaw move ent.

[0081] In some embodiments, a left yoke pin IlyfU 172A (or, more specifically * a left yoke pin angle sensor) is mounted to left yoke pin 170A so as to detect angular movement (e.g., axial rotation) of left yoke pin 170A, resulting in left yoke pits angle data. In some embodiments, left yoke pin IM(J 172A may be configured to detect a yaw angle, a pitch angle, and/or a roll angle associated with angular movement of left yoke pin 170A, In some embodiments, left yoke pin IMU 172A is mounted to left yoke pin 170A at the opposite end of left yoke pin 170 A from the connection with: left cylinder 114A.

|O0S2f In some embodiments, a right yoke pin IMU 172B (or, more specifically, a right yoke pin angle sensor) is mounted to right yoke pin 17GB so as to detect angular movement (e.g., axial rotation ) of right yoke pin 170B, resulting lit: right yoke pin angle data. In some embodiments, right yoke pin IMU 17213 may be configured to detect a yaw angle, a pitch angle, and/or a roll angle associated with angular movement of right yoke pin 170B. In some embodiments, right yoke pin IMU 172B is mounted to right yoke pin 170B at the opposite end of right yoke pin I7GB from the connection with right cylinder 114B . [0083] In some embodiments, link bar 108 is connected to front frame 106 in addition to lift arms 1 12, In some embodiments, front frame 106 includes one or more pin holes 174 at which link bar 108 cart rigidly connect to front frame 106. Based on a particular grading operation, an operator of motor grader 100 may modify' wh ich pin holes 174 that link bar 108 is connected to, i.e., the pin position of link bar 108. As one example, for a relatively flat grade, an operator of motor grader 100 may connect link bar 108 to one or more of the center-most pin holes 174, as shown in reference to FIG. 2A, As another example, for a stee grade, an operator of motor grader 100 ma connect link bar 108 to one or more of the outer most pin holes 174, as shown in reference to FIG. 2B. Upon connecting link bar 108 to pin holes 174, link bar 108 may become rigidly connected to front frame 106 and lift arms 112, anti lift arms 1 12 may become rigidly connected to front frame 106.

[0O84 FIGS, 3 A and 3B each illustrate a rear view of various components of motor grader 100, according to some embodiments of the present disclosure. In some embodiments, one or more yoke pin angles 176 are measured by yoke pin f .VlUs i 72, For example, left yoke pin IMU 172 A triay measure a left yoke pin angle and right yoke pi IMU 1: 72B may measure a right yoke pin angle, In some embodiments, yoke pin angles i 76 may correspond to the angles formed by cylinders 1.1.4 and a fixed direction, such as a transverse direction. In some embodiments, yoke pin angles t 76 are used to calculate circle yaw angle 178, which is the angle corresponding to yaw ovement of circle 1 16 and/or drawbar 110. in some embodiments, a single yoke pin angle 176 {e.g., the left yoke pin angle or the right yoke phi angle) is Used to calculate circle yaw angle 178, in some embodiments, two yoke pin angles 176 (e.g., both the left yoke pin angle and the right yoke pi angle) are used to calculate circle yaw angle 178. [Q085| In some embodiments, circle yaw angle 178 is calculated based on yoke pin angle 176 as well as the pin position of link bar 108. In some embodiments, first and second machine-space positions 142 are calculated based on circle yaw angle 178 and therefore also based on the position of lin bar 108. In some embodiments, motor grader 100 includes a pin position sensor that automatically determines the pin position of link bar 108. The pi position sensor may detect the pin po sition of link bar 108 upon -initiating operation of motor grader 100 of during operation of motor grader 100. In some embodiments, an operator of motor grader 100 may input the pin position of link bar 108 using an input device (e.g„ user input device 152). [00861 FIG * 4 illustrates a rear view of blade 1 2 and the stirrounding components, according to some embodiments of the present disclosure. In the illustrated embodiment, blade IMU 132 is mounted to the rear side ofretainer 1 18, and side shifter 125 is

implemented as an internalized cylinder that causes blade 122 to shift in the left or right transverse directions. [00871 FIG. 5 illustrates a perspecti e view of motor grade i 00 and a calculation of two positions along blade 122 wi thin the machin e Sp ace, according to some embodiments of the present disclosure. In some embodiments, a first machine-space position ! 42A and a second machine-space position 142 B may be calculated in reference to machine-space reference point 140. In some embodiments, calculating each: of first and second machine-space positions 142 may include calculating a first an a second vector beginning at machine-space reference point 140 and ending at first and second machine-space positions 142, respectively. In some embodiments, first and second machine-space positions 142 are located at opposite ends along a botto tip of blade 122, or at some other predetermined locations along blade 122. Examples of calculated values for first machine-space position 142A, (¾¾ T ¼ , ¾ # ) *= (2.1, -0.3, 0,5) and second machine-space position 142B, (¾, .¾ ZM) - (2.4, -0.2, : 0.4} are also shown alongside tire illustrated embodiment. j0088[ In some embodiments, first and second machine-space positions 142 are calculated usin data received from drawbar IMU 128 and blade IMU 132, In some embodiments, first and second machine-space positions 142 ate calc Plated using data received fro drawbar IMU 1 8, blade IMU 02, left yoke pin IMU 172 A* right yoke pin IMU T72B, rotation sensor 130, and ' or shift sensor 134. [0089J FIG. 6 illustrates a perspective view of motor grader i 00 and a calculation of two positions along blade 122 wi thin tlie world space, according to some embodiments of the present disclosure in some embodiments;, a first world-space position 146A and a second wdfld-space position 146B may be calculated in reference to World-space reference point 5 144. In some embodiments, calculating each of first and second world-space positions 146 may include calculating a first and a second vector beginnin at world-space reference point 144 and ending at first and second world-space positions 146, respectively· Examples of calculated values for first world-space position 146A, {¾ ~ {1002.1* 999,7, 1000.5) and second world-space position 146B * (1%, ί¾·, w) ~ (1002,4, 999,8, 999.6) are also shown 10 alongside the illustrated embodiment.

[00901 In some embodiments, first and second world-space positions 146 are calculated using data received from body IMU 126 and front GNSS receiver 136 according to the following example. First, a reference vector 147 may be calculated using data received from body IMU 126. Calculating reference vector 147 niay include calculating a vector beginning 15: at front GNSS receiver 136 and ending at machine-space reference point 140. Second, a

geospatial position of front GNSS receiver 136 is calculated based on received GNSS signals 149 transmitted by GNSS satellites 150. Third, a space-translation variable 148 i calculated based on reference vector 147 an the geospatial position of front GNSS receiver 136.

Calculating space-translation variable 148 may include calculating a vector beginning at20 machine-space reference point 140 and ending at world-space reference point 144. Fourth, space translation variable 148 is incorporated info first and second machine-space positions 142 (e.g,, is added to or subtracted from) to obtain first and second world space positions 146, First and second machine-space positions 142 may be calculated based on data generated by drawbar IMG 128 (e.g., drawbar angle data), blade IMG 132 (e.g., blade angle data), and% 25 yoke pin IMlJ(s) 172 (e.g., yoke pin angle data and/o circle yaw angle 178),

[00911 Additionally shown in FIG. 6 is a calculation of a machine heading 151 of motor grader 100, in some embodiments, machine heading 151 is calculated using data received from front GNSS receiver .136 and rear GNSS receiver 138. For example, machine heading 151 may be calculated based on the vector beginning at the geospatial position of rear GNSS 3(1 receive 138 and ending at the geospatial position of front GNSS receiver 136. Additional corrections t ra achine h eading 151 can be made if either of front GNS S receiver 136 and rear GNSS receiver 138 are not aligned with a center axis of motor grader 100. [0092 J FIG. 7 illustrates a rigid body diagram of motor grader 100, according to some embodiments of tile present disclosure. As illustrated, rigid bodies are either rigidly connected to each other (as indicated by wide connectors) or are connected via articulating connections (as indicated by narrow connectors). Some articulating connections are controlled; by one or more of actuators 156 (as indicated by dotted lines). Sensors 154 ay be configured to detect movement of a rigid body a /or an articulating connection (as indicated by dotted lines).

[00931 In the illustrated embodiment, motor grader 100 includes a body 158 comprising several rigidly connected components, including cab 1.04, front frame 106, 1 eft lift arm 112A, and right lift arm 112B, Rear GMSS receiver 138 is mounted to cab 104, font GNSS receiver 136 is mounted to front frame 106, and body IMU 126 is mounte to front frame 106, Right lift arm 1 12B is connected to drawbar 1 10 via an tieit fating connection controlle by right cylinder 1 14E, and left lift arm 112 A is connected to drawbar 110 via an articulating connection controlled by left cylinder 114A . Front frame 106 is connected to drawbar 110 via an articulating connection (which may include machine-space reference point 140), Link bar 108 is connected to drawbar 110 via an articulating connection controlled by center shift cylinder 124, Drawbar IMU 128 is mounted to drawbar 1 10, Drawbar 1 10 is connected to circle : 116 via an articulating connection controlled by circle rotator 123 with movements detected by rotation sensor 130, Circle 116 is connected to retainer 118 via an articulating connection controlled by retainer cylinder 120. Retainer 118 is connected to blade: 122 via an articulating connection controlled by side shi tier 1 5 with movements detected by shift sensor 34. Blade IMD 132 is mounted to either of retainer 1 18 and blade 122,

[0094] FIG * 8 illustrates a generalized rigid body diagram of motor grader 100 an a calculation of WOiid-spaee positions 146, according to some embodiments of the present disclosure. In the illustrate embodiment, motor grader 100 includes body 158, drawbar 1 1 Q, and blade 122, connected by a first articulating connection 164A (between body 158 and drawbar 110) and a second: artieuiating connection 164B (between drawbar 1 0 and blade 122). Machine-space reference point 140 may be positioned at first articulating connection 164A, among other possibilities. In some embodiments, second artieuiating connection 164B may include one or more rigid bodies, articulating connections, and/or actuators between drawbar 110 and blade 122. In: some embodiments, blade 122 includes retainer 1 18 and the articulating connection between Made 122 and retainer 118. [0O95f In some embodiments, machine heading 151 is calculated based on data received front rear ON SS receiver 138 and front GNSS receiver 136. In some embodiments, space translation variable 148 is calculated based on data received from body IM 126 and front CfNSS receiver 136 hi some embodiments, machine-space positions 142 are calculated based on data received from drawbar IM 128 an blade IMU 132. In some embodiments, machine-space positions 142 are calculated based on data received from drawbar IMU 128, blade IMU 132, rotation sensor 130, shift sensor 134, and/or yoke pin IMU(s) 172. When machine-space positions 142 are calculated based on data received from yoke pin IMU(s)

172, circle yaw angle 178 may optionally be calculated, In some embodiments, world-space positions 146 are calculated based on space translation variable 148 and machine-space positions 142.

100961 FIG. 9 illustrates a machine control system 150, according to some embodiments of the present disclosure. Machine control system 150 includes various sensors, input devices, actuators, and processors for allowing an operator of motor grader 100 to complete a high- precision grading operation. The components of machine control system 150 may be mounted to r integrated with the components of motor grader 100 such that motor grader 100 may include machine control system 150. The components of machine control syste 150 may be communicatively coupled to each other via one or more wired and/or wireless connections. [60971 Machine control system 150 may include a control bos 160 that receives data from sensors 154, user input device 152, and a central computing system 162, an generates commands that are sent to actuators 156 Control box 160 may include one or more:

processors and an associated memory, in some embodiments, control box 160 may be communicatively coupled to central computing syste 162 located external to machine control system 150 and motor grader 100. Central computing system 162 may send instruction s to contro l box 160 of the details of a grading operati on, such as an area to be graded, a desire slope, etc. Central computing system 162 may also send alerts and other general information to control box 160, such as traffic conditions, weather conditions, the locations and status of material transfer vehicles, and the like. [00981 hi some embodiments, machine control system 150 includes a user input device 152 for receiving a desired slope (or other instruction) an sending the desired slope to control box 160, User input device 152 may be a keyboard, a touchscreen, a touchpad, a switch, a lever, a button, a steering wheel, an acceleration pedal, a brake pedal, and the like. User input device 152 may be mounted to tractor 102, within cab 104, or any other physical part of motor grader 100. User input device 152 may further receive user inputs indicating a desire movement speed of Motor grader 100, a desired turning angle of motor grader 100, a desired operational position of an of actuators 156, and the like.

[0099} FIG. 10 illustrates a metho 1000 of operating motor grader 100, according to some embodiments of the present dis closure. One or more steps of method 1000 may b e performed in a different order than that shown in the illustrated embodiment, and one or more steps of method 1000 may be omitted during performance of metho 1000, [0100J At ste 1002, sensor data detected by sensors 154 is receive In some

embodiments * the sensor data is received by control box 160 from sensors 154. The sensor data may include body angle data detected by a body angle sensor (e.g., body IMU 126} mounted to body 158, drawbar angle data detected by a drawbar sensor (e.g , drawbar IMU 128} mounted to drawbar 110, blade angle data detected by a blade sensor (e.g., blade IMU 132) mounted to blade 122, and a geospatial position of body 158 within world space detected by front GNSS receiver 136 mounte to body 158. The sensor data may be receive sequentially or concurrently by control box 160. The sensor data May include raw data or may directly include the quantities of interest For example, the body angle data may include a yaw angle, a pitch angle, and/or : roll angle associated with, angular movement of body 158, the drawbar angle data may include a yaw angle, a pitch angle, and/or a roll angleassociated with angular m ovemen t of drawbar 110, and the blade angle data may incl ude a yaw angle, a pitch angle, and/or a roll angle associated with angular movement of blade 122

[0101! At step 1004, control box 160 calculates first an second machine-space positions 142 base on the drawbar angle data and the blade angle data. In some embodiments, first and second machine-space positions 142 are calculated in reference to machine-space reference point 140. In some embodiments, first and second machine-space positions 142 are located at opposite ends along a bottom tip of blade 122, or at some other predetermined locations along blade 122. In one example, first and second machine-space positions 142 are initialized when motor grader 100 is powered on (to the previously calculated values w'hen motor grader 100 was last powered off,; or to a predetermined initial set of values), and the initi lized values are modified using 3D transformation techniques based on the yaw angles, pitch angles, and roll angles of the dra wbar angle data and the blade angle data. (0102f A t step 1006, control box 160 calculates space translation variable 148 based on the geospatial position of body 158 and the body angle data. In some embodiments, space translation variable 148 includes a vector beginning at machine-space reference point 140 and ending at world-space reference point 144 (or vice-versa) that allows translation of 3 D coordinates between the machine space an the world space. In some embodiments, calculating space translation variable 148 includes: first calculating reference vector 147 (the vector beginning at the geospatial position of body 158 an ending at machiiie-spaee reference point 140) based on the body angle data, and then adding or subtracting reference vector 147 to/ifom the geospatial position of body 158, In one example, space translation variable 148 is initialized when motor grader 100 is powered on (to the previously calculated value when motor grader 300 was last powered off, or to a predetermined initial value), and the initialized value is modified using 3D transformation techniques based on the yaw angle, pitch angle, and ro ll angle of the body angle data.

[¾103| At step 1008, control box 160 calculates first and second world-space positions 146 based on space translation variable 148 (i.e., based on geospatial position of body 158 and the body angle data) and first and second machine-space positions 142 (i.e., based on the drawbar angle data and the blade angle data) in some embodiments, first and second wOxM-space positions 146 are calculated in reference to WOrld-space reference point 144. In some embodiments, first and second world-space positions 146 are calculated by adding or subtracting space translation variable 348 to/froiri first and second machine-space positions 142,

(01041 At ste 1010, movement of at least one of first articulating connection 164A and second articulating connection I64B is caused based on first and secon world-space positions 146, hi some embodiments, the movement is caused by control box 160 generating and sending a command to one of actuators 156. The command may be generated as a result of a computation that models the current position of blade 122 using first and second world- space positions 146. For example, control bo 160 may generate and send a command to retainer cylinder 120 to increase the pitch angle of blade 122 because a current pitch of blade 22, as indicated by first and second world-space positions 146, is less than a desired pitch angle. As another example, control box 160 may generate and send commands to left and right cylinders 114 to decrease the elevation of blade 122 because a current elevation Of blade 122, as indicated by first an second world-space positions 146, is greater than a desired elevation. Other: possibilities are contemplated. (0105! FIG. 11 illustrates a block diagram of GNSS receiver 1 100, according to some embodiments of the pres ent disclosure. The following description of GNSS receiver 1100 may correspond to either of front GNSS receiver 136 or rear GNSS receiver 138:, In some embodiments, GNSS receiver 1 100 includes ait antenna 11 16 for receiving GNSS signals 149 from GNSS satellites 150 and sending/routing a signal related to GNSS signals 149 to a front end 1 140, Antenna 11 16 may be linearly or circularly polarized * may be mounted or embedded, may be a single antenna or an array antenna, may have a narrow or wide bandwidth, among other possibilities. Front end 1140 may include a band-pass filter 1 1.17 for initially filtering out undesirable frequency components outside the frequencies of interest, a low-noise amplifier (LIMA) 1 1 18 for amplifying the receive signal, local oscillator 1 120 and mixer 1122 for down converting the received signal from RF to intermediate frequencies (IF), a band-pass filter 1124 for removing frequency components outside IF, an an analog-to-digita! (A/D) converter 1126 for sampling the received signal to generate digital samples 1128. (01061 hi some instances, front end 1 140 includes additional or fewer components than that shown hi FIG. 1 1 , For example, front end 1 140 may include a second local osc llator (90 degrees out of p hase with respect to local osci llator 1120), a second mixer, a second bandpass filter, and a secon A/D converter For generating digi tal samples corresponding to the quadrature component of GNS S signals 149, Digital samples corresponding to the in-phase component of GN SS signals 149 and digital samples corresponding to the quadrature component of GNSS signals 149 may both be sent to receiver processor 1 132. In some embodiments, digital samples corresponding to both In-phase an quadrature components may be included in digital samples 1128 hi: some embodiments, receiver processor :! 132 may include one or more correlators. (01O7| Other components within front end 1140 may include a phase-locke loop (PLL) for synchronizing the phase of local oscillator 1120 with the phase: of the recei ved signal, and a phase shifter for generating- a second mixing signal using local oscillator 1120 that is 90 degrees out of phase with local oscillator 1120. In some embodiments, front end 11.40 does not include band-pass filter 1 1 17 and LNA 1 1 18. In some embodiments, A/D converter 1126 is coupled directl to antenna 1116 and samples the RF signal directly without down- conversion to IF. In some embodiments, front end 1140 only includes band-pass filter 11 17 and A/D converter 1 126. Other possible configurations of front end 1 14:0 are contemplated. [0198j Recei ver processor 1132 may perform one or more correlations on digital samples 1128 using local codes to generate distance estimates between GNSS receiver 1100 and GNSS satell ites 150. In some embodimen ts, one or more components of recei ver processor 1132 (such as, tor example, one or more correlators) include specific pieces of hardware, such as an application-specific integrated circuit (AS IC) or a field-programmable gate array (FPCJA). In some embodiments, operations perfonaed by receiver processor 1132 are performed entirely in software using digital signal processing (DSP) techniques. After generating the distance estimates, receiver processor 1 132 may perform trilateration to generate a position estimate for GNSS receiver 1 100. After generating at least on position estimate, receiver processor 1132 may output position data 1170 comprising a single or a plurality of GNSS points (i.e., position estimates). Each of the plurality of GNSS points may be a 3D coordinate represented by three numbers. In some embodiments, the three numbers may correspond to latitude, longitude, and eievation/altitude. In other embodiments, the three numbers may correspon to X, Y, and Z positions, Position data 1 170 ma be outputted to be displayed to a user, transmitted to a separate device (e.g., computer, smartphone, server, etc.) via a wired or wireless connection, or further processed, among other possibilities.

[0109 FIGS. I2A-12D Illustrate a trilateration technique performed by GNSS receiver 1100 to generate a position estimate, according: to: some embodiments of the present disclosure.: FIG. 12A shows a first scenario; in which GNSS: receiver 1 100 receives GNSS signals 140 from a first satellite and generates a distance estimate: (e.g., 20,200 k n) for that satellite. This informs GNSS receiver 1100 that it is locate somewhere on: the surface of a sphere with a radius of 20,200 km, centered on the first satellite FIG, G2B shows a secon scenario in which GNSS receiver 1 100 receives GNSS signals 149 from a second satellite and generates a distance estimate (e.g., 23,000 km) for th additional satellite. This informs GNSS receiver 1 100 that it is also located somewhere oft the surface of a sphere with a radius of 23,000 km, centered o the second satellite. This limits the possible locations to somewhere on the circle where the first sphere and second sphere intersect,

[01 ϊϋ) FIG. 12C shows a third scenario i which GNSS receiver 1100 receives G SS signals 149 from a third satellite an generates a distance estimate (e.g., 25,800 km) for the additional satellite. This informs GNSS receiver 1 100 that it is also located somewhere on the Surface of a sphere with a radius of 25,800 km, centered on the third satellite. This limits the possible locations fo two points where the first sphere, the second sphere, and the third sphere intersect. FIG. 12D shows a fourth scenario in which GNSS receiver 1 100 receives GNSS signals 149 from a fourth satellite. The fourth satellite can be used to resolve which of' the two points is the correct one (by generating a fourth sphere} and/or to synchronize the receiver’s clock with the satellites’ time.

[Dill! FIG. 13 illustrates a simplified computer system 1300, according to some embodiments of the presen t di sclosure. Computer system 1300 as illustrated in FIG. 13 m a be: incorporated into devices such as control box 160 sensors 154, actuators 156, or some other device described herein. FIG, 13 provides a schematic illustration of one embodiment of computer system 1300 that can perform some or all of the steps of the methods provided by various embodiments. It should be noted that FIG. 13 is meant only to provide a generalized illustration of various components, any or all of which may be utilized as appropriate. FIG. 13, therefore, broadly illustrates how individual system elements may be implemented in a relati vely separated or more Integrated manner.

[01121 Computer system 1300 is shown comprising hardware elements that can be electrically coupled via a bus 1305, or may otherwise be in communication, as appropriate. The hardware elements may include one or more processors 1310, including without limitation one or more general-purpose processors and/or one or more special-purpos processors such as digital signal processing chips; graphics acceleration processors, and/or the like; one or more input devices 1315, which can include, without limitation a mouse, a keyboard, a camera, and/or the like; and one or more output devices 1320, which can incl ude, without limitation a display device, a printer, and/or the like,

[0113 Computer system 1300 may further include and/or be in communication with one or more noo-transitory storage devices 1325, which can comprise, without limitation, local and Or network accessible storage, and or can include, without limitation, a disk drive, a: drive array, an optical storage device, a solid-state storage device, such as a random access memory ('"RAM"), and/or a read-only memory (“ROM”), whic can be programmable, flash- updateable, and/or the like. Such storage devices may be configured to implement any appropriate data stores, including without limitation, various file systems, database structures, and/or the like.

[01141 Computer system 1300 might also include a communications subsystem 1330, which can include, without limitation a modem, a network card (wireless or wired), an infrared communication device, a wireless communication device, and/or a chipset such as a Bluetooth™ device, an S02.1 1 device, a WiFi device, a WiMax device, cellular communication facilities, etc., and/or the like. The communications subsystem 1330 may include one or more input and/or output eOirsniunieation interfaces to permit data to he exchanged wi th a network such as the network described below to name one example, to other computer systems, and/or any other devices described herein. Depending on the desired functional ty and/or other implementation concerns, a portable electronic device or similar device may communicate image and/or other information via the communications subsystem 1330 In other embodiments, a portable electronic device, e.g the first electronic device, may be incorporated into computer syste 1300, e.g., an electronic device as as input device 1315 in some embodiments, computer system 1300 will further comprise a working memory 1335, which can include a RAM or ROM device, as described above.

[01151 Computer system 1300 also can include software elements, shown as being currently located within the working memory 1335, including an operating system 1340, device dri vers, executable libraries, and/or other code, such as one or more application programs 1345, which may comprise computer programs provided by various embodiments, and'Or may be designed to implement methods, and/or configure systems, provided by other embodiments, as described herein. Merely by way of example, one or more procedures described with respect to the methods discussed above can be implemented as code and/or instructions executable by a computer and/or a processor within a computer; in an aspect, then, such code and/or instructions can be used to configure and/or adapt a general purpose computer or other device to perform one or more operations in accordance with the described methods,

(01161 A set of these instructions and/or code may he stored on a lion-transitory computer- readable storage medium, such as the storage deviee(s) 1325 described above hi some eases, the storage medium ight be incorporated within a computer system, such as computer system 1300. In other embodiments, the storage medium might he separate fe a computer system e.g,, a removable medium, such as a compact disc, and/or provided in an installation package, such that the storage medium can be used to program, configure, and/or adapt a general purpose computer with the instruetions/code stored thereon. These instructions might take the form of executable code, which is executable by computer system 1300 and/or might take the form of source and/or installable code, which, upon compilation and/or installation on computer system 1300 e.g., using any of a variety' of generally available compilers, installation programs, comptessio i/decompression utilities, etc., then takes the form of executable code. [0117 J It will be apparent to those skilled in the art that substantial variations may he made in accordance with specific requirements. For example, customized hardware might also be used, and/or particular elements plight be implemented In hardware or software incl uding portable software, such as applets, etc,. Or both. Further, connection to other computing devices such as network input-output devices may be employed,

[0118| As mentioned above, in one aspect, some embodim en is may employ a computer system such as computer system 1300 to perform methods in accordance with various embodiments of the technology. According to a set of embodiments, some or all of the procedures of such methods are performed by computer system 1300 in response to processor 1310 executing one or more sequences of one or more instructions, which might be incorporated into the operating system 1340 and/or other code, such as an application program 1345, contained in the working memor 1335. Such: instructions ma be read into the working memory 1335 from another computer-readable medium, such as one or more of the storage deviee(s) 1325. Merely by way of example, execution of the sequences of instructions contained in the working memory 1335 might cause the processor(s) 1310 to perform one or more procedures of tire methods described herein. Additionally or

alternatively, portions of the methods described herein may be executed through specialized hardware,

[01191 The terms“machine-readable medium” and“computer-readable medium,” as used herein, refer to any medium that participates in providing data that causes a machine to operate in a specific fashion. In an embodiment implemented using computer syste 1300, various computer-readable media might be involved in providin instructions code to processor(s} 131.0 for execution and/or: might be used to store and/or carry such

instructions/code, in many implementations, a computer-readable medium is a physical and or tangible storage medium. Such: a medium may take the form of a non-volatile media or volatile media. Mon-volatile media include, for example, optical aiid/or magnetic disks, such as the storage device(s) 1325 Volatile media include, without limitation, dynamic memory, such as the working memory 1335.

[0120 j Common forms of physical and/or tangible computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any oth er magnetic medium, a C D-ROM, any other optical medium, punehcards, papertape, any other physical medium with patterns of holes, a RAM, a PROM, EPROM, a FRASH-EPRQM, any other memory chip or cartridge, or any other medium from which a computer can read instructions and/or code.

[01 1J Various forms of computer-readable media may be involved in carrying one or more sequences of one or more instructions to the processor(s) 1310 for execution , Merely by way of example, the instructi ons may initially be carried on amagnetic disk: and/or optical disc of a remote computer. A remote computer might load the instructions into its dynamic memory' and send the instructions as signals over a transmission medium to be received and/or executed by computer system 1300.

[M22| The communications su bsystem 1330 and/or co ponents thereof generally will recei ve signals, and the bus 1305 then might carry the signals and/or the data, instructions, etc. carried by the signals to the working memory 1335, from which the processor's) 1310 retrieves and executes the instructions. The instructions received by the working memor 1335 may optionally be store on a n on-transitory storage device 1325 either before or after execution by the processors) 1310. [0123| The methods, systems, and devices discussed above are examples. Various configurations may omit, substitute, or add various procedures or components as appropriate. For instance, in alternative configurations, the methods may be performed in an order different from that described, and'or various stages may be added, omitted, and/or combined. Also, features described with respect to certai configurations may be combined in various other configurations. Different aspects and elements of the configurations may be combined in a similar manner. Also, technology evolves and, thus, many of the elements are examples and do not limit the scope of the disclosure or claims.

[(1124! Specific details are given in the description to provide a thorough understanding -of exemplary configurations including implementations. However, configurations may be practiced without these specific details. For example, well-known circuits, processes, algorithms, structures, and techniques have been shown without unnecessary detail in order to avoid obscuring the configurations. This description provides example configurations only, and does not limit the scope, applicability, or configurations of the claims. Rather, the preceding description of the configurations will provide those skilled in the art with an enabling descriptio for implementing described techniques Various changes may be made i the functi on and arrange ent of elements wi thout departing from the spirit or scope of the disclosure. [ill 25 J Also, configurations may be described as a process which is depicted as a schematic flowchart or block diagram. A lthough each may describe the operations as asequential· process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be rearranged A process may have additional steps hot included in the figure. Furthermore, examples of the methods may be implemente by hardware, software, firmware, middleware, microcode, hardware description languages, o any combination thereof. When implemented in software, firmware, middleware, or microcode, the program code or code segments to perform the necessary tasks may be stored in a non- transitory computer-readable medium such -as a storage medium. Processors may perform the described tasks.

[0126] Haying described several example configurations, various modifications, alternative constructions, and equivalents may be used without departing from the spirit of the disclosure. For example, the above elements may be components of a larger system, wherein other rales may take precedence over or otherwise modif the application of the technology. Also, a number of steps may be undertaken before, during, or after the above elements are considered. Accordingly, the above description does not hind the scope of the cl aims.

[01 7] As used herein and in the appended claims, the singular forms ** a , : *‘an”, an s the” include plural references unless the context clearly dictates otherwise. Thus, for example, reference to“a used 5 includes a plurality of such users, an reference to“the processor” includes reference to one or more processors and equivalents thereof known to those skilled in the art, and so forth.

[0128] : Also, the words“comprise”,“comprising”,“contains’’,“Co ntaining”,“include”, “including”, and“includes”,: hen used in this specification and in the following claims, are intended to specify the presence of stated features, integers, components, or steps, but they do not preclude the presence or addition of one or more other features, integers, components, steps, acts, or groups.