Patent ID: 12223659

DETAILED DESCRIPTION

FIG.1is a high-level block diagram of an example software architecture in which improved techniques for extracting and displaying superelevation data from 3D roadway models may be implemented. The architecture may be divided into client-side software110executing on one or more computing devices arranged locally (collectively “client devices”) and cloud-based services software112executing on one or more remote computing devices (“cloud computing devices”) accessible over the Internet. Each computing device may include processors, memory/storage, a display screen, and/or other hardware (not shown) for executing software, storing data and/or displaying information. The client-side software110may include client software (or simply “clients”)120operated by users. The clients120may be of various types, including desktop clients that operate directly under an operating system of a client device and web-based clients that operate within a web browser. The clients120may be concerned mainly with providing user interfaces and interacting with the application program interfaces (APIs) of cloud-based services that perform more computing resource intensive tasks.

The cloud-based software112may include a scalable cloud platform (e.g., an iTwin® platform)130that provides APIs and libraries to support cloud based software services (or simply “services”)140that interact with the clients120to enable users to create, modify, view, analyze, simulate and/or otherwise interact with infrastructure models (e.g., iModel® models), including 3D roadway models. Such 3D roadway models may consist of a number of meshes, including a roadway mesh representing the pavement surface of the road, and other meshes (e.g., a curb mesh, sidewalk mesh, aggregate mesh, etc.) that represent other components of the roadway.

The scalable cloud platform (e.g., iTwin® platform)130may include an infrastructure modeling hub service (e.g., an iModelHub™ service)150that functions as a control center for infrastructure models (including 3D roadway models), coordinating concurrent access and changes resulting in different versions. To accomplish this, the infrastructure modeling hub service150may maintain briefcases170and a set of accepted changesets180in a repository160-164. When services140/clients120desire to operate upon an infrastructure model they may obtain a briefcase170from a repository160-164closest to the desired state, and those accepted changesets170from the repository160-164that when applied bring that briefcase up to the desired state. When services140/clients120make a change, they may create a local changeset that represents pending changes. Subsequently, the local changeset may be pushed back to the infrastructure model hub services150to be added to the set of accepted changesets180.

The services140may include a design review service (e.g., an iTwin Design Review™ design review and project coordination service)142. The design review service142may include software tools (or simply “tools”) for discipline-specific reviews of infrastructure models (including 3D roadway models), permitting efficient coordination of trades and authorization of data for release. In an application tailored for roadway design, construction and/or maintenance, the design review service142may include discipline-specific tools for extracting and displaying on a client120roadway data from a 3D roadway model, including a superelevation tool144for extracting and displaying superelevation data.

FIG.2is a flow diagram of an example sequence of steps200that may be executed by a superelevation tool144of a design review service142for extracting and displaying superelevation data from a 3D roadway model. The sequence of steps200may be triggered in response to user input in the user interface of a client120in communication with the superelevation tool144of the design review service142.

As discussed above, the 3D roadway model may consist of a number meshes, including one or more roadway meshes representing the pavement surface of the roadway and other meshes that represent other components of the roadway. The meshes are commonly arranged according to a horizonal (i.e. x-y plane) and vertical (i.e. z-axis) alignment. At step210, the superelevation tool144may access the one or more roadway meshes and the horizonal alignment. The superelevation tool144may also access a number of parameters, that may be configured (e.g., in response to user input on a client120) for a particular superelevation extraction task or have default values. The parameters may include a discard bottom-face normal angle threshold, a dot product tolerance threshold, a cross-slope lock tolerance threshold, and a maximum gap threshold, among other thresholds.

At step220, the superelevation tool144may extract a plurality of template drops from the one or more roadway meshes at locations along the horizonal alignment to produce an ordered list of template drops, and process the template drops of the ordered list to identify top-facing roadway edges in each template drop that represent top pavement surface of the roadway at the location of the template drop. As used herein, the term “template drops” refers to cross-sectional templates cut (“dropped”) at locations (e.g., stations) along a horizonal alignment of a roadway that describe the anatomy of the roadway (e.g., the pavement, curbs, sidewalks, aggregate, etc.). A template drop may be extracted by determining edges of polygons of the roadway mesh at the location that are perpendicular to the horizontal alignment, and then processing and sorting those edges.

FIG.3is a diagram of an example template drop300that may be extracted as part of sub-step221. The template drop includes top-facing roadway edges310that represent the top-facing pavement surface of the road, as well as additional edges320,330,340that represent curbs, sidewalks, and bottom-facing and side-facing surfaces of the pavement. The top-facing roadway edges310are the edges that are of primary concern in relation to the techniques described herein.

Step220may be broken down into a number of sub-steps that perform individual processing and sorting tasks. At sub-step221, at each location (e.g., station), the superelevation tool144may detect if face normal vectors of the roadway mesh should be flipped (i.e. inverted). The roadway mesh of the 3D roadway model may be composed of faces (e.g., triangles) each having a normal vector indicating the direction the face is oriented. These faces may be arranged into closed shapes that represent the pavement and other components of the roadway anatomy (e.g., curbs, sidewalks, aggregate, etc.). One problem is that the roadway mesh may have inconsistent windings (e.g., all the faces of the roadway mesh may have normal vectors pointing inward where a convention may be for normal vectors to be pointed outward). In this sub-step, a check is performed for inconsistent windings and, if detected, the direction of face normal vectors is flipped (inverted).

At sub-step222, at each location (e.g., station) the superelevation tool144may iterate over every face of the roadway mesh and classify its edges. As part of sub-step222, the superelevation tool144may discard bottom-facing faces that would not contribute any top-facing roadway edges. This may be performed by comparing face normal vectors to upright, and determining if the angle therebetween exceeds the discard bottom-face normal angle threshold. In one implementation, the discard bottom-face normal angle threshold may be set by default to 90°. Of the remaining faces, the superelevation tool144may determine if any have edges that are substantially perpendicular to the horizonal alignment. This may be performed by finding a closest point on the horizonal alignment and testing if a dot product between the edge and the horizontal alignment is tangent within the dot product tolerance threshold. In one implementation, the dot product tolerance threshold may be set by default to 0.001. The remaining substantially perpendicular edges are then listed as potential top-facing roadway edges for the location (e.g., station).

At sub-step223, at each location (e.g., station) the superelevation tool144may sort the potential top-facing roadway edges using the closet point on the horizonal alignment as a reference point to produce top-facing roadway edges of the template drop. As part of sub-step223, the superelevation tool144may discard duplicate edges by detecting edges that overlap. The superelevation tool144may further normalize edge start and stop points to be specified in a predetermined direction (e.g., always left-to-right). The superelevation tool144may further sort edges in an order according to predetermined directions (e.g., left-to-right and top-to-bottom).

At sub-step224, the superelevation tool144may group top-facing roadway edges of each template drop into disjoint groups that correspond to travel-ways. As used herein, a “travel-way” refers to a collection of one or more lanes of a roadway that are group together. The lanes of a travel-way may be designed for a same vehicular traffic direction (e.g., as in a divided highway), or designated for travel in opposing directions. As part of sub-step224, the superelevation tool144may cluster top-facing roadway edges into groups by determining if their proximity is less than the maximum gap threshold. In one implementation, the maximum gap threshold may be set by default to 0.3 meters (m). The superelevation tool144may find a high point of each group, and classify top-facing roadway edges as being to a left-side or right-side of the high point. The superelevation tool144may also sort groups relative to the closest point on the horizonal alignment that is used as a reference point

FIG.4is a diagram of an example template drop400having two travel-ways whose top-facing roadway edges410,420may be grouped into two disjoint groups as part of sub-step224. Each of the two groups may have a high point412,422around which the top-facing roadway edges may be classified.

At sub-step225, the superelevation tool144may sort extracted template drops by their location (e.g., station) along the horizonal alignment to produce an ordered list of template drops. Each template drop at this point includes travel-way grouped top-facing roadway edges classified based on the side (e.g., left or right) of the travel-way high point.FIG.5is an example 3D model500of an roadway showing ordered template drops along an alignment510. The template drops are arranged at location520and extend across the roadway which is divided into two travel-ways. Top-facing roadway edges are grouped into the two travel-ways, and sorted into left and right side530,540(here corresponding to left and right lanes) of high point550(here corresponding to a center of the travel-way).

At step230, the superelevation tool144may iteratively search for a superelevation candidate, and detect superelevation data from the superelevation candidate, at least in part by comparing cross-slopes of the top-facing roadway edges of consecutive template drops in the ordered list and looking for one or more predetermined patterns. For roadways with multiple travel-ways, the searching may be performed separately for each travel-way, comparing cross-slopes of the top-facing roadway edges of the group corresponding to the same travel-way. The predetermined patterns may include a pattern where two or more consecutive template drops have cross-slopes that are locked, which typically indicates the roadway/travel-way is in superelevation. As used herein, the term “cross-slope” refers to a slope measured across the width of a roadway or travel-way (i.e. perpendicular to the horizonal alignment). As used herein, the term “locked” (in reference to a cross-slope) refers to a situation where substantially all (e.g., all relevant) portions of the cross-slope having a substantially same (e.g., equal) non-zero value.

The predetermined patterns may include additionally, or alternatively, patterns that indicate aspects of entrance or exit transitions for the superelevation. The predetermined patterns may indicate features, such as where the crown has been removed, where an entrance/exit transition begins/ends, and/or where there is reverse crown, as discussed in more detail below.

FIG.6is a diagram600of an example roadway transitioning from normal crown to superelevation, which may assist in understanding the one or more predetermined patterns the superelevation tool144looks for as part of step530. Initially (at station 5+00 ft.) the example roadway is at normal crown, having 2% cross-slope in the lanes and 5% in the shoulder at on either side of the center line610. When in full superelevation (at station 6+25 ft.), the roadway has cross-slopes for the lanes and shoulder that are locked at 5% towards the inside of the curve. In-between the normal crown and full superelevation there is a superelevation transition that includes a crown removed stage and a reverse crown stage. In the crown removed stage (at station 5+50 ft.), the example roadway has 0% cross-slope to one side of the center line610and 2% cross-slope in the lane and 5% in the shoulder to the other side. In the reverse crown stage (at station 5+75 ft.), the example roadway has a 2% cross-slope of everything to one side of the center line610and the lane to the other side, but has a shoulder with a 5% cross-slope.

Step230may be broken down into a number of sub-steps that perform individual searching and pattern matching tasks. At sub-step231, the superelevation tool144may detect a pattern indicating superelevation. To do so the superelevation tool144may look for cross-slopes of the top-facing roadway edges of two or more consecutive template drops that are locked. To determine the cross-slopes of the top-facing roadway edges are locked, the superelevation tool144may determine whether their non-zero value differs from each other by more than the cross-slope lock tolerance threshold. In one implementation, the cross-slope lock tolerance threshold may be set by default to 0.009%. The range of consecutive template drops having such property may coincide with the start and stop points of superelevation.

In some cases, the top-facing roadway edges may include small edges (sometimes referred to as “tails”) near the side of the pavement that have different slopes than the rest of the pavement surface. These tails may be created during pavement mesh construction.FIG.7is a diagram700of example roadway including a small edge (tail)710near the side of the pavement. If such small edges (tails) were considered, it could disrupt the detection of superelevation. To prevent this, as part of sub-step231, the superelevation tool144may disregard as irrelevant any top-facing roadway edges smaller than a predetermined threshold or with slopes greater than a predetermined threshold of (e.g., ˜15%).

Within the range of consecutive template drops having cross-slopes that are locked, the cross-slope values may rise and fall from template drop to template drop (i.e. two consecutive template drops may have cross-slopes locked at different values). Such rising and falling may coincide with transitioning between a lesser amount of superelevation and full superelevation (i.e. the maximum banking of the pavement surface for a given curve).

At sub-step232, the superelevation tool144may detect a pattern indicating full superelevation. To do so the superelevation tool144may first detect any subrange of two or more template drops within the range that each have the same cross-slope value. The superelevation tool144may then determine the subrange having the maximum cross-slope value and conclude this subrange corresponds to full superelevation.

While the most common superelevation scenario has cross-slope ascend to a maximum, hold for a time, and then descend (completing a full entrance and exit transition from superelevation), there may be scenarios where a roadway does not transition back to normal crown before entering another superelevation. To deal with these scenarios, the superelevation tool144may individually look for patterns that indicate where the crown has been removed, where an entrance/exit transition begins/ends, and/or where there is reverse crown, to determine if these features are present, and, if so, where they occur.

At sub-step233, the superelevation tool144may look for a pattern indicating the crown has been removed before or after a superelevation. To do so, the superelevation tool144may iterate through template drops before and after the superelevation range in the ordered list and look for any template drop in which the cross-slope of least a portion of the top-facing roadway edges has a value of zero (0%). Such a template drop may be considered to have crown removed.

At sub-step234, if there is a crown removed, the superelevation tool144may look for a pattern indicating where the entrance/exit transition begins/ends on either side of the superelevation. To do so the superelevation tool144may iterate through template drops of the ordered list before/after the identified crown removed, and look for a nearest template drop in which the cross-slope to either side of the high point has the same absolute value but is oppositely signed. Such a template drop may be considered to be where an entrance/exit transition begins/ends for the superelevation.

At sub-step234, if an entrance/exit transition has been found, the superelevation tool144may look for a pattern indicating there is a reverse crown. To do so the superelevation tool144may determine a centerline of the roadway/travel-way by setting a line passing through the high point of the template drop at normal crown and parallel to the horizontal alignment, and looking for a template drop in which the cross-slope to either side of the centerline has the same absolute value and is same signed.

At sub-step235, the superelevation tool144may also determine a beginning/ending of the curve in the roadway for which the superelevation is provided. To do so, the superelevation tool144may examine underlying primitives in the horizonal alignment, between the locations (e.g., stations) of the superelevation candidate.

At step240, the superelevation tool144may provide a visualization or other output of the detected superelevation data, which may be displayed in the user interface of a client120or otherwise utilized. The visualization may be a graphical visualization, in which a view of the 3D roadway model is shown and detected superelevation data is labeled on such view.FIG.8Ais a screen shot of an example graphical visualization of superelevation data. A line810may indicate the horizonal alignment of the roadway. The roadway itself may be coded with colors, patterns, or other indica to graphically indicate where the road is in normal crown, or is in a transition entering or exiting a superelevation, or is in full superelevation. Labels may be provided to indicate superelevation data, including locations where there is normal crown (NC), crown removed (CR), reverse crown (RC), full superelevation (FS) and the beginning (PC) and the ending (PT) of a curve.FIG.8Bis a screen shot of an example enlarged graphical visualization of superelevation data. In this close up, in addition to the superelevation data shown inFIG.8A, arrows may be provided to show cross-slope directions and additional labels may be provided to show numeric cross-slope values.

It should be understood that various adaptations and modifications may be readily made to what is described above to suit various implementations and environments. While it is discussed above that many aspects of the techniques may be implemented by specific software modules executing on hardware, it should be understood that some or all of the techniques may also be implemented by different software on different hardware. In addition to general-purpose computing devices, the hardware may include specially configured logic circuits and/or other types of hardware components. Above all, it should be understood that the above descriptions are meant to be taken only by way of example.