RoboBuilder model building method and device, terminal equipment and storage medium

By using the RoboBuilder model building method and employing intersection relationships and feature point matching strategies, potentially connected building blocks are selected in two stages, solving the problem of low efficiency in existing building block construction technologies and achieving an efficient and accurate virtual building experience.

CN121074337AActive Publication Date: 2025-12-05GUANGZHOU JOINMAX DIGITAL TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202511613244.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-11-06
Publication Date
2025-12-05
Estimated Expiration
2045-11-06

AI Technical Summary

Technical Problem

Existing grid-aligned block building methods cannot simulate the diverse connection methods of real blocks, resulting in users having to make frequent manual adjustments and low building efficiency.

Method used

The RoboBuilder model building method is adopted. By calculating the intersection relationship between the block model and the scene model, and using the feature point matching strategy, the blocks that may be connected are screened in two stages. First, the simple and fast projection intersection is used for screening, and then the complex feature point matching is used for fine screening. The blocks and feature points that are the same as those in the previous match are selected first to reduce repeated operations.

Benefits of technology

It significantly improves the accuracy and efficiency of model building, reduces repetitive operations, provides a physically intuitive building experience, adapts to scenarios of varying complexity, and is suitable for mobile devices with limited resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121074337A_ABST
    Figure CN121074337A_ABST
Patent Text Reader

Abstract

The invention discloses a RoboBuilder model building method and device, terminal equipment and a storage medium, and the method comprises the steps: taking a historical matching building block model as a matching building block model if the historical matching building block model in the last building matching result exists in a second candidate building block set; if a historical matching building block model in a matching result established last time does not appear in the second candidate building block set, determining one of other building block models from the second candidate building block set as a matching building block model, wherein the relative distance between the other building block model and the picked-up building block model is minimum; and carrying out combined construction on the picked building block model and the matched building block model. According to the method, the information of the model feature points is quickly read from the memory, and then the corresponding building matching strategy is adopted according to the types of the model feature points, so that the accuracy and the efficiency of building the RoboBuilder model are greatly improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of model digital building, in particular to a RoboBuilder model building method and device, terminal equipment and storage medium. BACKGROUND

[0002] As an important application in the intersection of computer-aided design (CAD) and augmented reality (AR), the virtual building technology of block models has been rapidly developing in recent years with the popularization of digital creative education and the growing demand for virtual construction. This technology aims to simulate the physical properties and connection logic of physical blocks through computer systems, allowing users to achieve a similar building experience in a virtual environment as with physical blocks. It is widely used in STEM education, product prototype design, and creative entertainment.

[0003] Existing building methods based on grid alignment, such as Minecraft-style block building systems, align block positions through pre-set grid coordinates. This method is computationally efficient, but completely ignores the unique connection features of blocks (such as pin holes, shaft holes, etc.), making it impossible to simulate the diverse connection methods of physical blocks. Users need to frequently adjust manually, resulting in low building efficiency. SUMMARY

[0004] The embodiments of the present application provide a RoboBuilder model building method, device, terminal equipment and storage medium, which quickly reads model feature point information from memory, and then uses corresponding building matching strategies according to the model feature point types, greatly improving the accuracy and efficiency of various model building.

[0005] To achieve the above purpose, the first aspect of the embodiments of the present application provides a RoboBuilder model building method, comprising: calculating the model projection of the picked-up block model and other block models in the scene on the screen, and determining the intersection relationship between the picked-up block model and each other block model according to the model projection; selecting all other block models that intersect with the picked-up block model to form a first candidate block set; determining a target feature point according to the feature points of the picked-up block model, and selecting all other block models containing the target feature point and satisfying a pre-set matching condition from the first candidate block set as a second candidate block set; If the historical matching building block model in the last building matching result exists in the second candidate building block set, the historical matching building block model is taken as the matching building block model; if the historical matching building block model in the last building matching result does not exist in the second candidate building block set, a building block model with the smallest relative distance from the picked building block model is determined from the second candidate building block set as the matching building block model; Combining the picked building block model and the matching building block model.

[0006] In a possible implementation manner of the first aspect, before the calculating the model projection of the picked building block model and other building block models in the scene on the screen and determining the intersection relationship between the picked building block model and each other building block model, the method specifically comprises: reading a feature point configuration file of the picked building block model and other building block models in the scene; in the data structure of the feature point configuration file, a HashSet set is used instead of a List set; writing the feature point configuration file into the memory.

[0007] In a possible implementation manner of the first aspect, after the writing the feature point configuration file into the memory, the method specifically comprises: when the picked building block model is dragged, a ray from the camera to the mouse direction is constructed, and an intersection point of the ray and a floor level on which the picked building block model is located is recorded; moving the picked building block model to the intersection point and determining a position of the picked building block model according to the intersection point.

[0008] In a possible implementation manner of the first aspect, the determining the target feature point according to the feature point of the picked building block model and selecting all other building block models containing the target feature point and meeting a preset matching condition from the first candidate building block set as a second candidate building block set, specifically comprises: if the feature point of the picked building block model is a pin type, a pin hole type feature point is the target feature point; if the feature point of the picked building block model is a pin hole type, a pin type feature point is the target feature point; calculating an included angle between a direction vector of the feature point of the picked building block model and a direction vector of the target feature point as a first included angle according to the direction vector of the feature point of the picked building block model and the direction vector of each target feature point in the first candidate building block set; If the first included angle is less than a preset first included angle threshold, and a distance between the projection points of the picked-up building block model feature point and the target feature point on the screen is less than a preset first projection threshold, the other building block model corresponding to the target feature point is added into the second candidate building block set.

[0009] In a possible implementation manner of the first aspect, the target feature point is determined according to the picked-up building block model feature point, and all the other building block models containing the target feature point and satisfying a preset matching condition are selected from the first candidate building block set as the second candidate building block set, and specifically includes the following steps. If the picked-up building block model feature point is of the shaft type, the shaft hole type feature point is the target feature point; if the picked-up building block model feature point is of the shaft hole type, the shaft type feature point is the target feature point. A second included angle between the direction vector of the picked-up building block model feature point and the direction vector of each target feature point in the first candidate building block set is calculated as the second included angle. If the second included angle is less than a preset second included angle threshold or greater than a preset third included angle threshold, and a projection line segment of the direction vector of the picked-up building block model feature point and the direction vector of the target feature point on the screen satisfies an intersection condition, the other building block model corresponding to the target feature point is added into the second candidate building block set.

[0010] In a possible implementation manner of the first aspect, the target feature point is determined according to the picked-up building block model feature point, and all the other building block models containing the target feature point and satisfying a preset matching condition are selected from the first candidate building block set as the second candidate building block set, and specifically includes the following steps. If the picked-up building block model feature point is of the tire type, the hub type is the target feature point; if the picked-up building block model feature point is of the hub type, the tire type is the target feature point. A third included angle between the direction vector of the picked-up building block model feature point and the direction vector of each target feature point in the first candidate building block set is calculated as the third included angle. If the third included angle is less than a preset fourth included angle threshold, and the picked-up building block model feature point and the target feature point are of the same size, and the picked-up building block model feature point and the target feature point are of the same width, and a distance between the projection points of the picked-up building block model feature point and the target feature point on the screen is less than a preset second projection threshold, the other building block model corresponding to the target feature point is added into the second candidate building block set.

[0011] In a possible implementation manner of the first aspect, the target feature point is determined according to the picked-up building block model feature point; all the other building block models containing the target feature point and satisfying a preset matching condition are selected from the first candidate building block set as a second candidate building block set, and the second candidate building block set is specifically selected by: If the picked-up building block model feature point is a universal wheel ball, a universal wheel hub type feature point is the target feature point; if the picked-up building block model feature point is a universal wheel hub, a universal wheel ball type feature point is the target feature point. The size of the picked-up building block model feature point and the size of each target feature point in the first candidate building block set are obtained; if the size of the picked-up building block model feature point is the same as the size of the target feature point, and the distance between the picked-up building block model feature point and the projection point of the target feature point on the screen is less than a preset third projection threshold, the other building block model corresponding to the target feature point is added to the second candidate building block set.

[0012] The second aspect of the embodiment of the present application provides a RoboBuilder model building device, which comprises: An intersection determination module is configured to calculate model projections of a picked-up building block model and other building block models in a scene on a screen, and determine intersection relationships between the picked-up building block model and each other building block model according to the model projections. A first candidate module is configured to select all the other building block models intersecting with the picked-up building block model to form a first candidate building block set. A second candidate module is configured to determine a target feature point according to the picked-up building block model feature point, and select all the other building block models containing the target feature point and satisfying a preset matching condition from the first candidate building block set as a second candidate building block set. A model matching module is configured to, if a historical matching building block model in a last-time building matching result exists in the second candidate building block set, take the historical matching building block model as a matching building block model; if the historical matching building block model in the last-time building matching result does not exist in the second candidate building block set, determine an other building block model having a smallest relative distance from the picked-up building block model from the second candidate building block set as the matching building block model. A model building module is configured to combine and build the picked-up building block model and the matching building block model.

[0013] A third aspect of the embodiments of the present application provides a terminal device, comprising a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, and the processor implements the RoboBuilder model building method when executing the computer program.

[0014] A fourth aspect of the embodiments of the present application provides a computer readable storage medium, which stores a computer program, and the computer program is executed by a processor to implement the RoboBuilder model building method.

[0015] Compared with the prior art, the present application adopts a two-stage screening mechanism of "first candidate set to second candidate set", and first screens out possible connected blocks (first candidate set) through simple and fast projection intersection, and then screens (second candidate set) through complex feature point matching. This cascading screening strategy avoids the high computational cost of full-quantity feature point matching on all blocks. When screening the second candidate set elements, the same blocks and feature points as the last matching are preferentially selected, so that the user often needs to continuously splice the same position (such as stacking blocks and building chains) during the building process. By remembering the historical matching state, the next operation intention of the user can be predicted. In the continuous stacking scene, the user does not need to align every time, and when dragging the picked-up block, the new block will be attracted to the last stacking position, reducing repeated operations and significantly improving the building efficiency. BRIEF DESCRIPTION OF DRAWINGS

[0016] Figure 1 is a flowchart of a RoboBuilder model building method provided by an embodiment of the present application; Figure 2 is a structural schematic diagram of a RoboBuilder model building device provided by an embodiment of the present application. DETAILED DESCRIPTION

[0017] The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor fall within the scope of protection of the present application.

[0018] Please refer to Figure 1 An embodiment of the present application provides a RoboBuilder model building method, comprising: S10, calculating the model projection of the picked-up block model and other block models in the scene on the screen, and determining the intersection relationship between the picked-up block model and each other block model according to the model projection.

[0019] S11, select all the other building blocks intersecting with the picked building block model to form a first candidate building block set.

[0020] S12, determine a target feature point according to the feature points of the picked building block model; select all the other building blocks containing the target feature point and satisfying a preset matching condition from the first candidate building block set as a second candidate building block set.

[0021] S13, if a historical matching building block model in the last matching result exists in the second candidate building block set, the historical matching building block model is taken as a matching building block model; if the historical matching building block model in the last matching result does not exist in the second candidate building block set, an other building block model with the smallest relative distance from the picked building block model is determined from the second candidate building block set as the matching building block model.

[0022] S14, combine the picked building block model and the matching building block model.

[0023] The step S10 first calculates the projection of the building blocks on the screen and determines the intersection relationship, which is based on the priority of human visual cognition: the user first pays attention to the position relationship of the visible building blocks on the screen when building, rather than the abstract 3D space coordinates. By projecting the 3D scene to the 2D screen space, the visual focus of the user is simulated, and the building blocks that can be connected under the current perspective of the user are focused.

[0024] The steps S11 and S12 adopt a two-stage screening mechanism of "first candidate set→second candidate set", which is based on the engineering idea of hierarchical processing of computational complexity: first, the building blocks that can be connected are screened out through simple and fast projection intersection (first candidate set), and then the screening is refined through complex feature point matching (second candidate set). This cascading screening strategy avoids the high computational cost of full-quantity feature point matching of all building blocks. When the user drags the building blocks, the system almost cannot be perceived in the screening, and only the natural adsorption effect can be felt when approaching the correct position. This design makes the system run smoothly on mobile devices with limited resources, allowing users to enjoy high-quality building experience anytime and anywhere.

[0025] The step S13 preferentially selects the same building block and feature point as the last match, which is based on the design concept of operation continuity: the user often needs to continuously splice the same position (such as stacking building blocks, constructing a chain) in the building process. The system can predict the user's next operation intention and try to cooperate with the next action by remembering the matching results of the historical building, so as to ensure the operation continuity. In the continuous stacking scene, the user does not need to align every time, and the system automatically adsorbs the new building block to the last stacking position, reducing the repeated operation. This "memory" matching makes the building of complex structures easy and simple, and the user can focus more on the creativity itself rather than the operation details.

[0026] The step S14 combines the matching results. The matching building block model is the best match, and the picked building block model is moved to the position corresponding to the matching building block model for combination according to the position of the matching building block model. Before combination, rotation and alignment can be performed as needed.

[0027] It should be noted that if no matching building block model is found in S13, the skip function is enabled to align the position of the picked building block model to the grid coordinates based on the unit distance. When the user confirms the placement of the building block (clicks the left mouse button), the building block is placed on the floor.

[0028] The five steps are not isolated, but form an organic and cooperative RoboBuilder model building system: the priority filtering of S10 provides the basis, the two-stage filtering of S11-S12 optimizes the calculation efficiency, the historical matching mechanism of S13 maintains the operation continuity, and the precise combination of S14 completes the building. These steps support and work together to build a highly realistic virtual building environment.

[0029] In summary, the embodiment realizes that the model building system reaches a new level in performance, accuracy and user experience, and provides reliable technical support for digital creative education and virtual construction.

[0030] Exemplarily, before the calculating the intersection relationship between the picked building block model and each other building block model in the scene according to the model projection of the picked building block model and the other building block models on the screen, the method specifically comprises the following steps: Reading the feature point configuration file of the picked building block model and the other building block models in the scene.

[0031] In the data structure of the feature point configuration file, a HashSet set is used instead of a List set.

[0032] Writing the feature point configuration file into the memory.

[0033] The search operation time complexity of the List set is O(n), and the search time linearly increases with the number of feature points; the average search operation time complexity of the HashSet set is O(1), and the search time is basically not affected by the number of feature points. In the feature point matching process, each drag operation may involve dozens of feature point queries, and using HashSet can reduce the time consumption of a single query from milliseconds to microseconds. The improvement of query efficiency directly translates into the improvement of system response capability.

[0034] It should be noted that in the feature point configuration file, the feature point information includes: feature point position (offset relative to the center point of the model), feature point type (axis, pin, shaft hole, pin hole, tire, hub, universal wheel hub, universal wheel ball), feature point direction, feature point length (exclusive to axis type), feature point size (exclusive to tire, hub, universal wheel hub, universal wheel ball), and feature point width (exclusive to tire and hub).

[0035] When initializing the build, the feature point configuration files of all the assembled blocks can be read first, and the data is stored in the memory for direct use, thereby reducing repeated calculations each time and greatly improving the build matching speed.

[0036] By way of example, after the feature point configuration file is written into the memory, it specifically includes: When the picked block model is dragged, a ray is constructed from the camera to the mouse direction, and the intersection point of the ray and the floor level where the picked block model is located is recorded.

[0037] The picked block model is moved to the intersection point according to the position of the intersection point.

[0038] A ray is constructed from the camera to the mouse direction, and the intersection point of the ray and the floor level is calculated; the block model is moved to the intersection point to ensure that the vertical axis coordinate meets the floor plane constraint. All the dragged blocks are kept on the same horizontal plane, and the height deviation is less than 0.01%, eliminating the height fluctuation caused by the change of the viewing angle in the traditional method.

[0039] It should be noted that the feature point information is read in advance, and the position data is an offset value relative to the center point of the block, which is saved in the block object. When the feature point position is needed, the actual coordinates of the feature point in the world coordinates can be calculated according to the block angle, the block world coordinates, and the feature point offset value.

[0040] The above technical improvements work together to enable the system to provide a stable and reliable drag experience, laying a solid foundation for subsequent feature point matching and block connection. The technical solution is based on the standard practice of 3D interaction and reasonably optimized for the block building scene, achieving an effective balance between positioning accuracy, calculation efficiency, and user experience.

[0041] Exemplarily, the target feature point is determined according to the picked-up building block model feature point; all the other building block models containing the target feature point and satisfying a preset matching condition are selected from the first candidate building block set as a second candidate building block set, specifically including: If the picked-up building block model feature point is a pin type, a pin hole type feature point is the target feature point; if the picked-up building block model feature point is a pin hole type, a pin type feature point is the target feature point.

[0042] A first included angle between the direction vector of the picked-up building block model feature point and the direction vector of each target feature point in the first candidate building block set is calculated according to the direction vector of the picked-up building block model feature point and the direction vector of each target feature point in the first candidate building block set. This step is to calculate the actual position and direction of the feature point in the world coordinate according to the feature point offset value and the building block rotation angle.

[0043] If the first included angle is less than a preset first included angle threshold, and the distance between the projection points of the picked-up building block model feature point and the target feature point on the screen is less than a preset first projection threshold, the other building block model corresponding to the target feature point is added to the second candidate building block set.

[0044] This scheme designs a special processing mechanism for matching of pin / pin hole type feature points, and realizes accurate and efficient matching of building blocks through type complementary matching and verification conditions.

[0045] The verification conditions include: first included angle verification, checking whether the included angle of the pin and the pin hole direction vector is less than the first included angle threshold; projection distance verification, checking whether the distance between the projection points on the screen is less than the first projection threshold. Generally, when the first included angle threshold is set to 45°, the matching accuracy is better, and when the projection threshold is set to the size of the projection of 1 unit (1 grid corresponds to 1 cm) under this viewing angle, the best balance between the false matching rate and the missed detection rate is achieved. Both conditions are met to be considered as effective matching.

[0046] The above method embodiment controls the matching time consumption within a reasonable range through type screening and efficient geometric calculation, and adapts to different complexity scenarios. Reasonably set thresholds accurately simulate the connection tolerance of physical building blocks, and provide a building experience that meets the physical intuition.

[0047] Exemplarily, the target feature point is determined according to the picked-up building block model feature point; all the other building block models containing the target feature point and satisfying a preset matching condition are selected from the first candidate building block set as a second candidate building block set, specifically including: If the picked-up building block model feature point is of the shaft type, the shaft hole type feature point is the target feature point; if the picked-up building block model feature point is of the shaft hole type, the shaft type feature point is the target feature point.

[0048] According to the direction vector of the picked-up building block model feature point and the direction vector of each target feature point in the first candidate building block set, the included angle between the direction vector of the picked-up building block model feature point and the direction vector of the target feature point is calculated as a second included angle.

[0049] If the second included angle is less than a preset second included angle threshold or greater than a preset third included angle threshold, and the projection line segment of the direction vector of the picked-up building block model feature point and the direction vector of the target feature point on the screen satisfies the intersection condition, the other building block model corresponding to the target feature point is added to the second candidate building block set.

[0050] The present scheme designs a special processing mechanism for the matching of shaft / axle hole type feature points, solves the special technical challenges of shaft type connection through parallel / anti-parallel verification and projection line segment intersection checking.

[0051] The second included angle threshold (which can be set to 40°-50°) is set to verify the parallel relationship, and the third included angle threshold (which can be set to 130°-140°) is set to verify the anti-parallel relationship. The two angles are complementary angles, covering the forward and reverse insertion of the shaft.

[0052] The technical improvements work together to make the virtual matching of shaft / axle hole connection close to the accuracy and reliability of physical building blocks. Compared with pin / hole matching, the shaft / axle hole matching mechanism is optimized for the special requirements of shaft type connection, accurately identifies the two effective connection states of parallel and anti-parallel, and at the same time avoids invalid oblique insertion, providing users with consistent and predictable mechanism building experience. Based on the accurate application of the physical characteristics of the shaft hole connection, the present technical scheme effectively balances between matching accuracy and calculation efficiency.

[0053] Exemplarily, the target feature point is determined according to the picked-up building block model feature point; all the other building block models containing the target feature point and satisfying a preset matching condition are selected from the first candidate building block set as a second candidate building block set, specifically including: If the picked-up building block model feature point is of the tire type, the hub type is the target feature point; if the picked-up building block model feature point is of the hub type, the tire type is the target feature point.

[0054] According to the direction vector of the picked-up building block model feature point and the direction vector of each target feature point in the first candidate building block set, an included angle between the direction vector of the picked-up building block model feature point and the direction vector of the target feature point is calculated as a third included angle.

[0055] If the third included angle is less than a preset fourth included angle threshold, the picked-up building block model feature point and the target feature point are of the same size, the picked-up building block model feature point and the target feature point are of the same width, and a distance between projection points of the picked-up building block model feature point and the target feature point on the screen is less than a preset second projection threshold, the other building block models corresponding to the target feature point are added to the second candidate building block set.

[0056] The scheme designs a special processing mechanism for the feature point matching of the tire / hub type, and ensures the physical feasibility of the built-up through multi-condition verification.

[0057] The third included angle verification checks whether the included angle between the tire and the hub direction vector is less than a threshold; the size matching verification checks whether the sizes of the two are consistent; the width matching verification checks whether the widths of the two are consistent; the projection distance verification checks whether the distance between the projection points of the two on the screen is less than a threshold; and all conditions are satisfied simultaneously to be considered as an effective matching. The size and width verification simulates the physical compatibility requirements of the entity tire / hub, the included angle threshold simulates the rotation tolerance when the tire is installed, and the projection threshold simulates the installation distance tolerance of the tire and the hub. The strict verification of the size and the width ensures the physical feasibility of the connection, and fundamentally avoids the error assembly of incompatible components.

[0058] The above technical improvements work together to make the virtual matching of the tire / hub connection close to the accuracy and reliability of the entity building block. Compared with the matching mechanism of the pin / hole, shaft / hole, etc., the tire / hub matching particularly emphasizes the strict matching of the physical size, while allowing greater angle tolerance, which accurately reflects the characteristics of the installation of the entity building block. The technical scheme is based on the accurate application of the physical characteristics of the entity tire / hub connection, and effectively balances between matching accuracy and calculation efficiency.

[0059] Exemplarily, the target feature point is determined according to the picked-up building block model feature point; and all the other building block models containing the target feature point and satisfying a preset matching condition are selected from the first candidate building block set as a second candidate building block set, and specifically includes: If the picked-up building block model feature point is a universal wheel ball, and the universal wheel hub type feature point is the target feature point; or if the picked-up building block model feature point is a universal wheel hub type, and the universal wheel ball type feature point is the target feature point.

[0060] Obtaining the size of the picked-up building block model feature point and the size of each target feature point in the first candidate building block set, if the size of the picked-up building block model feature point is the same as the size of the target feature point, and the distance between the projection point of the picked-up building block model feature point on the screen and the target feature point is less than a preset third projection threshold, the other building block model corresponding to the target feature point is added to the second candidate building block set.

[0061] The present scheme designs a special processing mechanism for the feature point matching of the universal wheel ball / universal wheel hub type, realizes the accurate recognition of the universal wheel connection through size matching and projection distance verification.

[0062] Size matching verification: check whether the size of the universal wheel ball and the wheel hub is consistent; projection distance verification: check whether the distance between the projection points of the two on the screen is less than a threshold. Both conditions must be met to be considered as valid matching. The size verification simulates the physical compatibility requirement of the entity universal wheel, and the projection threshold simulates the installation distance tolerance of the universal wheel ball and the wheel hub. In this way, the special requirements of the universal wheel connection (size matching first, no angle requirement) are accurately processed, providing a building experience that meets the physical characteristics.

[0063] The above technical improvements work together to make the virtual matching of the universal wheel connection close to the accuracy and reliability of the entity building block. Compared with the matching mechanism of pin / hole, shaft / hole, etc., the universal wheel matching mechanism emphasizes strict size matching, while omitting angle verification, accurately reflecting the physical characteristics of the entity universal wheel - the size must be accurately matched, but the direction can be freely adjusted. The technical scheme is based on the accurate application of the physical characteristics of the entity universal wheel connection, and effectively balances between matching accuracy and calculation efficiency, providing a consistent and predictable universal wheel model building experience for users.

[0064] Compared with the prior art, the above-mentioned various embodiments adopt a two-stage screening mechanism of "first candidate set to second candidate set", which first screens out possible connected building blocks (first candidate set) through simple and fast projection intersection, and then screens (second candidate set) through complex feature point matching. This cascading screening strategy avoids the high calculation cost of full-quantity feature point matching of all building blocks. When screening the elements of the second candidate set, the same building block and feature point as the last matching are preferentially selected, so that the user often needs to continuously splice the same position (such as stacking building blocks, building chains) in the building process. By remembering the history matching state, the user's next operation intention can be predicted. In the continuous stacking scene, the user does not need to align every time, and when dragging the picked-up building block, the new building block will be attracted to the last stacking position, reducing repeated operations and significantly improving building efficiency.

[0065] Please refer to Figure 2In an embodiment of the present application, a RoboBuilder model building device is provided, comprising an intersection determining module 20, a first candidate module 21, a second candidate module 22, a model matching module 23 and a model building module 24.

[0066] The intersection determining module 20 is configured to calculate model projections of a picked-up building block model and other building block models in a scene on a screen, and determine intersection relationships between the picked-up building block model and each of the other building block models according to the model projections.

[0067] The first candidate module 21 is configured to select all the other building block models intersecting with the picked-up building block model to form a first candidate building block set.

[0068] The second candidate module 22 is configured to determine a target feature point according to feature points of the picked-up building block model, and select all the other building block models containing the target feature point and satisfying a preset matching condition from the first candidate building block set as a second candidate building block set.

[0069] The model matching module 23 is configured to, if a historical matching building block model in a last building matching result exists in the second candidate building block set, select the historical matching building block model as a matching building block model; and if the historical matching building block model in the last building matching result does not exist in the second candidate building block set, select one of the other building block models in the second candidate building block set having a smallest relative distance from the picked-up building block model as the matching building block model.

[0070] The model building module 24 is configured to combine the picked-up building block model and the matching building block model.

[0071] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the RoboBuilder model building device described above can refer to the corresponding process in the foregoing method embodiments, which will not be repeated here.

[0072] Compared with the prior art, the embodiment adopts a two-stage screening mechanism of "first candidate set to second candidate set", and first screens out possible connected blocks (first candidate set) through simple and fast projection intersection, and then screens (second candidate set) through complex feature point matching. This cascading screening strategy avoids the high computational cost of full-quantity feature point matching on all blocks. When screening the second candidate set elements, the same blocks and feature points as the last matching are preferentially selected, so that the user often needs to continuously splice the same position (such as stacking blocks and building chains) during the building process. By remembering the historical matching state, the next operation intention of the user can be predicted. In the continuous stacking scene, the user does not need to align every time, and when dragging the picked block, the new block will be attracted to the last stacking position, reducing repeated operations and significantly improving the building efficiency.

[0073] An embodiment of the present application provides a terminal device, including a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, and the processor implements the RoboBuilder model building method when executing the computer program.

[0074] An embodiment of the present application provides a computer readable storage medium, which stores a computer program, and the computer program is executed by a processor to implement the RoboBuilder model building method.

[0075] The computer device can be a smart phone, a tablet computer, a desktop computer, a cloud server and the like. The computer device can include but is not limited to a processor and a memory. Those skilled in the art can understand that the figure is only an example of the computer device, and does not constitute a limitation on the computer device, and can include more or fewer components than the figure, or combine certain components, or different components, for example, can also include an input / output device, a network access device and the like.

[0076] The processor can be a central processing unit (CPU), and the processor can also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor.

[0077] The memory can be an internal storage unit of the computer device in some embodiments, such as a hard disk or a memory of the computer device. The memory can also be an external storage device of the computer device in other embodiments, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, and the like. Further, the memory can include both an internal storage unit and an external storage device of the computer device. The memory is used to store an operating system, an application program, a boot loader, data, and other programs, such as program codes of the computer program. The memory can also be used to temporarily store data that has been output or will be output.

[0078] The computer program product provided in the embodiments of the present application, when running on a computer device, causes the computer device to perform the steps in the above-mentioned various method embodiments.

[0079] In several embodiments provided in the present application, it can be understood that each block in the flowchart or block diagram can represent a module, a program segment, or a part of code, and the module, the program segment, or the part of code include one or more executable instructions for implementing a specified logic function. It should also be noted that, in some alternative implementation manners, the functions noted in the blocks can also occur in an order different from that noted in the accompanying drawings. For example, two consecutive blocks can actually be executed substantially in parallel, and sometimes they can be executed in reverse order, depending on the functions involved.

[0080] The functions, if realized in the form of software function modules and sold or used as independent products, can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present application can essentially or contribute to the prior art, or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a plurality of instructions for causing a computer device to execute all or part of the steps of the methods described in the embodiments of the present application. The foregoing storage medium includes a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various media that can store program codes.

[0081] The above is the preferred embodiment of the present application, it should be pointed out that, for those skilled in the art, without departing from the principles of the present application, can also make a number of improvements and refinements, these improvements and refinements are also considered to be within the scope of the present application.

Claims

1. A RoboBuilder model building method, characterized in that, include: Calculate the model projections of the picked block model and other block models in the scene on the screen, and determine the intersection relationship between the picked block model and each other block model based on the model projections; Select all other block models that intersect with the picked block model to form a first candidate block set; Based on the feature points of the picked block model, a target feature point is determined; all other block models containing the target feature point and satisfying the preset matching conditions are selected from the first candidate block set as the second candidate block set; If the historical matching block model in the previous matching result exists in the second candidate block set, the historical matching block model is used as the matching block model; if the historical matching block model in the previous matching result does not appear in the second candidate block set, one other block model with the smallest relative distance to the picked block model is determined from the second candidate block set as the matching block model. The picked block model and the matching block model are combined and assembled.

2. The RoboBuilder model building method as described in claim 1, characterized in that, Before calculating the model projections of the picked block model and other block models in the scene onto the screen, and determining the intersection relationships between the picked block model and each of the other block models based on the model projections, the process specifically includes: Read the feature point configuration files of the picked block model and other block models in the scene; In the data structure of the feature point configuration file, a HashSet collection is used instead of a List collection; The feature point configuration file is written into memory.

3. The RoboBuilder model building method as described in claim 2, characterized in that, After writing the feature point configuration file into memory, the specific steps include: When the picked-up block model is dragged, a ray is constructed from the camera to the mouse, and the intersection of the ray and the horizontal plane of the floor where the picked-up block model is located is recorded. Move the picked block model to the intersection point and adjust the position of the intersection point accordingly.

4. The RoboBuilder model building method as described in claim 1, characterized in that, Based on the feature points of the picked block model, a target feature point is determined; from the first candidate block set, all other block models containing the target feature point and satisfying preset matching conditions are selected as the second candidate block set, specifically including: If the feature point of the picked block model is of the pin type, the pin hole type feature point is the target feature point; if the feature point of the picked block model is of the pin hole type, the pin type feature point is the target feature point. Based on the direction vector of the feature point of the picked block model and the direction vector of each target feature point in the first candidate block set, the angle between the direction vector of the feature point of the picked block model and the direction vector of the target feature point is calculated as the first angle; If the first included angle is less than a preset first included angle threshold, and the distance between the projection points of the picked block model feature point and the target feature point on the screen is less than a preset first projection threshold, then the other block models corresponding to the target feature point are added to the second candidate block set.

5. The RoboBuilder model building method as described in claim 1, characterized in that, The step of determining the target feature point based on the feature points of the picked block model, and selecting all other block models containing the target feature point and satisfying the preset matching conditions from the first candidate block set as the second candidate block set, specifically includes: If the feature point of the picked block model is of the shaft type, the feature point of the shaft hole type is the target feature point; if the feature point of the picked block model is of the shaft hole type, the feature point of the shaft type is the target feature point. Based on the direction vector of the feature point of the picked block model and the direction vector of each target feature point in the first candidate block set, the angle between the direction vector of the feature point of the picked block model and the direction vector of the target feature point is calculated as the second angle; If the second included angle is less than a preset second included angle threshold or greater than a preset third included angle threshold, and the projection line segment of the direction vector of the picked block model feature point and the direction vector of the target feature point on the screen satisfies the intersection condition, then the other block model corresponding to the target feature point is added to the second candidate block set; the second included angle threshold is less than the third included angle threshold, and the second included angle threshold is less than the third included angle threshold and the third included angle threshold are complementary angles.

6. The RoboBuilder model building method as described in claim 1, characterized in that, The step of determining the target feature point based on the feature points of the picked block model, and selecting all other block models containing the target feature point and satisfying the preset matching conditions from the first candidate block set as the second candidate block set, specifically includes: If the feature point of the picked block model is a tire, and the hub type is the target feature point; if the feature point of the picked block model is a hub type, and the tire type is the target feature point; Based on the direction vector of the feature point of the picked block model and the direction vector of each target feature point in the first candidate block set, the angle between the direction vector of the feature point of the picked block model and the direction vector of the target feature point is calculated as the third angle; If the third included angle is less than the preset fourth included angle threshold, and the size of the picked block model feature point is the same as that of the target feature point, and the width of the picked block model feature point is the same as that of the target feature point, and the distance between the projection points of the picked block model feature point and the target feature point on the screen is less than the preset second projection threshold, then the other block models corresponding to the target feature point are added to the second candidate block set.

7. The RoboBuilder model building method as described in claim 1, characterized in that, Specifically, it includes: If the feature point of the picked block model is a universal wheel ball, the universal wheel hub type feature point is the target feature point; if the feature point of the picked block model is a universal wheel hub type, the universal wheel ball type feature point is the target feature point. Obtain the size of the feature point of the picked block model and the size of each target feature point in the first candidate block set. If the size of the feature point of the picked block model is the same as the size of the target feature point, and the distance between the projection point of the picked block model feature point and the target feature point on the screen is less than a preset third projection threshold, add the other block model corresponding to the target feature point to the second candidate block set.

8. A RoboBuilder model building device, characterized in that, include: The intersection determination module is used to calculate the model projections of the picked block model and other block models in the scene on the screen, and determine the intersection relationship between the picked block model and each other block model based on the model projections. The first candidate module is used to select all other block models that intersect with the picked block model to form a first candidate block set; The second candidate module is used to determine the target feature point based on the feature points of the picked block model; and to select all other block models that contain the target feature point and meet the preset matching conditions from the first candidate block set as the second candidate block set. The model matching module is used to select the historical matching block model as the matching block model if the historical matching block model in the previous matching result exists in the second candidate block set; and to determine the other block model with the smallest relative distance to the picked block model from the second candidate block set as the matching block model if the historical matching block model in the previous matching result does not appear in the second candidate block set. The model building module is used to combine and build the picked block model and the matching block model.

9. A terminal device, characterized in that, It includes a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, wherein the processor executes the computer program to implement a RoboBuilder model building method as described in any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, It stores a computer program that, when executed by a processor, implements a RoboBuilder model building method as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Building block building method and intelligent terminal

    CN115797608A

  • Programming building block sharing method and device, equipment, medium and program product

    CN119938021A

  • Hardware-aware automated machine learning (AutoML) model creation and optimization

    US12380370B1