Building block recognition and alignment method for masonry robot
By installing a depth camera on the masonry robot and using image processing technology to identify and align the blocks, the problem of low block positioning accuracy during the masonry process is solved, and high-precision block alignment and wall quality improvement are achieved.
Patent Information
- Application Number
- CN202411284528.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-13
- Publication Date
- 2024-12-31
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
During the masonry process, existing masonry robots cannot ensure the consistency of block height alignment, gaps and flatness, resulting in a decrease in wall quality and efficiency.
Install a depth camera at the end of the robot robot arm, process the block image through image processing software, identify the shape, size, position and direction of the block, plan the movement of the robot arm, and ensure that the block is aligned with the target position. Specific steps include Gaussian filtering denoising, Sobel operator edge detection, Hough transform and Harris corner detection, combined with SURF algorithm and FLANN matcher, extract and match feature points, calculate homography matrix, and adjust the position and angle of the robot arm .
High-precision positioning and alignment of the blocks is achieved, the quality and efficiency of the masonry wall are improved, and the blocks can be placed accurately in the predetermined position.
Smart Images

Figure CN119229135A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to the technical field of image processing, and more particularly to a masonry robot block recognition and alignment method. Background Art
[0002] In the field of building automation, masonry robots are designed and developed to improve construction efficiency, reduce labor costs, and improve construction quality. Accurately identifying and positioning masonry blocks is a key step in automating the wall-building process. In order to achieve high-precision positioning, the robot needs to be equipped with advanced vision systems and intelligent algorithms to recognize different geometric shapes and positions.
[0003] In current masonry robots, blocks need to be aligned when laying blocks. Due to errors in block specifications and environmental factors, the consistency of block height alignment, gaps, and flatness cannot be guaranteed during the laying process, resulting in a decrease in the quality and efficiency of the wall construction.
[0004] Therefore, how to propose a masonry robot block recognition and alignment method to achieve high-precision positioning of blocks and ensure that blocks can be accurately placed at predetermined positions is an urgent problem that technicians in this field need to solve. Summary of the invention
[0005] In view of this, the present invention provides a masonry robot block recognition and alignment method to solve the problem of low recognition and positioning accuracy of masonry robots.
[0006] In order to achieve the above object, the present invention adopts the following technical solution: a masonry robot block recognition and alignment method, comprising:
[0007] A depth camera is installed on the end effector of the robot arm, and the image of the building block is captured by the depth camera;
[0008] Processing the block image by image processing software;
[0009] Analyze the processed images to identify the shape, size, position and orientation of the blocks;
[0010] According to the shape, size, position and orientation of the block, the robot arm's movements are planned to determine the lifting height and placement position, and align the block with the target position.
[0011] Preferably, the block image is processed by image processing software, including:
[0012] Use Gaussian filtering to perform denoising filtering on the block image to reduce interference and improve image quality.
[0013] The Sobel operator is used to detect the edge of the denoised filtered image and identify the outline of the block; extracting the obvious edges and outlines in the image helps to determine the shape of the block. The outline is a closed curve composed of continuous edge points in the image, and the gradient information of the pixel value and the detected edge points are connected to form a complete outline;
[0014] Key information that can identify the blocks is extracted from the image and the characteristic points of the blocks are identified; by analyzing these features, the robot can more accurately identify the shape and its position.
[0015] The geometric shape of the blocks is identified by Hough transform, and the corner features of the blocks are extracted using Harris corner detector.
[0016] Preferably, identifying the geometric shape of the building block by Hough transform includes:
[0017] Apply Hough transform to the edge detected image to obtain an accumulator array in Hough space;
[0018] Find the local maximum values in the accumulator array. The coordinates of these maximum values are the line parameters in the image.
[0019] Drawing the detected straight line according to the straight line parameters to obtain the geometric shape of the block;
[0020] Use Harris corner detector to extract corner features of blocks, including:
[0021] Calculate the gradient of the tile image;
[0022] Construct a matrix M with the same size as the original image to store the Harris response value of each pixel;
[0023] Traverse each pixel in the image and calculate the gradient direction and magnitude of other pixels in its neighborhood;
[0024] Determine whether the pixel point is a corner point according to the Harris response value R;
[0025] R=λ1λ2-k(λ1+λ2) 2 ;
[0026] Among them, λ1 and λ2 are the eigenvalues of the matrix M, and k is an empirical constant;
[0027] When R exceeds the set threshold, the pixel point is considered as a corner point;
[0028] All corner points are extracted to obtain the corner point features of the blocks.
[0029] Preferably, the processed image is analyzed to identify the shape, size, position and orientation of the building blocks, including:
[0030] Pre-set standard block templates;
[0031] Match the extracted corner point features with the pre-set standard block template;
[0032] Read the input image and the standard block template image, run the SURF algorithm on the input image and the standard block template image respectively, and detect the key points on the input image and the standard block template image;
[0033] For each key point detected, a descriptor is generated; the descriptor is a high-dimensional vector that contains information about the area around the key point.
[0034] Perform key point detection and descriptor calculation on the input image and the standard block template image respectively, and use the FLANN matcher to compare the key point descriptor in the input image with the key point descriptor in the standard block template image;
[0035] Output the result after feature matching to determine the shape and size of the building block;
[0036] The output image is resolved and calibrated to convert the pixel size into the actual size.
[0037] Combined with the image output by feature matching, the position and direction of the block in the working area are determined.
[0038] Preferably, combining the image output by feature matching to determine the position and direction of the block in the working area includes:
[0039] Match the extracted corner point features with the pre-set standard block template, find the matching points, and extract the coordinates of the matching points;
[0040] According to the matching point pairs, the homography matrix from the standard block template to the actual block is determined;
[0041] According to the homography matrix, the position coordinates and direction information of the block in the actual working area are calculated;
[0042] The calculated position coordinates and direction information of the building block are output.
[0043] Preferably, planning the movement of the robot arm according to the shape, size, position and direction of the building block comprises:
[0044] According to the calculated position coordinates of the blocks, the height of the current block is calculated as the starting point for the robot to place the next layer of blocks; based on the current block height, the height of a layer of blocks and a preset safety margin value are added, and the robot system is programmed so that the robot can lift the next block to this height; ensuring that the robot can place the blocks smoothly without collision;
[0045] Convert the target position of the block from the work area coordinate system to the robot arm coordinate system; adjust the direction of the block according to the direction of the work area to make it consistent with the normal direction of its target position; ensure that the block can be accurately placed at the predetermined position;
[0046] Adjust the angle and position of the robot arm according to the orientation of the block and the direction of the target position. Make sure the block is aligned with the target position.
[0047] Preferably, the method further comprises: setting a reference point before starting masonry;
[0048] Place the first block according to the design drawing and the baseline;
[0049] Align and place the first layer of blocks according to the position and direction of the first block;
[0050] Align and place the blocks for the second layer and above.
[0051] Preferably, aligning and placing the first layer of building blocks according to the position and direction of the first building block comprises:
[0052] Convert the block position into the direction and position coordinates of the global coordinate system;
[0053] According to the position of the first block, starting from the distance between the first block and the blocks, the position of the subsequent blocks in parallel is calculated as the target position. For each block, the direction of the target position is consistent with the normal direction of the placement surface;
[0054] Align the block with the target position, and calculate the movement distance and rotation angle of the robot arm by comparing the direction of the block with the orientation of the target position according to the target position of the new block and the position of the previous block;
[0055] The robot control system sends instructions to the robotic arm, causing it to rotate the calculated angle and move the robotic arm to the target position to place the block.
[0056] Preferably, after placing each block or layer of blocks, a depth camera is used to identify and process the block layer, and the obtained corner point / edge coordinates are compared and analyzed to analyze the height data of each block vertex, and the height difference between the blocks is calculated to determine whether the heights of the layers are consistent.
[0057] It can be known from the above technical solutions that compared with the prior art, the present invention discloses a masonry robot block recognition and alignment method, including: installing a depth camera on the end effector of the robot manipulator, capturing the block image through the depth camera; processing the block image through image processing software; analyzing the processed image to identify the shape, size, position and direction of the block; planning the action of the manipulator arm according to the shape, size, position and direction of the block, determining the lifting height and placement position, and aligning the block with the target position. The present invention has the following beneficial effects: the present invention utilizes digital image processing and computer vision technology, Hough Transform and Harris corner detector to effectively identify the shape and key points of the block from the image. The robot can quickly and accurately determine the position and orientation of the blocks; identify the shape and size of the blocks by comparing the extracted features with the features in the template, run the SURF algorithm on the input image and the standard block template image to detect key points, and use the surf.detectAndCompute method and the FLANN matcher to achieve fast key point detection and descriptor calculation, as well as efficient descriptor matching, thereby improving the overall processing speed and matching accuracy; by estimating the homography matrix, the robot can calculate the translation vector and rotation angle between the standard template and the actual block, ensuring that the block can be accurately placed in the predetermined position. BRIEF DESCRIPTION OF THE DRAWINGS
[0058] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying creative work.
[0059] Figure 1 A schematic flow chart of a masonry robot block recognition and alignment method provided by the present invention. DETAILED DESCRIPTION
[0060] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0061] The embodiment of the present invention discloses a masonry robot block recognition and alignment method, which utilizes digital image processing and computer vision technology, Hough Transform and Harris corner detector to effectively recognize the shape and key points of blocks from images. The robot can quickly and accurately determine the position and direction of blocks; by comparing the extracted features with the features in the template, the shape and size of the blocks can be identified, the SURF algorithm is run on the input image and the standard block template image to detect key points, and the surf.detectAndCompute method and FLANN matcher are used to achieve fast key point detection and descriptor calculation, as well as efficient descriptor matching, thereby improving the overall processing speed and matching accuracy; by estimating the homography matrix, the robot can calculate the translation vector and rotation angle between the standard template and the actual block, ensuring that the block can be accurately placed at the predetermined position.
[0062] In a specific embodiment of the present invention, a masonry robot block recognition and alignment method, such as Figure 1 As shown, including:
[0063] S100, image capture: a depth camera is installed on the end effector of the robot arm, and the image of the block is captured by the depth camera. The masonry robot captures the image of the block through the depth camera at the end of the robot arm. The depth camera can provide depth information, which helps to more accurately determine the size, position and direction of the block.
[0064] S200, image processing: the image of the building block is processed by image processing software. The image processing software processes the captured image, including steps such as noise removal, edge detection and feature extraction, so as to clearly identify the outline and feature points of the building block.
[0065] S300, shape and size recognition: Analyze the processed image to recognize the shape and size of the block. By analyzing the processed image, the software can recognize the shape and size of the block. This step involves comparing the features of the block with a pre-set standard block template.
[0066] S400, position and direction determination: Determine the position and direction of the block in the working area in combination with the image output by feature matching.
[0067] S500, motion planning: planning the motion of the robot arm according to the shape, size, position and direction of the block, determining the lifting height and placement position, and aligning the block with the target position. Based on the shape, size, direction and position of the block, the robot system plans the motion of the robot arm according to this information, including determining the lifting height, placement position and alignment of the block.
[0068] The masonry robot uses machine vision recognition and sensing technology to identify the masonry blocks. A depth camera is installed on the end effector of the robot's mechanical arm to capture the image of the masonry blocks. The image processing software is used to identify the shape, size and position of the masonry blocks.
[0069] Specifically, the block image is processed by image processing software, including:
[0070] S201, noise removal: use Gaussian filtering to perform denoising filtering on the block image to reduce interference and improve image quality.
[0071] S202, edge detection: Use the Sobel operator to perform edge detection on the denoised and filtered image to identify the outline of the building block; perform edge detection on the denoised and filtered image. In the embodiment of the present invention, the Sobel operator is used for edge detection, which can extract obvious edges and outlines in the image, which helps to determine the shape of the building block. The outline is a closed curve composed of continuous edge points in the image, and the gradient information of the pixel value and the detected edge points are connected to form a complete outline.
[0072] S203, feature extraction: Extract key information from the image that helps identify the blocks. This includes features such as the color, texture, and corners of the blocks. By analyzing these features, the robot can more accurately identify the shape and its location. Use Hough transform to identify the geometric shape of the blocks and use Harris corner detector to extract the corner features of the blocks.
[0073] Specifically, the geometric shape of the block is identified through Hough transform, including:
[0074] Binarize the block image;
[0075] Perform edge detection on the binarized image to obtain an edge image;
[0076] Apply Hough transform to the edge detected image to obtain an accumulator array in Hough space;
[0077] Find the local maximum values in the accumulator array. The coordinates of these maximum values are the line parameters in the image.
[0078] Drawing the detected straight line according to the straight line parameters to obtain the geometric shape of the block;
[0079] Specifically, the Harris corner detector is used to extract the corner features of the blocks, including:
[0080] Calculate the gradient of the tile image;
[0081] Construct a matrix M with the same size as the original image to store the Harris response value of each pixel;
[0082] Traverse each pixel in the image and calculate the gradient direction and magnitude of other pixels in its neighborhood;
[0083] Determine whether the pixel point is a corner point according to the Harris response value R;
[0084] R=λ1λ2-k(λ1+λ2) 2 ;
[0085] Among them, λ1 and λ2 are the eigenvalues of the matrix M, and k is an empirical constant; it is usually between 0.04 and 0.06.
[0086] When R exceeds the set threshold, the pixel is considered a corner point; otherwise, it is not a corner point. This threshold is usually set between 0.01 and 0.1, and the threshold needs to be adjusted according to the image. In the present invention, the threshold is set to 0.06;
[0087] All corner points are extracted to obtain the corner point features of the blocks.
[0088] S204, contour and feature point recognition: Combining the edge detection results and feature extraction information, the image processing software can recognize the contour and feature points of the building block. These data provide necessary information for subsequent building block positioning and grabbing.
[0089] Specifically, the processed image is analyzed to identify the shape and size of the building blocks, including:
[0090] S301, feature matching: pre-set a standard building block template, and match the extracted corner point features with the pre-set standard building block template; match the extracted features with the pre-set standard building block template. It is necessary to select a template image, which is an object that can be found in the target image. This template contains information on the shape, size, corner points and other key features of the standard building block;
[0091] S302, feature comparison: by comparing the extracted features with the features in the template, the software can identify whether the block meets the standard size and shape, or determine its specific deviation;
[0092] S3021, key point detection: read the input image and the standard block template image through the cv2.imread function, run the SURF algorithm on the input image and the standard block template image respectively, and detect the key points on the input image and the standard block template image;
[0093] S3022, key point description: for each key point detected, a descriptor is generated; the descriptor is a high-dimensional vector that contains information about the area around the key point;
[0094] S3023, feature matching: Use the surf.detectAndCompute method to perform key point detection and descriptor calculation on the input image and the standard block template image respectively, and use the FLANN matcher to compare the key point descriptors in the input image with the key point descriptors in the standard block template image; use the FLANN matcher (cv2.FlannBasedMatcher()) to compare the descriptors of the input image and the standard block template image; perform nearest neighbor matching through the flann.knnMatch method, and set the parameter k=2 to return the two best matches; then, use the ratio test to screen out good matching points, that is, the distance of the first match is less than a certain ratio of the distance of the second match (set to 0.7); use the cv2.drawMatches function to draw the matching results on the image, and display them through cv2.imshow.
[0095] S303, result output: output the result after feature matching to determine the shape and size of the building block;
[0096] S304, determine the size: perform resolution and calibration on the output image, and convert the pixel size into the actual size;
[0097] S305: Determine the position and direction of the block in the working area by combining the image output by feature matching.
[0098] Specifically, the position and direction of the block in the working area are determined by combining the image output by feature matching, including:
[0099] Extract matching points: match the extracted corner point features with the pre-set standard building block template, find the matching points, and use np.float32().reshape() to extract the coordinates of the matching points;
[0100] Estimate the transformation matrix: Based on the matching point pairs, use the cv2.findHomography function to determine the homography matrix from the standard block template to the actual block;
[0101] Calculate position and direction: According to the homography matrix, use np.dot() and np.arctan2() functions to calculate the position coordinates (translation vector) and direction information (rotation angle) of the block in the actual working area;
[0102] Result output: The calculated position coordinates and direction information of the building block will be output.
[0103] Specifically, according to the shape, size, position and direction of the building block, the action of the robot arm is planned, including:
[0104] Lifting height: Based on the calculated position coordinates of the blocks, the height of the current block is calculated. This is the starting point for the robot to place the next layer of blocks. On the basis of the current block height, the height of a layer of blocks and a preset safety margin value are added, and the robot system is programmed so that the robot can lift the next block to this height, ensuring that the robot can place the blocks smoothly without collision.
[0105] Placement position: Convert the target position of the block from the work area coordinate system to the robot arm coordinate system; adjust the direction of the block according to the direction of the work area to ensure that it is consistent with the normal direction of its target position, ensuring that the block can be accurately placed at the predetermined position.
[0106] Block alignment: According to the direction of the block and the orientation of the target position, adjust the angle and position of the robot arm to ensure that the block is aligned with the target position.
[0107] Specifically, during the alignment process, the angle difference between the current orientation of the block and the target orientation is compared, and vector operations or trigonometric functions are used to calculate the exact angle difference between the two directions. Based on the angle difference, the angle that the robot arm needs to rotate and the possible position adjustment amount are calculated.
[0108] Specifically, it also includes: Block placement and alignment:
[0109] According to the identified position and direction of the block, the placement position of the next block is determined and aligned with the block to ensure the masonry robot's masonry work. According to the position and direction of the work area and the target position of the block, the placement position is calculated to ensure that the block can be accurately placed in the predetermined position.
[0110] Benchmarking: Before you start laying, set a baseline or use an existing structure as a reference point to ensure the level alignment of the first course of blocks.
[0111] First block placement: Accurately place the first block according to the design drawing and baseline;
[0112] Placement of the first layer of blocks: Align and place the first layer of blocks according to the position and direction of the first block;
[0113] Align and place the second and above layers of blocks: Align and place the second and above layers of blocks.
[0114] Specifically, aligning and placing the first layer of building blocks according to the position and direction of the first building block includes:
[0115] a) Position conversion: Based on the image recognized by the depth camera, the position and direction of the block determined in the feature matching are converted into the direction and position of the global coordinate system.
[0116] b) Determine the direction of the target position: Based on the position of the first block and the spacing between the first block and the blocks, calculate the position of the subsequent blocks in parallel (the same row) as the target position. For each block, the direction of its target position is consistent with the normal direction of the placement surface. Determine the target position of the new block based on the position of the previous block and the design rules (block spacing, row height). The direction of the target position is the normal direction of the target position.
[0117] c) Calculate the adjustment position of the robot arm: To align the block with the target position, you need to calculate the angle that the robot arm needs to rotate. Based on the target position of the new block and the position of the previous block, the robot arm's movement distance and rotation angle are calculated by comparing the direction of the block with the orientation of the target position.
[0118] In which, the direction vector of the block is The heading vector of the target position The angle θ that the robot needs to rotate can be calculated from the angle difference between the vectors:
[0119]
[0120] in, is the dot product of two vectors, and is the magnitude of the vector.
[0121] d) Adjust the position of the robot arm: Move the robot arm to the target position to place the block, which generally involves the calculation of the translation vector, which points to the center of the target position. Let the center of the target position be P target , the current position of the robot grasping point is point P current The position P to which the robot arm needs to be translated final P can be calculated by the following formula final =P target -P current .
[0122] e) Action execution: The robot control system sends a command to the robot arm to rotate the calculated angle θ and move to position P final .
[0123] f) After placing each block or layer, use a vision system (depth camera) or laser to check if the height of the layers is consistent. Use a depth camera to identify and process the block layers, such as edge, corner and height information. Compare and analyze the obtained corner / edge coordinates with the height data of each block vertex, and calculate the height difference between each block to determine if the height of the layers is consistent.
[0124] e) The robot control system sends instructions to the robotic arm, causing it to rotate the calculated angle and move the robotic arm to the target position to place the block.
[0125] Align and place the second layer and above blocks, including:
[0126] A) Calculate the starting point of the second layer: Based on the building design and the size of the masonry units, calculate the starting point of the second layer. Usually, this involves offsetting along the length (longitudinal) and height (lateral) of the wall. Make sure the top edge of each layer of masonry units is on the same horizontal line. If the top edge height of the first layer of masonry units is h1, the top edge height of the second layer of masonry units should be h2.
[0127] h2=h1+n·h brick ;
[0128] Where n is the number of layers of blocks, h brick is the height of a single block.
[0129] B) Align the second layer starting block: Align the second layer starting block with the first layer block, making sure it is aligned with the joint of the first layer block. If the joint position of the first layer block is v1, the joint position of the second layer block should be v2 = v1.
[0130] C) Place blocks one by one: Continue to place the remaining blocks along the second layer according to the placement rules of the first layer, making sure that each block is tightly connected to the already placed blocks to maintain the overall straightness and levelness.
[0131] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part.
[0132] The above description of the disclosed embodiments enables one skilled in the art to implement or use the present invention. Various modifications to these embodiments will be apparent to one skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention will not be limited to the embodiments shown herein, but rather to the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A masonry robot block recognition and alignment method, characterized in that: include: A depth camera is installed on the end effector of the robot arm, and the image of the building block is captured by the depth camera; Processing the block image by image processing software; Analyze the processed images to identify the shape, size, position and orientation of the blocks; According to the shape, size, position and orientation of the building block, the robot arm's movements are planned to determine the lifting height and placement position, and align the building block with the target position.
2. A masonry robot block recognition and alignment method according to claim 1, characterized in that: The block image is processed by image processing software, including: Use Gaussian filtering to perform denoising filtering on the block image; The Sobel operator is used to perform edge detection on the denoised filtered image to identify the outline of the blocks; Extract key information that can identify blocks from the image and identify feature points of the blocks; The geometric shape of the blocks is identified by Hough transform, and the corner features of the blocks are extracted using Harris corner detector.
3. A masonry robot block recognition and alignment method according to claim 2, characterized in that: The geometry of the blocks is identified through Hough transform, including: Apply Hough transform to the edge detected image to obtain an accumulator array in Hough space; Find the local maximum values in the accumulator array. The coordinates of these maximum values are the line parameters in the image. Drawing the detected straight line according to the straight line parameters to obtain the geometric shape of the block; Use Harris corner detector to extract corner features of blocks, including: Calculate the gradient of the tile image; Construct a matrix M with the same size as the original image to store the Harris response value of each pixel; Traverse each pixel in the image and calculate the gradient direction and magnitude of other pixels in its neighborhood; Determine whether the pixel point is a corner point according to the Harris response value R; R=λ1λ2-K(λ1+λ2) 2 ; Among them, λ1 and λ2 are the eigenvalues of the matrix M, and k is an empirical constant; When R exceeds the set threshold, the pixel point is considered as a corner point; All corner points are extracted to obtain the corner point features of the blocks.
4. A masonry robot block recognition and alignment method according to claim 2, characterized in that: The processed images are analyzed to identify the shape, size, location and orientation of the blocks, including: Pre-set standard block templates; Match the extracted corner point features with the pre-set standard block template; Read the input image and the standard block template image, run the SURF algorithm on the input image and the standard block template image respectively, and detect the key points on the input image and the standard block template image; For each key point detected, a descriptor is generated; Perform key point detection and descriptor calculation on the input image and the standard block template image respectively, and use the FLANN matcher to compare the key point descriptor in the input image with the key point descriptor in the standard block template image; Output the result after feature matching to determine the shape and size of the building block; Combined with the image output by feature matching, the position and direction of the block in the working area are determined.
5. A masonry robot block recognition and alignment method according to claim 4, characterized in that: Combined with the image output by feature matching, the position and orientation of the block in the working area are determined, including: Match the extracted corner point features with the pre-set standard block template, find the matching points, and extract the coordinates of the matching points; According to the matching point pairs, the homography matrix from the standard block template to the actual block is determined; Calculating the position coordinates and direction information of the building block in the actual working area according to the homography matrix; The calculated position coordinates and direction information of the building block are output.
6. A masonry robot block recognition and alignment method according to claim 1, characterized in that: According to the shape, size, position and orientation of the building blocks, the robot arm's motion is planned, including: According to the calculated position coordinates of the blocks, the height of the current block is calculated as the starting point for the robot arm to place the next layer of blocks; based on the current block height, the height of a layer of blocks and a preset safety margin value are added, and the robot system is programmed so that the robot can lift the next block to this height; Convert the target position of the block from the work area coordinate system to the robot arm coordinate system; adjust the direction of the block according to the direction of the work area so that it is consistent with the normal direction of the target position; Adjust the angle and position of the robot arm according to the direction of the block and the orientation of the target location.
7. A masonry robot block recognition and alignment method according to claim 1, characterized in that: Also includes: Before you start laying bricks, set reference points; Place the first block according to the design drawing and the baseline; Align and place the first layer of blocks according to the position and direction of the first block; Align and place the blocks for the second layer and above.
8. A masonry robot block recognition and alignment method according to claim 7, characterized in that: According to the position and direction of the first block, align and place the first layer of blocks, including: Convert the block position into the direction and position coordinates of the global coordinate system; According to the position of the first block, starting from the distance between the first block and the blocks, the position of the subsequent blocks in parallel is calculated as the target position. For each block, the direction of the target position is consistent with the normal direction of the placement surface; Align the block with the target position, and calculate the movement distance and rotation angle of the robot arm by comparing the direction of the block with the orientation of the target position according to the target position of the new block and the position of the previous block; The robot control system sends instructions to the robotic arm, causing it to rotate the calculated angle and move the robotic arm to the target position to place the block.
9. A masonry robot block recognition and alignment method according to claim 8, characterized in that: After placing each block or layer of blocks, the depth camera is used to identify and process the block layer, and the obtained corner / edge coordinates are compared and analyzed to analyze the height data of each block vertex, calculate the height difference between the blocks, and determine whether the height of the layers is consistent.
