A data connection method for building BIM and robot trajectory planning
By establishing a BIM model in construction, calculating the position and posture of the robot's base coordinate system and other coordinate systems, and combining gravity and repulsion to calculate the motion trajectory of the robot's manipulator, the problem of insufficient robot trajectory planning in the existing technology is solved, and efficient automated prefabricated building construction is achieved.
Patent Information
- Application Number
- CN202311047400.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-18
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2043-08-18
AI Technical Summary
Existing technologies make it difficult to effectively utilize BIM models for robot trajectory planning, resulting in a low level of automation in construction.
By establishing a BIM model, obtaining the surface information of the building and the robot work platform, calculating the position and posture of the robot base coordinate system and other coordinate systems, and combining gravity and repulsion to calculate the motion trajectory of the robot's manipulator, the automated assembly of the robot in construction can be realized.
It improves the degree of automation of robots in construction, reduces manpower and time costs, and improves construction efficiency and quality.
Smart Images

Figure CN117067203B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of robotics, and more specifically, to the technical field of robots using BIM models to obtain working environment information and perform trajectory planning in a construction environment. It is a data connection method between building BIM and robot trajectory planning. Background Art
[0002] With the continuous advancement of construction technology and robotics technology, construction robots are gradually being used in construction tasks. They are robots that can independently complete construction tasks. They can reduce manpower and time costs and improve the quality and efficiency of construction.
[0003] BIM stands for Building Information Modeling, a digital building information modeling technology that integrates and shares building information across all phases of building design, construction, and operations to improve the efficiency and quality of construction projects and reduce costs and risks. The coordinate information of building elements is one of the key data in a BIM model, helping designers, construction personnel, and others accurately locate and orient individual components and equipment within a construction project. It is typically represented by a three-dimensional coordinate system, encompassing the X, Y, and Z axes. It is stored in the BIM model in various forms and formats, such as points, lines, and surfaces. In construction, the coordinate information in the BIM model can be used for path planning, thereby improving the efficiency and quality of construction.
[0004] Robot trajectory planning involves planning an optimal motion path for a robot under given motion constraints. It is a key robotics technology, and common algorithms include the A* algorithm, the Dijkstra algorithm, and genetic algorithms.
[0005] Combining BIM technology with robot trajectory planning can achieve automatic programming of robots in construction. This combination can improve the efficiency of construction robots and reduce manpower and time costs. Summary of the Invention
[0006] In response to the above-mentioned defects or improvement needs of the existing technology, the present invention provides a data connection method for building BIM and robot trajectory planning, the purpose of which is to use the working environment information and work task data provided by BIM to generate the robot's motion trajectory and complete the assembly task of building construction.
[0007] To achieve the above objectives, the present invention provides a data connection method for building BIM and robot trajectory planning, which mainly includes the following steps:
[0008] Step 1: Establish a BIM model of the robot's working environment and work tasks, obtain the surface information of the building model and the surface information of the robot work platform, and construct the environment information file;
[0009] Step 2: Convert the BIM model into an IFC format file and parse it to obtain the building coordinates and work platform data, and extract the position relative to the robot base coordinate system;
[0010] Step 3: Calculate the position of the plate center coordinate system relative to the wall coordinate system
[0011] Step 4: Calculate the position of the plate center coordinate system relative to the robot base coordinate system
[0012] Step 5: Use relative pose to transform the task target point from the plate center coordinate system to the robot base coordinate system;
[0013] Step 6: Calculate the gravitational and repulsive forces on the robot arm based on the coordinates and posture of the starting point and target point as well as the environmental information;
[0014] Step 7: Calculate the resultant force on each axis from the gravitational force and repulsive force, and then update the robot end coordinates;
[0015] Step 8: Calculate the distance between the updated coordinates and the target point. If it is less than the set value, stop; otherwise, go to step 6.
[0016] Compared with the existing technology, the present invention can effectively solve the problem of robots using BIM information for trajectory planning in the context of prefabricated buildings, and has a high degree of automation. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] Figure 1 It is a schematic diagram of the overall process of the present invention.
[0018] Figure 2 This is a diagram of the panel installation working environment.
[0019] Figure 3 For the operation process. DETAILED DESCRIPTION
[0020] In order to make the objectives, technical solutions and advantages of the present invention more clearly understood, the present invention is further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely for the purpose of explaining the present invention and are not intended to limit the present invention. In addition, the technical features involved in the various embodiments of the present invention described below may be combined with each other as long as they do not conflict with each other.
[0021] The basic principle of the present invention is as follows: using the construction work environment and task information provided by BIM, various data required for robot trajectory planning are extracted to support the robot's automatic programming process. Figure 1 As shown, the data connection method includes the following steps:
[0022] 1. Establish a BIM model of the robot's working environment and tasks, see Figure 2 According to the BIM model, the surface model file of the building can be exported in the Revit design software. At the same time, according to the robot work platform model, the surface model file (STL file) of the robot work platform can be exported in the Solidworks software. The surface information of the building model and the surface information of the robot work platform are obtained, and the environment information file is constructed. The specific process is shown in Figure 3 .
[0023] The patch model describes the vertex and facet information of the 3D model. The facet information of the building model and the facet information of the robot work platform are stored in two files respectively. Each file must contain the information of all n vertices of the model. The vertex set is represented as:
[0024] V={v1,v2,v3,...,v n}
[0025] Each vertex is represented by v i =(x i ,y i ,z i The vertex coordinate origins are defined in two files: the BIM design software coordinate origin and the robotic work platform design software coordinate origin. Both origins are determined during the design process. Each file also needs to contain information about the model's m facets, which are represented based on the vertex information.
[0026] 2. The working environment information file of the present invention includes: facet information of the building model, facet information of the robot work platform, the position and posture of the building model relative to the robot base coordinate system, and the position and posture of the robot work platform relative to the robot base coordinate system, that is, the position and posture of the model coordinate system relative to the robot base coordinate system. In the scenarios described in the embodiments of the present invention, the position and posture of the target wall and the robot work platform relative to the robot base coordinate system can be determined using sensors such as lidar or manual calibration.
[0027] The position of the building is expressed in the robot base coordinate system using a three-dimensional vector:
[0028]
[0029] The posture is expressed in the robot base coordinate system using quaternions as follows:
[0030]
[0031] Among them, model i Represents a specific building entity, such as a building or an obstacle.
[0032] 3. Export the BIM model as an IFC file and parse it to obtain the building coordinates and work platform data, and extract the pose relative to the robot's base coordinate system. This step builds a task model based on the BIM information, and can obtain the pose of the task object's wall coordinate system relative to the building coordinate system. The process is as follows:
[0033] 1) According to the IFC file of the BIM model, the x-axis and z-axis directions of the wall coordinate system in the building coordinate system can be obtained. in
[0034] 2) Determine the y-axis direction of the wall coordinate system in the building coordinate system according to the right-hand rule, and obtain the rotation matrix R representing the posture of the wall coordinate system based on the directions of the three axes. Then, convert it into a quaternion representation of the wall coordinate system posture. The process is as follows:
[0035]
[0036] q wall =Q(R)
[0037] Where Q is the function that converts the rotation matrix to a quaternion. In Python, this conversion can be achieved using the Rotation class in the Scipy library.
[0038] 3) According to the IFC file of the BIM model, the position of the wall coordinate system in the building coordinate system can be obtained. It is expressed as
[0039] p wall =(p x ,p y ,p z )
[0040] 4) Based on the IFC file of the BIM model, the shape and scale information of the task object wall can be obtained, including the length, width, and height information of the task object. The shape and scale information of the task object is expressed as:
[0041]
[0042] in, Respectively represent element i The length, width and height information of the device.
[0043] element i Indicates a specific wall object.
[0044] s wall =(length wall ,width wall ,height wall )
[0045] 4. Calculate the position of the plate center coordinate system relative to the wall coordinate system In the scenario described in the embodiment of the present invention, the panels are installed in a 3*3 arrangement at the target location on the corresponding wall. Due to the prefabricated building, the panel and wall dimensions must match the installation task, so the position of each panel's center coordinate system relative to the wall coordinate system can be directly calculated using the arrangement. The calculation method is as follows:
[0046]
[0047] Among them, i and j are the number of columns from left to right and the number of rows from bottom to top, respectively. is the x-coordinate of the installation point in the i-th column from left to right and the j-th row from bottom to top; is the y-coordinate of the installation point in the i-th column from left to right and the j-th row from bottom to top; The z coordinate of the installation point in the i-th column from left to right and the j-th row from bottom to top. wall is the wall length, width wall is the wall width, x offset ,y offset ,z offset The offsets of the wall coordinate system relative to the lower left corner of the wall are determined by the Revit wall settings. Furthermore, since the wall is a straight, uncurved vertical wall, the plate center coordinate system has the same orientation as the wall coordinate system and therefore does not rotate relative to the wall coordinate system.
[0048] The position of the wall coordinate system relative to the building coordinate system, the size of the wall, and the position of the task targets on each wall relative to the wall coordinate system are stored as a file in the YAML format using floating-point data types.
[0049] 5. Based on the above information, the position of each plate center coordinate system relative to the robot base coordinate system can be calculated The calculation method is as follows:
[0050]
[0051] p model ,q model is the pose of the building in the robot base coordinate system, pwall ,q wall is the position of the wall coordinate system relative to the building coordinate system. model ) represents the rotation matrix that transforms the building coordinate system to the robot base coordinate system; R(q wall ) represents the rotation matrix that transforms the wall coordinate system to the building coordinate system; R(q) represents the rotation matrix that transforms the posture of the plate relative to the wall coordinate system to the robot base coordinate system; Q represents the mapping from the rotation matrix to the quaternion.
[0052] 6. Use relative pose to transform the task target point from the plate center coordinate system to the robot base coordinate system.
[0053] After obtaining the position and orientation of each plate center coordinate system relative to the robot base coordinate system, calculate the translation matrix and rotation matrix of the plate center coordinate system relative to the robot base coordinate system.
[0054] The translation matrix is
[0055] Rotation Matrix Where R() represents the rotation matrix.
[0056] Pose transformation matrix T AB =t AB ·R AB .
[0057] If the coordinates of the target point in the plate coordinate system are (x1, y1, z1), then the coordinates in the robot base coordinate system are (x, y, z) = (x1, y1, z1) T AB .
[0058] 7. Calculate the gravitational and repulsive forces acting on the robot arm based on the coordinates and position of the starting point, target point, and environmental information.
[0059] Using the above information, the present invention regards the target and obstacle as objects with attractive and repulsive forces on the robot arm respectively, and regards the end of the robot arm as a mass point in the configuration space C. The robot arm is affected by the target configuration X. goal The gravitational force F attr Attracted, while being affected by obstacles O obstacles The repulsive force F rep Repulsion, the robotic arm moves along the combined force F of attraction and repulsion sum Perform the motion and calculate the attractive and repulsive forces on the robotic arm. The attractive force is calculated as follows:
[0060]
[0061] Where:
[0062]
[0063] ξ a Indicates the magnitude of the gravitational parameter.
[0064] The repulsive force is calculated as follows:
[0065]
[0066] In the calculation formula: η i Indicates the size of the repulsive force parameter; d0 indicates the influence coefficient of the obstacle; ||XX obstacles,i || represents the distance between the current point X and the i-th obstacle object X obstacles,i The following describes how to calculate this distance:
[0067] Obstacle mesh models have been extracted from the BIM model. Each obstacle is represented by a small triangular patch, simulating the model's surface features. The resulting 3D model is closed in 3D space and is unique, correct, and bounded. Each small triangular patch in the mesh model contains three vertex coordinates (x, y, and z) in counterclockwise order, along with a unit normal vector. The denser the triangular patch and the smaller each triangle, the higher the model's resolution and the closer it matches the real object.
[0068] Then the current point X and the i-th obstacle object X obstacles,i The distance is converted into the calculation of the distance from the current point X to the i-th obstacle object X obstacles,i The shortest distance between all triangles. Then we need to solve the distance from point X to the space triangle, and then traverse all triangles to find the shortest distance.
[0069] 8. Calculate the resultant force on each axis from the gravitational and repulsive forces, and then update the robot's end coordinates.
[0070] After obtaining the attractive force and repulsive force, the attractive force and repulsive force can be decomposed into the x, y, and z axes. The components of force F along the x, y, and z axes are:
[0071]
[0072] F attr (X) and F rep,i Substitute (X) into formula 4 and then superimpose on each axis to obtain F sum Components on the x, y, and z axes:
[0073]
[0074] Where: F attr (X) x , F attr (X) y , F attr (X) zare the x, y, and z components of gravity, F rep,i (X) x , F rep,i (X) y , F rep,i (X) z are the x-, y-, and z-axis components of the repulsive force;
[0075] Sum the components of the three axes to get F sum (X) is normalized and then multiplied by the coefficient a k , that is, moving forward a certain distance along the negative gradient direction of the potential field, and then obtaining a new configuration:
[0076]
[0077] Where: F sum (X) is obtained by synthesizing the gravitational forces on the three axes.
[0078] 9. Calculate the distance between the updated coordinates and the target point. If it is less than the set value, stop; otherwise, go to step 7.
[0079] In the present invention, the robot arm starts to move from the starting position and moves according to the resultant force in each cycle until the difference between the current position of the robot arm and the target position in the Cartesian coordinate system is less than the set value, and the algorithm ends.
[0080] It will be easily understood by those skilled in the art that the above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.
Claims
1. A data connection method for building BIM and robot trajectory planning, characterized in that: The steps include: Step 1: Establish a BIM model of the robot's working environment and work tasks, obtain the surface information of the building model and the surface information of the robot work platform, and construct an environment information file; the environment information file contains: the surface information of the building model, the surface information of the robot work platform, the position and posture of the building model relative to the robot's base coordinate system, and the position and posture of the robot work platform relative to the robot's base coordinate system, that is, the position and posture of the model coordinate system relative to the robot's base coordinate system; The position of the building is expressed in the robot base coordinate system using a three-dimensional vector: The posture is expressed in the robot base coordinate system using quaternions as follows: Among them, model i Represents a specific building entity; Step 2: Convert the BIM model into an IFC format file and parse it to obtain the building coordinates and work platform data, and extract the position relative to the robot base coordinate system; Step 3: Calculate the position of the plate center coordinate system relative to the wall coordinate system as follows: in is the x-coordinate of the installation point in the i-th column from left to right and the j-th row from bottom to top; is the y-coordinate of the installation point in the i-th column from left to right and the j-th row from bottom to top; The z coordinate of the installation point in the i-th column from left to right and the j-th row from bottom to top; length wall is the wall length, width wall is the wall width, x offset ,y offset ,z offset are the offsets of the wall coordinate system relative to the lower left vertex of the wall; The position of the wall coordinate system relative to the building coordinate system, the wall size, and the position of the task target point on each wall relative to the wall coordinate system are stored as a file using the floating-point data type according to the YAML format. Step 4: Calculate the position of each plate center coordinate system relative to the robot base coordinate system as follows: p model ,q model is the pose of the building in the robot base coordinate system, p wall ,q wall is the position of the wall coordinate system relative to the building coordinate system, R(q model ) represents the rotation matrix that transforms the building coordinate system to the robot base coordinate system; R(q wall ) represents the rotation matrix that transforms the wall coordinate system to the building coordinate system; R(q) represents the rotation matrix that transforms the posture of the plate relative to the wall coordinate system to the robot base coordinate system; Q represents the mapping from the rotation matrix to the quaternion; Step 5: Use relative pose to transform the task target point from the plate center coordinate system to the robot base coordinate system; Step 6: Calculate the gravitational and repulsive forces on the robot arm based on the coordinates and posture of the starting point and target point as well as the environmental information; The target and obstacle are regarded as objects with attraction and repulsion on the manipulator, respectively. The end of the manipulator is regarded as a mass point in the configuration space C. The manipulator is affected by the target configuration X. goal The gravitational force F attr Attracted, while being affected by obstacles O obstacles The repulsive force F rep Repulsion, the robotic arm moves along the combined force F of attraction and repulsion sum Play sports; The gravitational force is calculated as follows: Where U attr (X) is calculated as follows: ξ a Indicates the magnitude of the gravitational parameter; The repulsive force is calculated as follows: Where: η i Indicates the size of the repulsive force parameter; d0 indicates the influence coefficient of the obstacle; ||XX obstacles,i || represents the distance between the current point X and the i-th obstacle object X obstacles,i distance; Step 7: Calculate the resultant force on each axis from the gravitational force and repulsive force, and then update the robot end coordinates; Step 8: Calculate the distance between the updated coordinates and the target point. If it is less than the set value, stop; otherwise, go to step 6.
2. The data connection method for building BIM and robot trajectory planning according to claim 1 is characterized in that: In step 1, the patch model describes the vertex and facet information of the three-dimensional model; the facet information of the building model and the facet information of the robot work platform are stored in two files respectively, and each file must contain all n vertex information of the model. The vertex set is expressed as: V={v1,v2,v3,...,v n } Each vertex is represented by v i =(x i ,y i ,z i ), the coordinate origins of the vertices in the two files are the coordinate origins of the BIM design software and the coordinate origins of the robot work platform design software, and both coordinate origins are determined during the design process; each file also contains the information of m facets of the model, which is represented based on the vertex information.
3. The data connection method for building BIM and robot trajectory planning according to claim 1 is characterized in that: In step 2, the process of establishing the task model and obtaining the position and orientation of the task object wall coordinate system relative to the building coordinate system is as follows: S1: According to the IFC file of the BIM model, the x-axis and z-axis directions of the wall coordinate system in the building coordinate system are obtained, which are expressed as in S2: Determine the y-axis direction of the wall coordinate system in the building coordinate system according to the right-hand rule, and obtain the rotation matrix R representing the posture of the wall coordinate system based on the directions of the three axes. Then convert it into the quaternion representation of the wall coordinate system posture, which is expressed as: q wall =Q(R) Where Q represents the mapping from rotation matrix to quaternion; S3: According to the IFC file of the BIM model, the position of the wall coordinate system in the building coordinate system is obtained, which is expressed as p wall =(p x ,p y ,p z ) S4: According to the IFC file of the BIM model, the shape and scale information of the task object wall is obtained, which is expressed as: in Respectively represent element i Length, width and height information; element i Indicates a specific wall object.
4. The data connection method for building BIM and robot trajectory planning according to claim 1 is characterized in that: In step 5, after obtaining the position of each plate center coordinate system relative to the robot base coordinate system, the translation matrix and rotation matrix of the plate center coordinate system relative to the robot base coordinate system are calculated, where: Translation Matrix Rotation Matrix Where R() represents the rotation matrix; Pose transformation matrix T AB =t AB ·R AB ; If the coordinates of the target point in the plate coordinate system are (x1, y1, z1), then the coordinates in the robot base coordinate system are (x, y, z) = (x1, y1, z1) T AB .
5. The data connection method for building BIM and robot trajectory planning according to claim 1 is characterized in that: In step 7, after obtaining the attractive force and repulsive force, decompose the attractive force and repulsive force onto the x, y, and z axes. The components of force F along the x, y, and z axes are: F attr (X) and F rep,i Substitute (X) into formula 4 and then superimpose on each axis to obtain F sum Components on the x, y, and z axes: Where: F attr (X) x , F attr (X) y , F attr (X) z are the x, y, and z components of gravity, F rep,i (X) x , F rep,i (X) y , F rep,i (X) z are the x-, y-, and z-axis components of the repulsive force; Sum the components of the three axes to get F sum (X) is normalized and then multiplied by the coefficient a k , that is, moving forward a certain distance along the negative gradient direction of the potential field, and then obtaining a new configuration: Where, F sum (X) is obtained by synthesizing the gravitational forces on the three axes.
6. The data connection method for building BIM and robot trajectory planning according to claim 1 is characterized in that: In step 8, the robot arm starts to move from the starting position and moves according to the resultant force in each cycle until the difference between the current position of the robot arm and the target position in the Cartesian coordinate system is less than the set value, and the algorithm ends.
Citation Information
Patent Citations
Multi-grid value navigation method based on robot pose and application thereof
CN109916393A
Control device and robot system
US20190061163A1