Tower crane hoisting digital twinning intelligent deduction method and device based on REVIT
Through the REVIT-based digital twin intelligent deduction method for tower crane lifting, the curvature adjustment grid density and lifting simulation calculation are used to solve the problem of timely warning and accuracy of tower crane lifting simulation, and the accuracy and lifting efficiency of lifting load calculation are improved.
Patent Information
- Application Number
- CN202510562857.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-30
- Publication Date
- 2025-08-08
AI Technical Summary
The problem of tower crane lifting simulation cannot be promptly warned and has poor accuracy, especially the nonlinear impact of boom expansion and contraction on lifting weight cannot be dynamically reflected, resulting in the lifting simulation results deviating from reality and insufficient accuracy in the calculation of lifting loads.
The digital twin intelligent deduction method of tower crane lifting based on REVIT is adopted. By meshing the lifting object model, the grid density is adjusted according to curvature, the real-time maximum lifting weight is calculated in combination with lifting simulation, and an overlimit alarm prompt is performed.
It has achieved improved accuracy of load calculation of lifting objects, timely warn of over-limits during lifting, reduced the rate of lifting accidents, reduced the number of on-site trial lifting, saved costs and improved lifting efficiency.
Smart Images

Figure CN120449583A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of tower crane safety monitoring technology, and in particular to a REVIT-based tower crane hoisting digital twin intelligent deduction method and device. Background Art
[0002] With the rapid development of China's economy, the scale of domestic water conservancy, hydropower, and infrastructure projects has become increasingly larger, and their individual equipment has become increasingly large-scale and sophisticated. In addition, with the gradual implementation of modular construction, larger and heavier modules have continued to emerge. As a result, the hoisted objects have also gradually become larger and heavier. This has made the hoisting process more demanding, requiring accurate hoisting and collision prevention of the hoisted objects, and the operation difficulty is far greater than in the past.
[0003] At present, in order to ensure the safety of hoisting, tower crane hoisting simulation is usually carried out. However, the traditional tower crane hoisting simulation system has the following shortcomings: (1) It cannot dynamically reflect the nonlinear influence of boom extension and retraction on the lifting weight, that is, it cannot dynamically calculate the matching relationship between the actual lifting weight of the tower crane and the load of the hoisted object in real time. It usually relies on human experience judgment. In this way, when the working range of the boom changes, it is impossible to provide a timely warning for hoisting, and it will also cause the simulation results to deviate from reality, thereby affecting the accuracy of the simulation; (2) Traditional technology usually relies on simplified geometric approximation methods to calculate the load of the hoisted object, that is, the model surface of the hoisted object is meshed according to a fixed density for approximate simplification. Based on this, the details of the high curvature area are lost, and the real volume of the surface cannot be accurately calculated, resulting in poor calculation accuracy of the load of the hoisted object, which further affects the accuracy of the hoisting simulation; Therefore, based on the above shortcomings, how to provide a REVIT-based tower crane hoisting digital twin intelligent deduction method with timely warning and high accuracy has become an urgent problem to be solved. Summary of the Invention
[0004] The technical problem to be solved by the present invention is the inability to provide timely warnings and poor accuracy in tower crane hoisting simulations. The purpose is to provide a REVIT-based digital twin intelligent deduction method and device for tower crane hoisting, which solves the problem in which traditional technologies cannot dynamically reflect the nonlinear influence of boom extension and retraction on the lifting capacity, resulting in the inability to provide timely warnings for hoisting and the simulation results deviating from reality, as well as the poor accuracy of hoisting load calculation, which further affects the accuracy of hoisting simulations.
[0005] The present invention is achieved through the following technical solutions:
[0006] First, a REVIT-based digital twin intelligent deduction method for tower crane hoisting is provided, including:
[0007] Obtaining a tower crane hoisting model, wherein the tower crane hoisting model includes a tower crane model, a hoisting object model, and a hoisting scene model;
[0008] Performing grid processing on the hoisted object model in the tower crane hoisting model to generate a hoisted object grid model;
[0009] According to the curvature of each mesh patch in the hoisting object mesh model, the mesh density of each mesh patch is adjusted to obtain the optimal mesh model. When adjusting the mesh density, the mesh density of mesh patches with a curvature greater than a curvature threshold is increased, and the mesh density of mesh patches with a curvature less than or equal to the curvature threshold is decreased.
[0010] Calculating the actual weight of the hoisted object corresponding to the hoisted object model using the optimal grid model;
[0011] Based on the actual weight of the hoisted object, a hoisting simulation process is performed on the tower crane hoisting model to obtain in real time the actual working range of the tower crane model when the hoisted object model moves in the hoisting scene model, wherein the actual working range is the horizontal distance between the hook centerline and the rotation centerline of the tower crane model;
[0012] The actual weight and the actual working range of the tower crane model obtained in real time are used to calculate the real-time maximum lifting weight of the tower crane model during the lifting process, and when the real-time maximum lifting weight is less than the actual weight, an over-limit alarm is issued.
[0013] Based on the above disclosed content, after obtaining the tower crane hoisting model, the present invention will first grid the hoisting object model in the tower crane hoisting model to obtain the hoisting object grid model; then, the present invention will adaptively adjust the density of each grid facet according to the curvature of each grid facet in the hoisting object grid model, that is, increase the grid density of the grid facet whose curvature is higher than the curvature threshold, and reduce the grid density of the grid facet whose curvature is less than or equal to the curvature threshold. In this way, the optimal grid model finally obtained can have a higher density in the high curvature area, so that it can accurately describe the details of the surface, and have a lower density in the low curvature area, reducing unnecessary calculations; based on this, it can It can avoid the problem of loss of details in high curvature areas, thereby enabling accurate modeling of the curved surface on the hoisted object. Therefore, the actual weight of the hoisted object calculated using the optimal grid model has higher accuracy. After completing the calculation of the weight of the hoisted object, the present invention performs hoisting simulation on the tower crane hoisting model based on the actual weight, so as to collect the actual working range of the tower crane when the hoisted object moves in the hoisting scene in real time. Then, the actual weight of the hoisted object and the actual working range of the tower crane obtained in real time can be used to calculate the real-time maximum lifting capacity of the tower crane during the hoisting process. Finally, when the real-time maximum lifting capacity is less than the actual weight of the hoisted object, an over-limit alarm prompt can be issued.
[0014] Through the above design, the present invention adopts curvature-based grid division technology to adjust the grid density of the grid model of the hoisting object when performing hoisting simulation; in this way, compared with the simplified geometric approximation technology of traditional fixed grid density, the present invention can make the obtained grid model have a higher density in the high curvature area, so that it can accurately describe the details of the surface and avoid the problem of loss of details in the high curvature area. Based on this, the accurate grid division of the surface on the hoisting object is achieved, thereby improving the accuracy of the load calculation of the hoisting object; at the same time, the present invention also obtains the working range of the tower crane during movement in real time through hoisting simulation, and calculates the real-time maximum lifting capacity of the tower crane based on the load of the aforementioned hoisting object and the real-time obtained working range; in this way, the nonlinear effect of the boom extension and retraction on the lifting capacity is reflected, so that when the boom working range changes, timely hoisting warning can be performed based on the real-time lifting capacity, and the simulation results can be guaranteed to be in line with reality; thus, the present invention provides a hoisting simulation scheme with timely warning and high accuracy, which is very suitable for large-scale application and promotion.
[0015] In one possible design, meshing the hoisted object model in the tower crane hoisting model to generate a mesh model of the hoisted object includes:
[0016] Performing non-entity element filtering on the hoisted object model to obtain a filtered hoisted object model;
[0017] Performing data de-redundancy processing on the filtered hoisted object model to obtain a de-redundancy model;
[0018] Performing coordinate transformation on each component in the de-redundant model to map the coordinates of each component to the same coordinate system to obtain a global hoisting object model;
[0019] Performing geometric simplification processing on the global hoisted object model to obtain a preprocessed hoisted object model;
[0020] Performing triangulation processing on the pre-processed hoisting object model to obtain a triangular mesh model;
[0021] The triangular mesh model is subjected to finite element mesh division processing to obtain a tetrahedron mesh model after the finite element mesh division processing, and the tetrahedron mesh model is used as the hoisting object mesh model.
[0022] In one possible design, the mesh density of each mesh facet in the hoisting object mesh model is adjusted according to its curvature to obtain an optimal mesh model, including:
[0023] Obtaining an initial model at the t-th iteration, and determining a spatial grid topology matrix of the initial model at the t-th iteration, wherein the spatial grid topology matrix is used to characterize the connection relationship between each grid facet in the initial model at the t-th iteration, and an initial value of t is 1. When t is 1, the initial model at the t-th iteration is the hoisting object grid model;
[0024] Using the spatial grid topology matrix and according to the curvature of each grid facet in the initial model at the t-th iteration, performing a grid density adjustment process on each grid facet in the initial model at the t-th iteration to obtain a t-th adjusted initial model, wherein when performing the grid density adjustment, meshing is performed on mesh faces having a curvature greater than a curvature threshold, and mesh merging is performed on mesh faces having a curvature less than or equal to the curvature threshold;
[0025] Determining whether an iteration stopping condition is satisfied, wherein the iteration stopping condition includes that a curvature change rate between the initial model after the t-th adjustment and the initial model after the t-1-th adjustment is less than a change rate threshold;
[0026] If not, t is incremented by 1, and the initial model at the tth iteration is updated to the initial model after adjustment at the t-1th iteration, and the spatial grid topology matrix of the initial model at the tth iteration is re-determined until the iteration stop condition is met to obtain the optimal grid model.
[0027] In one possible design, the optimal grid model is associated with an optimal spatial grid topology matrix, and the optimal spatial grid topology matrix is used to characterize the connection relationship between each grid face in the optimal grid model;
[0028] The optimal grid model is used to calculate the actual weight of the hoisted object corresponding to the hoisted object model, including:
[0029] screening at least one valid grid entity from the optimal grid model according to the optimal spatial grid topology matrix, wherein any valid grid entity includes a plurality of interconnected grid units, and the plurality of grid units are connected to form a closed grid structure unit;
[0030] For any valid grid entity, calculating the volume of each grid unit in the any valid grid entity;
[0031] Summing the volumes of the grid cells in any valid grid entity to obtain the volume of the any valid grid entity, and obtaining the volume of each valid grid entity after polling all valid grid entities;
[0032] Sum the volumes of all valid grid entities to obtain the volume of the hoisted object;
[0033] The density of the hoisted object is obtained, and the actual weight of the hoisted object is calculated based on the density and volume of the hoisted object.
[0034] In one possible design, the actual weight and the actual working range of the tower crane model obtained in real time are used to calculate the real-time maximum lifting capacity of the tower crane model during the lifting process, including:
[0035] According to the following formula (1), the real-time maximum lifting capacity is calculated;
[0036]
[0037] In the above formula (1), G represents the real-time maximum lifting weight, L min Indicates the minimum working range of the tower crane model, G max It represents the maximum lifting capacity of the tower crane model at the minimum working range, L represents the actual working range of the tower crane model, and n represents the tower crane performance index.
[0038] In one possible design, when performing hoisting simulation processing on the tower crane hoisting model, the method further includes:
[0039] Acquiring motion trajectory information of a moving object in a tower crane hoisting model, wherein the moving object includes the tower crane model and the hoisting object model;
[0040] Constructing a four-dimensional space-time model of the hoisting according to the motion trajectory information, wherein the four-dimensional space-time model of the hoisting is used to represent the mapping relationship between the position of the moving object and the movement time;
[0041] Based on the four-dimensional spatiotemporal model of hoisting, a multi-level collision detection bounding box is constructed, wherein the multi-level collision detection bounding box includes a maximum bounding box of the moving object, an overall bounding box of all building components in the hoisting scene model, a motion bounding box of the moving object at different motion moments, a first local bounding box of a pre-contact area between the moving object and each building component in the hoisting scene model at different motion moments, and a second local bounding box of a specified curved surface area between the moving object and each building component, and the maximum bounding box of the moving object is used to represent the maximum motion range of the moving object during the hoisting process;
[0042] The multi-level collision detection bounding box is used to perform collision detection on the moving object at each movement moment to obtain a collision detection result, and a collision alarm prompt is issued based on the collision detection result.
[0043] In one possible design, a four-dimensional spatiotemporal model of the hoisting is constructed based on the motion trajectory information, including:
[0044] According to the motion trajectory information of the moving object, the position coordinates of the moving object at different motion moments are determined;
[0045] Associating the position coordinates of the moving object at different movement moments with the movement moments of the moving object to obtain spatiotemporal mapping information of the moving object, and associating the position coordinates of each building component in the hoisting scene model with the movement moments to obtain spatiotemporal mapping information of the environment;
[0046] The hoisting space-time four-dimensional model is generated according to the environment space-time mapping information and the space-time mapping information of the moving object.
[0047] In one possible design, a multi-level collision detection bounding box is constructed based on the four-dimensional space-time model of the hoisting, including:
[0048] Determining the maximum motion range of the moving object based on the hoisting spatiotemporal four-dimensional model, and generating the maximum bounding box according to the maximum motion range;
[0049] Constructing an overall bounding box of all building components in the hoisting scene model according to the hoisting scene model;
[0050] Generate a basic bounding box using the maximum bounding box and the overall bounding box;
[0051] Determining the position coordinates of the moving object at different movement moments according to the hoisting spatiotemporal four-dimensional model, and generating motion bounding boxes of the moving object at different movement moments based on the position coordinates of the moving object at different movement moments;
[0052] generating, based on the position coordinates of the mobile object at different movement moments, first local bounding boxes of pre-contact areas between the mobile object and each building component at different movement moments;
[0053] Performing data fusion processing on the motion bounding boxes of the moving object at different motion moments and the first local bounding boxes to obtain dynamic bounding boxes;
[0054] generating a second local bounding box for a designated curved surface area of the moving object and each building component, wherein the designated curved surface area is a curved surface area of the moving object and each building component having a curvature greater than a preset value or a surface type of a designated type;
[0055] The multi-level collision detection bounding box is generated by using the basic bounding box, the dynamic bounding box, and the second local bounding boxes of the mobile object and the designated surface area of each building component.
[0056] In one possible design, the multi-level collision detection bounding box is used to perform collision detection on the moving object at each moment of motion, including:
[0057] At any moment of motion, the position coordinates of the moving object at that moment of motion are obtained based on the motion trajectory information;
[0058] According to the position coordinates of the moving object at any moment of movement, and using a space segmentation algorithm, a target object is removed from the hoisting scene model to obtain a collision detection object, wherein the target object is an object in the hoisting scene model that has no overlapping area with a target bounding box, and the target bounding box is the motion bounding box of the moving object at any moment of movement;
[0059] Determining a first local bounding box corresponding to the collision detection object from the multi-level collision detection bounding boxes;
[0060] Determine whether the target bounding box and the first local bounding box corresponding to the collision detection object have an intersection;
[0061] If not, determining whether the second local bounding box of the designated curved surface area on the moving object and the second local bounding box of the designated curved surface area on the collision detection object intersect at any of the movement moments;
[0062] If so, the penetration depth and contact point between the moving object and the target object at any of the movement moments are calculated, and a collision detection result is generated as a collision, wherein the target object is a collision detection object that has a collision relationship with the moving object at any of the movement moments.
[0063] Secondly, a REVIT-based digital twin intelligent deduction device for tower crane hoisting is provided, including:
[0064] A model building unit is used to obtain a tower crane hoisting model, wherein the tower crane hoisting model includes a tower crane model, a hoisting object model and a hoisting scene model;
[0065] A gridding unit, configured to perform gridding processing on the hoisted object model in the tower crane hoisting model to generate a grid model of the hoisted object;
[0066] a density adjustment unit, configured to adjust the mesh density of each mesh facet in the hoisted object mesh model according to the curvature of each mesh facet to obtain an optimal mesh model, wherein when adjusting the mesh density, the mesh density of mesh faces having a curvature greater than a curvature threshold is increased, and the mesh density of mesh faces having a curvature less than or equal to the curvature threshold is decreased;
[0067] A hoisting object calculation unit is used to calculate the actual weight of the hoisting object corresponding to the hoisting object model using the optimal grid model;
[0068] a hoisting simulation unit, configured to perform hoisting simulation processing on the tower crane hoisting model based on the actual weight of the hoisted object, so as to obtain in real time an actual working range of the tower crane model when the tower crane model hoists the hoisted object model and moves in the hoisting scene model, wherein the actual working range is the horizontal distance between the hook centerline and the rotation centerline of the tower crane model;
[0069] The hoisting simulation unit is also used to calculate the real-time maximum lifting weight of the tower crane model during the hoisting process using the actual weight and the actual working range of the tower crane model obtained in real time, and to issue an over-limit alarm when the real-time maximum lifting weight is less than the actual weight.
[0070] Compared with the prior art, the present invention has the following advantages and beneficial effects:
[0071] (1) The present invention adopts a curvature-based grid division technology to adjust the grid density of the grid model of the hoisted object; thus, compared with the traditional simplified geometric approximation technology with fixed grid density, the present invention can make the obtained grid model have a higher density in the high curvature area, so that the details of the surface can be accurately described. Based on this, the precise grid division of the surface on the hoisted object is achieved, thereby improving the accuracy of the load calculation of the hoisted object; at the same time, the present invention also calculates the real-time maximum lifting capacity of the tower crane by obtaining the working range of the tower crane during movement in real time and combining it with the load of the hoisted object; thus, the nonlinear effect of the boom extension and retraction on the lifting capacity is reflected, so that when the boom working range changes, timely warning of hoisting can be carried out based on the calculated real-time maximum lifting capacity, and the simulation results can be guaranteed to be in line with reality; thus, the present invention provides a hoisting simulation scheme with timely warning and high accuracy, which is very suitable for large-scale application and promotion.
[0072] (2) The present invention also constructs a four-dimensional space-time model of hoisting based on the motion trajectory information of the moving object in the tower crane hoisting model to characterize the mapping relationship between the position of the moving object and the motion moment, and based on this, constructs a multi-level collision detection bounding box; then, the present invention uses the multi-level collision detection bounding box to perform collision detection of hoisting; in this way, through the multi-level collision detection bounding box, accurate collision detection of hoisting can be achieved, thereby reducing the accident rate of hoisting.
[0073] (3) Virtual trial lifting technology can reduce the number of on-site trial lifting, thereby saving lifting costs; at the same time, it can also shorten the planning cycle of lifting, thereby improving lifting efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0074] In order to more clearly illustrate the technical solutions of the exemplary embodiments of the present invention, the following briefly introduces the drawings required for use in the examples. It should be understood that the following drawings only illustrate certain embodiments of the present invention and should not be considered as limiting the scope. A person of ordinary skill in the art can also derive other relevant drawings based on these drawings without inventive effort. In the drawings:
[0075] Figure 1 A flowchart of the steps of the REVIT-based tower crane installation digital twin intelligent deduction method provided in an embodiment of the present invention;
[0076] Figure 2 A schematic structural diagram of a REVIT-based tower crane hoisting digital twin intelligent deduction device provided in an embodiment of the present invention. DETAILED DESCRIPTION
[0077] Example:
[0078] See also Figure 1As shown, the REVIT-based tower crane hoisting digital twin intelligent deduction method provided in this embodiment can be but is not limited to running on the hoisting simulation end side. Optionally, the hoisting simulation end can be a personal computer or a server. It can be understood that the aforementioned execution subject does not constitute a limitation on the embodiment of the present application. Accordingly, the operation steps of this method can be but are not limited to the following steps S1 to S6.
[0079] S1. Obtain a tower crane hoisting model, wherein the tower crane hoisting model includes a tower crane model, a hoisting object model and a hoisting scene model; in specific applications, the tower crane hoisting model, i.e., the aforementioned tower crane model, hoisting object model and hoisting scene model, can be constructed by calling Revit software, but is not limited to. In this embodiment, the hoisting scene model includes a site model and a building structure model, so that an accurate hoisting scene model can facilitate accurate simulation of tower crane hoisting; in addition, in this embodiment, the tower crane hoisting model can be stored in the hoisting simulation terminal in advance, and the model can be retrieved when used; of course, the position, size and attribute information of the tower crane hoisting model will also be stored, i.e., the position and size of all models, and the attribute information refers to information such as elevation, thickness, area, volume, material and color.
[0080] After obtaining the tower crane hoisting model, it is necessary to calculate the actual weight of the hoisting object so that the real-time maximum lifting capacity of the tower crane can be calculated based on the actual weight of the hoisting object, thereby realizing real-time warning of tower crane overload. Among them, traditional technology usually adopts a simplified geometric approximation technology with a fixed grid density to adjust the grid of the hoisting object model when calculating the load (i.e., the actual weight) of the hoisting object, thereby decomposing it into different grid surfaces to calculate the weight based on this. However, the aforementioned technology will cause the details of the high-curvature surface to be lost, resulting in poor grid division accuracy, thereby affecting the accuracy of the final hoisting object load calculation. Therefore, this embodiment adopts a curvature-based adaptive grid density adjustment algorithm to grid the hoisting object model, thereby meshing the model while ensuring its accuracy.
[0081] The gridding process and density adjustment process are shown in the following steps S2 and S3.
[0082] S2. Meshing the hoisted object model in the tower crane hoisting model to generate a mesh model of the hoisted object; in specific applications, the meshing of the hoisted object model in this embodiment mainly includes filtering of non-solid elements, data de-redundancy, coordinate mapping, geometric simplification, triangulation and finite element meshing, and its specific implementation process can be but is not limited to the following steps S21 to S26.
[0083] S21. Perform non-solid element filtering on the hoisting object model to obtain a filtered hoisting object model. In this embodiment, for example, but not limited to, the Revit API interface can be used to locate special-shaped building components from the hoisting object model and extract their geometric parameters, including vertex coordinates, edge topology, surface equations and other three-dimensional data. These data are the basis for subsequent processing and together describe the geometric shape and structure of the hoisting object. Then, the extracted special-shaped building components can be filtered for non-solid elements to remove non-solid elements and reduce the amount of data for subsequent processing.
[0084] In this embodiment, edge topology information includes information on the connection relationship and spatial layout between the edges of special-shaped building components, where the connection relationship indicates which edges are connected to each other to form the outline of the component; for example, the end-to-end connection relationship between the edges of a polygonal component, through which the boundary of the component can be determined; sequence information, the arrangement order between edges, which is used to determine the shape and direction of the component. For example, in a complex curved component, the order of the edges determines the direction and closure of the curve; spatial position relationship: the relative position of the edges in three-dimensional space, including their direction, angle, and spatial distance from other edges or components, etc., which helps to accurately construct a three-dimensional model of the component and understand its form in space.
[0085] In specific applications, the solid elements in the hoisting object model usually have a closed geometric shape and a certain volume. Therefore, the geometric information of each special-shaped building component can be checked to determine whether each special-shaped building component is a solid. Optionally, the FilteredElementCollector function can be used, but is not limited to, to traverse each special-shaped building component in the hoisting object model, obtain its geometric information for each special-shaped building component, and determine whether each special-shaped building component is a solid element based on the geometric information of each special-shaped building component, and retain the solid element. The FilteredElementCollector function is designed based on the iterator pattern, supports on-demand traversal of element collections in the Revit document, and can attach multiple filters (such as categories, views, spaces, etc.) through chain calls, and finally returns a list of elements or an ID set that meets all conditions. Optionally, in this embodiment, based on the geometric information of any special-shaped building component, it can be determined whether the volume of any special-shaped building component is greater than 0 or whether it forms a closed geometric shape. In this embodiment, if the above conditions are met, the special-shaped building component is retained, otherwise it is deleted.
[0086] After the non-physical elements of the hoisting object model are removed, it is necessary to remove redundant data to further reduce the amount of data to be processed. The redundant data removal process is shown in the following step S22.
[0087] S22. Perform data deduplication processing on the filtered hoisting object model to obtain a deduplication model; in specific implementation, for example, but not limited to, performing vertex deduplication processing on the filtered hoisting object model; wherein, vertex deduplication is to remove duplicate vertices in the filtered hoisting object model, that is, compare the coordinates of each vertex in the model, and merge the vertices with the same coordinates into one; further, after vertex deduplication, edge and surface optimization processing can be performed; specifically, it is based on the edge topology information and surface equations of each component in the filtered hoisting object, and removes the internal edges of the component, as well as the edges and surfaces that do not affect the external contour and volume; of course, edge and surface optimization is a commonly used technology for model deduplication, and its principle will not be repeated here.
[0088] After the redundancy removal process of the model is completed, coordinate transformation can be performed, and the process is shown in the following step S23.
[0089] S23. Perform coordinate transformation processing on each component in the de-redundant model to map the coordinates of each component to the same coordinate system to obtain a global hoisting object model; in this embodiment, since each special-shaped building component in the de-redundant model may have its own local coordinate system, different local coordinate systems will have position differences; based on this, in order to eliminate the differences caused by different coordinate systems, this embodiment needs to perform coordinate transformation processing to map each component in the de-redundant model to the same coordinate system.
[0090] In specific implementation, a global coordinate system can be determined, such as a world coordinate system. Then, the position and direction information of each component in the de-redundant model can be obtained through the Revit API. For example, the location information can be obtained using the Location property, and the direction and scaling information can be obtained through the Transform object. In this way, the origin and coordinate axis direction of the component's local coordinate system can be determined using this information. Then, a transformation matrix is constructed based on the information of the global coordinate system and the local coordinate system. In this way, the coordinates of each component in the de-redundant model can be unified into the global coordinate system through the constructed transformation matrix, thereby eliminating the differences caused by different coordinate systems. Of course, converting different coordinate systems by constructing a transformation matrix is a common technology for model mapping, and its principles will not be repeated here.
[0091] Thus, after the coordinate transformation is completed based on the aforementioned step S23, the model can be geometrically simplified to reduce the amount of data processing; wherein, the model geometric simplification process is shown in the following step S24.
[0092] S24. The global hoisting object model is geometrically simplified to obtain a pre-processed hoisting object model. In this embodiment, for example, it can be but not limited to reducing the accuracy of the geometric parameters of the global hoisting object model. Specifically, the accuracy of the coordinate values of the vertices in the model is reduced (such as reducing the number of digits of precision to a preset number of digits) to reduce the overhead of data storage and processing. At the same time, the surfaces and curves in the global hoisting object can also be simplified by an approximate method, such as using segmented straight lines or polynomial curves to approximate complex curves, and using planes or simple surfaces to approximate complex surfaces. In this way, the complexity of the data can be reduced without significantly affecting the geometric shape and volume calculation accuracy of the component. Of course, approximating the model is a common technique for model simplification, and its principle will not be repeated in this embodiment.
[0093] In specific applications, for example, but not limited to, the data in the model after the above processing can be stored in formats such as JSON and XML for subsequent use and transmission.
[0094] After the geometric simplification of the model is completed, meshing processing can be performed, and the process is shown in the following steps S25 to S26.
[0095] S25. Triangulate the pre-processed hoisting object model to obtain a triangular mesh model. In this embodiment, the triangulation method is first used to decompose the surface of the pre-processed hoisting object model into a set of triangular facets to complete the preliminary mesh division of the complex shape. Then, finite element mesh division is performed to further discretize the triangular mesh model into multiple tetrahedral units, thereby obtaining the hoisting object mesh model. The process is shown in the following step S26.
[0096] S26. Perform finite element meshing processing on the triangular mesh model to obtain a tetrahedral mesh model after the finite element meshing processing, and use the tetrahedral mesh model as the mesh model of the hoisting object; in specific applications, triangulation and finite element meshing are commonly used means of model meshing processing, and their principles will not be repeated here.
[0097] In this way, through the aforementioned steps S21 to S26, the mesh division of the hoisting object model can be completed; then, the curvature-based adaptive density adjustment algorithm can be used to adjust the density of each mesh face in the hoisting object mesh model, and the process is shown in the following step S3.
[0098] S3. According to the curvature of each grid facet in the hoisting object grid model, the grid density of each grid facet is adjusted to obtain the optimal grid model, wherein, when adjusting the grid density, the grid density of the grid facets whose curvature is higher than the curvature threshold is increased, and the grid density of the grid facets whose curvature is less than or equal to the curvature threshold is reduced; in the specific implementation, for example, a spatial grid topology matrix of the hoisting object grid model is constructed, and an iterative method is used to adjust the grid density of each grid facet in the hoisting object grid model until the iteration meets the stopping condition to obtain the optimal grid model.
[0099] The iterative grid density adjustment process may be, but is not limited to, steps S31 to S34 as shown below.
[0100] S31. Obtain the initial model at the t-th iteration, and determine the spatial grid topology matrix of the initial model at the t-th iteration, wherein the spatial grid topology matrix is used to characterize the connection relationship between each grid facet in the initial model at the t-th iteration, the initial value of t is 1, and when t is 1, the initial model at the t-th iteration is the hoisting object grid model.
[0101] In specific applications, in the first iteration, the corresponding initial model is the aforementioned hoisting object grid model. The following provides a method for generating the spatial grid topology matrix corresponding to the initial model in the t-th iteration:
[0102] Step 1: Number each tetrahedral unit in the initial model at the tth iteration; in this embodiment, the numbers of the tetrahedral units can be increased sequentially from 1, so that each unit can be accurately identified in the matrix.
[0103] Step 2: Initialize a k×k initial matrix, where k is the number of tetrahedral units in the initial model at the tth iteration, and all elements in the initial matrix are 0.
[0104] After obtaining an initial k×k matrix, the matrix can be assigned values according to the connection relationship between the tetrahedral units in the initial model at the tth iteration. The process is shown in the third step below.
[0105] Step 3: For the tetrahedral unit m in the initial model at the t-th iteration, determine whether there is a connection relationship between the tetrahedral unit m and the tetrahedral unit h, where m and h represent the numbers of the tetrahedral units, and the initial value of m is 1. In this embodiment, for example, but not limited to, determining whether the tetrahedral unit m and the tetrahedral unit h share at least one face is performed. If so, it means that the tetrahedral unit m and the tetrahedral unit h have a connection relationship, and the following fourth step needs to be executed.
[0106] Step 4: If yes, update the element in the mth row and hth column, and the element in the hth row and mth column in the initial matrix to 1; otherwise, keep the element in the mth row and hth column, and the element in the hth row and mth column to 0.
[0107] In this embodiment, if the element in the mth row and hth column and the element in the hth row and mth column are 1, it means that the tetrahedral unit m is connected to the tetrahedral unit h; and after completing the judgment of the connection relationship between the tetrahedral unit m and the remaining tetrahedral unit in the initial model at the tth iteration, the remaining tetrahedral units can be judged, and the judgment process is shown in the fifth step below.
[0108] Step 5: Add 1 to h and re-judge whether there is a connection relationship between tetrahedral unit m and tetrahedral unit h until h is equal to k, and obtain the updated initial matrix corresponding to tetrahedral unit m.
[0109] After completing the detection of the connected facets of the tetrahedral unit m, the detection of the next tetrahedral unit can be carried out, and the process is shown in the sixth step below.
[0110] Step 6: Add 1 to m and re-judge whether there is a connection relationship between the tetrahedral unit m and the tetrahedral unit h until m is equal to k, and obtain the spatial grid topology matrix corresponding to the initial model at the t-th iteration; in this embodiment, after obtaining the spatial grid topology matrix corresponding to the initial model at the t-th iteration, it is necessary to perform matrix verification, that is, to verify whether the matrix is a symmetric matrix to ensure that the diagonal elements of the matrix are all 0 (because a unit itself does not have a situation where it is adjacent to itself).
[0111] Therefore, through the first to sixth steps mentioned above, a spatial grid topology matrix representing the connection relationship between each tetrahedral unit in the initial matrix at the tth iteration can be constructed; then, based on the spatial grid topology matrix, grid optimization is performed, and the process is shown in the following steps S32 to S34.
[0112] S32. Utilize the spatial grid topology matrix and, based on the curvature of each grid facet in the initial model at the t-th iteration, perform grid density adjustment processing on each grid facet in the initial model at the t-th iteration to obtain the t-th adjusted initial model, wherein, when performing the grid density adjustment, grid division processing is performed on the grid facets whose curvature is higher than the curvature threshold, and grid merging processing is performed on the grid facets whose curvature is less than or equal to the curvature threshold.
[0113] In specific applications, for example, but not limited to, first calculating the curvature of each mesh patch in the initial model at the t-th iteration; among them, for example, but not limited to, using a local surface fitting method (such as the least squares method) to perform surface fitting of each tetrahedral unit to obtain the surface equation of each tetrahedral unit; then, based on the fitted surface equation, calculate the curvature of each tetrahedral unit; of course, using surface fitting to calculate the curvature of the surface is a common technique for curvature calculation, which will not be repeated here.
[0114] After calculating the curvature of each mesh face (i.e., tetrahedral unit), the mesh density of each mesh unit can be adjusted according to the curvature; in this embodiment, each mesh face is first divided into different facet sets according to the curvature of each mesh face; for example, but not limited to, mesh faces with a curvature lower than a curvature threshold are divided into a low curvature face set, and for mesh faces with a curvature higher than the curvature threshold, further division is required; optionally, a curvature upper limit value can be set, wherein the curvature upper limit value is greater than the curvature threshold.
[0115] In this embodiment, for example, but not limited to, mesh patches with curvature between the curvature threshold and the curvature upper limit are divided into a medium curvature patch set, and mesh patches with curvature greater than the curvature upper limit are divided into a high curvature patch set.
[0116] Among them, for any mesh patch in the low curvature patch set (for the sake of distinction, referred to as any low curvature patch below), the mesh patches connected to any low curvature patch can be determined according to the spatial grid topology matrix, and then the any low curvature patch and the mesh patches connected to it are merged, and it is judged whether the simplification condition is met; if so, the merger is accepted, and thus, the remaining mesh patches in the low curvature patch set are merged in accordance with the aforementioned method, so as to achieve the purpose of reducing the mesh density of the low curvature mesh patches; wherein, the simplification condition can be, but is not limited to, that the curvature change rate after simplification is less than a threshold.
[0117] For any mesh patch in the mid-curvature patch set (hereinafter referred to as any mid-curvature patch for ease of distinction), for example, but not limited to, meshing processing can be performed on the any mid-curvature patch to divide the any mid-curvature patch into multiple first sub-patches; in this way, the mesh density of the mesh patches whose curvature is greater than the curvature threshold can be increased.
[0118] For any mesh patch in the high curvature patch set (hereinafter referred to as any high curvature patch for ease of distinction), for example, but not limited to, meshing processing can be performed on the any high curvature patch to divide the any high curvature patch into multiple second patches, wherein the number of second sub-patches is greater than the number of first sub-patches; based on this, the greater the curvature, the greater the number of sub-patches; in this way, the high curvature area can have a higher density, thereby being able to accurately describe the details of the surface.
[0119] In this embodiment, when the grid cells in the medium and high curvature areas are encrypted (the tetrahedral cells are subdivided into smaller tetrahedral cells), new vertices and cells are generated. The connection relationship between the newly generated cells and the surrounding existing cells needs to be established and maintained through the aforementioned spatial grid topology matrix; for example, which surrounding cells are adjacent to the newly generated tetrahedral cells must be recorded in the topological relationship matrix, so that when the grid is adjusted again later, the relevant information of each cell can be accurately obtained.
[0120] In this way, according to the aforementioned mesh adjustment method, after completing the mesh density adjustment of the initial model at the tth iteration, it can be determined whether the iteration stop condition is met, and the process is shown in the following step S33.
[0121] S33. Determine whether the iteration stop condition is met, wherein the iteration stop condition includes that the curvature change rate between the initial model after the t-th adjustment and the initial model after the t-1-th adjustment is less than the change rate threshold; in this embodiment, the iteration can be terminated only when the curvature change rate of each mesh facet in the current adjusted initial model and the last adjusted initial model is less than the change rate threshold; at the same time, other iteration stop conditions can also be set, such as the mesh density reaching the upper limit, or reaching the maximum number of iterations, etc.; of course, the iteration stop condition can be specifically set according to actual use and is not specifically limited here.
[0122] Among them, when the iteration stop condition is not met, it is necessary to update the spatial grid topology matrix based on the initial model after the t-th adjustment, and then readjust the grid density until the iteration stop condition is met, and the optimal grid model and its corresponding optimal spatial grid topology matrix can be obtained; wherein, the iterative adjustment process is shown in the following step S34.
[0123] S34. If not, increment t by 1, and update the initial model at the t-th iteration to the initial model after adjustment for the t-1th time, and re-determine the spatial grid topology matrix of the initial model at the t-th iteration until the iteration stop condition is met, and obtain the optimal grid model; in this embodiment, when t is 1, that is, the initial model after the first adjustment does not meet the iteration stop condition; at this time, it is necessary to increment t by 1, that is, t=2; then, update the initial model at the second iteration to the initial model after adjustment for the first time, and then re-execute the aforementioned step S32 until the aforementioned iteration stop condition is met, and the optimal grid model of the hoisting object can be obtained; for example, when t is 8, the iteration stop condition is met, and at this time, the model after the eighth adjustment is used as the optimal grid model.
[0124] In this way, through the aforementioned steps S31 to S34, the grid density of the hoisting object grid model can be adaptively adjusted based on the curvature of the grid surface; in this way, the optimal grid model finally obtained can have a higher density in the high curvature area, so that it can accurately describe the details of the surface, thereby avoiding the problem of detail loss in the high curvature area existing in the traditional technology; at the same time, the final grid model has a lower density in the low curvature area, based on which unnecessary calculation amount can be reduced, thereby reducing the data calculation amount while ensuring the accuracy of grid division.
[0125] After obtaining the optimal grid model of the hoisted object, the actual weight of the hoisted object can be calculated based on the optimal grid model, and the process is shown in the following step S4.
[0126] S4. Calculate the actual weight of the hoisted object corresponding to the hoisted object model using the optimal grid model. In this embodiment, as described above, while obtaining the optimal grid model, the corresponding optimal spatial grid topology matrix (the matrix represents the connection relationship between each grid face in the optimal grid model) can also be obtained. Therefore, this embodiment calculates the load of the hoisted object based on the two, and the process can be, but is not limited to, as shown in the following steps S41 to S45.
[0127] S41. According to the optimal spatial grid topology matrix, at least one valid grid entity is screened out from the optimal grid model, wherein any valid grid entity includes a plurality of interconnected grid units, and the plurality of grid units are connected to form a closed grid structure unit; in this embodiment, when performing volume accumulation calculation of a microelement, it is necessary to clarify which grid units are valid and what the connection relationship between them is; and the aforementioned optimal spatial grid topology matrix can provide connection information between each tetrahedral unit and other units. Based on this, using the optimal grid topology matrix, it can be determined which tetrahedral units are the valid unit set that needs to be considered when calculating the volume; for example, in a complex three-dimensional grid, the optimal spatial grid topology matrix can be used to determine which tetrahedral units are interconnected to form a continuous whole, so that the volume is only calculated and accumulated for these valid units.
[0128] In specific applications, a valid grid entity has a closed geometric shape. In this way, based on the aforementioned optimal spatial grid topology matrix, the hollow grid cells in the optimal grid model can be removed to ensure the accuracy of volume calculation.
[0129] After at least one valid mesh entity is screened out from the optimal mesh model, the volume of each valid mesh entity can be calculated, and the process is shown in the following steps S42 and S43.
[0130] S42. For any valid mesh entity, calculate the volume of each mesh unit in the any valid mesh entity; in this embodiment, for any mesh unit in the any valid mesh entity, the volume of the any mesh unit can be calculated by, but not limited to, the following method: obtain a vector between any vertex of the any mesh unit and the remaining three vertices; then, use the obtained vector and adopt V = |(a·(b×c))| / 6 to calculate the volume of the any mesh unit; wherein a, b, and c in the formula respectively represent the vectors between any vertex and the remaining three vertices.
[0131] Here, an example is used to illustrate the vectors between any of the aforementioned vertices and the remaining three vertices:
[0132] Assuming that the four vertices of any mesh unit (which is a tetrahedral unit) are A, B, C, and D, vertex A can usually be selected, then a=AB, b=AC, c=AD, that is, vectors pointing from vertex A to the other three vertices B, C, and D respectively; in this way, the volume of each mesh unit in any valid mesh entity can be calculated based on the above formula; then, by performing volume accumulation, the volume of any valid mesh entity can be obtained, and the process is shown in the following step S43.
[0133] S43. The volumes of the grid cells in any valid grid entity are summed to obtain the volume of the any valid grid entity, and after all valid grid entities are polled, the volumes of each valid grid entity are obtained. In this embodiment, after the volumes of all valid grid entities are calculated in the aforementioned manner, the volumes of the valid grid entities are summed to obtain the volume of the hoisted object. The process is shown in the following step S44.
[0134] S44. Sum the volumes of all valid grid entities to obtain the volume of the hoisted object.
[0135] After obtaining the volume of the hoisted object, it is also necessary to obtain the density of the hoisted object so as to calculate the actual weight of the hoisted object in combination with the density. The actual weight calculation process is shown in the following step S45.
[0136] S45. Obtain the density of the hoisted object, and calculate the actual weight of the hoisted object based on the density and volume of the hoisted object; in specific applications, the density of the hoisted object material can be pre-stored in the hoisting simulation terminal and can be read when used; based on this, the actual weight of the hoisted object can be obtained by multiplying the volume of the hoisted object by the density.
[0137] Therefore, as shown in the aforementioned steps S41 to S45, the actual weight of the hoisted object can be accurately calculated, and then, the real-time working range of the tower crane during its movement can be obtained through hoisting simulation, so as to combine the real-time working range and the aforementioned actual weight to calculate the real-time maximum lifting capacity of the tower crane, and based on this, perform an over-limit alarm for the tower crane; wherein, the process of obtaining the real-time working range of the tower crane can be but is not limited to as shown in the following step S5.
[0138] S5. Based on the actual weight of the hoisted object, perform hoisting simulation processing on the tower crane hoisting model to obtain in real time the actual working range of the tower crane model hoisting the hoisted object model when moving in the hoisting scene model, wherein the actual working range is the horizontal distance between the hook center line and the rotation center line of the tower crane model.
[0139] In this embodiment, for example, but not limited to, a tower crane lifting model can be simulated according to a preset lifting path, that is, the tower crane model is controlled to lift the aforementioned lifting object model, and moves according to the preset lifting path in the lifting scene model. During the movement, the parameters of the tower crane lifting model are monitored to obtain its actual working range during lifting in real time.
[0140] Specifically, the implementation process is:
[0141] Create a parameter monitor and bind the parameter monitor to the model document of the tower crane hoisting model; in this embodiment, the target parameter monitored by the parameter monitor is the actual working range of the tower crane model, and binding to the document means establishing an association between the created parameter monitor and the model document of the tower crane hoisting model. This association enables the parameter monitor to perceive the changes of relevant parameters in the document in real time. Once the parameters change in a way that meets the monitoring conditions, action will be taken (such as triggering subsequent judgment and error reporting processes). It ensures that the parameter monitoring function is closely integrated with the specific document environment to achieve the purpose of accurate monitoring and response.
[0142] The parameter monitor is used to monitor the model document, and the target family instance is filtered through the element filter to obtain the actual working range of the tower crane model through the target family instance; wherein the target family instance is the boom family instance of the tower crane model.
[0143] Specifically, the specific process of building an element filter is:
[0144] Construct a filter_lifting_arms function, which is used to receive two parameters: doc represents the current Revit document (i.e., the aforementioned model document) object, through which various elements in the document can be accessed; l_threshold is the threshold of the working range L, which is used to determine the screening criteria; in this embodiment, l_threshold is the minimum working range of the tower crane, that is, when the tower crane is at the minimum working range, the lifting capacity is the largest, and its actual working range must be greater than or equal to the minimum working range. Therefore, only data greater than or equal to the minimum working range is considered valid data.
[0145] A ParameterValueProvider object is constructed, where the ParameterValueProvider object is used to obtain the value of a specific parameter, and the specific parameter is the working range L, which is identified by BuiltInParameter.CUSTOM_PARAMETER_L. Based on the ParameterValueProvider object, a filter of type FilterDoubleGreater is constructed, where the filter will filter out elements with a working range L value greater than or equal to l_threshold, and at the same time set a tolerance value of 1e-6 to handle precision issues that arise when comparing floating-point numbers.
[0146] After completing the construction of the element filter, you need to build a collector to collect the elements. The process is as follows:
[0147] Create an element collector to collect elements in the model; wherein, it is processed by the OfClass(FamilyInstance) method, and the processing logic is: when the OfClass(FamilyInstance) method is called, the method will first clearly define the target class for screening as FamilyInstance, which means that subsequent screening operations will be based on the FamilyInstance class (i.e., the boom family class), and only retain elements belonging to this class; then, all elements collected by the FilteredElementCollector object will be traversed to check each element in the collector in turn to determine whether it belongs to the FamilyInstance class; for each traversed element, this embodiment uses a type checking mechanism to determine whether the element belongs to the FamilyInstance class; specifically, the class to which it belongs can usually be determined by checking the type information of the element. If the type of the element matches the FamilyInstance class, or the element is an instance of a derived class of the FamilyInstance class, then the element is considered to belong to the FamilyInstance class.
[0148] Then, based on the result of type judgment, elements belonging to the FamilyInstance class are retained, while elements that do not belong to this class are excluded; finally, the OfClass(FamilyInstance) method returns a new FilteredElementCollector object, which only contains elements belonging to the FamilyInstance class.
[0149] Thus, by limiting the collection to elements of the family instance type, the search is narrowed to the boom family instances.
[0150] After completing the construction of the element collector, you can combine it with the aforementioned element filter to perform element filtering. The process is as follows:
[0151] The element filter traverses each element collected in the element collector, and checks the attributes and parameters of each element according to the filtering rules, that is: for each family instance, the element filter obtains the value of its working amplitude L parameter and compares it with the l_threshold threshold to obtain a comparison result; then, the element filter retains the elements whose comparison result is true (greater than or equal to the l_threshold threshold is true); then, the retained elements are converted into an element list; finally, the obtained element list is the boom family instance; at this time, the actual working amplitude of the tower crane model when lifting the hoisted object model in the lifting scene model can be obtained by detecting the attributes in the element list.
[0152] In this way, after obtaining the actual working range of the tower crane due to the extension and retraction of the boom during the lifting process based on the above method, the actual weight of the above-mentioned lifting object can be combined to perform a lifting over-limit warning, and the process is shown in the following step S6.
[0153] S6. Calculate the real-time maximum lifting capacity of the tower crane model during the hoisting process using the actual weight and the actual working range of the tower crane model obtained in real time, and issue an over-limit alarm when the real-time maximum lifting capacity is less than the actual weight. In this embodiment, the following formula (1) may be used, for example but not limited to, to calculate the real-time maximum lifting capacity of the tower crane model during the hoisting process.
[0154]
[0155] In the above formula (1), G represents the real-time maximum lifting weight, L min Indicates the minimum working range of the tower crane model, G max represents the maximum lifting capacity of the tower crane model at the minimum working range, L represents the actual working range of the tower crane model, and n represents the tower crane performance index; in this embodiment, L min and G max is an inherent parameter of the tower crane and can be pre-stored in the hoisting simulation terminal. At the same time, the actual working range of the tower crane is constantly changing as it moves. Therefore, based on the above formula (1), the real-time maximum lifting capacity of the tower crane during the hoisting process can be obtained.
[0156] Based on this, this embodiment achieves the quantification of the effect of boom extension and retraction on the lifting capacity, so that when the boom working range changes, the maximum lifting capacity under the current working range can be calculated.
[0157] In this way, when the calculated real-time maximum lifting capacity is less than the actual weight of the hoisted object, an over-limit lifting alarm can be issued; at the same time, for example, different levels of alarms can be issued based on the difference between the real-time maximum lifting capacity of the tower crane and the actual weight of the hoisted object. For example, if the difference is within the first range, a third-level alarm is issued, and from the first range to the second range, a second-level alarm is issued, and if it exceeds the second range, a first-level alarm is issued; wherein, the larger the difference, the higher the alarm level; of course, the above example is only for illustration, and this embodiment is not limited to this; through the above design, using this technology to conduct virtual trial lifting in advance can guide the actual hoisting work on site and improve safety and efficiency.
[0158] Therefore, through the REVIT-based tower crane hoisting digital twin intelligent deduction method described in detail in the aforementioned steps S1 to S6, the present invention improves the accuracy of the calculation of the load of the hoisted object; at the same time, the present invention can also calculate the real-time maximum lifting capacity of the tower crane when the boom is extended and retracted in real time; thereby, when the working range of the boom changes, timely hoisting warning can be performed based on the calculated real-time maximum lifting capacity, and the simulation results can be guaranteed to be consistent with reality; thus, the present invention improves the timeliness of hoisting warning and the accuracy of hoisting simulation, and is therefore very suitable for large-scale application and promotion.
[0159] In one possible design, the second aspect of this embodiment provides a hoisting collision detection method based on the first aspect of the embodiment, which can provide collision warning during the hoisting simulation process; wherein the collision detection process can be but is not limited to the following steps S7 to S10.
[0160] S7. Obtain the motion trajectory information of the moving object in the tower crane hoisting model, wherein the moving object includes the tower crane model and the hoisting object model; in this embodiment, for example, but not limited to, the model parameters of the moving object (such as the tower crane, the hoisting object) can be obtained in real time through the REVIT API interface, including geometric dimensions, material properties and dynamic parameters (initial position, speed, acceleration, direction vector, rotation angle, etc.). In this embodiment, the quaternion coordinate system is used to record the rotation posture of the tower crane in the moving object, and the posture quaternion is used to perform dynamic tracking of the tower crane posture.
[0161] In specific applications, quaternion is a hypercomplex number, usually expressed as q=w+xi+yj+zk, where w, x, y, and z are real numbers, usually representing the rotational posture parameters of an object, i, j, and k are imaginary units, and satisfy i^2=j^2=k^2=-1, i×j=k, j×i=-k, j×k=i, k×j=-i, k×i=j, i×k=-j.
[0162] Therefore, when using quaternions to represent the posture of a moving object, the rotation axis of the moving object, such as a tower crane, can be determined, and then the angle θ of the tower crane's rotation around the axis can be determined. Then, the aforementioned w, x, y, and z can be determined according to the following formula.
[0163]
[0164] Where n x ,n y ,n z The components of the unit vector representing the rotation axis on the x-axis, y-axis, and z-axis, that is, the three elements within the unit vector.
[0165] In this way, through the above formula, we can obtain a posture quaternion that represents the tower crane rotating around a specific axis at a specific angle.
[0166] Among them, when the tower crane performs multiple rotations, these rotations can be combined through quaternion multiplication. Let q1 and q2 be two quaternions. Their product q = q1 × q2 represents the total rotation posture after performing the rotation corresponding to q2 first and then the rotation corresponding to q1. Quaternion multiplication can be expressed as:
[0167] q1q2==(w1w2-x1x2-y1y2-z1z2)+(w1x2+x1w2+y1z2-z1y2)i+(w1y2-x1z2+y1w2+z1x2)j+(w1z2+x1y2-y1x2+z1
[0168] w2)k; where w1, x1, y1, and z1 are the rotation parameters corresponding to the quaternion q1, and w2, x2, y2, and z2 are the rotation parameters corresponding to the quaternion q2.
[0169] Therefore, as the tower crane moves, its rotation posture changes continuously. The quaternion representing the tower crane posture can be updated by collecting its rotation axis and rotation angle in real time and using the above-mentioned conversion method from the rotation axis and rotation angle to the quaternion.
[0170] Furthermore, in order to transform the rotational posture represented by the quaternion into the actual coordinate system, this embodiment needs to convert the quaternion into a rotation matrix, and then use the rotation matrix to convert the coordinates of the tower crane in its own local coordinate system to the world coordinate system. The rotation matrix R can be expressed as:
[0171]
[0172] In this way, the rotation posture of the tower crane itself can be transformed into the position coordinates in the world coordinate system; then, after collecting the rotation posture of the tower crane over a period of time, the trajectory of the tower crane can be predicted using quaternions, that is, the quaternion at the current moment is used to predict the next movement posture of the tower crane, thereby generating its posture quaternion at different moments in the future; finally, the position coordinates of the tower crane at different moments in the future can be obtained based on the aforementioned rotation matrix, thereby generating the motion trajectory information of the tower crane; of course, using quaternions to predict motion posture is a common technology for object posture tracking, and its principle will not be repeated here.
[0173] Furthermore, for the hoisted objects among the moving objects, as explained above, their corresponding velocity, acceleration, direction vector, initial position, etc. are collected. Therefore, the position of the hoisted objects at different moments can be calculated by kinematic formulas; for example, by discretizing time and calculating the coordinates of the hoisted objects at each movement moment at a certain time interval Δt, that is, the coordinates (xv, yv, zv) of the hoisted objects at each moment tv=vΔt (v=0,1,2,…) are calculated at the time interval Δt, where xv is the position coordinate of the hoisted objects in the x-axis direction at the v-th time interval. Similarly, yv and zv are the position coordinates of the hoisted objects in the y-axis and z-axis directions at the v-th time interval, which are used to accurately describe the changes in the motion trajectory of the hoisted objects in space in the x-, y-, and z-axis directions; for example, the velocity, acceleration, and direction vector can be used, and the Kalman filter algorithm can be used to predict the motion trajectory of the object; of course, Kalman filtering is a commonly used technology for motion trajectory prediction, and its principle will not be repeated here.
[0174] In this way, after obtaining the motion trajectory information of the moving object, spatiotemporal fusion modeling can be performed to realize the association between the position coordinates of the moving object and time, thereby realizing the fusion of space and time, so as to provide a data basis for the subsequent construction of multi-level collision detection bounding boxes; wherein, the spatiotemporal fusion modeling process can be but is not limited to as shown in the following step S8.
[0175] S8. Based on the motion trajectory information, construct a four-dimensional space-time model of the hoisting, wherein the four-dimensional space-time model of the hoisting is used to represent the mapping relationship between the position of the moving object and the movement moment; in specific applications, for example, but not limited to, the following steps S81 to S83 can be used to construct the aforementioned four-dimensional space-time model of the hoisting.
[0176] S81. Determine the position coordinates of the moving object at different moments of movement based on the motion trajectory information of the moving object. In this embodiment, it has been explained above that the motion trajectory information is composed of the position coordinates of the moving object at different moments of movement. Therefore, based on the motion trajectory information, the position coordinates of the moving object at different moments of movement can be obtained. After obtaining the position coordinates of the moving object at different moments of movement, the position coordinates can be associated with time. The process is shown below.
[0177] S82. Associate the position coordinates of the moving object at different movement moments with the movement moments of the moving object to obtain the spatiotemporal mapping information of the moving object, and associate the position coordinates of each building component in the hoisting scene model with the movement moments to obtain the environmental spatiotemporal mapping information; in specific applications, the position coordinates of the aforementioned moving object are already coordinates in the world coordinate system, and therefore, directly establish a mapping relationship between each movement moment T and the spatial state (i.e., position coordinates) of the moving object at that movement moment, thereby forming a series of spatiotemporal data points (X, Y, Z, T); similarly, for a static environment, it is to synchronously extract the static environment model, that is, the spatial coordinates, geometric shape, size, and mutual topological structure information of the hoisting scene model (such as structural beams and columns, pipeline systems, and equipment layout); for example, for a beam, obtain the three-dimensional coordinates of its starting point and end point, as well as its connection relationship with adjacent columns and other beams.
[0178] In this way, by marking the data at the same time interval as the aforementioned motion trajectory (such as every second, every 0.1 second), the mapping relationship between the spatial state and time of each building component in the hoisting scene model can be obtained; finally, the spatiotemporal mapping information of the aforementioned moving object and the spatiotemporal mapping information of the aforementioned environment can be used to generate a four-dimensional spatiotemporal model of the hoisting, and the process is shown in the following step S83.
[0179] S83. Generate the hoisting spatiotemporal four-dimensional model based on the environmental spatiotemporal mapping information and the spatiotemporal mapping information of the mobile object; in specific applications, you can, but are not limited to using a relational database, store the position coordinates of the mobile object corresponding to different movement moments and the position coordinates of each building component in the hoisting scene model in different tables, and then associate them through the timestamp field; of course, you can also use a spatiotemporal database (such as a PostGIS database) for data storage to better support the storage and query of spatiotemporal data; after completing the storage of spatiotemporal data, you can use a graphics processing unit (GPU) to construct a hoisting spatiotemporal four-dimensional model, wherein the model is based on three-dimensional space, and time is superimposed as a continuously changing dimension, and the spatiotemporal data can be presented as a dynamic four-dimensional model through a visualization library (such as VTK, Three.js, etc.) to show the movement process of the mobile object in a static environment.
[0180] Therefore, after constructing the four-dimensional spatiotemporal model of lifting through the aforementioned steps S81 to S83, a multi-level collision detection bounding box can be constructed based on it, so that collision warnings can be carried out during the simulated lifting process based on the multi-level collision detection bounding box; wherein, the construction process of the multi-level collision detection bounding box is shown in the following step S9.
[0181] S9. Based on the hoisting four-dimensional spatiotemporal model, a multi-level collision detection bounding box is constructed, wherein the multi-level collision detection bounding box includes the maximum bounding box of the moving object, the overall bounding box of all building components in the hoisting scene model, the motion bounding box of the moving object at different motion moments, the first local bounding box of the pre-contact area between the moving object and each building component in the hoisting scene model at different motion moments, and the second local bounding box of the specified curved surface area between the moving object and each building component, and the maximum bounding box of the moving object is used to characterize the maximum motion range of the moving object during the hoisting process; in specific implementation, this embodiment constructs three levels of bounding boxes, namely a basic bounding box, a dynamic level bounding box and a curved surface local bounding box, and the basic bounding box is composed of the bounding box corresponding to the maximum motion range of the moving object and the overall bounding box of all building components in the hoisting scene model.
[0182] Similarly, the dynamic hierarchical bounding box is mainly composed of the bounding boxes of the moving object at different movement moments, and the bounding boxes of the pre-contact areas between the moving object and each building component in the hoisting scene model at different movement moments; and the surface local bounding box is composed of the local bounding boxes of the complex surfaces on the surface of the moving object and the complex surfaces on the building components; therefore, establishing a multi-level collision detection bounding box from the whole to the local can improve the accuracy of collision detection.
[0183] This embodiment discloses one method of constructing a multi-level collision detection bounding box, as shown in the following steps S91 to S98.
[0184] S91. Based on the hoisting space-time four-dimensional model, the maximum motion range of the mobile object is determined, and the maximum bounding box is generated according to the maximum motion range; in this embodiment, the maximum coordinates and minimum coordinates of the mobile object in the x-axis, y-axis and z-axis directions can be determined according to the initial position and stop position of the mobile object in the hoisting space-time four-dimensional model (that is, the position coordinates associated with the start time and the end time); then, according to the geometric dimensions of the mobile object, the maximum coordinates and minimum coordinates in the three directions are corrected; for example, assuming that the hoisted object in the mobile object is a rectangular parallelepiped, its length, width and height are L, W and H respectively, then for the minimum coordinate in the x-axis direction, xmin-L / 2 should be used (the coordinates of the center point of the mobile object are its position coordinates), and the maximum coordinate in the x-axis direction is xmax+L / 2; of course, corresponding processing (that is, width and height) is performed on the y-axis and z-axis to obtain the maximum motion range of the mobile object; then, a rectangular bounding box that can contain the position of the object at all times can be constructed, thereby obtaining the maximum bounding box.
[0185] After the maximum bounding box of the object is moved, the overall bounding box of all building components in the hoisting scene model can be constructed, and the construction process is shown in the following step S92.
[0186] S92. Based on the hoisting scene model, construct an overall bounding box of all building components in the hoisting scene model; in this embodiment, the entire building structure in the hoisting scene model is regarded as a whole, and a bounding box containing all structural beams, columns, pipeline systems and equipment layouts is calculated, so that the aforementioned overall bounding box can be obtained; of course, the overall bounding box remains static during the hoisting process, but it and the maximum bounding box of the moving object together constitute the bounding box structure of the base layer, and the process is shown in the following step S93.
[0187] S93. Generate a basic bounding box using the maximum bounding box and the overall bounding box. After the basic bounding box is generated, a dynamic bounding box may be constructed, as shown in steps S94 to S95 below.
[0188] S94. According to the hoisting time-space four-dimensional model, the position coordinates of the moving object at different movement moments are determined, and based on the position coordinates of the moving object at different movement moments, the movement bounding boxes of the moving object at different movement moments are generated; in this embodiment, corresponding to any movement moment, the position coordinates of the moving object at any movement moment are obtained according to the hoisting time-space four-dimensional model, and then, based on this, its spatial position is determined; finally, a bounding box containing the position of the moving object at any movement moment can be generated as the movement bounding box at any movement moment; if it is assumed that the position coordinates of the moving object at any movement moment are (5,4,2), then, with the spatial position as the center, a rectangular bounding box containing the moving object is generated, thereby obtaining the movement bounding box at any movement moment.
[0189] In this way, after generating the motion bounding box of the moving object at different motion moments based on the aforementioned step S94, it is possible to interact with the static environment to generate a more accurate first local bounding box, the construction process of which is shown in the following step S95.
[0190] S95. Based on the position coordinates of the moving object at different movement moments, a first local bounding box of the pre-contact area between the moving object and each building component at different movement moments is generated; in specific applications, the building components that the moving object approaches at different movement moments are judged according to the position coordinates of the moving object at different movement moments and combined with the position coordinates of each building component in the hoisting scene model (the distance between the moving object and the building component can be calculated to regard the building component with a distance less than a distance threshold as the approaching building component) as the target component; then, based on the position coordinates, speed, acceleration, direction vector and other data of the moving object at the current movement moment, the movement trend of the moving object is obtained, and its movement trajectory between the current movement moment and the next movement moment is predicted (for example, if the current movement moment is the 1st second and the next movement moment is the 2nd second, then the movement trajectory of the moving object between the 1st second and the 2nd second is predicted) to obtain the position coordinates between the two movement moments (hereinafter referred to as the intermediate position coordinates).
[0191] Then, the overlapping area between the spatial position of the moving object at the intermediate position coordinates and the target component is used as the pre-contact area; finally, a bounding box containing the pre-contact area can be generated as the first local bounding box; wherein, a bounding box containing the target component can be established as the designated bounding box, and a motion bounding box of the moving object at the intermediate position coordinates can be constructed; then, the overlapping area between the motion bounding box corresponding to the moving object at the intermediate position coordinates and the designated bounding box is used as the aforementioned pre-contact area; for example, if the target component is a beam column, then the bounding box of the beam column is generated as the designated bounding box; finally, the overlapping area between the motion bounding box corresponding to the intermediate position coordinates of the moving object and the designated bounding box of the beam column is used as the pre-contact area between the two; of course, if the motion bounding box of the moving object at any moment of movement directly overlaps with the building component, the overlapping area is used as the pre-contact area.
[0192] In this way, a local bounding box of the collision between the moving object and the building component can be generated to perform collision detection more accurately.
[0193] After the first local bounding box is constructed, it can be fused with the motion bounding box to obtain a dynamic bounding box. The fusion process is shown in the following step S96.
[0194] S96. Perform data fusion processing on the motion bounding boxes of the moving object at different motion moments and the respective first local bounding boxes to obtain a dynamic bounding box; in specific applications, data fusion refers to data association, that is, the motion bounding boxes of the moving object at different motion moments are associated with the first local bounding boxes at the corresponding moments, so that when performing subsequent collision detection, the first local bounding boxes at the same moment can be extracted, wherein, if there is an intersection between the two, that is, an overlap, it means that there is a collision risk in the hoisting of the moving object during the process from the current motion moment to the next motion moment.
[0195] After the dynamic bounding box is obtained, the curved layer bounding box can be generated, and the process is shown in the following step S97.
[0196] S97. Generate a second local bounding box for a specified curved surface area in the moving object and each building component, wherein the specified curved surface area is a curved surface area in the moving object and each building component whose curvature is greater than a preset value or whose surface type is a specified type. In this embodiment, since the moving object and the building component are regarded as a whole to construct a regular bounding box, for parts of the moving object and the static environment (i.e., the building component) with complex curved surface shapes (such as architectural decorative components with curved surface shapes), the constructed regular bounding box may not be able to fully enclose these complex curved surfaces, which will make it impossible to perform collision detection on these complex curved surfaces. Therefore, this embodiment constructs a local bounding box separately for the complex curved surface. Among them, the specified type can include, but is not limited to, a hyperbolic surface, etc., and can be, but is not limited to, using a method of fitting a surface equation or using a triangular mesh to approximate the surface to generate a second local bounding box that can fit and enclose the specified curved surface. These bounding boxes are not simple cuboids or cubes, but are shapes that fit the curved surface.
[0197] After constructing the second local bounding box of the moving object and the specified surface area of each building component, the aforementioned dynamic bounding box and basic bounding box can be combined to generate a multi-level collision detection bounding box, as shown in the following step S98.
[0198] S98. Generate the multi-level collision detection bounding box using the basic bounding box, the dynamic bounding box, and the second local bounding box of the specified curved surface area in the moving object and each building component; in this embodiment, the bounding box of the curved surface layer (i.e., the second local bounding box) is data-associated with the basic bounding box and the dynamic bounding box to form a complete dynamic bounding box hierarchy structure, i.e., from the overall to the local bounding boxes at different times, and then to the local bounding boxes of the curved surface of the object; in this way, after data association, it is ensured that the bounding boxes between different layers can work together, which can provide both a global collision detection range (basic layer) and accurate local collision detection (dynamic layer and curved layer).
[0199] Specifically, the basic bounding box roughly defines the overall range of the moving object and the static environment, and it provides a global spatial framework for the entire hierarchical structure; the surface layer bounding box needs to be positioned and adjusted within this global framework to ensure that it does not exceed the range specified by the basic layer; the dynamic layer implements local refinement: the dynamic bounding box provides a more detailed description of the local area where the moving object and the static environment may collide; and the bounding box of the surface layer is constructed based on the surface features of the object or environment, and it can accurately fit the shape of the surface. Therefore, in areas where the object movement may come into contact with the static environment, the bounding box of the surface layer can provide more accurate collision detection in these key areas.
[0200] In this embodiment, the bounding box is a common technology for collision detection, and its construction principle will not be described in detail.
[0201] Thus, through the aforementioned steps S91 to S98 , a multi-level collision detection bounding box can be generated; and then, based on this, collision detection can be performed, and the process is shown in the following step S10 .
[0202] S10. Using the multi-level collision detection bounding box, perform collision detection on the moving object at each movement moment, obtain a collision detection result, and issue a collision alarm prompt based on the collision detection result; in this embodiment, any movement moment is taken as an example to illustrate the collision detection, and the process is shown in the following steps S11 to S16.
[0203] S11. For any moment of movement, the position coordinates of the moving object at that moment of movement are obtained based on the motion trajectory information. In this embodiment, its position coordinates can also be obtained by hoisting a four-dimensional space-time model. In this way, after obtaining its position coordinates at any of the said moments of movement, the aforementioned multi-level collision detection bounding box can be used to perform collision detection. The process is shown in the following steps S12 to S16.
[0204] S12. According to the position coordinates of the moving object at any moment of movement, and using a spatial segmentation algorithm, the target object is removed from the hoisting scene model to obtain a collision detection object, wherein the target object is an object in the hoisting scene model that has no overlapping area with the target bounding box, and the target bounding box is the motion bounding box of the moving object at any moment of movement; in specific applications, when performing collision detection, a basic bounding box can be first used for preliminary judgment. If the base layer bounding boxes of the two objects do not overlap, then the possibility of a collision between them can be directly ruled out, thereby improving detection efficiency. That is, if the maximum motion bounding box does not overlap with the overall bounding box, then a collision detection result is directly generated as no collision risk, and the collision detection process ends.
[0205] Among them, if the maximum motion bounding box overlaps with the overall bounding box, further detection is required. At this time, it is necessary to quickly exclude non-intersecting objects first to improve detection efficiency; then, use the multi-level collision detection bounding box to perform collision detection among the remaining objects; optionally, you can use but are not limited to an octree-based space segmentation algorithm to quickly exclude objects that have no intersection with the moving object; specifically, the space corresponding to the hoisting scene model can be used as the initial space; then, according to the position and size of the building components in the space, the space is gradually subdivided, such as according to the octave strategy, that is, it is divided into 8 sub-cubes along the x, y and z axes until the number of objects contained in each sub-node reaches a preset threshold or the subspace size is less than the preset value; in this way, the entire space can be divided into octree space.
[0206] Then, the objects in the space can be segmented, that is, each building component is assigned to the child nodes of the octree according to its corresponding position coordinates; wherein, an object may span multiple subspaces, and in this case it needs to be recorded in multiple related child nodes; in this way, the final octree can be obtained; then, the octree can be used to quickly exclude non-intersecting objects (i.e., the aforementioned target objects); in this embodiment, based on the position coordinates of the moving object at any moment of movement, the node where the moving object is located in the octree at any moment can be determined as the target node; then, it is only necessary to use each building component in the subspace corresponding to the target node as a collision detection object, and each building component in the subspace that intersects with the subspace corresponding to the target node as a collision detection object; in this way, objects in the entire hoisting scene space that have no intersection with the moving object at any of the aforementioned movement moments are quickly excluded, thereby improving detection efficiency.
[0207] Furthermore, by comparing the boundary coordinates of the subspace and the position coordinates of the moving object at any of the aforementioned motion moments, it is possible to quickly determine whether there is an intersection between the moving object and the subspace. If there is no overlapping part on a certain coordinate axis of the two, then the objects they contain cannot have an intersection, and no further calculation is required; similarly, the intersection judgment of the subspaces is also the same; based on this, the building components corresponding to the subspace where the moving object is located at any of the aforementioned motion moments, as well as the building components in the subspace that intersects with the subspace where the moving object is located, can be quickly screened out, thereby quickly locating the static environment body that requires collision detection, reducing the detection of non-intersecting objects, and thereby improving detection efficiency.
[0208] Of course, using octree to perform spatial algorithm segmentation is a common technology for three-dimensional space segmentation, and its specific process will not be described in detail in this embodiment.
[0209] Through the above design, when performing collision detection, the space segmentation algorithm is used to remove objects in the scene that do not overlap with the motion bounding box of the moving object to obtain the collision detection object; finally, hoisting collision detection can be performed in the collision detection object; based on this, invalid calculations can be greatly reduced, thereby improving the real-time performance of collision detection.
[0210] After the collision detection object is detected, the first local bounding box corresponding to the collision detection object can be screened out from the multi-level collision detection bounding boxes, and the process is shown in the following step S13.
[0211] S13. Determine the first local bounding box corresponding to the collision detection object from the multi-level collision detection bounding box; in this embodiment, based on the position coordinates of the collision detection object and the any movement moment, determine the first local bounding box of the pre-contact area between the moving object and each collision detection object in the hoisting scene space at the any movement moment in the multi-level collision detection bounding box; then, the determined first local bounding box can be used to perform collision detection, and the process is shown in the following step S14.
[0212] S14. Determine whether the target bounding box and the first local bounding box corresponding to the collision detection object have an intersection; in this embodiment, the boundary coordinates of the target bounding box and the first local bounding box corresponding to each collision detection object can be compared to determine whether the target bounding box and each first local bounding box have an intersection, that is, if the boundary coordinates do not overlap, it means that there is no intersection; otherwise, there is an intersection.
[0213] Furthermore, in order to make a more accurate intersection judgment, the two can be further determined by projecting them, such as projecting the target bounding box and the local bounding box onto the three coordinate axes, and then judging whether the projection intervals on the three coordinate axes overlap to determine whether there is an intersection; wherein, if the projection intervals overlap, it is judged that there is an intersection; at the same time, if the bounding box is not a cuboid, but a sphere and a cuboid, the shortest distance from the center of the sphere to the surface of the cuboid can also be calculated. If the distance is less than the radius of the sphere, the two have an intersection; of course, the subsequent precise detection steps can be set according to actual use, and no specific limitation is made here; if it is judged that the target bounding box and the first local bounding box of each collision detection object do not have an intersection, then it is necessary to judge the bounding box of the surface layer, and the process is shown in the following step S15; of course, if there is an intersection, directly execute the following step S16.
[0214] S15. If not, determine whether the second local bounding box of the specified curved surface area on the moving object and the second local bounding box of the specified curved surface area on the collision detection object have an intersection at any of the movement moments; in this embodiment, the intersection detection between the second local bounding box of the moving object and the second local bounding box of each collision detection object is still obtained by detecting whether the coordinate ranges of the bounding boxes overlap; therefore, when the coordinate ranges of the second local bounding boxes of the moving object and any of the collision objects overlap, it can be determined that the moving object has a collision risk at any of the movement moments, and at this time, a collision warning can be performed, and the process is shown in the following step S16.
[0215] S16. If so, calculate the penetration depth and contact point between the moving object and the target object at any of the movement moments, and generate a collision detection result as the existence of a collision, wherein the target object is a collision detection object that has a collision relationship with the moving object at any of the movement moments.
[0216] In this embodiment, when it is detected that the second local bounding box of the moving object intersects with the second local bounding box of any colliding object, the corresponding movement time and object information need to be recorded for alarm prompting; at the same time, the puncture depth and contact point of the collision can also be calculated to obtain detailed collision information.
[0217] The calculation process of the puncture depth is shown in the following steps S16a to S16e.
[0218] S16a. Determine several initial separation axes between the moving object and the target object, wherein the several initial separation axes include the normal vectors of each face of the polyhedron corresponding to the moving object and the target object, and the cross product vector of the edges of the polyhedron corresponding to the moving object and the target object, and the polyhedron corresponding to the target object is obtained based on the hoisting scene model; in this embodiment, it is equivalent to taking the model corresponding to the moving object and the model corresponding to the target object as polyhedron units, and then taking the normal vectors of each face of the polyhedron and the cross product vector of the edges of the polyhedron corresponding to the two as the initial separation axes.
[0219] After the initial separation axis is obtained, projection can be performed, and the process is shown in the following step S16b.
[0220] S16b. Project the moving object and the target object onto each initial separating axis respectively, and determine whether there is overlap in the projection intervals of the moving object and the target object on each initial separating axis; in this embodiment, the separating axis theorem points out that if two polyhedrons do not intersect in space, then there must be an axis on which the projections of the two polyhedrons do not overlap; therefore, this embodiment performs projection processing, that is, projects the two objects onto each initial separating axis respectively, and then checks whether their projection intervals on the axis overlap; if the projection intervals overlap for all possible separating axes, then the two objects may have penetrated; if there is at least one separating axis such that the projection intervals do not overlap, then the two objects definitely did not penetrate; wherein, if penetration occurs, the penetration depth can be calculated as shown below.
[0221] S16c. If so, it is determined that there is penetration between the moving object and the target object, and the projection overlap interval on each initial separation axis is determined based on the projection interval of the moving object and the target object on each initial separation axis; in this embodiment, after determining the projection overlap interval of the moving object and the target object on each initial separation axis, the minimum penetration axis can be determined based on this, and the process is shown in the following step S16d.
[0222] S16d. The initial separation axis corresponding to the minimum projection overlap interval is used as the minimum penetration axis. In this embodiment, the minimum projection overlap interval is the interval with the smallest difference between the two end point values within the interval. Thus, after obtaining the minimum penetration axis, the penetration depth can be calculated based on this, as shown in the following step S16e.
[0223] S16e. Calculate the penetration depth between the moving object and the target object based on the projection intervals of the moving object and the target object on the minimum penetration axis. In this embodiment, assuming that the projection intervals of the moving object and the target object on the minimum penetration axis are (a1, a2) and (b1, b2), respectively, then the minimum penetration depth can be: min(a2-b1, b2-a1).
[0224] By performing steps S16a to S16e, the penetration depth between the moving object and the target object can be determined, and then the contact point between the two can be determined, as shown below:
[0225] S16f. Construct a plane perpendicular to the minimum penetration axis as a standard plane, and use the plane intersecting with the standard plane in the corresponding polyhedrons of the moving object and the target object as a contact plane.
[0226] S16g. Determine, among the mesh patches of the polyhedron corresponding to the moving object, a mesh patch surface that intersects with the contact plane as a contact patch.
[0227] S16h. Filter out the point closest to the minimum penetration axis from each contact surface piece, and use the point closest to the minimum penetration axis as the contact point; at the same time, for example, but not limited to, highlighting the collision surface between the target object and the moving object based on the penetration depth and the contact point, so as to achieve a collision warning display function.
[0228] Therefore, through the aforementioned steps S16f to S16h, the contact point between the moving object and the target object can be determined; then, the aforementioned penetration depth, the moment of collision and the object information of the target object can be combined to generate collision data, and at the same time, a collision detection result is generated as the existence of a collision, so as to issue a collision alarm prompt.
[0229] Through the above design, in the hoisting simulation, collision detection at different movement moments can be realized based on the multi-level collision detection bounding box, thereby achieving early warning of hoisting collision and reducing the hoisting accident rate.
[0230] like Figure 2 As shown, the third aspect of this embodiment provides a hardware device for implementing the REVIT-based tower crane hoisting digital twin intelligent deduction method described in the first aspect of the embodiment, including:
[0231] The model building unit is used to obtain a tower crane hoisting model, wherein the tower crane hoisting model includes a tower crane model, a hoisting object model and a hoisting scene model.
[0232] The gridding unit is used to perform gridding processing on the hoisting object model in the tower crane hoisting model to generate a hoisting object grid model.
[0233] The density adjustment unit is used to adjust the mesh density of each mesh surface in the hoisting object mesh model according to the curvature of each mesh surface to obtain an optimal mesh model. When adjusting the mesh density, the mesh density of the mesh surface with a curvature higher than the curvature threshold is increased, and the mesh density of the mesh surface with a curvature less than or equal to the curvature threshold is reduced.
[0234] The hoisting object calculation unit is used to calculate the actual weight of the hoisting object corresponding to the hoisting object model using the optimal grid model.
[0235] The hoisting simulation unit is used to perform hoisting simulation processing on the tower crane hoisting model based on the actual weight of the hoisted object, so as to obtain in real time the actual working range of the tower crane model when the hoisted object model moves in the hoisting scene model, wherein the actual working range is the horizontal distance between the hook center line and the rotation center line of the tower crane model.
[0236] The hoisting simulation unit is also used to calculate the real-time maximum lifting weight of the tower crane model during the hoisting process using the actual weight and the actual working range of the tower crane model obtained in real time, and to issue an over-limit alarm when the real-time maximum lifting weight is less than the actual weight.
[0237] The working process, working details and technical effects of the device provided in this embodiment can be found in the first and second aspects of the embodiment, and will not be described in detail here.
[0238] The fourth aspect of this embodiment provides another REVIT-based digital twin intelligent deduction device for tower crane hoisting. Taking the device as an electronic device as an example, it includes: a memory, a processor and a transceiver that are communicatively connected in sequence, wherein the memory is used to store computer programs, the transceiver is used to send and receive messages, and the processor is used to read the computer program and execute the REVIT-based tower crane hoisting digital twin intelligent deduction method as described in the first and second aspects of the embodiment.
[0239] The working process, working details and technical effects of the electronic device provided in this embodiment can be found in the first and second aspects of the embodiment, and will not be repeated here.
[0240] The fifth aspect of this embodiment provides a storage medium that stores instructions of the REVIT-based tower crane hoisting digital twin intelligent deduction method described in the first and second aspects of the embodiment, that is, the storage medium stores instructions, and when the instructions are run on a computer, the REVIT-based tower crane hoisting digital twin intelligent deduction method described in the first and second aspects of the embodiment is executed.
[0241] The working process, working details and technical effects of the storage medium provided in this embodiment can be found in the first and second aspects of the embodiment, and will not be repeated here.
[0242] A sixth aspect of this embodiment provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute the REVIT-based tower crane hoisting digital twin intelligent deduction method as described in the first and second aspects of the embodiment, wherein the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device.
[0243] The specific implementation methods described above further illustrate the objectives, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above description is only a specific implementation method of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.
Claims
1. A tower crane hoisting digital twin intelligent deduction method based on REVIT, characterized by: include: Obtaining a tower crane hoisting model, wherein the tower crane hoisting model includes a tower crane model, a hoisting object model, and a hoisting scene model; Performing grid processing on the hoisted object model in the tower crane hoisting model to generate a hoisted object grid model; According to the curvature of each mesh patch in the hoisting object mesh model, the mesh density of each mesh patch is adjusted to obtain the optimal mesh model. When adjusting the mesh density, the mesh density of mesh patches with a curvature greater than a curvature threshold is increased, and the mesh density of mesh patches with a curvature less than or equal to the curvature threshold is decreased. Calculating the actual weight of the hoisted object corresponding to the hoisted object model using the optimal grid model; Based on the actual weight of the hoisted object, a hoisting simulation process is performed on the tower crane hoisting model to obtain in real time the actual working range of the tower crane model when the hoisted object model moves in the hoisting scene model, wherein the actual working range is the horizontal distance between the hook centerline and the rotation centerline of the tower crane model; The actual weight and the actual working range of the tower crane model obtained in real time are used to calculate the real-time maximum lifting weight of the tower crane model during the lifting process, and when the real-time maximum lifting weight is less than the actual weight, an over-limit alarm is issued.
2. The method according to claim 1, characterized in that Meshing the hoisted object model in the tower crane hoisting model to generate a hoisted object mesh model includes: Performing non-entity element filtering on the hoisted object model to obtain a filtered hoisted object model; Performing data de-redundancy processing on the filtered hoisted object model to obtain a de-redundancy model; Performing coordinate transformation on each component in the de-redundant model to map the coordinates of each component to the same coordinate system to obtain a global hoisting object model; Performing geometric simplification processing on the global hoisted object model to obtain a preprocessed hoisted object model; Performing triangulation processing on the pre-processed hoisting object model to obtain a triangular mesh model; The triangular mesh model is subjected to finite element mesh division processing to obtain a tetrahedron mesh model after the finite element mesh division processing, and the tetrahedron mesh model is used as the hoisting object mesh model.
3. The method according to claim 1, characterized in that According to the curvature of each mesh patch in the hoisting object mesh model, the mesh density of each mesh patch is adjusted to obtain the optimal mesh model, including: Obtaining an initial model at the t-th iteration, and determining a spatial grid topology matrix of the initial model at the t-th iteration, wherein the spatial grid topology matrix is used to characterize the connection relationship between each grid facet in the initial model at the t-th iteration, and an initial value of t is 1. When t is 1, the initial model at the t-th iteration is the hoisting object grid model; Using the spatial grid topology matrix and according to the curvature of each grid facet in the initial model at the t-th iteration, performing a grid density adjustment process on each grid facet in the initial model at the t-th iteration to obtain a t-th adjusted initial model, wherein when performing the grid density adjustment, meshing is performed on mesh faces having a curvature greater than a curvature threshold, and mesh merging is performed on mesh faces having a curvature less than or equal to the curvature threshold; Determining whether an iteration stopping condition is satisfied, wherein the iteration stopping condition includes that a curvature change rate between the initial model after the t-th adjustment and the initial model after the t-1-th adjustment is less than a change rate threshold; If not, t is incremented by 1, and the initial model at the tth iteration is updated to the initial model after adjustment at the t-1th iteration, and the spatial grid topology matrix of the initial model at the tth iteration is re-determined until the iteration stop condition is met to obtain the optimal grid model.
4. The method according to claim 1, wherein The optimal grid model is associated with an optimal spatial grid topology matrix, and the optimal spatial grid topology matrix is used to characterize the connection relationship between each grid face in the optimal grid model; The optimal grid model is used to calculate the actual weight of the hoisted object corresponding to the hoisted object model, including: screening at least one valid grid entity from the optimal grid model according to the optimal spatial grid topology matrix, wherein any valid grid entity includes a plurality of interconnected grid units, and the plurality of grid units are connected to form a closed grid structure unit; For any valid grid entity, calculating the volume of each grid unit in the any valid grid entity; Summing the volumes of the grid cells in any valid grid entity to obtain the volume of the any valid grid entity, and obtaining the volume of each valid grid entity after polling all valid grid entities; Sum the volumes of all valid grid entities to obtain the volume of the hoisted object; The density of the hoisted object is obtained, and the actual weight of the hoisted object is calculated based on the density and volume of the hoisted object.
5. The method according to claim 1, wherein The actual weight and the actual working range of the tower crane model obtained in real time are used to calculate the real-time maximum lifting capacity of the tower crane model during the lifting process, including: According to the following formula (1), the real-time maximum lifting capacity is calculated; In the above formula (1), G represents the real-time maximum lifting weight, L min Indicates the minimum working range of the tower crane model, G max It represents the maximum lifting capacity of the tower crane model at the minimum working range, L represents the actual working range of the tower crane model, and n represents the tower crane performance index.
6. The method according to claim 1, characterized in that When performing hoisting simulation processing on the tower crane hoisting model, the method further includes: Acquiring motion trajectory information of a moving object in a tower crane hoisting model, wherein the moving object includes the tower crane model and the hoisting object model; Constructing a four-dimensional space-time model of the hoisting according to the motion trajectory information, wherein the four-dimensional space-time model of the hoisting is used to represent the mapping relationship between the position of the moving object and the movement time; Based on the four-dimensional spatiotemporal model of hoisting, a multi-level collision detection bounding box is constructed, wherein the multi-level collision detection bounding box includes a maximum bounding box of the moving object, an overall bounding box of all building components in the hoisting scene model, a motion bounding box of the moving object at different motion moments, a first local bounding box of a pre-contact area between the moving object and each building component in the hoisting scene model at different motion moments, and a second local bounding box of a specified curved surface area between the moving object and each building component, and the maximum bounding box of the moving object is used to represent the maximum motion range of the moving object during the hoisting process; The multi-level collision detection bounding box is used to perform collision detection on the moving object at each movement moment to obtain a collision detection result, and a collision alarm prompt is issued based on the collision detection result.
7. The method according to claim 6, characterized in that Based on the motion trajectory information, a four-dimensional space-time model of the hoisting is constructed, including: According to the motion trajectory information of the moving object, the position coordinates of the moving object at different motion moments are determined; Associating the position coordinates of the moving object at different movement moments with the movement moments of the moving object to obtain spatiotemporal mapping information of the moving object, and associating the position coordinates of each building component in the hoisting scene model with the movement moments to obtain spatiotemporal mapping information of the environment; The hoisting space-time four-dimensional model is generated according to the environment space-time mapping information and the space-time mapping information of the moving object.
8. The method according to claim 6, characterized in that Based on the four-dimensional space-time model of the hoisting, a multi-level collision detection bounding box is constructed, including: Determining the maximum motion range of the moving object based on the hoisting spatiotemporal four-dimensional model, and generating the maximum bounding box according to the maximum motion range; Constructing an overall bounding box of all building components in the hoisting scene model according to the hoisting scene model; Generate a basic bounding box using the maximum bounding box and the overall bounding box; Determining the position coordinates of the moving object at different movement moments according to the hoisting spatiotemporal four-dimensional model, and generating motion bounding boxes of the moving object at different movement moments based on the position coordinates of the moving object at different movement moments; generating, based on the position coordinates of the mobile object at different movement moments, first local bounding boxes of pre-contact areas between the mobile object and each building component at different movement moments; Performing data fusion processing on the motion bounding boxes of the moving object at different motion moments and the first local bounding boxes to obtain dynamic bounding boxes; generating a second local bounding box for a designated curved surface area of the moving object and each building component, wherein the designated curved surface area is a curved surface area of the moving object and each building component having a curvature greater than a preset value or a surface type of a designated type; The multi-level collision detection bounding box is generated by using the basic bounding box, the dynamic bounding box, and the second local bounding boxes of the mobile object and the designated surface area of each building component.
9. The method according to claim 6, characterized in that Using the multi-level collision detection bounding box, collision detection is performed on the moving object at each movement moment, including: At any moment of motion, the position coordinates of the moving object at that moment of motion are obtained based on the motion trajectory information; According to the position coordinates of the moving object at any moment of movement, and using a space segmentation algorithm, a target object is removed from the hoisting scene model to obtain a collision detection object, wherein the target object is an object in the hoisting scene model that has no overlapping area with a target bounding box, and the target bounding box is the motion bounding box of the moving object at any moment of movement; Determining a first local bounding box corresponding to the collision detection object from the multi-level collision detection bounding boxes; Determine whether the target bounding box and the first local bounding box corresponding to the collision detection object have an intersection; If not, determining whether the second local bounding box of the designated curved surface area on the moving object and the second local bounding box of the designated curved surface area on the collision detection object intersect at any of the movement moments; If so, the penetration depth and contact point between the moving object and the target object at any of the movement moments are calculated, and a collision detection result is generated as a collision, wherein the target object is a collision detection object that has a collision relationship with the moving object at any of the movement moments.
10. A tower crane hoisting digital twin intelligent deduction device based on REVIT, characterized by: include: A model building unit is used to obtain a tower crane hoisting model, wherein the tower crane hoisting model includes a tower crane model, a hoisting object model and a hoisting scene model; A gridding unit, configured to perform gridding processing on the hoisted object model in the tower crane hoisting model to generate a grid model of the hoisted object; a density adjustment unit, configured to adjust the mesh density of each mesh facet in the hoisted object mesh model according to the curvature of each mesh facet to obtain an optimal mesh model, wherein when adjusting the mesh density, the mesh density of mesh faces having a curvature greater than a curvature threshold is increased, and the mesh density of mesh faces having a curvature less than or equal to the curvature threshold is decreased; A hoisting object calculation unit is used to calculate the actual weight of the hoisting object corresponding to the hoisting object model using the optimal grid model; a hoisting simulation unit, configured to perform hoisting simulation processing on the tower crane hoisting model based on the actual weight of the hoisted object, so as to obtain in real time an actual working range of the tower crane model when the tower crane model hoists the hoisted object model and moves in the hoisting scene model, wherein the actual working range is the horizontal distance between the hook centerline and the rotation centerline of the tower crane model; The hoisting simulation unit is also used to calculate the real-time maximum lifting weight of the tower crane model during the hoisting process using the actual weight and the actual working range of the tower crane model obtained in real time, and to issue an over-limit alarm when the real-time maximum lifting weight is less than the actual weight.