A column positioning and identification method based on spatial information
By combining multiple algorithms and sensors with robots to automatically identify and locate cylinders, the problem of large time-consuming errors in traditional manual measurements is solved, and efficient and accurate cylinder positioning and indoor space modeling are achieved.
Patent Information
- Application Number
- CN202510143052.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-10
- Publication Date
- 2025-09-02
- Estimated Expiration
- 2045-02-10
AI Technical Summary
Traditional manual column positioning methods are time-consuming and have large errors in large buildings, affecting construction and design accuracy.
The robot combines mobile coordinates and ranging sensors to realize automatic orbiting and obstacle recognition through SLAM, A*, Hough transformation and iterative nearest point algorithms, combines rasterization and vector quantization to process obstacle areas, and uses GIS to build an indoor space plan and map column information.
The automation, precision and efficiency of cylinder positioning are realized, the human resources are reduced, the accuracy and efficiency of measurement are improved, and a complete indoor space model is generated.
Smart Images

Figure CN119984274B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of column positioning and identification, and in particular to a column positioning and identification method based on spatial information. Background Art
[0002] In interior architecture, especially in large, bare-bones construction environments, columns are key elements supporting the building structure. In such environments, the precise identification and positioning of columns is a crucial step in construction, monitoring, and subsequent design and renovation. Traditional column positioning methods rely primarily on manual measurement. Surveyors use tools like tape measures and laser rangefinders to locate columns by calibrating reference points and manually calculating and recording their coordinates. While this method can accomplish the task to a certain extent, it suffers from the following significant drawbacks:
[0003] Manual measurement requires surveyors to confirm the position of each column individually and record and calculate data on-site. For large buildings or complex indoor environments, this process is extremely time-consuming and labor-intensive. Inevitable manual errors, especially when measuring over long distances or when operators have varying skill levels, can affect measurement accuracy, leading to discrepancies in column position records. Manual measurement requires repeated measurement and confirmation, followed by subsequent integration and processing, to generate a spatial model of the building. This process can lead to data lag and reduced accuracy, impacting subsequent construction or architectural design adjustments. Summary of the Invention
[0004] In order to solve the above problems, the present invention provides a column positioning and identification method based on spatial information.
[0005] To achieve the above object, the technical solution adopted by the present invention is:
[0006] A column positioning and identification method based on spatial information comprises the following steps:
[0007] S1, make the robot automatically move around the edge of the indoor plane, and obtain the edge range of the indoor space based on the movement coordinates and ranging sensor;
[0008] S2. Constructing a patrol path inward from the edge of the indoor space, controlling the robot to move along the patrol path and performing detours and obstacle avoidance through real-time distance measurement, and calibrating the actual movement path within the edge of the indoor space to obtain a full path map; the detours and obstacle avoidance are performed by maintaining a constant distance from obstacles until returning to the patrol path;
[0009] S3. Based on the full path diagram, identify the obstacle areas that the patrol line path cannot pass through, rasterize the edges of the obstacle areas, and divide them into several sub-areas. Code values are assigned to the sub-areas based on the edge direction data of the obstacle areas contained in the sub-areas. The code value array is arranged based on the adjacent relationship of the sub-areas. The code value array is traversed through a preset mean window to remove duplicates and obtain a feature value array.
[0010] S4. Traverse the eigenvalue array and the preset column eigenvalue library to determine the column type;
[0011] S5. Construct an indoor space plan based on the indoor space edge range and the obstacle area of the determined column type, map the columns into the indoor space plan, and visualize the semantic information of the columns.
[0012] Furthermore, the robot includes a positioning module, a distance measurement module and a movement module;
[0013] The mobile module is used to control the steering and movement of the robot and record its parameters;
[0014] The distance measuring module is used to obtain the distance between the robot body and other objects through a laser ranging sensor;
[0015] The positioning module is used to calculate the robot's displacement data through GPS to verify the parameters of steering and movement.
[0016] Furthermore, the step of causing the robot to automatically move around the edge of an indoor plane includes the following steps:
[0017] Based on the SLAM algorithm, the edge contour information of the indoor space is obtained and the initial position of the robot is determined;
[0018] Use the A* algorithm to plan the optimal path for the robot to move along the edge of the room based on the edge contour, and adjust the path in real time to maintain a constant distance from the edge;
[0019] The Hough transform algorithm is used to extract the geometric features of indoor plane edges from the ranging data in real time, and the robot is controlled to avoid obstacles based on the ranging data.
[0020] The iterative closest point algorithm is used to correct the path after the robot completes the detour to close the path.
[0021] Furthermore, obtaining the edge range of the indoor space according to the mobile coordinates and ranging sensing includes:
[0022] Use the positioning module on the robot to obtain its current position and determine the reference coordinates of the edge area based on the initial position indoors;
[0023] Obtain the distance data between the robot and the wall in real time and generate a set of indoor edge distance measurement points;
[0024] The least square fitting algorithm is used to process the data of the ranging point set to fit the geometric shape representing the indoor edge;
[0025] Based on the fitted edge geometry, the effective edge range of the indoor space is calculated and mapped to the indoor space coordinate system.
[0026] Furthermore, constructing the line patrol path inward based on the edge range of the indoor space includes generating the line patrol path based on the edge contour of the indoor space through a path planning algorithm, and the line patrol path is constructed step by step inward from the edge in a round-trip manner and covers the entire indoor plane space.
[0027] Furthermore, the step S3 includes the following steps:
[0028] Based on the edge of the obstacle area in the full path graph, edge data is extracted using a boundary detection algorithm, and the edge of the obstacle area is divided into a plurality of rectangular grids according to a predetermined grid unit size, each of the rectangular grids having a unique index identifier;
[0029] For each rectangular grid, based on the edge direction information of the obstacle area contained therein, vector quantization is applied to divide the edge direction data into several angle intervals and set encoding values. The edge direction data includes angle size and line direction.
[0030] According to the spatial position relationship of adjacent rectangular grids, an adjacency matrix between grid cells is constructed, and the code values are arranged according to the spatial distribution order of the grid cells in the adjacent matrix to form a code value array;
[0031] Traversing the code value array through a preset first mean window, removing the code values in the preset mean window that are equal to the mean of the preset mean window, to obtain a semi-deduplicated array; the size of the preset first mean window is three code value units;
[0032] The encoding value array is traversed through a preset second mean window, and encoding values in the preset mean window that are equal to the mean of the preset mean window are removed to obtain a characteristic value array, where the size of the preset first mean window is two encoding value units.
[0033] Furthermore, the S4 includes the following steps:
[0034] Perform equivalent sorting based on the eigenvalue array to generate several equivalent eigenvalue sequences;
[0035] The preset columnar feature value library is compared with the equivalent feature value sequence and the similarity value is calculated. If the similarity value is lower than the preset similarity threshold, no processing is performed;
[0036] If the similarity value is greater than or equal to the preset similarity threshold, the obstacle area is marked as the column type described by the preset column feature value library.
[0037] Furthermore, the formula for the equivalent sorting is as follows:
[0038]
[0039] Among them, S is the eigenvalue array, containing n eigenvalues; k is the number of rotations; i is the index; S k It is a new array obtained by rotating the eigenvalue array S k times, that is, the rotated eigenvalue sequence; mod is the modular operation.
[0040] Furthermore, the S5 includes the following steps:
[0041] Based on the indoor space edge range and full path map, the indoor space plan is constructed using GIS algorithm;
[0042] Determine the coordinates and range of the column in the plan view according to the obstacle area it corresponds to and map it in the indoor space plan view;
[0043] Use identifiers to semantically label different types of columns.
[0044] The beneficial effects of the present invention are as follows: the present invention uses a robot to collect spatial information, and adopts a combination of mobile coordinates and ranging sensors to automatically obtain edge data of the building space, and constructs an efficient patrol path based on this information. Through automatic calibration of spatial information, the robot can continuously and seamlessly complete the precise positioning of multiple columns, effectively shortening the measurement time and improving the overall operating efficiency of the system. Through precise ranging sensors and spatial information feedback, the spatial geometric characteristics of the columns can be dynamically captured. At the same time, raster processing technology is used to refine the edge segmentation of obstacles, and the edge data is encoded through vector quantization. This encoding process greatly enhances the stability of spatial information. Combined with comparison with a column feature library, it effectively reduces misjudgments and missed detections in column positioning, ensuring the accuracy and reliability of measurement. In this solution, the robot completes the spatial positioning of the columns, and can also construct a full path map in real time during the patrol process and map it to the indoor spatial model, realizing the automation of column positioning and model construction, effectively improving the accuracy of column identification and positioning and saving human resources. BRIEF DESCRIPTION OF THE DRAWINGS
[0045] Figure 1 This is a flowchart of the steps of a column positioning and identification method based on spatial information in the present invention.
[0046] Figure 2It is a step flow chart of step S3 in the present invention. DETAILED DESCRIPTION
[0047] See also Figure 1-2 As shown, the present invention relates to a column positioning and identification method based on spatial information, comprising the following steps:
[0048] S1, make the robot automatically move around the edge of the indoor plane, and obtain the edge range of the indoor space based on the movement coordinates and ranging sensor;
[0049] S2. Constructing a patrol path inward from the edge of the indoor space, controlling the robot to move along the patrol path and performing detours and obstacle avoidance through real-time distance measurement, and calibrating the actual movement path within the edge of the indoor space to obtain a full path map; the detours and obstacle avoidance are performed by maintaining a constant distance from obstacles until returning to the patrol path;
[0050] S3. Based on the full path diagram, identify the obstacle areas that the patrol line path cannot pass through, rasterize the edges of the obstacle areas, and divide them into several sub-areas. Code values are assigned to the sub-areas based on the edge direction data of the obstacle areas contained in the sub-areas. The code value array is arranged based on the adjacent relationship of the sub-areas. The code value array is traversed through a preset mean window to remove duplicates and obtain a feature value array.
[0051] S4. Traverse the eigenvalue array and the preset column eigenvalue library to determine the column type;
[0052] S5. Construct an indoor space plan based on the indoor space edge range and the obstacle area of the determined column type, map the columns into the indoor space plan, and visualize the semantic information of the columns.
[0053] In some embodiments, a mobile robot first navigates along the planar edges of indoor buildings. Equipped with ranging sensors and a positioning module, the robot accurately acquires its coordinate position and distance information from its surroundings during navigation. In step S1, the robot collects coordinate data along the edges of walls or other buildings point by point and continuously measures the distance to the walls using its ranging sensors, thereby constructing a preliminary edge profile of the indoor space. Throughout this process, the robot relies on real-time feedback of spatial coordinate information, avoiding positioning errors caused by human intervention. In step S2, based on the indoor edge data acquired by the robot, the system automatically generates a patrol path using a pre-set path planning algorithm. This path progresses from the outside inward, ensuring global coverage while efficiently identifying all obstacles and structures within the indoor space. During the patrol process, the robot uses its ranging sensors to detect obstacles in real time and executes a patrol maneuver to maintain a constant distance from them. This patrol process relies on the robot's dynamic feedback mechanism, enabling it to accurately return to the planned patrol path after avoiding an obstacle, thus preventing path deviation during navigation. After completing the patrol, the robot calibrates its actual movement path within the indoor edge range, generating a full-path map that includes the entire building edge and obstacles. In step S3, the system analyzes the generated full-path map and identifies areas where the patrol route cannot pass, i.e., areas where obstacles are located. To improve recognition accuracy, the edge data of the obstacle area is further rasterized. The system divides the obstacle edge into several subregions according to predetermined grid cells, each containing partial obstacle edge information. To accurately extract the spatial characteristics of the obstacle, a vector quantization method is used to analyze the edge direction data of each subregion and assign a corresponding code value. This code value represents the geometric direction and angle of the edge within the region. By analyzing the spatial relationship between adjacent subregions, the system arranges these code values in an ordered manner to form a code value array. Next, the system processes the code value array in step S4. To reduce redundant information and improve recognition efficiency, the system traverses the code value array using a preset mean window, removing code values that match the window mean, and ultimately obtaining a deduplicated feature value array. This eigenvalue array is traversed and compared with the preset column eigenvalue library to determine whether the current obstacle area belongs to the column type. Through this eigenvalue comparison, the system can accurately identify the geometric shape and position of the column. In step S5, the system constructs a complete floor plan of the indoor space based on the identified column type and its spatial position, combined with the edge range of the indoor space. This floor plan not only contains the edge information of the building, but also accurately calibrates the main structures such as the columns. Finally, the system maps the geometric information, type information and spatial coordinates of the column in the building into the floor plan, and displays its semantic information in a visual way, including the type, size and relative position of the column.In this way, the system generates a complete indoor space model, which can provide accurate spatial data support for subsequent architectural design, construction planning and management.
[0054] Furthermore, the robot includes a positioning module, a distance measurement module and a movement module;
[0055] The mobile module is used to control the steering and movement of the robot and record its parameters;
[0056] The distance measuring module is used to obtain the distance between the robot body and other objects through a laser ranging sensor;
[0057] The positioning module is used to calculate the robot's displacement data through GPS to verify the parameters of steering and movement.
[0058] It's important to note that the mobility module is the core component of the robot's motion control. Through its integrated motor drive system and motion controller, it precisely controls the robot's speed, direction, and path. When the robot performs maneuvers or obstacle avoidance maneuvers, the mobility module receives real-time path planning instructions from the control system and adjusts its movements based on environmental feedback. For example, if the robot detects an obstacle ahead, the mobility module immediately steers the robot along a designated obstacle avoidance path. After the detour, the module automatically adjusts its direction and returns to the original line-following path. Furthermore, the mobility module records robot movement parameters, such as distance traveled and steering angle. These parameters are used not only for subsequent data analysis but also for path correction and position recording. Secondly, the ranging module, implemented using a laser ranging sensor, is responsible for acquiring real-time distance information between the robot and surrounding objects. The laser ranging sensor uses a laser beam to measure the distance between the robot and obstacles, walls, or columns in the environment, ensuring that the robot can accurately perceive the location and boundaries of obstacles in space. As the robot navigates along the edge of a building, the ranging module continuously collects distance data from edge objects, helping the robot build a spatial model of its surroundings and respond promptly to obstacles encountered along its path. For example, when the robot approaches a column or wall, the laser ranging sensor provides real-time feedback on the distance changes to the obstacle, enabling the robot to adjust its circumventing path based on the ranging information while maintaining a constant safe distance from the obstacle. Finally, the positioning module, through the integrated GPS system and inertial navigation system (INS), works together to accurately measure and verify the robot's displacement data. Although GPS signals may be limited in indoor environments, in some semi-open or large buildings, a combined navigation system (such as fusing inertial sensors with a small amount of GPS signals) can still be used to comprehensively correct the robot's position. The positioning module is used not only for initial positioning but also for trajectory correction during the robot's movement. For example, when the robot is circumventing or avoiding obstacles, the positioning module calculates actual displacement data and compares it with the preset path information to ensure the robot's precise navigation within the space. If a slight path deviation occurs during the detour, the positioning module can adjust the trajectory based on GPS data and inertial navigation feedback inside the robot to ensure that the robot's cruising path remains consistent with the preset trajectory.
[0059] Furthermore, the step of causing the robot to automatically move around the edge of an indoor plane includes the following steps:
[0060] Based on the SLAM algorithm, the edge contour information of the indoor space is obtained and the initial position of the robot is determined;
[0061] Use the A* algorithm to plan the optimal path for the robot to move along the edge of the room based on the edge contour, and adjust the path in real time to maintain a constant distance from the edge;
[0062] The Hough transform algorithm is used to extract the geometric features of indoor plane edges from the ranging data in real time, and the robot is controlled to avoid obstacles based on the ranging data.
[0063] The iterative closest point algorithm is used to correct the path after the robot completes the detour to close the path.
[0064] It should be noted that, first, when the robot starts, it uses the SLAM (Simultaneous Localization and Mapping) algorithm to perform real-time positioning and mapping of the indoor environment. The core of the SLAM algorithm lies in the robot's ability to collect environmental data through sensors during movement, constructing the indoor environment's edge contours in real time and simultaneously calculating the robot's current coordinates. The SLAM algorithm combines laser ranging data with the robot's own movement information to establish a spatial coordinate system, enabling the robot to accurately locate its position within the environment. This step is crucial for determining the robot's initial position, especially within buildings, ensuring that the robot can begin its navigation mission from a predetermined starting point. Next, based on the indoor edge contour information obtained by the SLAM algorithm, the robot uses the A* path planning algorithm to calculate the optimal path along the building's edge. The A* algorithm, a classic heuristic search algorithm, plans the shortest and most efficient path while considering constraints such as obstacles and path length. To ensure that the robot maintains a constant distance from the indoor building's edges during actual navigation, the system dynamically adjusts the path planning results. Specifically, the A* algorithm not only performs initial path planning but also uses a real-time feedback mechanism to update the robot's position and distance to edges during navigation, ensuring it always maintains a fixed safe distance from walls or other building edges. For example, when the robot approaches a building corner, the A* algorithm dynamically adjusts its path by reanalyzing the environmental data, allowing the robot to smoothly turn and continue along the edge. To further extract the geometric features of indoor planar edges, the robot relies on the Hough transform algorithm to process edge data obtained from the ranging sensor during navigation. The Hough transform algorithm is particularly well-suited for detecting edge features of geometric shapes such as lines and circles. The algorithm analyzes point sets in laser ranging data, matches the measured points to geometric contours in the environment, and extracts building edge segments. The application of the Hough transform enables the robot to perceive surrounding edge structures such as walls and columns in real time and dynamically adjust its path based on this structural information. For example, when the robot detects the geometric edges of a wall or column during navigation, the Hough transform algorithm can quickly calculate the direction and position of these edges, enabling the robot to precisely follow these edges and circumvent obstacles. When encountering an obstacle, the robot uses odometry data and geometric features extracted using the Hough transform to determine the obstacle's specific location and size, and then maneuvers around it. During this process, the system analyzes the robot's relative position to the obstacle in real time, ensuring a constant safe distance from the obstacle during the maneuver. Once the maneuver is complete, the robot automatically returns to its original cruising path and continues to navigate along the edge. Finally, after the entire maneuver is complete, the robot uses the Iterative Closest Point (ICP) algorithm to correct its path and ensure the closed-loop integrity of the cruising path.The ICP algorithm calculates the deviation between the current cruising path and the edge of the environment based on the environmental point cloud data collected by the robot. Through iterative calculations, it minimizes this deviation, ensuring that the robot's actual path closely matches the pre-set cruising path. When the robot reaches the origin or the path closure point, the ICP algorithm effectively corrects for path deviations caused by measurement errors or environmental changes, ensuring the closed-loop nature of the path.
[0065] Furthermore, obtaining the edge range of the indoor space according to the mobile coordinates and ranging sensing includes:
[0066] Use the positioning module on the robot to obtain its current position and determine the reference coordinates of the edge area based on the initial position indoors;
[0067] Obtain the distance data between the robot and the wall in real time and generate a set of indoor edge distance measurement points;
[0068] The least square fitting algorithm is used to process the data of the ranging point set to fit the geometric shape representing the indoor edge;
[0069] Based on the fitted edge geometry, the effective edge range of the indoor space is calculated and mapped to the indoor space coordinate system.
[0070] In some embodiments, upon startup, the robot first obtains its current position through its internal positioning module. This positioning module typically consists of a combination of multiple sensors, including a wheeled odometry, to accurately measure the robot's displacement within the building. The output data from the positioning module is matched with the robot's initial position within the building to determine the robot's current starting position and preliminary motion reference frame. This operation forms the basis for subsequent path planning and edge recognition, ensuring that the robot can accurately track its movement within the indoor environment. As the robot begins cruising and moving, a ranging sensor (such as a laser rangefinder or ultrasonic rangefinder) continuously acquires distance information between the robot and indoor walls. The ranging sensor emits a laser beam and calculates the time difference between the laser's return beam, generating a series of distance measurement points in real time. These distance measurement points represent the distance data between the robot and the wall as it moves along the path. This data not only reflects the robot's current environment but also provides the basis for edge contour fitting in the next step. To ensure measurement continuity and accuracy, the sensor sampling rate is typically set to a high-frequency mode to ensure sufficient distance measurement data is acquired even when the robot moves rapidly. After completing the initial distance data collection, the system uses a least-squares fitting algorithm to process the data from these measurement points. Specifically, least-squares fitting is an optimization algorithm that minimizes the error between the fitted curve and the measured points to calculate the geometric shape that best represents the measured data. In this embodiment, the least-squares fitting algorithm is used to extract the geometric features of indoor edges, such as walls and columns. The algorithm iteratively processes the distance data to fit the geometric contours of walls or other boundaries, such as straight lines and circular arcs. This fitting method effectively eliminates interference from noisy data, ensuring accurate extraction of the geometric shape of indoor edges even in the presence of large measurement errors. For example, as a robot moves along an indoor wall, the ranging sensor continuously records the distance to the wall. As the robot moves along a straight path or at a turning point, the geometric features of the measurement point set exhibit linear or curvilinear changes. Using the least-squares fitting algorithm, the system fits these points into straight line segments or circular arcs, accurately outlining the actual edge shape of the indoor wall. Finally, based on the fitted edge geometry, the system further calculates the effective edge range of the entire indoor space. At this point, the fitted geometric shapes are no longer discrete measurement points, but rather a continuous boundary that reflects the edge information of indoor walls or other fixed objects. The system maps these fitted edge geometric shapes into the indoor spatial coordinate system, generating an indoor spatial model that includes boundary information such as walls and columns. During this process, the system performs high-precision calibration on geometric features such as wall corners and edge protrusions to ensure that the generated boundary lines match the actual spatial structure.
[0071] Furthermore, constructing the line patrol path inward based on the edge range of the indoor space includes generating the line patrol path based on the edge contour of the indoor space through a path planning algorithm, and the line patrol path is constructed step by step inward from the edge in a round-trip manner and covers the entire indoor plane space.
[0072] In some embodiments, when generating an initial patrol path, the system first determines a starting point on the indoor plane. This starting point is typically located in a corner or on a straight line near the edge of the room. Upon starting from this starting point, the robot begins moving along the edge with a specific initial direction. At this point, the system calculates the robot's distance from the edge to ensure it maintains a constant distance to follow the edge. Using this method, the robot gradually patrols along the entire edge, recording all path points it passes. This path planning step relies primarily on information about the edge contour, and the continuity of path points ensures smooth patrolling. To achieve full coverage from the edge inward, the system dynamically adjusts the path after completing the initial edge path, generating subsequent round-trip patrol paths. Specifically, after the robot completes a circle around the edge, the system advances the path inward from the outer edge according to a set interval. For example, the system can set a fixed interval (such as 0.5 or 1 meter) based on the patrol area or spatial configuration. After completing the outer circle, the robot moves inward by the set distance before beginning the next circle. This inward advancement process occurs layer by layer, ensuring patrolling coverage of the entire planar space. As the robot progresses through each layer of the path, it dynamically evaluates the spatial configuration to ensure that each lap is parallel to the previous cruise path and that the coverage intervals remain uniform. During path adjustments, the system uses the heuristic search function of the A* algorithm to calculate the optimal path to avoid obstacles or complex terrain. For example, when the robot reaches a corner of a wall or a column, the system automatically calculates the optimal path to bypass these structures, ensuring that the robot returns to the original planned path while maintaining a safe distance from obstacles.
[0073] Furthermore, the step S3 includes the following steps:
[0074] Based on the edge of the obstacle area in the full path graph, edge data is extracted using a boundary detection algorithm, and the edge of the obstacle area is divided into a plurality of rectangular grids according to a predetermined grid unit size, each of the rectangular grids having a unique index identifier;
[0075] For each rectangular grid, based on the edge direction information of the obstacle area contained therein, vector quantization is applied to divide the edge direction data into several angle intervals and set encoding values. The edge direction data includes angle size and line direction.
[0076] According to the spatial position relationship of adjacent rectangular grids, an adjacency matrix between grid cells is constructed, and the code values are arranged according to the spatial distribution order of the grid cells in the adjacent matrix to form a code value array;
[0077] Traversing the code value array through a preset first mean window, removing the code values in the preset mean window that are equal to the mean of the preset mean window, to obtain a semi-deduplicated array; the size of the preset first mean window is three code value units;
[0078] The encoding value array is traversed through a preset second mean window, and encoding values in the preset mean window that are equal to the mean of the preset mean window are removed to obtain a characteristic value array, where the size of the preset first mean window is two encoding value units.
[0079] In some embodiments, the system first locates all impassable obstacle areas based on the full path map generated during the robot's navigation. These areas typically include structures such as columns and walls. To further process the edge information of these obstacles, the system applies a boundary detection algorithm to extract edge data of the obstacle areas. The boundary detection algorithm analyzes the gradient changes at the obstacle edges to identify the obstacle's contours. This algorithm ensures accurate delineation of the obstacle area's outline even in complex environments, providing reliable basic data for subsequent processing. Next, the system rasterizes the extracted edge data, dividing the obstacle area into several rectangular grids with a predetermined grid cell size. The size of each rectangular grid is set by the algorithm based on the size, shape, and spatial resolution of the obstacle. These rectangular grids provide a manageable basic unit for block processing of the obstacle area. The system assigns a unique index to each grid, ensuring that each grid can be independently tracked and analyzed. In practice, the grid cell size needs to be adaptively adjusted based on the complexity and accuracy requirements of the obstacle to capture subtle structural information within the edge. After the grid division is completed, the system conducts in-depth analysis of each rectangular grid to extract the edge direction information contained within it. To this end, the system applies vector quantization (VQ) technology to quantize the edge direction data contained in the grid. Specifically, vector quantization divides the obstacle edge direction data into several predetermined angle intervals and assigns a unique code value to each interval. This code value not only reflects the direction of the edge line in the grid but also takes into account the geometric characteristics of the edge, such as the angle size and line direction. For example, the code value for a grid containing 90-degree right angles will be different from that for a grid containing only linear edges. Through this encoding process, the system effectively converts complex edge data into standardized discrete data. Next, based on the spatial position of each grid cell, the system constructs an adjacency matrix, which represents the spatial topological relationship between adjacent grid cells. Based on the adjacency matrix, the system arranges all code values in order according to the spatial distribution order of adjacent grid cells to form a code value array. This array not only contains the direction information of each grid cell but also reflects the relative position of the grid cells in space, ensuring that the code values accurately describe the overall outline and structure of the obstacle area. After the code value array is generated, the system traverses it using a preset first averaging window. The mean window is a sliding window over which the system calculates the mean of the code values and removes code values that are equal to the window mean. During the initial processing of the code value array, a larger window of three code value units is used. This is primarily to preserve the overall characteristics of the data while reducing redundancy during the deduplication process.The initial array of code values may contain multiple consecutive identical or similar code values. These code values often originate from adjacent grid cells, reflecting directional consistency in the edges. By setting a relatively large window (three units), the system can calculate a more representative mean and remove code values that are equal to the window mean. This step aims to initially eliminate redundant information while preserving the overall geometric structure. For example, if a portion of an obstacle's edge continuously exhibits the same directional information (such as a long straight line), using a window of three code value units can effectively remove the redundant information within this long line, retaining only a single representative code value. Therefore, setting the first mean window size to three units ensures that the deduplication operation can filter out duplicate information while preserving key features, thereby reducing the amount of data required for subsequent processing. The second mean window size is set to two code value units primarily to refine the processing of the remaining code values. After the initial deduplication process using the first window, redundant information in the code value array is significantly reduced, but some minor redundant or locally similar code values may still exist along certain edge structures. At this point, the system needs to further refine the remaining array of encoded values to remove some eigenvalues that are still too similar in local areas. Since the amount of data has been reduced at this stage, the system can use a smaller window (two units) to achieve more accurate deduplication. A two-unit window can more keenly capture changes within a short distance, such as smaller angle changes or shorter edge turns. By deduplicating the mean of a smaller window, the system can retain these subtle structural features without ignoring important local features due to an overly large window.
[0080] Furthermore, the S4 includes the following steps:
[0081] Perform equivalent sorting based on the eigenvalue array to generate several equivalent eigenvalue sequences;
[0082] The preset columnar feature value library is compared with the equivalent feature value sequence and the similarity value is calculated. If the similarity value is lower than the preset similarity threshold, no processing is performed;
[0083] If the similarity value is greater than or equal to the preset similarity threshold, the obstacle area is marked as the column type described by the preset column feature value library.
[0084] In some embodiments, after obtaining the eigenvalue array for the obstruction area, the system first performs equivalent sorting on the array. Equivalent sorting means that the contents of the eigenvalue array may represent different permutations of the same cylindrical structure. This means that the order varies through rotation or permutation, while the essential information remains unchanged. For example, if the eigenvalue array for a cylindrical structure is (1, 2, 3, 4), equivalent sorting can generate multiple equivalent sequences, such as (2, 3, 4, 1), (3, 4, 1, 2), (4, 1, 2, 3), and (1, 2, 3, 4). This equivalent sorting ensures that regardless of how the eigenvalue array's permutation changes, the system can identify the same geometric features. In practice, the system iterates through every possible permutation and combination to generate all equivalent eigenvalue sequences. These sequences maintain the original eigenvalues unchanged, achieving different permutations solely through rotation or translation. This equivalent sorting process is particularly suitable for cylindrical structures with strong symmetry or potentially diverse permutations, ensuring that the system fully covers all possible eigenvalue combinations and avoiding omissions or misjudgments. Next, the system compares the generated equivalent feature value sequences against a preset column feature value library. This library is a pre-defined database containing standard feature value arrays for different types of columns and their equivalents. The system calculates similarity by comparing each feature value array with the standard features in the library. This similarity is calculated based on a distance metric, such as Euclidean distance or cosine similarity. This algorithm evaluates the degree of difference between the feature value array to be identified and the standard features in the library to determine the degree of similarity between the two. During the comparison process, the system calculates similarity for each equivalent feature value sequence and compares the result with a preset similarity threshold. The similarity threshold is a system-defined metric used to determine whether a match is sufficiently close. If the similarity value of a feature value sequence falls below this threshold, it indicates that the sequence does not match the column features in the library, and the system will not process the sequence further to avoid false positives. This effectively filters out obstacle information that is not related to column features. If the system finds a similarity value for an equivalent eigenvalue sequence greater than or equal to a preset similarity threshold, it indicates that the sequence has a high degree of similarity to a standard column feature in the eigenvalue library. In this case, the system determines that the current obstruction area is likely to belong to a preset column type. The system then marks the obstruction area as the column type described in the preset column eigenvalue library and stores this information in the spatial model for subsequent visualization and processing.
[0085] Furthermore, the formula for the equivalent sorting is as follows:
[0086]
[0087] Among them, S is the eigenvalue array, containing n eigenvalues; k is the number of rotations; i is the index; S k It is a new array obtained by rotating the eigenvalue array S k times, that is, the rotated eigenvalue sequence; mod is the modular operation.
[0088] Specifically, the formula can be understood as: starting with an eigenvalue array, each time a new permutation is generated by rotating the elements in the array. Regardless of the original array's arrangement, all possible permutations can be generated using this formula. Eigenvalue array S: This array represents the characteristics of the cylinder and contains a series of data describing the cylinder's geometry, such as edge direction and angle. Suppose the eigenvalue array is S = [1, 2, 3, 4], where n = 4 represents four elements in the array. The formula generates multiple equivalent permutations through rotations. Each rotation is equivalent to shifting the elements in the array to the right. For example, with the first rotation, the array changes from S = [1, 2, 3, 4] to S1 = [2, 3, 4, 1], with the first element moved to the end and the remaining elements moved forward. After the second rotation, the array becomes S2 = [3, 4, 1, 2], and so on. Modulo operations (also known as remainder operations) ensure that the array does not exceed the index range during rotation. If the number of rotations exceeds the array length, the modulo operation repositions the index to the beginning of the array. For example, when the array length is 4 and the number of rotations is 5, the modular operation will cause the rotated array to recalculate the permutation from the beginning. Although these permutations are in different orders, they actually represent the same geometric features. By generating all possible permutations, the system can handle different orders of the eigenvalue arrays, ensuring that no matter which permutation is input, the system can identify the same cylinder type. Eliminate the influence of permutation order: In actual applications, the characteristics of the cylinder may cause the permutation of the eigenvalues to change due to different measurement angles or orders. Through the equivalent sorting formula, the system can ignore these differences in permutations and identify different permutations as the same cylinder features.
[0089] Furthermore, the S5 includes the following steps:
[0090] Based on the indoor space edge range and full path graph, the indoor space plan is constructed using the GIS algorithm;
[0091] Determine the coordinates and range of the column in the plan view according to the obstacle area it corresponds to and map it in the indoor space plan view;
[0092] Use identifiers to semantically label different types of columns.
[0093] In some embodiments, the system first constructs a complete indoor space plan using a GIS algorithm based on the indoor space edge range and full path map obtained in the previous step. GIS algorithms are effective in processing spatial data, particularly for modeling the geometric structure of buildings in two or three-dimensional space. The system analyzes the edge data collected during the robot's navigation, maps this data into a standard indoor coordinate system, and plots the building's edge information on the plan. This step ensures an accurate digital representation of the entire indoor environment's structure, forming a visual plan map. Next, based on the pillar's feature value recognition results, the system locates the coordinates and range of each pillar in the indoor space plan. In the previous step, the obstacle area corresponding to the pillar has been identified as a specific pillar type. The system now accurately maps the geometric boundaries of this obstacle area (e.g., the pillar's center position and radius) to the indoor space plan. To this end, the system calculates the specific spatial coordinates and coverage of each pillar based on its relative position in the full path map and its distance from the indoor edge. This step ensures the accurate positioning of the pillar in the spatial plan and provides basic data for subsequent visualization operations. After the coordinates and extents of the columns are determined, the system semantically annotates each column type using identifiers. Identifiers can be codes, names, or other morphological identifiers of the column type, such as "round column," "square column," or "T-column." These identifiers allow the system to distinguish and label different columns on the floor plan, ensuring that users or the system can quickly identify the specific type of each column and its function within the space. These annotations are not only used for visualization but also for subsequent architectural design, space management, or maintenance planning. In this way, the system can construct a detailed indoor space model that includes the location, type, and other semantic information of the columns. This semantic annotation not only makes it easier for later users to view and understand the specific column types but also provides important reference information for the subsequent design and construction of the building. Furthermore, semantic annotation can be used for categorized management or maintenance of different column types, ensuring that structural support elements can be effectively monitored and managed throughout the building's future use.
[0094] The above embodiments are merely descriptions of preferred embodiments of the present invention and are not intended to limit the scope of the present invention. Without departing from the design spirit of the present invention, various modifications and improvements made to the technical solutions of the present invention by ordinary engineering technicians in this field should fall within the scope of protection determined by the claims of the present invention.
Claims
1. A column positioning and identification method based on spatial information, characterized in that: The following steps are involved: S1, make the robot automatically move around the edge of the indoor plane, and obtain the edge range of the indoor space based on the movement coordinates and ranging sensor; S2. Constructing a patrol path inward from the edge of the indoor space, controlling the robot to move along the patrol path and performing detours and obstacle avoidance through real-time distance measurement, and calibrating the actual movement path within the edge of the indoor space to obtain a full path map; the detours and obstacle avoidance are performed by maintaining a constant distance from obstacles until returning to the patrol path; S3. Based on the full path diagram, identify the obstacle areas that the patrol line path cannot pass through, rasterize the edges of the obstacle areas, and divide them into several sub-areas. Code values are assigned to the sub-areas based on the edge direction data of the obstacle areas contained in the sub-areas. The code value array is arranged based on the adjacent relationship of the sub-areas. The code value array is traversed through a preset mean window to remove duplicates and obtain a feature value array. S4. Traverse the eigenvalue array and the preset column eigenvalue library to determine the column type; S5. Construct an indoor space plan based on the indoor space edge range and the obstacle area of the determined column type, map the columns into the indoor space plan, and visualize the semantic information of the columns. The S3 includes the following steps: Based on the edge of the obstacle area in the full path graph, edge data is extracted using a boundary detection algorithm, and the edge of the obstacle area is divided into a plurality of rectangular grids according to a predetermined grid unit size, each of the rectangular grids having a unique index identifier; For each rectangular grid, based on the edge direction information of the obstacle area contained therein, vector quantization is applied to divide the edge direction data into several angle intervals and set encoding values. The edge direction data includes angle size and line direction. According to the spatial position relationship of adjacent rectangular grids, an adjacency matrix between grid cells is constructed, and the code values are arranged according to the spatial distribution order of the grid cells in the adjacent matrix to form a code value array; Traversing the code value array through a preset first mean window, removing the code values in the preset mean window that are equal to the mean of the preset mean window, to obtain a semi-deduplicated array; the size of the preset first mean window is three code value units; The encoding value array is traversed through a preset second mean window, and encoding values in the preset mean window that are equal to the mean of the preset mean window are removed to obtain a characteristic value array, where the size of the preset first mean window is two encoding value units.
2. A column positioning and identification method based on spatial information according to claim 1, characterized in that: The robot includes a positioning module, a distance measurement module and a movement module; The mobile module is used to control the steering and movement of the robot and record its parameters; The distance measuring module is used to obtain the distance between the robot body and other objects through a laser ranging sensor; The positioning module is used to calculate the robot's displacement data through GPS to verify the parameters of steering and movement.
3. The column positioning and identification method based on spatial information according to claim 1, characterized in that: The method of causing the robot to automatically move around the edge of an indoor plane comprises the following steps: Based on the SLAM algorithm, the edge contour information of the indoor space is obtained and the initial position of the robot is determined; Use A The algorithm plans the optimal path for the robot to move along the edge of the room based on the edge contour and adjusts the path in real time to maintain a constant distance from the edge; The Hough transform algorithm is used to extract the geometric features of indoor plane edges from the ranging data in real time, and the robot is controlled to avoid obstacles based on the ranging data. The iterative closest point algorithm is used to correct the path after the robot completes the detour to close the path.
4. The column positioning and identification method based on spatial information according to claim 1, characterized in that: Acquiring the edge range of the indoor space according to the mobile coordinates and ranging sensing includes: Use the positioning module on the robot to obtain its current position and determine the reference coordinates of the edge area based on the initial position indoors; Obtain the distance data between the robot and the wall in real time and generate a set of indoor edge distance measurement points; The least square fitting algorithm is used to process the data of the ranging point set to fit the geometric shape representing the indoor edge; Based on the fitted edge geometry, the effective edge range of the indoor space is calculated and mapped to the indoor space coordinate system.
5. The column positioning and identification method based on spatial information according to claim 4, characterized in that: The constructing of the patrol path inward based on the edge range of the indoor space includes generating the patrol path based on the edge contour of the indoor space by a path planning algorithm. The patrol path is constructed gradually inward from the edge in a round-trip manner and covers the entire indoor plane space.
6. The column positioning and identification method based on spatial information according to claim 1, characterized in that: The S4 comprises the following steps: Perform equivalent sorting based on the eigenvalue array to generate several equivalent eigenvalue sequences; The preset columnar feature value library is compared with the equivalent feature value sequence and the similarity value is calculated. If the similarity value is lower than the preset similarity threshold, no processing is performed; If the similarity value is greater than or equal to the preset similarity threshold, the obstacle area is marked as the column type described by the preset column feature value library.
7. The column positioning and identification method based on spatial information according to claim 6, characterized in that: The formula for the equivalent sorting is as follows: ; in, is an array of eigenvalues, containing eigenvalues; is the number of rotations; is the index; is done by The new array obtained after k rotations is the rotated eigenvalue sequence; mod is the modular operation.
8. The column positioning and identification method based on spatial information according to claim 1, characterized in that: The S5 comprises the following steps: Based on the indoor space edge range and full path map, the indoor space plan is constructed using GIS algorithm; Determine the coordinates and range of the column in the plan view according to the obstacle area it corresponds to and map it in the indoor space plan view; Use identifiers to semantically label different types of columns.
Citation Information
Patent Citations
Method and device for building robot work area map, robot and medium
CN109947109A
Two-wheeled self-balancing robot
CN118020038A