A method and system for converting a mobile robot navigation map based on BIM information
By converting BIM files to IFC format, identifying and filtering key navigation components, and using an improved scanline algorithm to draw maps, the problems of long processing time and low efficiency in SLAM technology are solved, achieving efficient and accurate navigation map construction, which is suitable for the construction industry.
Patent Information
- Application Number
- CN202211578944.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-05
- Publication Date
- 2025-12-23
- Estimated Expiration
- 2042-12-05
AI Technical Summary
Existing SLAM technology is time-consuming and inefficient in building navigation maps for mobile robots, making it difficult to meet the needs of complex tasks.
A navigation map construction method based on BIM information is adopted. By converting BIM files into IFC format, identifying and filtering key navigation components, performing projection transformation into two-dimensional map sources, and using an improved scanline algorithm to draw and fill the map.
It improves the accuracy and versatility of navigation maps, shortens map construction time, and is suitable for BIM technology widely used in the construction industry.
Smart Images

Figure CN115979243B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of robot control, and in particular to a mobile robot navigation map conversion method and system based on BIM information. BACKGROUND
[0002] With the development of sensors and embedded systems, current mobile robots can perform tasks autonomously in some simple working conditions through programming with the help of built-in sensing, computing and driving functions. The first step to achieve autonomous movement of robots is to establish a navigation map. Current mobile robots mainly use SLAM technology based on laser radar to map. This method requires manual control of the robot to traverse the entire workspace when first used, and the surrounding environment is scanned by laser radar, combined with filtering algorithms and graphics technology to generate a map. This method is time-consuming and inefficient.
[0003] BIM (Building information modeling) is an innovative concept and method that integrates various related information of construction engineering projects through a common data standard IFC (Industry Foundation Classes). BIM technology is based on three-dimensional digital technology and builds a digital and intelligent building information model for the entire life cycle of a building. It is widely used in various stages of architectural planning, design, construction and operation management. As can be seen, BIM contains rich and complete information about buildings, so it can meet the navigation and work requirements of mobile robots and other robots that perform complex tasks; at the same time, due to the increasingly widespread use of BIM technology in the AEC (Architecture Engineering & Construction) industry, it also makes the technology of mobile robot navigation based on BIM information have strong versatility.
[0004] Therefore, establishing a three-dimensional map for mobile robots to perform complex tasks based on BIM information is an effective method that guarantees the accuracy of map information and versatility in different situations. SUMMARY
[0005] Therefore, the present application provides a navigation map construction method and system for mobile robots based on BIM information to solve the problem of time-consuming and low efficiency of automatic mapping technologies such as SLAM. The present application adopts the following technical solutions:
[0006] The present application provides a mobile robot navigation map conversion method based on BIM information, comprising the following steps:
[0007] S1, convert the BIM file into IFC format, read the IFC file, and classify the building information according to different floors;
[0008] S2, for the building information of each floor, read the IFC entity information therein, identify the type of each component, and filter the components to obtain navigation key components;
[0009] S3, project the navigation key components to convert them into straight lines and curves in the two-dimensional graph source;
[0010] S4, extract the contour information of the navigation key components in the two-dimensional graph source, and save the straight line and curve information to the improved new edge table;
[0011] S5, based on the improved new edge table, use the improved scan line algorithm to draw and fill the map required for robot navigation.
[0012] Further, the step S1 is specifically: converting various types of BIM files into unified IFC files through BIM development software, and then reading the building component information therein, and classifying the building according to the floor information to obtain the building information of each floor.
[0013] Further, the step S2 is specifically: for the building information of each floor classified in S1, reading the IFC entity information therein to determine the actual building component name corresponding to each entity; according to the determination result, filtering the navigation key components to obtain the attribute and parameter information of each navigation key component.
[0014] Further, the navigation key components include doors, windows, walls, columns, stairs and floors.
[0015] Further, the step S3 is specifically: based on the parameter information of each navigation key component read in S2, projecting and transforming each navigation key component in a specified number of floors of the building into a plan view, wherein the edge lines constituting each component are saved in the form of boundary representation; the edge lines include straight lines and curves.
[0016] Further, the step S4 includes the following sub-steps:
[0017] S41, extract the edge line information of each planar component in S3, and perform coordinate transformation and proportional scaling as needed, wherein the formula for coordinate transformation is:
[0018]
[0019] In the formula, (x, y) is the coordinates of a point in the original coordinate system, (x', y') is the coordinates of the point in the new coordinate system, θ is the angle of rotation of the new coordinate system relative to the original coordinate system, and a, b are the distances moved by the new coordinate system relative to the original coordinate system.
[0020] The formula of the scaling transformation is:
[0021]
[0022] where x is the horizontal coordinate of the target point in the scaled map, x0 is the original horizontal coordinate of the point before scaling, r is the preset resolution of the new map, W is the preset width of the new map, W0 is the width of the original map, y is the vertical coordinate of the target point in the scaled map, y0 is the original vertical coordinate of the point before scaling, r is the preset resolution of the new map, H is the preset height of the new map, and H0 is the height of the original map. new set set new set set
[0023] S42, according to the scan line algorithm, the edge line information of each planar component is stored in the improved new edge table corresponding to the scan line in the form of the boundary representation method; each element in the improved new edge table is saved in the format of a string, and each string contains all the shape and position information of the edge line.
[0024] Further, the step S5 includes the following sub-steps:
[0025] (1) defining a series of mutually parallel scan lines to cover the entire map area;
[0026] (2) for each scan line, querying the new edge table to see if there is a new edge to be inserted, if so, adding the new edge to the active edge table, and calculating the intersection points of each edge in the active edge table with the scan line; wherein the active edge table is defined as follows: in the scan line algorithm, the edge intersecting with the current scan line is called the active edge, and the active edge is stored in a linked list in the order of increasing x coordinate of the intersection point with the scan line, and the linked list is the active edge table;
[0027] (3) sorting all the intersection points in the order of increasing x coordinate;
[0028] (4) pairing each pair of intersection points, wherein each pair of intersection points represents an intersection interval of the scan line and the component;
[0029] (5) filling color in the intersection interval;
[0030] (6) updating the active edge table to remove the edge lines that have reached the end point;
[0031] (7) repeating (2)-(6) until all the scan lines are traversed to complete the filling of the entire map.
[0032] The application also provides a mobile robot navigation map conversion system based on BIM information, comprising:
[0033] An IFC identification module is used to preliminarily identify the IFC file, read basic information in the IFC file, and preliminarily classify each component in the IFC file according to the difference of floors;
[0034] A component screening module is used to identify the type of each component and screen the navigation key components in the components;
[0035] A component projection conversion module is used to perform projection conversion operation on the information in the components, so as to convert the information into two-dimensional information on a plan;
[0036] A boundary information extraction module is used to extract the boundary line information of the components and perform coordinate conversion and scaling conversion on the boundary line information;
[0037] A map drawing module is used to draw a robot navigation map image based on the obtained boundary line information by using an improved scan line algorithm.
[0038] The application further provides a computer device, which comprises a processor, a memory and a computer program stored in the memory and running on the processor;
[0039] The computer program is divided into one or more modules, and the one or more modules are configured to execute the above-mentioned BIM information-based mobile robot navigation map conversion method.
[0040] The application further provides a computer readable storage medium, which stores a program code, wherein the program code is executed by a processor to execute the above-mentioned BIM information-based mobile robot navigation map conversion method.
[0041] Compared with the prior art, the application has the following beneficial effects:
[0042] This invention relates to the field of robot control technology, and provides a method and system for converting navigation maps for mobile robots based on BIM information. The method includes: converting BIM files to IFC format; reading IFC files; classifying building information according to different floors; identifying the types of each component and filtering them; projecting the components to convert them into straight lines and curves in a two-dimensional image source; extracting the contour information of each component from the two-dimensional image and saving its straight and curved edges to an improved new table; and using an improved scanline algorithm to draw and fill the map required for robot navigation. This invention's method for converting navigation maps for mobile robots based on BIM information solves the problems of long processing times and low efficiency in automatic mapping technologies such as SLAM. Furthermore, due to the widespread application of BIM technology in the construction industry, this method has higher versatility compared to navigation map conversion methods based on other types of information. Additionally, this invention provides an improved scanline algorithm, which, compared to traditional scanline algorithms that can only fill straight lines, can fill complex planar graphics containing arcs, ellipses, Bézier curves, etc., thereby improving map accuracy. Attached Figure Description
[0043] To more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0044] Figure 1 This is a flowchart of a mobile robot navigation map conversion method based on BIM information provided by the present invention;
[0045] Figure 2 This invention provides a flowchart of a geometric drawing method using an improved scan line algorithm.
[0046] Figure 3 This is a schematic diagram of a geometric drawing method using an improved scan line algorithm provided by the present invention;
[0047] Figure 4 This is a block diagram of a mobile robot navigation map conversion system based on BIM information provided by the present invention;
[0048] Figure 5 This is a schematic diagram of a computer device provided by the present invention. Detailed Implementation
[0049] In the following description, for purposes of explanation and not limitation, specific details are set forth such as particular architectures, techniques, etc. in order to provide a thorough understanding of the embodiments of the present application. However, it will be apparent to those skilled in the art that the present application can be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known methods, devices, circuits, and
[0050] A BIM information-based mobile robot navigation map conversion method according to an embodiment of the present application will be described in detail below with reference to the accompanying drawings.
[0051] Building Information Modeling (BIM) is a building lifecycle database that stores information from planning to design, construction, operation, and maintenance. With the widespread acceptance of the Building Information Modeling (BIM) paradigm in the Architecture, Engineering, and Construction (AEC) industry, building projects create and maintain BIM models containing rich building lifecycle information.
[0052] IFC files are an open, non-proprietary file format that complies with international standard ISO 16739 and can be used to exchange and share data between various applications developed in different graphics and software at the design, construction, operation, and maintenance stages without the need for them to support native (proprietary) files. BIM integrates various related information of construction projects through a common data standard IFC.
[0053] The present application provides a three-dimensional map modeling method for mobile robots working on BIM information, as shown in Figure 1 The method comprises the following steps:
[0054] S1, converting the BIM file into IFC format, reading the IFC file, and classifying the building information according to different floors. Specifically, various types of BIM files are converted into unified IFC files through BIM development software, and then the IFC files are read through a parsing program, the building components are parsed, and the building components are classified according to floors.
[0055] First, various types of BIM files are converted into unified IFC files through BIM development software. BIM integrates various related information of construction projects through a common data standard IFC. Therefore, most BIM authoring tools are IFC certified and have built-in functions to export their respective BIM instance models into IFC format.
[0056] Then the IFC file is read by the analysis program, and the building components therein are analyzed. Since the components of each floor are contained in the floor class in which they are located, and are expressed in local coordinates. Therefore, the floor keyword in the IFC file needs to be extracted, and the components belonging to the floor are classified accordingly, so as to distinguish the component information in different floors, so as to quickly obtain the building information in each floor.
[0057] S2, identify the type of each component, and screen the components therein.
[0058] For the floor information classified in S1, the IFC entity information therein is read to determine the actual building component name corresponding to each entity and its shape and position information.
[0059] Then, according to the determination result, the navigation key components in the components are extracted, or the unnecessary components therein are filtered out.
[0060] For example, the navigation key components such as doors, windows, walls, columns, stairs and floors are extracted from the IFC file.
[0061] S3, project the components to convert them into straight lines and curves in the two-dimensional graph source.
[0062] Based on the parameter information of each component read in S2, the projection transformation of each component in the specified floor of the building to the overhead plane is performed. For the edge lines (including straight lines and curves) constituting each component, they are still saved in the form of boundary representation after simple projection transformation.
[0063] For example, a three-dimensional straight line is represented as '1 1 0 3 0 1 0' according to the boundary representation standard, and the two-dimensional straight line obtained after projecting it to the xy plane is represented as '1 1 0 0 1' according to the boundary representation standard. A three-dimensional circle is represented as '2 1 2 3 0 0 1 1 0 0 0 1 0 4', and the two-dimensional circle obtained after projecting it to the xy plane is represented as '2 1 2 0 1 1 0 4' according to the boundary representation standard.
[0064] S4, extract the contour information of each component in the two-dimensional graph source, and save the straight line and curve edges to the improved new edge table. This includes: extracting the edge information of each planar component in S3, and performing coordinate transformation and scaling as needed. According to the principle of scan line algorithm, the edge information of each component is stored in the improved new edge table corresponding to the scan line according to the boundary representation method.
[0065] S41, extract the edge information of each planar component in S3, and perform coordinate transformation and scaling as needed.
[0066] The formula for coordinate transformation is
[0067]
[0068] In the formula, (x, y) is the coordinate of a point in the original coordinate system, (x', y') is the coordinate of the point in the new coordinate system, θ is the angle of rotation of the new coordinate system relative to the original coordinate system, and a and b are the distances of movement of the new coordinate system relative to the original coordinate system.
[0069] The formula of the scaling transformation is
[0070]
[0071] In the formula, x new is the horizontal coordinate of the target point in the scaled map, x0 is the original horizontal coordinate of the point before scaling, r set is the preset resolution of the new map, W set is the preset width of the new map, W0 is the width of the original map, y new is the vertical coordinate of the target point in the scaled map, y0 is the original vertical coordinate of the point before scaling, r set is the preset resolution of the new map, H set is the preset height of the new map, and H0 is the height of the original map.
[0072] In S42, the edge line information of each component is stored in the improved new edge table corresponding to the scan line according to the principle of the scan line algorithm.
[0073] In the formula, each scan line corresponds to a new edge table, and the first appearing edge of the scan line is stored in the new edge table.
[0074] The conventional new edge table can only save the straight line boundaries of the graph (by recording the starting and ending coordinates and the slope), and cannot save the curve boundaries.
[0075] The embodiment proposes an improved scan line algorithm, in which an improved new edge table is used. Each element in the new edge table is saved in the format of a string, and each string contains all the shape and position information of the boundary line. In the embodiment, the string is used to save the boundary line information by referring to the representation form of the line in the boundary representation method. The line feed symbol in the format is replaced by the string 'n', so that the information of the boundary line is converted into the format of the string.
[0076] For example, a straight line in the new edge table is represented as '1 1 2 1 0', a circle in the new edge table is represented as '2 1 2 1 00 1 3', and a Bézier curve in the new edge table is represented as '6 1 2 0 1 4 1-2 5 2 3 6'. The new edge table storing these three edges can be represented as a set of strings, namely ['1 1 2 1 0', '2 1 2 1 0 0 1 3', '6 1 2 0 1 4 1-2 5 2 3 6'].
[0077] S5 utilizes an improved scanline algorithm to draw and fill the map required for robot navigation.
[0078] Among them, such as Figure 2 As shown, the specific steps of the improved scan line algorithm are as follows:
[0079] (1) Define a series of parallel scan lines to cover the entire map area;
[0080] (2) For each scan line, check if there is a new edge to be inserted in the new edge table (established in step S4). If so, add the endpoints of the new edge to the active edge table and calculate the intersection points of each edge in the active edge table with the scan line.
[0081] (3) Sort all intersection points in ascending order of x-coordinate;
[0082] (4) Pair up each intersection point, where each pair of intersection points represents the intersection interval between the scan line and the component;
[0083] (5) Fill the intersecting regions with color;
[0084] (6) Update the active edge table and remove edges that have reached their destination;
[0085] (7) Repeat steps (2)-(6) until all scan lines have been traversed to complete the filling of the entire map.
[0086] The active edge list is defined as follows: In the scan line algorithm, the edges that intersect with the current scan line are called active edges. They are stored in a linked list in ascending order of the x-coordinate of their intersection point with the scan line. This linked list is the active edge list.
[0087] Figure 3 This is a schematic diagram illustrating the filling of a shape using the improved scanline algorithm. The shapes to be filled are sector ABC and rectangles DEFG. The scanline begins scanning from the bottom of the entire map. When the scanline reaches... Figure 3 (a) l i At this point, the active edges are AC, BC, EF, and FG, and the corresponding vertex in the active edge list is P. i1 P i2 Pi3 , P i4 . The four vertices are ordered from left to right, and paired two by two, i.e. P i1 P i2 , P i3 P i4 The area between the two line segments is filled. Figure 3 (c) For the case when the scanning line moves to l j , the active edges are AC, BC, DE, FG, and the corresponding vertices in the active edge table are P j1 , P j2 , P j3 , P j4 . The filling is done according to the same rule, as shown in Figure 3 (d). For the sake of clarity, only the line that the scanning line is currently filling is shown, and the filled lines are not shown (i.e. in 3(a) and 3(b), the part below l i is filled; i.e. in 3(c) and 3(d), the part below l j is filled).
[0088] Based on the same concept, the embodiment of the application also provides a mobile robot navigation map conversion system based on BIM information. The following is an embodiment of the map conversion system of the application, which can be used to execute the method embodiment of the application. For details not disclosed in the device embodiment of the application, please refer to the method embodiment of the application.
[0089] Figure 4 is a block diagram of a mobile robot navigation map conversion system based on BIM information provided by the application. As shown in Figure 4 , the map conversion system comprises:
[0090] An IFC identification module, which realizes preliminary identification of an IFC file, reads basic information therein, and preliminarily classifies components in the IFC file according to the difference between floors;
[0091] A component screening module, which identifies the type of each component and screens navigation key components therein;
[0092] A component projection conversion module, which performs projection transformation operation on information in the component, so as to convert it into two-dimensional information on a plan;
[0093] A boundary information extraction module, which extracts boundary line information of the component, and performs coordinate conversion and scaling transformation on the boundary line information;
[0094] A map drawing module, which draws a robot navigation map image by using an improved scanning line algorithm based on the obtained boundary line information.
[0095] Figure 5is a schematic diagram of the computer device 5 provided by the present application. As shown in the figure, the computer device 5 of this embodiment includes a processor 501, a memory 502, and a computer program 503 stored in the memory 502 and executable on the processor 501. The processor 501 implements the steps in the above method embodiments when executing the computer program 503. Alternatively, the processor 501 implements the functions of the modules / units in the above device embodiments when executing the computer program 503. Figure 5
[0096] By way of example, the computer program 503 can be segmented into one or more modules / units, which are stored in the memory 502 and executed by the processor 501 to complete the present application. The one or more modules / units can be a series of computer program instruction segments capable of completing a specific function, which are used to describe the execution process of the computer program 503 in the computer device 5.
[0097] The computer device 5 can be a desktop computer, a notebook, a palm computer, a cloud server, and the like. The computer device 5 can include but is not limited to the processor 501 and the memory 502. Those skilled in the art can understand that the computer device 5 can include more or less components, or combine certain components, or different components, for example, the computer device can also include an input / output device, a network access device, a bus, and the like. Figure 5 The computer device 5 shown in the figure is merely an example and does not constitute a limitation on the computer device 5, which can include more or less components, or combine certain components, or different components, for example, the computer device can also include an input / output device, a network access device, a bus, and the like.
[0098] The processor 501 can be a central processing unit (CPU), and can also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gates or transistor logic, discrete hardware components, etc. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor.
[0099] The memory 502 can be an internal storage unit of the computer device 5, for example, a hard disk or a memory of the computer device 5. The memory 502 can also be an external storage device of the computer device 5, for example, a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card and the like equipped on the computer device 5. Further, the memory 502 can include both the internal storage unit and the external storage device of the computer device 5. The memory 502 is used to store computer programs and other programs and data required by the computer device. The memory 502 can also be used to temporarily store data that has been output or is to be output.
[0100] Those skilled in the art can clearly understand that, for the convenience and brevity of description, only the division of the above functional units and modules is taken as an example, and in actual application, the above functions can be completed by different functional units and modules according to needs, that is, the internal structure of the apparatus is divided into different functional units or modules to complete all or part of the functions described above. Each functional unit and module in the embodiment can be integrated in one processing unit, or each unit can exist physically, or two or more units can be integrated in one unit, and the integrated unit can be realized in the form of hardware or software. In addition, the specific names of each functional unit and module are only for easy distinction, and do not limit the protection scope of the application. The specific working process of the units and modules in the system can refer to the corresponding process in the foregoing method embodiments, which will not be described here.
[0101] In the above embodiments, the description of each embodiment has its own emphasis, and the parts not described or recorded in detail in a certain embodiment can be referred to the relevant description of other embodiments.
[0102] Those of ordinary skill in the art can appreciate that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be implemented by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.
[0103] In the embodiments of the present application, it should be understood that the disclosed apparatus / computer device and method can be implemented in other manners. For example, the described apparatus / computer device embodiments are merely schematic. For example, the division of the modules or units can be different, and each can include multiple sub-modules or units. Some or all of the modules or units can be combined or integrated into another system, or some features can be ignored or not implemented. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections can be indirect couplings or communication connections through some interfaces, devices or units, and can be in electrical, mechanical or other forms.
[0104] The units described as separate components can or can not be physically separate, and the components shown as units can or can not be physical units, i.e., can be located in one place, or can be distributed on multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the embodiments.
[0105] In addition, each functional unit in the various embodiments of the present application can be integrated into a processing unit, or each unit can be a physically independent unit, or two or more units can be integrated into a unit. The integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
[0106] If the integrated module / unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium. Based on such understanding, all or part of the flow of the above-mentioned embodiment methods can be completed by computer programs instructing related hardware, and the computer programs can be stored in a computer readable storage medium. The computer program can be executed by a processor to implement the steps of each method embodiment. The computer program can include computer program code, which can be in the form of source code, object code, executable file or some intermediate form. The computer readable medium can include any entity or device capable of carrying the computer program code, recording medium, U disk, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signal, telecommunication signal and software distribution medium, etc. It should be noted that the computer readable medium can include appropriate contents according to the requirements of legislation and patent practice in the jurisdiction, for example, in some jurisdictions, according to legislation and patent practice, the computer readable medium does not include electrical carrier signals and telecommunication signals.
[0107] The above examples are only used to illustrate the technical solutions of the present application, but not limit the present application; although the present application has been described in detail with reference to the foregoing examples, those skilled in the art should understand that the technical solutions recorded in the foregoing examples can be modified, or some technical features can be replaced equivalently; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be included in the protection scope of the present application.
[0108] It should be understood that the size of the serial number of each step in the above examples does not mean the order of execution, and the execution order of each process should be determined according to its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
Claims
1. A method for converting navigation maps for mobile robots based on BIM information, characterized in that, Includes the following steps: S1. Convert the BIM file to IFC format, read the IFC file, and classify the building information according to different floors; S2: For the building information of each floor, read the IFC entity information, identify the type of each component, and filter the components to obtain the key navigation components; S3 projects the key navigation components, transforming them into straight lines and curves in a two-dimensional image source; S4, extract the contour information of key navigation components from the 2D image source, and save their straight and curved edge information to the improved new edge table; S5, based on the improved new edge table, uses an improved scanline algorithm to draw and fill the map required for robot navigation; Step S4 includes the following sub-steps: S41, extract the edge information of each planar component in S3, and perform coordinate transformation and scaling as needed. The formula for coordinate transformation is: In the formula, (x, y) are the coordinates of a point in the original coordinate system, (x, y) are the coordinates of a point in the original coordinate system. ′ ,y ′ Let θ be the coordinates of the point in the new coordinate system, θ be the angle of rotation of the new coordinate system relative to the original coordinate system, and a and b be the distances moved by the new coordinate system relative to the original coordinate system. The formula for scaling transformation is: In the formula, x new x is the x-coordinate of the target point on the scaled map, x0 is the original x-coordinate of the point before scaling, and r is the x-coordinate of the target point on the scaled map. set For the preset new map resolution, W set W0 is the preset width of the new map, and W0 is the original map width. new Here, y0 represents the ordinate of the target point on the scaled map, and r represents the original ordinate of that point before scaling. set H is the preset new map resolution. set H0 is the preset height of the new map, and H0 is the original map height. S42, according to the scan line algorithm, the edge information of each planar component is stored in the improved new edge table of the corresponding scan line in the form of boundary representation; each element in the improved new edge table is stored in the format of a string, wherein each string contains all the shape and position information of the edge line; Step S5 includes the following sub-steps: (1) Define a series of parallel scan lines to cover the entire map area; (2) For each scan line, check if there is a new edge to be inserted in the new edge table. If so, add the new edge to the active edge table and calculate the intersection points of each edge in the active edge table with the scan line. The active edge table is defined as follows: In the scan line algorithm, the edge that intersects with the current scan line is called the active edge. The active edges are stored in a linked list in ascending order of the x-coordinate of the intersection point with the scan line. This linked list is the active edge table. (3) Sort all intersection points in ascending order of x-coordinate; (4) Pair up each intersection point, where each pair of intersection points represents the intersection interval between the scan line and the component; (5) Fill the intersecting regions with color; (6) Update the active edge table and remove edges that have reached their destination; (7) Repeat steps (2)-(6) until all scan lines have been traversed to complete the filling of the entire map.
2. The mobile robot navigation map conversion method based on BIM information according to claim 1, characterized in that, Step S1 specifically involves: converting various types of BIM files into unified IFC files using BIM development software, and then reading the IFC files using a parsing program to parse the building components and classify them according to floors.
3. The mobile robot navigation map conversion method based on BIM information according to claim 2, characterized in that, Step S2 specifically involves: determining the actual building component names corresponding to each entity based on the building information of each floor obtained from the classification in S1; and filtering navigation key components based on the determination results to obtain the attribute and parameter information of each navigation key component.
4. The mobile robot navigation map conversion method based on BIM information according to claim 3, characterized in that, The key navigation components include doors, windows, walls, columns, stairs, and floors.
5. The mobile robot navigation map conversion method based on BIM information according to claim 3 or 4, characterized in that, Step S3 specifically involves: based on the parameter information of each navigation key component read in S2, projecting and transforming each navigation key component in a specified number of floors of the building into a plan view, wherein the edge lines of each component are saved according to the boundary representation standard; the edge lines include straight lines and curves.
Citation Information
Patent Citations
BIM-based indoor map model construction method and device
CN111080786A
Mobile robot navigation map conversion method and system based on DXF format
CN113790730A
Special-shaped picture editing method and device
CN115375799A