Method and system for defining coverage operation working area of swing arm troweling robot
By using BIM models to build obstacle maps and simplified models in swing arm smearing robots, combining search algorithms and collision detection rules, the collision risk problem caused by inaccurate robot navigation is solved, and efficient and automated operation area planning and coverage are achieved.
Patent Information
- Application Number
- CN202510343244.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-21
- Publication Date
- 2025-06-20
AI Technical Summary
In the prior art, the navigation and path planning of swing arm wiping robots mainly rely on manual marking or offline presets, which are not accurate enough, resulting in the robots being prone to collision risks when moving in multiple degrees of freedom.
By constructing a high-precision obstacle map based on the building information BIM model, combining the robot's simplified model and collision detection rules, a search algorithm is used to traverse the obstacle map, determine the reachable area of the robot and cover the maximum work space.
The full process automation from environmental modeling to operational area planning is achieved, manual intervention is reduced, construction efficiency and coverage uniformity are improved, and the risk of robot collision is avoided.
Smart Images

Figure CN120170737A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of intelligent construction and robotic automated construction, and particularly relates to a method and system for defining the coverage operation working area of a swing-arm troweling robot. Background Art
[0002] The working environment of a swing-arm troweling robot often contains densely distributed embedded parts, reserved holes and special-shaped structures. The positions and sizes of these obstacles directly affect the movement safety and operation efficiency of the robot. In the prior art, the navigation and path planning of the robot mainly rely on manual marking or offline presetting, which is not accurate enough, resulting in a high risk of collision when the robot moves with multiple degrees of freedom, and the working area is vaguely defined, and the automation level is limited. Summary of the Invention
[0003] The purpose of the present invention is to provide a method and system for defining the coverage operation working area of a swing-arm troweling robot, so as to solve the problem that in the prior art, the navigation and path planning of the robot mainly rely on manual marking or offline presetting, which is not accurate enough, resulting in a high risk of collision when the robot moves with multiple degrees of freedom.
[0004] To achieve the above purpose, the present invention adopts the following technical solutions: In the first aspect of the present invention, a method for defining the coverage operation working area of a swing-arm troweling robot is provided, including the following steps: Determine the obstacle map of the target area based on the pre-constructed Building Information Modeling (BIM) model of the building; Determine the simplified model of the swing-arm troweling robot based on the structure of the swing-arm troweling robot, determine the geometric parameters of the preset parts of the swing-arm troweling robot based on the simplified model, and construct the collision detection rules of the swing-arm troweling robot based on the geometric parameters; Using the center of the trowel disc of the swing-arm troweling robot as the control point, traverse the obstacle map using a search algorithm to determine the reachable area of the robot; determine the maximum working area that the swing-arm troweling robot can cover based on the collision detection rules and the reachable area.
[0005] In the above solution, a high-precision obstacle map is constructed through the Building Information Modeling (BIM) model of the building to ensure the integrity and accuracy of the obstacle information and avoid operation risks caused by manual measurement errors; combined with the robot simplified model and collision detection rules, safety constraints under multi-degree-of-freedom movement are realized to ensure that there is no collision between the robot and building components; the search algorithm with the center of the trowel disc as the control point efficiently determines the reachable area and covers the largest working space, improving the construction efficiency and coverage uniformity; the overall method realizes the full-process automation from environmental modeling to operation area planning, reduces manual intervention, and is applicable to complex indoor scenes.
[0006] Further, a barrier map of the target area is determined based on a pre-constructed Building Information Modeling (BIM) model, including: Determine the geometric and spatial location information of obstacles according to the Building Information Modeling (BIM) model; Project the geometric and spatial location information of the obstacles onto a two-dimensional plane to obtain a planar map with the positions and sizes of the obstacles; Rasterize the planar map to generate a barrier map with status identifiers; wherein, the status identifiers include passable and blocked.
[0007] In the above solution, based on the semantic information of the Building Information Modeling (BIM) model, key obstacles such as walls, columns, and embedded parts are accurately extracted to avoid missing structures that affect operations; the three-dimensional to two-dimensional projection technology ensures that the obstacle positions are consistent with the actual construction scenario, providing a reliable basis for subsequent path planning; the rasterization process balances the computational efficiency and map accuracy through the adaptive resolution p, making it suitable for large-scale scenario applications; the clear division of the status identifiers (passable / blocked) provides an intuitive decision basis for the search algorithm.
[0008] Further, a simplified model of the swing-arm troweling robot is determined based on the structure of the swing-arm troweling robot, geometric parameters of preset parts of the swing-arm troweling robot are determined based on the simplified model, and a collision detection rule for the swing-arm troweling robot is constructed based on the geometric parameters, including: Determine a simplified model of the swing-arm troweling robot based on the structure of the swing-arm troweling robot; wherein, the simplified model includes a vehicle body, a swing arm, and a trowel disc; Determine the geometric parameters corresponding to the vehicle body, the swing arm, and the trowel disc; Based on the geometric parameters of the vehicle body, use the circumcircle of the vehicle body for obstacle detection; when there is an obstacle inside the circumcircle of the vehicle body, calculate the vector projections of the obstacle from the center of the vehicle body in the heading direction and the vertical direction, and determine the collision state based on the vector projections; Based on the geometric parameters of the swing arm and the trowel disc, construct a capsule-shaped envelope space using a series of detection circles translated along the direction of the swing arm, and the capsule-shaped envelope space covers the swing arm and the trowel disc; calculate the Euclidean distances from the obstacle to each detection circle respectively, determine the minimum value among the Euclidean distances, and determine the collision state based on the minimum value of the Euclidean distances.
[0009] In the above solution, the simplified model abstracts the complex mechanical structure into a vehicle body, a swing arm, and a trowel disc, reducing the computational complexity of collision detection; the two-wheel collision detection of the vehicle body (preliminary screening by circumcircle + precise judgment by vector projection) takes into account both efficiency and accuracy, avoiding misjudgment and missed judgment; the capsule-shaped envelope space (translated detection circle) of the swing arm and the trowel disc covers the dynamic movement range, ensuring collision protection in multiple postures.
[0010] Furthermore, the center of the wiping plate of the swing-arm trowel robot is used as a control point, and a search algorithm is used to traverse the obstacle map to determine the reachable area of the robot; based on the collision detection rule and the reachable area, the maximum working area that can be covered by the swing-arm trowel robot is determined, including: Determine the starting node in the obstacle map and add the starting node to the set to be searched; Take a node from the set to be searched , as the current node , and delete the node from the set to be searched and add it to the set that has been searched; Traverse the current node All neighbor nodes of , wipe the center of the disc Place it on the neighbor node At the coordinates, the heading angle within the range of the control point is considered and swing arm angle For all the discretized value pairs of , if a certain value pair can ensure that the robot does not collide, the current neighbor node is added to the to-be-searched set; otherwise, the neighbor nodes are continued to be traversed until all the neighbor nodes are traversed; a node is taken out from the to-be-searched set again and the traversal steps are repeated until the to-be-searched set is an empty set. At this time, all the nodes in the searched set are used as the reachable areas of the wiping disc when the swing-arm polishing robot is working; the maximum area that can be smoothed on the wiping disc in each reachable area is used as the working space of the swing-arm polishing robot.
[0011] The above scheme uses the search strategy with the center of the wiper plate as the control point, which is directly associated with the work target (smoothing area) to improve the pertinence of path planning; collision detection based on discrete angle combinations covers the full range of heading angles and swing arm angles to ensure the feasibility of multi-degree-of-freedom movement of the robot; the search mechanism of the BFS algorithm (nine-grid neighbor traversal + dual set management) reduces computational redundancy while ensuring integrity; the mapping of the reachable area and the maximum workspace ensures that the robot maximizes coverage of the work area under safety constraints to avoid duplication or omissions.
[0012] In a second aspect, the present invention provides a device for defining a covering operation working area of a swing-arm trowel robot, comprising: An obstacle map generation module is used to determine an obstacle map of a target area based on a pre-built building information BIM model; A swing-arm trowel robot modeling module is used to determine a simplified model of the swing-arm trowel robot based on the structure of the swing-arm trowel robot, determine geometric parameters of a preset part of the swing-arm trowel robot based on the simplified model, and construct collision detection rules for the swing-arm trowel robot based on the geometric parameters; The working area definition module is used to take the center of the troweling disc of the swing-arm troweling robot as the control point, traverse the obstacle map using a search algorithm to determine the reachable area of the robot; and determine the maximum working area that the swing-arm troweling robot can cover based on the collision detection rules and the reachable area.
[0013] Furthermore, the obstacle map generation module is specifically used for: Determine the geometric and spatial position information of the obstacles according to the building information BIM model; Project the geometric and spatial position information of the obstacles onto a two-dimensional plane to obtain a planar map with the positions and sizes of the obstacles; Rasterize the planar map to generate an obstacle map with status identifiers; where the status identifiers include passable and obstacle.
[0014] Furthermore, the swing-arm troweling robot modeling module is specifically used for: Determine a simplified model of the swing-arm troweling robot based on the structure of the swing-arm troweling robot; where the simplified model includes a vehicle body, a swing arm, and a troweling disc; Determine the geometric parameters corresponding to the vehicle body, the swing arm, and the troweling disc; Based on the geometric parameters of the vehicle body, use the circumcircle of the vehicle body for obstacle detection; when there is an obstacle inside the circumcircle of the vehicle body, calculate the vector projections of the distance from the center of the vehicle body to the obstacle in the heading direction and the vertical direction, and determine the collision state based on the vector projections; Based on the geometric parameters of the swing arm and the troweling disc, construct a capsule-shaped envelope space using a series of detection circles translated along the direction of the swing arm, and the capsule-shaped envelope space covers the swing arm and the troweling disc; calculate the Euclidean distances from the obstacles to each detection circle respectively, determine the minimum value among the Euclidean distances, and determine the collision state based on the minimum value of the Euclidean distances.
[0015] Furthermore, the working area definition module is specifically used for: Determine the starting node in the obstacle map, and add the starting node to the set of nodes to be searched; Take out a node from the set of nodes to be searched , regarded as the current node , and delete this node from the set of nodes to be searched, and add it to the set of nodes that have been searched; Traverse all neighbor nodes of the current node , and place the center of the troweling disc at the coordinates of the neighbor node , and based on the control point, consider the heading angle within the value range and the swing arm angle and the swing arm angle For all discretized value pairs, if a certain value pair can ensure that the robot does not collide, the current neighbor node is added to the set of nodes to be searched; otherwise, continue to traverse the neighbor nodes until all neighbor nodes are traversed; then take out a node from the set of nodes to be searched again and repeat the traversal step until the set of nodes to be searched is an empty set. At this time, all nodes in the set of nodes that have been searched are used as the reachable areas of the polishing disc when the swing-arm polishing robot is working; the largest area that can be polished when the polishing disc is in each reachable area is used as the working space of the swing-arm polishing robot.
[0016] In the third aspect of the present invention, an electronic device is provided, including a processor and a memory. The processor is used to execute a computer program stored in the memory to implement the method for defining the working area of the covering operation as described above.
[0017] In the fourth aspect of the present invention, a computer-readable storage medium is provided. The computer-readable storage medium stores at least one instruction, and when the at least one instruction is executed by a processor, the method for defining the working area of the covering operation as described above is implemented.
[0018] Compared with the prior art, the beneficial effects of the present invention are as follows: This solution converts the building information in the BIM model into an obstacle map that can be recognized and utilized by the robot, solves the problem that it is difficult for the BIM model data to play a role in the construction stage, and realizes the transfer of data from the design stage to the construction stage; moreover, aiming at the multi-degree-of-freedom, complex motion, and collision characteristics of the swing-arm robot, collision detection rules are constructed, providing a basis for the robot to avoid collisions during the operation process; the reachable area and the maximum working area that can be covered by the robot are determined through a search algorithm, providing an accurate working area definition for the robot, avoiding the limitations of relying on manual operations and experience in the past, improving the operation efficiency, enhancing the accuracy, and avoiding the collision risk of the swing-arm polishing robot. A device, an electronic device, and a computer-readable storage medium for defining the working area of the covering operation of a swing-arm polishing robot provided by the present invention also solve the problems raised in the background art part. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] The accompanying drawings forming a part of this application are used to provide a further understanding of the present invention. The schematic embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the drawings: Figure 1 is a flowchart of a method for defining the working area of the covering operation of a swing-arm polishing robot according to an embodiment of the present invention; Figure 2 is a visual effect diagram of the obstacle map in an embodiment of the present invention; Figure 3 is a schematic diagram of a simplified model of a swing-arm robot in an embodiment of the present invention; Figure 4 It is the visualization diagram of the collision rule of the swing arm robot in the embodiment of the present invention; Figure 5 It is the flow chart of the working area search algorithm in the embodiment of the present invention; Figure 6 It is the flow chart of the collision detection algorithm with the trowel disc as the control point in the embodiment of the present invention; Figure 7 It is the geometric relationship diagram of the robot parameters in the collision algorithm in the embodiment of the present invention; Figure 8 It is the rendering of the defined working area of the troweling robot covering operation in the embodiment of the present invention; Figure 9 It is the structural block diagram of the device for defining the working area of the swing arm troweling robot covering operation in the embodiment of the present invention; Figure 10 It is the structural block diagram of an electronic device in the embodiment of the present invention. Specific embodiments
[0020] The present invention will be described in detail below with reference to the drawings and in conjunction with the embodiments. It should be noted that, without conflict, the embodiments in the present application and the features in the embodiments may be combined with each other.
[0021] The following detailed descriptions are all exemplary descriptions, aiming to provide further detailed descriptions of the present invention. Unless otherwise specified, all technical terms adopted by the present invention have the same meaning as commonly understood by those of ordinary skill in the art to which the present application belongs. The terms used in the present invention are only for the purpose of describing specific embodiments, and are not intended to limit the exemplary embodiments according to the present invention.
[0022] BIM (Building Information Modeling), is a data-based tool applied to engineering design, construction, and management, and is a tool in the fields of architecture, engineering, and civil engineering.
[0023] Embodiment 1 As Figure 1 shown, a method for defining the working area of a swing arm troweling robot covering operation includes the following steps: S100. Determine the obstacle map of the target area based on the pre-constructed building information BIM model; S200. Determine the simplified model of the swing arm troweling robot based on the structure of the swing arm troweling robot, determine the geometric parameters of the preset part of the swing arm troweling robot based on the simplified model, and construct the collision detection rule of the swing arm troweling robot based on the geometric parameters; S300. Using the center of the troweling disc of the swing-arm troweling robot as the control point, traverse the obstacle map using a search algorithm to determine the reachable area of the robot; based on the collision detection rules and the reachable area, determine the maximum working area that the swing-arm troweling robot can cover.
[0024] In the prior art, the three-dimensional semantic information of the BIM model has not been effectively converted into two-dimensional plane constraints executable by the robot, and there is a lack of collision detection and area search methods for the multi-degree-of-freedom motion characteristics of the swing-arm robot, thus restricting the autonomous operation ability of the construction robot in complex scenarios. Through the coordinated action of BIM modeling, multi-part collision detection, and intelligent search algorithms, this solution realizes the safe and efficient operation planning of the swing-arm troweling robot in complex construction environments, providing a systematic solution for automated construction.
[0025] In a more detailed embodiment, a method for defining the covering operation working area of a swing-arm troweling robot is further provided, including the following steps: S1. Determine the obstacle map of the target area based on the pre-constructed building information BIM model.
[0026] Specifically, the determination of the obstacle map of the target area in step S1 based on the pre-constructed BIM model includes: Determine the geometric and spatial position information of the obstacles according to the BIM model; project the geometric and spatial position information of the obstacles onto a two-dimensional plane to obtain a plane map with the positions and sizes of the obstacles; rasterize the plane map to generate an obstacle map with status identifiers; where the status identifiers include passable and obstacle. The obstacle map is a grid map.
[0027] More specifically, this solution processes the BIM model with semantic information, extracts the geometric and spatial position information of obstacles such as walls, columns, embedded parts, and holes; projects the three-dimensional obstacle information onto a two-dimensional plane to construct a plane obstacle map with the positions and sizes of the obstacles; rasterizes the obstacle map, and determines the resolution p of the grid according to the minimum size of the obstacles to generate a grid map with "passable / obstacle" status identifiers.
[0028] As an example, this solution establishes a BIM model based on IFC (Industry Foundation Classes). BIM models of other software (such as Revit, Bentley, etc.) can be converted into the IFC format for representation. The IFC file contains rich building semantics, attribute information, geometric information, etc., covering the size data of building components and the topological relationships in three-dimensional space, etc.
[0029] It should be noted that in order to ensure the construction accuracy, during the operation of the swing-arm troweling robot, collisions with building components such as walls, columns, embedded parts, and holes are not allowed.
[0030] In this solution, the embedded parts are components (such as anchor plates, anchor bars, etc.) pre-embedded in the concrete structure, which are used to connect the equipment or structural components to be installed later, and can be defined by IfcBuildingElementComponent or IfcFastener in IFC. The reserved holes are openings reserved for equipment pipelines or subsequent installations, and the position, size, and functional attributes need to be specified in the model, and are represented by IfcOpeningElement in the IFC file. Moreover, in IFC, the accurate geometric positions and sizes of these entity units are all recorded in detail. Therefore, by traversing all three-dimensional objects in a specified area through an algorithm, the specific positions of walls, columns, embedded parts, and holes can be located. On this basis, the projected dimensions of these three-dimensional models on the horizontal plane are extracted and drawn on a two-dimensional plane, that is, a map containing accurate obstacle information is obtained.
[0031] To facilitate subsequent area search, the above obstacle map is rasterized. The resolution (size of the unit) of rasterization determines the accuracy and computational efficiency of area search. Therefore, in this solution, it is recommended to select the largest possible rasterization resolution that can accurately represent obstacles , which is taken as in this solution. The rasterized obstacle map consists of regularly arranged cells, and each cell is assigned two states: "passable" and "obstacle", which are used for subsequent work area analysis. As Figure 2 shown is the obstacle map of a certain GIS room in a substation, where the black color represents walls, columns, non-collidable embedded parts, and holes.
[0032] As an example, the processing of the BIM model includes: parsing the IFC file in the BIM model, identifying the embedded parts defined by IfcBuildingElementComponent / IfcFastener and the reserved holes defined by IfcOpeningElement; establishing a three-dimensional to two-dimensional projection transformation algorithm to convert the spatial coordinates of building components into plane coordinates; excluding non-operation-affecting components through semantic filtering technology and retaining key obstacle information.
[0033] S2. Determine the simplified model of the swing-arm troweling robot based on the structure of the swing-arm troweling robot, determine the geometric parameters of the preset parts of the swing-arm troweling robot based on the simplified model, and construct the collision detection rules of the swing-arm troweling robot based on the geometric parameters.
[0034] Specifically, for determining the simplified model of the swing-arm troweling robot, based on the simplified model, geometric parameters of preset parts of the swing-arm troweling robot are determined, and based on the geometric parameters, a collision detection rule for the swing-arm troweling robot is constructed, including: Determine the simplified model of the swing-arm troweling robot; wherein, the simplified model includes a vehicle body, a swing arm, and a trowel disc; determine the geometric parameters corresponding to the vehicle body, the swing arm, and the trowel disc; based on the geometric parameters of the vehicle body, use the circumcircle of the vehicle body for obstacle detection; when there is an obstacle inside the circumcircle of the vehicle body, calculate the vector projections of the obstacle from the center of the vehicle body in the heading direction and the vertical direction, and determine the collision state based on the vector projections; based on the geometric parameters of the swing arm and the trowel disc, construct a capsule-shaped envelope space using a series of detection circles translated along the direction of the swing arm, and the capsule-shaped envelope space covers the swing arm and the trowel disc; calculate the Euclidean distances from the obstacle to each detection circle respectively, determine the minimum value among the Euclidean distances, and determine the collision state based on the minimum value of the Euclidean distances.
[0035] More specifically, this solution constructs a simplified model of the swing-arm troweling robot, covering structures such as the vehicle body, the swing arm, and the trowel disc, and clarifies geometric parameters such as the vehicle body size, the swing arm length, and the trowel disc radius; formulates the motion constraint rules of the robot, including the movement constraint of the vehicle body and the attitude constraint of the swing arm; develops a collision detection rule under a multi-degree-of-freedom motion state, and this model simultaneously considers the collision situations between the vehicle body and the swing arm and obstacles.
[0036] In this solution, the simplified model of the swing-arm troweling robot is as Figure 3 shown. Generally speaking, the swing-arm troweling robot is simplified into three parts: a rectangular vehicle body, a swing arm, and a trowel disc. The key parameters that need to participate in the calculation include: Length and width of the vehicle body: , ; Center of the vehicle body, center of the swing arm, center of the trowel disc: , , ; Distance between the center of the vehicle body and the center of the swing arm: ; Length of the swing arm: ; Radius of the trowel disc: ; Heading angle of the robot: (starting from the positive direction of the axis, counterclockwise is positive, and the unit vector corresponding to this heading angle is denoted as ); Swing arm angle: (in the opposite direction of the heading angle Starting from [starting point], counterclockwise is positive. The swing arm angle of the actual robot has a limit value, which needs to be clarified in this solution. The value range of Among them , , , and are the inherent dimensional parameters of the robot. , , and are the state variables of the robot, which will change with the movement of the robot. These state and dimensional information are the key parameters that determine the passage and operation of the swing arm troweling robot.
[0037] It should be noted that for any swing arm robot, it can be simplified into the above model. On this basis, it is necessary to determine the collision principle and working mode of the swing arm troweling robot.
[0038] Figure 4 Figure [figure number] shows the collision detection principle of the robot. Since the swing arm robot has more complex degrees of freedom and motion states, it cannot be judged by a single rule. Therefore, the swing arm robot needs to consider the collision detection of different strictness levels for the vehicle body and the swing arm. Assume that the coordinates of the obstacle point are .
[0039] For the vehicle body of the robot, the collision detection is carried out in two rounds.
[0040] In the first round, based on the Kd-tree algorithm, the circumscribed circle of the vehicle is used for detection to exclude all obstacles outside the circle (Obstacle 1). The judgment basis for this step is shown in Equation 1
[0041] If there are any obstacles inside the circle, the second-round collision detection will be carried out. By calculating the vector projections of the vehicle center to the obstacle in the heading direction and the vertical direction, the collision state can be determined. If the absolute values of these two projections are simultaneously less than half of the vehicle length and width respectively, it is judged that the obstacle is within the collision range (Obstacle 3), and the judgment basis is shown in Equation 2. Otherwise, the vehicle body will not cause a collision (Obstacle 2).
[0042]
[0043] For the swing arm and the polishing disc, collisions cannot be judged using simple circles or squares. Therefore, a series of circles translated along the direction of the swing arm will be used for joint collision judgment. The envelopes of these circles form a capsule-like shape that can cover the swing arm and the polishing disc. Of course, the exact number of circles required depends on the length of the swing arm and the radius of the disc. Selecting an appropriate number can ensure calculation efficiency while avoiding misjudgment. If there are circles, the coordinates of the centers of the circles can be expressed by Equation 3, and collisions can be judged by Equation 4 (Obstacle No. 4).
[0044]
[0045]
[0046] where .
[0047] It should be noted that in the actual algorithm, all calculations need to consider the redundant distance to ensure sufficient safety. With the above collision principle, an algorithm construction function can be written such that for a given robot state of the robot, it is possible to judge whether the robot collides in this state.
[0048] S3. Using the center of the polishing disc of the swing arm polishing robot as the control point, traverse the grid map using a search algorithm to determine the reachable area of the robot; based on the collision detection rules and the reachable area, determine the maximum working area that the swing arm polishing robot can cover.
[0049] Specifically, the step of using the center of the polishing disc of the swing arm polishing robot as the control point, traversing the grid map using a search algorithm to determine the reachable area of the robot; based on the collision detection rules and the reachable area, determine the maximum working area that the swing arm polishing robot can cover, includes: Determine the starting node in the grid map, and add the starting node to the set of nodes to be searched; take out a node from the set of nodes to be searched , regard it as the current node , and delete this node from the set of nodes to be searched and add it to the set of nodes that have been searched; traverse all neighbor nodes of the current node , place the center of the polishing disc at the coordinates of the neighbor node , and based on the control point, consider the heading angle For all discretized value pairs, if a certain value pair can ensure that the robot does not collide, the current neighbor node is added to the set to be searched; otherwise, continue to traverse the neighbor nodes until all neighbor nodes have been traversed; then take out a node from the set to be searched again and repeat the traversal step until the set to be searched is an empty set. At this time, all nodes in the set that has been searched are used as the reachable areas of the polishing disc when the swing-arm polishing robot is working; the largest area that the polishing disc can level at each reachable area is used as the working space of the swing-arm polishing robot.
[0050] More specifically, based on the obtained obstacle map and robot model, this solution uses the BFS algorithm for searching. However, due to the large number of degrees of freedom of the swing-arm robot and its complexity, in this solution, the center of the robot's polishing disc is used as the control point for searching. The specific search process can be seen in Figure 5 .
[0051] When using this solution for searching, first specify any "passable" cell as the starting point. Otherwise, the algorithm will select a "passable" cell according to the obstacle density, and this cell is called the starting node. .
[0052] The search is carried out around the "set to be searched (open set)" and the "set that has been searched (closed set)". In the initial state, both are empty sets, and is put into the open set. The search includes two nested loops.
[0053] The first loop: Each time, take out a node from the open set , regard it as the current node , and delete this node from the open set and add it to the closed set.
[0054] The second loop: Traverse all neighbor nodes of (the remaining nodes in the nine-square grid centered on the node ). Place the center of the polishing disc at the coordinates of this node, and consider all discretized value pairs of the heading angle within the value range and the swing-arm angle and . If a certain pair of angle combinations can ensure that the robot does not collide, then this node is considered to meet the requirements and is added to the open set. Otherwise, continue to traverse the neighbor nodes until all neighbor nodes have been traversed and the second loop ends. Then take out a node from the open set again and repeat the above process until the open set is an empty set and the first loop ends. At this time, all nodes in the closed set are the areas that the polishing disc of the swing-arm polishing robot can reach when working.
[0055] On this basis, the maximum area that can be leveled when the grinding disc is in these positions is the working space of the instant swing arm grinding robot.
[0056] It should be noted that, compared with traversing each point on the map, searching through the above method can save a large amount of computing resources and consider the passability of points. Points in the same area that do not have a passable route to the starting node will not be considered as the working area for the robot operation this time.
[0057] In the search process, the collision detection algorithm with the center of the grinding disc as the control point is the core. Figure 6 The complete process of this algorithm is shown below, and an example is given for illustration.
[0058] As Figure 7 shown, if the center of the grinding disc is placed at a certain node coordinate . To consider all discrete value pairs of the heading angle and the swing arm angle , define as the angle between the swing arm and the positive x-axis direction (counterclockwise is positive, and the value range is ), as the angle between the heading angle direction and the swing arm (counterclockwise is positive, and the value range is ). And, and satisfy the relationship of Equation 5.
[0059]
[0060] At this time, with as the step size, all discrete value pairs within the value ranges of angle1 and angle2 are traversed through two loops. If there is a set of values such that the calculated satisfies being False, it is considered reasonable when the center of the grinding disc is located at this node, and the area covered by the grinding disc is the reachable working area of the robot.
[0061] Figure 8 The defining effect of the covering operation working area of the grinding robot obtained based on this solution is shown. It can be seen from the figure the working area and the unreachable area of the robot.
[0062] Embodiment 2 As Figure 9 shown, based on the same inventive concept as the above embodiment, the present invention also provides a device for defining the covering operation working area of a swing arm grinding robot, including: An obstacle map generation module, configured to determine an obstacle map of a target area based on a pre-constructed building information BIM model; The swing arm troweling robot modeling module is used to determine the simplified model of the swing arm troweling robot, determine the geometric parameters of the preset parts of the swing arm troweling robot based on the simplified model, and construct the collision detection rules of the swing arm troweling robot based on the geometric parameters; The working area delimitation module is used to use the center of the troweling disc of the swing arm troweling robot as the control point, traverse the grid map by using a search algorithm to determine the reachable area of the robot; determine the maximum working area that the swing arm troweling robot can cover based on the collision detection rules and the reachable area.
[0063] The obstacle map generation module is specifically used for: Determine the geometric and spatial position information of the obstacles according to the BIM model; Project the geometric and spatial position information of the obstacles onto a two-dimensional plane to obtain a plane map with the positions and sizes of the obstacles; Rasterize the plane map to generate an obstacle map with status identifiers; among them, the status identifiers include passable and obstacle.
[0064] The swing arm troweling robot modeling module is specifically used for: Determine the simplified model of the swing arm troweling robot; among them, the simplified model includes a vehicle body, a swing arm and a troweling disc; Determine the geometric parameters corresponding to the vehicle body, the swing arm and the troweling disc; Based on the geometric parameters of the vehicle body, use the circumcircle of the vehicle body for obstacle detection; when there is an obstacle inside the circumcircle of the vehicle body, calculate the vector projections of the vehicle body center to the obstacle in the heading direction and the vertical direction, and determine the collision state based on the vector projections; Based on the geometric parameters of the swing arm and the troweling disc, construct a capsule-shaped envelope space by using a series of detection circles translated along the swing arm direction, and the capsule-shaped envelope space covers the swing arm and the troweling disc; calculate the Euclidean distances from the obstacles to each detection circle respectively, determine the minimum value among the Euclidean distances, and determine the collision state based on the minimum value of the Euclidean distances.
[0065] The working area delimitation module is specifically used for: Determine the starting node in the grid map, and add the starting node to the set to be searched; Take out a node from the set to be searched and regard it as the current node , and delete the node from the set to be searched and add it to the set of searched nodes; Traverse all neighbor nodes of the current node and place the center of the troweling disc at the coordinates of the neighbor node , and consider the heading angle within the value range based on the control point and the swing arm angle For all discretized value pairs, if a certain value pair can ensure that the robot does not collide, the current neighbor node is added to the set of nodes to be searched; otherwise, continue to traverse the neighbor nodes until all neighbor nodes are traversed; then take out a node from the set of nodes to be searched again and repeat the traversal step until the set of nodes to be searched is an empty set. At this time, all nodes in the set of nodes that have been searched are used as the reachable regions of the polishing disc when the swing arm polishing robot is working; the largest region that can be polished when the polishing disc is in each reachable region is used as the working space of the swing arm polishing robot.
[0066] Embodiment 3 As Figure 10 shown, the present invention also provides an electronic device 100 for implementing the method for defining the working area of the covering operation of the swing arm polishing robot; the electronic device 100 includes a memory 101, at least one processor 102, a computer program 103 stored in the memory 101 and executable on at least one processor 102, and at least one communication bus 104.
[0067] The memory 101 can be used to store the computer program 103. The processor 102 realizes the steps of the method for defining the working area of the covering operation of a swing arm polishing robot in Embodiment 1 by running or executing the computer program stored in the memory 101 and calling the data stored in the memory 101.
[0068] The memory 101 mainly includes a program storage area and a data storage area. Among them, the program storage area can store an operating system, application programs required for at least one function (such as a sound playing function, an image playing function, etc.); the data storage area can store data created according to the use of the electronic device 100 (such as audio data, etc.). In addition, the memory 101 may include non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, at least one magnetic disk storage device, a flash memory device, or other non-volatile solid-state storage devices.
[0069] At least one processor 102 may be a Central Processing Unit (CPU), or may also be other general-purpose processors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field-Programmable Gate Arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The processor 102 may be a microprocessor or the processor 102 may also be any conventional processor, etc. The processor 102 is the control center of the electronic device 100 and connects various parts of the entire electronic device 100 through various interfaces and lines.
[0070] The memory 101 in the electronic device 100 stores multiple instructions to implement a method for defining the working area covered by a swing-arm troweling robot. The processor 102 can execute the multiple instructions to achieve: Based on a pre-constructed BIM model, determine the obstacle map of the target area; Determine the simplified model of the swing-arm troweling robot, determine the geometric parameters of the preset parts of the swing-arm troweling robot based on the simplified model, and construct the collision detection rules of the swing-arm troweling robot based on the geometric parameters; Using the center of the trowel disc of the swing-arm troweling robot as the control point, traverse the grid map using a search algorithm to determine the reachable area of the robot; determine the maximum working area that the swing-arm troweling robot can cover based on the collision detection rules and the reachable area.
[0071] Embodiment 4 If the modules / units integrated in the electronic device 100 are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, to implement all or part of the processes in the above embodiment methods of the present invention, it can also be completed by instructing related hardware through a computer program. The computer program can be stored in a computer-readable storage medium. When the computer program is executed by a processor, the steps of the above various method embodiments can be implemented. Among them, the computer program includes computer program code, and the computer program code can be in the form of source code, object code, executable file, or some intermediate form, etc. The computer-readable medium can include: any entity or device that can carry the computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disc, computer memory, and Read-Only Memory (ROM).
[0072] Those skilled in the art should understand that the embodiments of the present invention can be provided as a method, a system, or a computer program product. Therefore, the present invention can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present invention can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk memory, CD-ROM, optical memory, etc.) that contain computer-usable program code.
[0073] The present invention is described with reference to the flowcharts and / or block diagrams of methods, apparatuses (systems), and computer program products according to embodiments of the present invention. It should be understood that each flow and / or block in the flowchart and / or block diagram, as well as the combination of flows and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, such that the instructions executed by the processor of the computer or other programmable data processing devices generate means for implementing the functions specified in Figure 1 one flow or multiple flows and / or blocks Figure 1 one block or multiple blocks.
[0074] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, such that the instructions stored in the computer-readable memory generate a manufactured article including instruction means that implement the functions specified in Figure 1 one flow or multiple flows and / or blocks Figure 1 one block or multiple blocks.
[0075] These computer program instructions can also be loaded onto a computer or other programmable data processing device, such that a series of operation steps are performed on the computer or other programmable device to generate a computer-implemented process, and thus the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in Figure 1 one flow or multiple flows and / or blocks Figure 1 one block or multiple blocks.
[0076] In the description of this specification, the description with reference to terms such as "one embodiment", "example", "specific example", etc. means that the specific features, structures, materials, or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described can be combined in any one or more embodiments or examples in a suitable manner.
[0077] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit them. Although the present invention has been described in detail with reference to the above embodiments, those of ordinary skill in the art should understand that: it is still possible to modify the specific implementation manners of the present invention or make equivalent replacements, and any modification or equivalent replacement that does not depart from the spirit and scope of the present invention shall be covered by the protection scope of the claims of the present invention.
Claims
1. A method for defining a covering operation working area of a swing-arm trowel robot, characterized in that: The following steps are involved: Determine the obstacle map of the target area based on the pre-built building information BIM model; Determine a simplified model of the swing-arm trowel robot based on its structure, determine geometric parameters of a preset part of the swing-arm trowel robot based on the simplified model, and construct a collision detection rule for the swing-arm trowel robot based on the geometric parameters; Taking the center of the wiping plate of the swing-arm wiping robot as the control point, a search algorithm is used to traverse the obstacle map to determine the reachable area of the robot; The maximum working area that the swing-arm trowel robot can cover is determined based on collision detection rules and reachable areas.
2. The method for defining a covering operation working area according to claim 1, characterized in that: Determine the obstacle map of the target area based on the pre-built BIM model, including: Determine the geometric and spatial position information of the obstacle according to the building information BIM model; Project the geometric and spatial position information of obstacles onto a two-dimensional plane to obtain a plane map with the position and size of the obstacles; The planar map is rasterized to generate an obstacle map with status identifiers, wherein the status identifiers include passable and obstacle.
3. The method for defining a covering operation working area according to claim 1, characterized in that: A simplified model of the swing-arm trowel robot is determined based on the structure of the swing-arm trowel robot, geometric parameters of a preset part of the swing-arm trowel robot are determined based on the simplified model, and collision detection rules of the swing-arm trowel robot are constructed based on the geometric parameters, including: Determine a simplified model of the swing-arm trowel robot based on the structure of the swing-arm trowel robot; wherein the simplified model includes a body, a swing arm and a trowel plate; Determine the corresponding geometric parameters of the vehicle body, swing arm and wiper plate; Based on the geometric parameters of the vehicle body, the circumscribed circle of the vehicle body is used for obstacle detection. When there is an obstacle within the circumscribed circle of the vehicle body, the vector projection from the center of the vehicle body to the obstacle in the heading direction and vertical direction is calculated, and the collision state is determined based on the vector projection. Based on the geometric parameters of the swing arm and the wiper disk, a capsule-shaped envelope space is constructed using a series of detection circles translated along the direction of the swing arm. The capsule-shaped envelope space covers the swing arm and the wiper disk. The Euclidean distance from the obstacle to each detection circle is calculated respectively, and the minimum value of each Euclidean distance is determined. The collision state is determined based on the minimum value of the Euclidean distance.
4. The method for defining a covering operation work area according to claim 1, characterized in that: Taking the center of the wiping plate of the swing-arm wiping robot as the control point, a search algorithm is used to traverse the obstacle map to determine the reachable area of the robot; The maximum working area that the swing-arm trowel robot can cover is determined based on collision detection rules and reachable areas, including: Determine the starting node in the obstacle map and add the starting node to the set to be searched; Take a node from the set to be searched , as the current node , and delete the node from the set to be searched and add it to the set that has been searched; Traverse the current node All neighbor nodes of , wipe the center of the disc Place it on the neighbor node At the coordinates, the heading angle within the range of the control point is considered and swing arm angle For all the discretized value pairs of , if a certain value pair can ensure that the robot does not collide, the current neighbor node is added to the to-be-searched set; otherwise, the neighbor nodes are continued to be traversed until all the neighbor nodes are traversed; a node is taken out from the to-be-searched set again and the traversal steps are repeated until the to-be-searched set is an empty set. At this time, all the nodes in the searched set are used as the reachable areas of the wiping disc when the swing-arm polishing robot is working; the maximum area that can be smoothed on the wiping disc in each reachable area is used as the working space of the swing-arm polishing robot.
5. A device for defining a covering operation working area of a swing-arm trowel robot, characterized in that: include: An obstacle map generation module is used to determine an obstacle map of a target area based on a pre-built building information BIM model; A swing-arm trowel robot modeling module is used to determine a simplified model of the swing-arm trowel robot based on its structure, determine geometric parameters of a preset part of the swing-arm trowel robot based on the simplified model, and construct collision detection rules for the swing-arm trowel robot based on the geometric parameters; A working area definition module is used to determine the reachable area of the robot by traversing the obstacle map using a search algorithm using the center of the wiping plate of the swing-arm wiping robot as a control point; The maximum working area that the swing-arm trowel robot can cover is determined based on collision detection rules and reachable areas.
6. The covering operation working area defining device according to claim 5, characterized in that: Obstacle map generation module, specifically used for: Determine the geometric and spatial position information of the obstacle according to the building information BIM model; Project the geometric and spatial position information of obstacles onto a two-dimensional plane to obtain a plane map with the position and size of the obstacles; The planar map is rasterized to generate an obstacle map with status identifiers, wherein the status identifiers include passable and obstacle.
7. The covering operation working area defining device according to claim 5, characterized in that: The swing-arm trowel robot modeling module is specifically used for: Determine a simplified model of the swing-arm trowel robot based on the structure of the swing-arm trowel robot; wherein the simplified model includes a body, a swing arm and a trowel plate; Determine the corresponding geometric parameters of the vehicle body, swing arm and wiper plate; Based on the geometric parameters of the vehicle body, the circumscribed circle of the vehicle body is used for obstacle detection. When there is an obstacle within the circumscribed circle of the vehicle body, the vector projection from the center of the vehicle body to the obstacle in the heading direction and vertical direction is calculated, and the collision state is determined based on the vector projection. Based on the geometric parameters of the swing arm and the wiper disk, a capsule-shaped envelope space is constructed using a series of detection circles translated along the direction of the swing arm. The capsule-shaped envelope space covers the swing arm and the wiper disk. The Euclidean distance from the obstacle to each detection circle is calculated respectively, and the minimum value of each Euclidean distance is determined. The collision state is determined based on the minimum value of the Euclidean distance.
8. The covering operation working area defining device according to claim 5, characterized in that: The work area definition module is specifically used for: Determine the starting node in the obstacle map and add the starting node to the set to be searched; Take a node from the set to be searched , as the current node , and delete the node from the set to be searched and add it to the set that has been searched; Traverse the current node All neighbor nodes of , wipe the center of the disc Place it on the neighbor node At the coordinates, the heading angle within the range of the control point is considered and swing arm angle For all the discretized value pairs of , if a certain value pair can ensure that the robot does not collide, the current neighbor node is added to the to-be-searched set; otherwise, the neighbor nodes are continued to be traversed until all the neighbor nodes are traversed; a node is taken out from the to-be-searched set again and the traversal steps are repeated until the to-be-searched set is an empty set. At this time, all the nodes in the searched set are used as the reachable areas of the wiping disc when the swing-arm polishing robot is working; the maximum area that can be smoothed on the wiping disc in each reachable area is used as the working space of the swing-arm polishing robot.
9. An electronic device, characterized in that: It comprises a processor and a memory, wherein the processor is used to execute a computer program stored in the memory to implement the method for defining a covering operation working area as claimed in any one of claims 1 to 4.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores at least one instruction, and when the at least one instruction is executed by the processor, the method for defining the covering operation working area according to any one of claims 1 to 4 is implemented.