Method and device for determining placement position of object in space

By adjusting the starting point and scanning direction in the obstacle scene, the problem of difficulty in quickly and accurately placing objects in the prior art is solved, and efficient and low-cost item placement is achieved, which is suitable for complex placement scenarios.

CN119203288AActive Publication Date: 2024-12-27BEIJING INSTITUTE FOR GENERAL ARTIFICIAL INTELLIGENCE
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
CN202411700606.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-26
Publication Date
2024-12-27
Estimated Expiration
2044-11-26

AI Technical Summary

Technical Problem

The prior art is difficult to quickly and accurately determine the placement position of the object to be placed in the situation where obstacles exist in the scene, and the operation is complex and costly, and cannot meet the needs of agent training and other needs.

Method used

By defining the starting point, scanning surface and scanning direction, the intersect between the scanning surface and the obstacle is obtained, the gap area can accommodate the objects to be placed, and the starting point position is adjusted when it cannot be accommodated, and the scanning is repeated to traverse the entire space , improves scanning accuracy and accuracy and number of gap areas, and is suitable for complex placement scenarios.

Benefits of technology

It realizes the rapid and precise determination of the placement position of the object to be placed, which conforms to the human placement rules, is simple to operate, has high stability and is low in cost. It is suitable for complex placement scenes where obstacles already exist in the scene, and improves the placement effect of item .

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119203288A_ABST
    Figure CN119203288A_ABST
Patent Text Reader

Abstract

The invention discloses a method and device for determining the placement position of an object in a space, and belongs to the field of spatial layout. The method for determining the placement position of the object in the space comprises the following steps of: scanning along a scanning direction by taking a target point in a target element container as a starting point and taking a plane determined on the basis of size information of the object to be placed as a scanning surface, and acquiring an intersection condition of the scanning surface and an obstacle; under the condition that it is determined that the to-be-placed object can be placed in the gap area between the adjacent intersection faces based on the intersection situation, the gap area is determined as the placement position of the to-be-placed object; and updating the position of the target point under the condition that the to-be-placed object cannot be placed in the gap region between the adjacent intersection surfaces based on each intersection condition. According to the method for determining the placement position of the object in the space, the placement position of the object to be placed can be rapidly and accurately determined, the operation is simple, the stability is high, and the implementation cost is relatively low.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of space layout, and in particular, relates to a method and device for determining the placement of objects in a space. Background Art

[0002] Space filling algorithms aim to fill the entire space with objects in a certain rule. In related technologies, common methods include cube filling, sphere filling, and honeycomb structure filling. However, the placement structures generated by these rule-based placement techniques are usually disordered and do not conform to human placement rules. They are mainly suitable for the scenario of starting from an empty state. For those placement scenarios where there are already obstacles in the scene, the placement effect is poor. Summary of the invention

[0003] The present application aims to solve at least one of the technical problems existing in the prior art. To this end, the present application proposes a method and device for determining the placement position of an object in a space, which can quickly and accurately determine the placement position of the object to be placed, is simple to operate, has high stability, and has low implementation cost; and is suitable for complex placement scenarios where obstacles already exist in the scene.

[0004] In a first aspect, the present application provides a method for determining a placement position of an object in a space, the method comprising: Taking the target point in the target element container as the starting point and the plane determined based on the size information of the object to be placed as the scanning surface, scanning is performed along the scanning direction to obtain the intersection between the scanning surface and the obstacle; In the case where it is determined based on the intersection condition that the gap area between the adjacent intersection surfaces can accommodate the object to be placed, determining the gap area as the placement position of the object to be placed; When it is determined based on each of the intersection situations that the gap area between adjacent intersection surfaces cannot accommodate the object to be placed, the position of the target point is updated.

[0005] According to the method for determining the placement position of an object in a space of the present application, a starting point, a scanning surface and a scanning direction are defined to perform a space scan, and the intersection of the scanning surface and the obstacle is obtained according to the scanning result to obtain the gap area between any adjacent intersection surfaces based on the intersection, and then it is determined whether the gap area can accommodate the object to be placed. When all the gap areas obtained under the current scanning result cannot accommodate the object to be placed, the position of the starting point is adjusted to repeat the above operation, thereby traversing the entire space, improving the scanning accuracy, and improving the accuracy and number of the obtained gap areas, so as to quickly and accurately determine the placement position of the object to be placed. The determined placement position conforms to the human placement rules, is simple to operate, has high stability, and has a low implementation cost; and is suitable for complex placement scenarios where obstacles already exist in the scene.

[0006] According to an embodiment of the present application, the size information includes the maximum length of the object to be placed along the x-axis direction, the maximum length along the y-axis direction, and the maximum length along the z-axis direction; taking the target point in the target element container as the starting point, taking the plane determined based on the size information of the object to be placed as the scanning surface, scanning along the scanning direction, and obtaining the intersection of the scanning surface and the obstacle, includes: Taking the target point as the starting point, taking the plane formed by the maximum lengths in any two directions of the x-axis, the y-axis and the z-axis as the scanning plane, and taking another axis as the scanning direction for scanning; the other axis is the remaining direction of the x-axis, the y-axis and the z-axis except the any two directions; Obtain the intersection between the scanning surface and the obstacle.

[0007] According to an embodiment of the present application, determining, based on the intersection situation, that a gap area between adjacent intersection surfaces is capable of placing the object to be placed includes: Based on the intersection condition, determining the distance between adjacent intersection surfaces along the scanning direction; In the case where the distance is not less than the maximum length of the object to be placed along the scanning direction, it is determined that the gap area between adjacent intersecting surfaces can accommodate the object to be placed.

[0008] According to an embodiment of the present application, updating the position of the target point includes: Taking the current position of the target point as the starting point, the target point is moved along the extension direction of the scanning surface by a target step length.

[0009] According to an embodiment of the present application, when the position of the target point is updated to a point where it cannot be updated, and it is determined based on each of the intersection situations that the gap area between adjacent intersection surfaces cannot accommodate the object to be placed, the method further includes: The scan surface is updated.

[0010] According to an embodiment of the present application, before taking the target point in the target meta-container as the starting point and the plane determined based on the size information of the object to be placed as the scanning surface, scanning along the scanning direction, and obtaining the intersection between the scanning surface and the obstacle, the method further includes: Based on the structural information of the target space, construct a tree structure relationship for the target space; Based on the attribute information of the object to be placed, a node matching the attribute information is located from the tree structure relationship, and the target meta-container is determined based on the subspace corresponding to the node.

[0011] According to an embodiment of the present application, when it is determined that the gap areas between adjacent intersecting surfaces in the target meta-container cannot accommodate the object to be placed, the method further includes: Based on the tree structure relationship, the target meta container is updated.

[0012] In a second aspect, the present application provides a device for determining a placement position of an object in a space, the device comprising: A first processing module is used to take the target point in the target element container as the starting point, take the plane determined based on the size information of the object to be placed as the scanning surface, scan along the scanning direction, and obtain the intersection between the scanning surface and the obstacle; A second processing module, configured to determine the gap area between adjacent intersecting surfaces as a placement position for the object to be placed, if it is determined based on the intersection condition that the gap area between adjacent intersecting surfaces can accommodate the object to be placed; The third processing module is used to update the position of the target point when it is determined based on each of the intersection situations that the gap area between the adjacent intersection surfaces cannot accommodate the object to be placed.

[0013] According to the device for determining the placement position of an object in a space of the present application, a starting point, a scanning surface and a scanning direction are defined to perform a space scan, and the intersection of the scanning surface and the obstacle is obtained according to the scanning result to obtain the gap area between any adjacent intersection surfaces based on the intersection, and then it is determined whether the gap area can accommodate the object to be placed. When all the gap areas obtained under the current scanning result cannot accommodate the object to be placed, the position of the starting point is adjusted to repeat the above operation, thereby being able to traverse the entire space, improve the scanning accuracy, and improve the accuracy and number of the obtained gap areas, so as to quickly and accurately determine the placement position of the object to be placed. The determined placement position conforms to the human placement rules, is simple to operate, has high stability, and has a low implementation cost; and is suitable for complex placement scenarios where obstacles already exist in the scene.

[0014] In a third aspect, the present application provides an electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the method for determining the placement position of an object in a space as described in the first aspect above is implemented.

[0015] In a fourth aspect, the present application provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method for determining the placement position of an object in a space as described in the first aspect above.

[0016] In a fifth aspect, the present application provides a computer program product, including a computer program, which, when executed by a processor, implements the method for determining the placement position of an object in a space as described in the first aspect above.

[0017] The above one or more technical solutions in the embodiments of the present application have at least one of the following technical effects: By defining a starting point, a scanning surface and a scanning direction to perform a spatial scan, the intersection of the scanning surface and the obstacle is obtained according to the scanning result to obtain the gap area between any adjacent intersecting surfaces based on the intersection situation, and then it is determined whether the gap area can accommodate the object to be placed. When all the gap areas obtained under the current scanning result cannot accommodate the object to be placed, the position of the starting point is adjusted to repeat the above operation, thereby traversing the entire space, improving the scanning accuracy, and improving the accuracy and number of the obtained gap areas. The placement position of the object to be placed can be determined quickly and accurately. The determined placement position conforms to the human placement rules, is simple to operate, has high stability, and has a low implementation cost; and is suitable for complex placement scenarios where obstacles already exist in the scene.

[0018] Furthermore, by taking the target point as the starting point, the plane formed by the maximum length in any two directions of the x-axis, y-axis and z-axis as the scanning surface, and scanning with the other axis as the scanning direction, it is possible to find the placement position efficiently and quickly. For continuous object placement, a more orderly result can be obtained, thereby improving the object placement effect.

[0019] Furthermore, by adjusting the position of the target point for rescanning when the placement position cannot be determined, the fineness of spatial scanning can be improved. This is suitable for complex placement scenarios where obstacles already exist in the scene and for placement scenarios that require stacking, and has a better placement effect.

[0020] Furthermore, by constructing a tree structure relationship for the target space according to the structural information of the target space and locating the target meta-container based on the tree structure relationship, the scanning orderliness can be improved, and the nodes matching different objects to be placed can be quickly located, so as to scan in the subspace corresponding to the node, so as to better plan and place the placement area, control the placement position more finely, and improve the object placement effect.

[0021] Additional aspects and advantages of the present application will be given in part in the description below, and in part will become apparent from the description below, or will be learned through the practice of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] The above and / or additional aspects and advantages of the present application will become apparent and easily understood from the description of the embodiments in conjunction with the following drawings, in which: Figure 1 is a flowchart of a method for determining the placement position of an object in a space provided in an embodiment of the present application; Figure 2 It is a schematic diagram of the principle of a method for determining the placement position of an object in a space provided in an embodiment of the present application; Figure 3 is a schematic diagram of the structure of a device for determining the placement position of an object in a space provided in an embodiment of the present application; Figure 4 It is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0023] The following will be combined with the drawings in the embodiments of the present application to clearly describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, rather than all the embodiments. All other embodiments obtained by ordinary technicians in this field based on the embodiments in the present application belong to the scope of protection of this application.

[0024] The terms "first", "second", etc. in the specification and claims of the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable under appropriate circumstances, so that the embodiments of the present application can be implemented in an order other than those illustrated or described here, and the objects distinguished by "first", "second", etc. are generally of one type, and the number of objects is not limited. For example, the first object can be one or more. In addition, "and / or" in the specification and claims represents at least one of the connected objects, and the character " / " generally indicates that the objects associated with each other are in an "or" relationship.

[0025] In conjunction with the accompanying drawings, the method for determining the placement position of an object in a space, the device for determining the placement position of an object in a space, the electronic device and the readable storage medium provided in the embodiments of the present application are described in detail below through specific embodiments and their application scenarios.

[0026] Among them, the method for determining the placement position of an object in a space can be applied to a terminal, and can be specifically executed by hardware or software in the terminal.

[0027] The method for determining the placement position of an object in a space provided in an embodiment of the present application may be executed by an electronic device or a functional module or functional entity in the electronic device that can implement the method for determining the placement position of an object in a space. The electronic devices mentioned in the embodiment of the present application include but are not limited to mobile phones, tablet computers, computers, cameras, and wearable devices. The method for determining the placement position of an object in a space provided in an embodiment of the present application is described below using an electronic device as an example of an execution subject.

[0028] like Figure 1 As shown, the method for determining the placement position of the object in the space includes: step 110, step 120 and step 130.

[0029] Step 110: Taking the target point in the target element container as the starting point and the plane determined based on the size information of the object to be placed as the scanning surface, scanning is performed along the scanning direction to obtain the intersection between the scanning surface and the obstacle; In this step, the target meta-container may be any space in the space, and may be a closed space, a semi-closed space, or an open space.

[0030] Taking a refrigerator as an example, the refrigerator includes multiple compartments, and the target meta-container can be any compartment among the multiple compartments.

[0031] The target point is a point at any position in the target meta-container. The position of the target point can be customized by the user and can change dynamically.

[0032] Continuing with the refrigerator as an example, during the initial scan, the target point can be determined as a point at the lower left front of the compartment, such as Figure 2 As shown in point O.

[0033] The size information is used to characterize the shape, structure, size, length, width, height and other information of the object to be placed; the size information may include: the maximum length of the object to be placed along the x-axis, the maximum length along the y-axis and the maximum length along the z-axis.

[0034] The scanning surface is a plane determined based on the size information of the object to be placed. For example, the scanning surface can be a plane formed by the maximum length of the object to be placed along the x-axis direction and the maximum length along the y-axis direction; or a plane formed by the maximum length of the object to be placed along the x-axis direction and the maximum length along the z-axis direction; or a plane formed by the maximum length of the object to be placed along the y-axis direction and the maximum length along the z-axis direction.

[0035] The scanning surface can be customized by the user, and the scanning surface can also be adjusted dynamically.

[0036] The scanning direction is a direction perpendicular to the scanning surface, and the scanning direction may change accordingly based on changes in the scanning surface.

[0037] Obstacles include, but are not limited to, the inner wall of the target meta-container and other objects placed in the target meta-container.

[0038] During the scanning process, it is possible to obtain in real time whether there is a position in the target meta-container that intersects with the scanning area under the current scanning path. If so, it can be approximately considered that there is an obstacle at that position, and the area between the end position of the last intersection and the start position of the next intersection is determined as the gap area between adjacent intersecting surfaces.

[0039] like Figure 2 As shown, the obstacles are the side walls, rectangles and triangles of the compartments in the figure. Taking the scanning direction as the transverse direction as an example, multiple intersection areas including OF, AG, EH and BI can be scanned and obtained. The non-intersecting area between two adjacent intersection areas is regarded as the gap area.

[0040] Step 120: if it is determined based on the intersection condition that the gap area between the adjacent intersecting surfaces can accommodate the object to be placed, determine the gap area as the placement position of the object to be placed; In this step, the object to be placed may be an object with a regular shape or an object with an irregular shape.

[0041] Continue to refer Figure 2 After obtaining the intersection with each obstacle, the gap area between any adjacent intersection surfaces is calculated to obtain the gap area OAGF, the gap area HEBI and the gap area IDC.

[0042] It is determined whether the object to be placed can be placed in the gap area. If it can be placed in the gap area without colliding with obstacles, the gap area is determined as the placement position of the object to be placed.

[0043] Step 130: When it is determined based on each intersection situation that the gap area between adjacent intersection surfaces cannot accommodate the object to be placed, update the position of the target point.

[0044] In this step, continue to refer to Figure 2 If the object to be placed cannot be placed in the gap area OAGF, the gap area HEBI and the gap area IDC, the position of the target point can be updated, such as updating the target point O to the position O', and then repeating steps 110 to 130 until a gap area where the object to be placed can be placed is selected.

[0045] The inventors found during the research and development process that in the related art, the commonly used rule-based placement technology is mainly applicable to the scene of placing items from an empty state, and the placement effect is poor for those placement scenes where obstacles already exist in the scene; however, in the actual application process, such as during the training of the intelligent agent, when the intelligent agent performs the action of placing items, the initial state of the current area is often chaotic, and is usually accompanied by physical effects, which makes it impossible to place all items from an empty state. Dynamic and neat placement is the goal pursued in training, and the existing placement technology is difficult to meet the training needs; In addition, in the related technology, there is a method of combining three-dimensional packing algorithm and heuristic algorithm for space filling. This method uses a physical engine to simulate the behavior of objects under gravity, collision and friction. By setting initial conditions and constraints, the objects will naturally find a stable placement method, but the computational cost of this method is relatively high; there is also a method of using machine learning algorithms to optimize the placement of objects, by training neural networks, predicting placement strategies, and using computer vision technology to monitor and adjust the position of objects in real time. The above methods have high complexity and high instability, which affects the user experience.

[0046] According to the method for determining the placement position of an object in a space provided in an embodiment of the present application, a starting point, a scanning surface, and a scanning direction are defined to perform a space scan, and the intersection of the scanning surface and the obstacle is obtained according to the scanning result to obtain the gap area between any adjacent intersection surfaces based on the intersection, and then it is determined whether the gap area can accommodate the object to be placed. When all the gap areas obtained under the current scanning result cannot accommodate the object to be placed, the position of the starting point is adjusted to repeat the above operation, thereby traversing the entire space, improving the scanning accuracy, and improving the accuracy and number of the gap areas obtained, so as to quickly and accurately determine the placement position of the object to be placed. The determined placement position conforms to the human placement rules, is simple to operate, has high stability, and has a low implementation cost; and is suitable for complex placement scenarios where obstacles already exist in the scene.

[0047] In some embodiments, the size information includes the maximum length of the object to be placed along the x-axis, the maximum length along the y-axis, and the maximum length along the z-axis; step 110 may include: Take the target point as the starting point, take the plane formed by the maximum length in any two directions of the x-axis, y-axis and z-axis as the scanning surface, and take the other axis as the scanning direction for scanning; the other axis is the remaining direction of the x-axis, y-axis and z-axis except any two directions; Get the intersection between the scanning surface and obstacles.

[0048] In this embodiment, the size information includes: the maximum length of the object to be placed along the x-axis direction, the maximum length along the y-axis direction, and the maximum length along the z-axis direction.

[0049] Continue to refer Figure 2 , other obstacles have been placed in the target meta-container. For example, the length of the target meta-container is L, the width is W, and the height is H. If the length, width, and height of the object to be placed are: l_obj, w_obj, and h_obj, respectively, the scanning surface is the plane formed by the maximum length along the y-axis direction and the maximum length along the z-axis direction as the scanning surface, and the target point is used as the starting point, and the x-axis direction is used as the scanning direction. For example, the initial position of the target point can be determined as follows Figure 2 The midpoint O, with the plane formed by w_obj and h_obj as the scanning surface, scan along the x-axis direction to obtain the intersection situation, Figure 2 The projections of the intersecting surfaces on the plane formed by the x-axis and the z-axis are illustrated: OF, AG, EH, BI, DI, etc.

[0050] In some embodiments, determining that the gap area between adjacent intersecting surfaces can accommodate the object to be placed based on the intersection situation may include: Based on the intersection situation, determining the distance between adjacent intersection surfaces along the scanning direction; When the distance is not less than the maximum length of the object to be placed along the scanning direction, it is determined that the gap area between adjacent intersecting surfaces is capable of placing the object to be placed.

[0051] In this embodiment, continuing to take the above embodiment as an example, after obtaining Figure 2 After the intersection is shown, the gap area formed by the intersection is compared to see whether the object to be placed can be placed along the scanning direction, that is, the length OA of the three-dimensional gap area corresponding to OAGF along the scanning direction is compared with the length l_obj of the object to be placed. If the length of OA is not less than the length l_obj of the object to be placed, it is approximately considered that the gap area can place the object to be placed; if the length of OA is less than the length l_obj of the object to be placed, it is considered that the gap area cannot place the object to be placed, then the next gap area is compared, and so on, until a gap area that can accommodate the object to be placed is found.

[0052] According to the method for determining the placement position of an object in a space provided in an embodiment of the present application, by taking the target point as the starting point, the plane formed by the maximum length in any two directions of the x-axis, y-axis and z-axis as the scanning surface, and scanning with the other axis as the scanning direction, it is possible to efficiently and quickly find a placement position, and for continuous object placement, a more orderly result can be obtained, thereby improving the object placement effect.

[0053] In some embodiments, updating the position of the target point may include: Taking the current position of the target point as the starting point, move the target point along the extension direction of the scanning surface by the target step length.

[0054] In this embodiment, updating the position of the target point may include moving the target point along the extension direction of the scanning surface based on the target step size.

[0055] The target step size is a smaller value, which can be customized by the user.

[0056] The target step size corresponding to each updated target point can be a fixed value or a dynamically changing value, which is not limited in this application.

[0057] Continuing with the above embodiment as an example, when scanning is performed with point O as the starting point and all the currently determined gap areas are compared, if a gap area that can accommodate the object to be placed is still not obtained, the position of the target point is adjusted, such as moving the target point upward along the z-axis direction by a target step length to a position such as Figure 2 The position of O' shown in the figure is taken as the starting point, and the plane formed by w_obj and h_obj is taken as the scanning surface. The scanning is performed along the x-axis direction. The gap area between adjacent intersecting surfaces is calculated according to the intersection of the scanning surface and the obstacle, so as to compare the size of the gap area with the size of the object to be placed on the x-axis, so as to judge whether the gap area between adjacent intersecting surfaces can place the object to be placed. If the object to be placed can be placed, the gap area is determined as the placement position of the object to be placed; if not, the position of the target point is continued to be adjusted, such as continuing to move upward by a target step length, and repeating the above steps until the gap area that can place the object to be placed is determined.

[0058] According to the method for determining the placement position of an object in a space provided in an embodiment of the present application, by adjusting the position of the target point for rescanning when the placement position cannot be determined, the fineness of spatial scanning can be improved. This method is suitable for complex placement scenes where obstacles already exist in the scene and for placement scenes that require stacking or other placement methods, and has a better placement effect.

[0059] In some embodiments, when the position of the target point is updated to the point where it cannot be updated, and it is determined based on each intersection situation that the gap area between adjacent intersection surfaces cannot accommodate the object to be placed, the scanning surface is updated.

[0060] In this embodiment, if the scanning surface and the scanning direction are fixed, if the position of the target point cannot determine the gap area where the object to be placed can be placed by adjusting the position of the target point, the scanning surface and the scanning direction can be updated, such as determining the initial position of the target point as follows: Figure 2At the midpoint O, the plane formed by w_obj and h_obj is used as the scanning surface, and the scanning direction is the x-axis direction. Adjust to: the plane formed by l_obj and w_obj is used as the scanning surface, and the scanning direction is the z-axis direction. Rescan to obtain the intersection situation and then make a judgment.

[0061] According to the method for determining the placement position of an object in a space provided in an embodiment of the present application, by adjusting the scanning surface and the scanning direction to scan from different angles when the placement position cannot be determined, it is suitable for scenarios where there are irregular obstacles in the target meta-container and obstacles are placed in a messy manner, and the scanning precision is further improved. The placement position of the object to be placed can be determined calmly, quickly and accurately, and the operation is simple, the stability is high, and the implementation cost is low.

[0062] In some embodiments, before step 110, the method may further include: Based on the structural information of the target space, a tree structure relationship is constructed for the target space; Based on the attribute information of the object to be placed, a node matching the attribute information is located from the tree structure relationship, and a target meta-container is determined based on the subspace corresponding to the node.

[0063] In this embodiment, the target space is the entire space where the object to be placed should be placed.

[0064] For example, when the object to be placed is a book, the target space may be a drawer, a bookcase, or a locker, etc.; when the object to be placed is food, the target space may be a refrigerator or a locker, etc.

[0065] Structural information is used to characterize the structure of the target space, the subspaces it includes, and the purpose of each subspace.

[0066] The tree structure relationship includes multiple layers of nodes, wherein the root node of the tree structure is the target space, the root node is the parent node of the first layer leaf node, the first layer leaf node is the parent node of the second layer leaf node, and so on, and the bottom layer node corresponds to the unit compartment in the target space.

[0067] The unit compartment is the smallest space in the target space. Taking a refrigerator as an example, the unit compartment can be a refrigeration shelf, a fresh-keeping drawer, and a freezer drawer in the refrigerator.

[0068] Continuing with the refrigerator as an example, the refrigerator is the root node, and the first-level leaf nodes include: refrigerator, freezer, and fresh-keeping room; the various refrigeration shelves included in the refrigerator are the second-level leaf nodes, that is, the bottom-level nodes.

[0069] In the actual execution process, before scanning, a tree structure relationship can be constructed for each space in the environment according to the structural information of the space to obtain the subspace corresponding to each node.

[0070] The attribute information is used to characterize the category of the object to be placed, the corresponding placement conditions, and other information used to limit the placement location.

[0071] For example, continuing to take the target space as a refrigerator, if the object to be placed is fruit, it can be determined that the object to be placed should be placed in the refrigerated layer, then a depth-first traversal is performed downward from the leaf node corresponding to the refrigerated layer, and the refrigerated shelves under the refrigerated room are spatially scanned and the capacity is judged to locate the gap area for placing the object to be placed.

[0072] In some embodiments, during the scanning process, the subspace corresponding to any node in the tree structure relationship may also be used as a target meta-container for scanning.

[0073] In some embodiments, based on the attribute information of the object to be placed, locating a node matching the attribute information from the tree structure relationship, and determining a target meta container based on a subspace corresponding to the node may include: In the case of the first scan, the unit compartment corresponding to the bottom-level node under the node matching the attribute information is determined as the target meta-container.

[0074] According to the method for determining the placement position of an object in a space provided in an embodiment of the present application, by constructing a tree structure relationship for the target space according to the structural information of the target space, so as to locate the target meta-container based on the tree structure relationship, the orderliness of scanning can be improved, and the nodes matching different objects to be placed can be quickly located, so as to scan in the subspace corresponding to the node, so as to better plan and place the placement area, control the placement position in a more fine-grained manner, and improve the object placement effect.

[0075] In some embodiments, when it is determined that the gap areas between adjacent intersecting surfaces in the target meta-container cannot accommodate the object to be placed, the method may further include: Based on the tree structure relationship, update the target meta container.

[0076] In this embodiment, when a gap area that can be used to place the object to be placed cannot be obtained by updating the target point and the scanning surface, other sub-compartments can be determined as new target meta-containers based on the tree structure relationship, and steps 110 to 130 are repeatedly performed, and so on, until a gap area for placing the object to be placed is obtained.

[0077] Continuing with the example of the target space being a refrigerator, if no gap area for placing the object to be placed is obtained after scanning the refrigerator shelf on the first layer in the refrigerator room, the refrigerator shelf on the second layer is scanned as a new target meta-container.

[0078] The method for determining the placement position of an object in a space provided in the embodiment of the present application may be executed by a device for determining the placement position of an object in a space. In the embodiment of the present application, the device for determining the placement position of an object in a space performs the method for determining the placement position of an object in a space as an example to illustrate the device for determining the placement position of an object in a space provided in the embodiment of the present application.

[0079] The embodiment of the present application also provides a device for determining the placement position of an object in a space.

[0080] like Figure 3 As shown, the device for determining the placement position of an object in the space includes: a first processing module 310 , a second processing module 320 and a third processing module 330 .

[0081] The first processing module 310 is used to use the target point in the target element container as the starting point, use the plane determined based on the size information of the object to be placed as the scanning surface, scan along the scanning direction, and obtain the intersection between the scanning surface and the obstacle; A second processing module 320, configured to determine the gap area between adjacent intersecting surfaces as a placement position of the object to be placed, if it is determined based on the intersection condition that the gap area between the adjacent intersecting surfaces can accommodate the object to be placed; The third processing module 330 is used to update the position of the target point when it is determined based on each intersection situation that the gap area between adjacent intersection surfaces cannot accommodate the object to be placed.

[0082] According to the device for determining the placement position of an object in a space provided by an embodiment of the present application, a starting point, a scanning surface and a scanning direction are defined to perform a space scan, and the intersection of the scanning surface and the obstacle is obtained according to the scanning result to obtain the gap area between any adjacent intersection surfaces based on the intersection, and then it is determined whether the gap area can accommodate the object to be placed. When all the gap areas obtained under the current scanning result cannot accommodate the object to be placed, the position of the starting point is adjusted to repeat the above operation, thereby traversing the entire space, improving the scanning accuracy, and improving the accuracy and number of the obtained gap areas, so as to quickly and accurately determine the placement position of the object to be placed. The determined placement position conforms to the human placement rules, is simple to operate, has high stability, and has a low implementation cost; and is suitable for complex placement scenarios where obstacles already exist in the scene.

[0083] In some embodiments, the size information includes the maximum length of the object to be placed along the x-axis, the maximum length along the y-axis, and the maximum length along the z-axis. The first processing module 310 may also be used to: Take the target point as the starting point, take the plane formed by the maximum length in any two directions of the x-axis, y-axis and z-axis as the scanning surface, and take the other axis as the scanning direction for scanning; the other axis is the remaining direction of the x-axis, y-axis and z-axis except any two directions; Get the intersection between the scanning surface and obstacles.

[0084] In some embodiments, the third processing module 330 may also be used to: Based on the intersection situation, determining the distance between adjacent intersection surfaces along the scanning direction; When the distance is not less than the maximum length of the object to be placed along the scanning direction, it is determined that the gap area between adjacent intersecting surfaces is capable of placing the object to be placed.

[0085] In some embodiments, the third processing module 330 may also be used to: Taking the current position of the target point as the starting point, move the target point along the extension direction of the scanning surface by the target step length.

[0086] In some embodiments, the third processing module 330 may also be used to: When the position of the target point is updated to the point where it cannot be updated, and it is determined based on each intersection situation that the gap area between adjacent intersection surfaces cannot accommodate the object to be placed, the scanning surface is updated.

[0087] In some embodiments, the apparatus may further include a fourth processing module, configured to: Taking the target point in the target element container as the starting point and the plane determined based on the size information of the object to be placed as the scanning surface, scanning is performed along the scanning direction to obtain the intersection between the scanning surface and the obstacle, and a tree structure relationship is constructed for the target space based on the structural information of the target space; Based on the attribute information of the object to be placed, a node matching the attribute information is located from the tree structure relationship, and a target meta-container is determined based on the subspace corresponding to the node.

[0088] In some embodiments, the third processing module 330 may also be used to: When it is determined that the gap areas between adjacent intersecting surfaces in the target meta-container cannot accommodate the object to be placed, the target meta-container is updated based on the tree structure relationship.

[0089] The device for determining the placement position of an object in a space in the embodiment of the present application may be an electronic device, or a component in the electronic device, such as an integrated circuit or a chip. The electronic device may be a terminal, or may be other devices other than a terminal. Exemplarily, the electronic device may be a mobile phone, a tablet computer, a laptop computer, a PDA, a vehicle-mounted electronic device, a mobile Internet device (Mobile Internet Device, MID), an augmented reality (augmented reality, AR) / virtual reality (virtual reality, VR) device, a robot, a wearable device, an ultra-mobile personal computer (ultra-mobile personal computer, UMPC), a netbook or a personal digital assistant (personal digital assistant, PDA), etc. It may also be a server, a network attached storage (Network Attached Storage, NAS), a personal computer (personal computer, PC), a television (television, TV), a teller machine or a self-service machine, etc., which is not specifically limited in the embodiment of the present application.

[0090] The device for determining the placement position of an object in a space in the embodiment of the present application may be a device having an operating system. The operating system may be an Android operating system, an IOS operating system, or other possible operating systems, which are not specifically limited in the embodiment of the present application.

[0091] The device for determining the placement position of an object in a space provided in the embodiment of the present application can achieve Figure 1 to Figure 2 To avoid repetition, the various processes implemented by the method embodiment are not described here.

[0092] In some embodiments, Figure 4 As shown, an embodiment of the present application also provides an electronic device 400, including a processor 401, a memory 402, and a computer program stored in the memory 402 and executable on the processor 401. When the program is executed by the processor 401, each process of the embodiment of the method for determining the placement position of an object in the above-mentioned space is implemented, and the same technical effect can be achieved. To avoid repetition, it will not be described here.

[0093] It should be noted that the electronic devices in the embodiments of the present application include the mobile electronic devices and non-mobile electronic devices mentioned above.

[0094] An embodiment of the present application also provides a non-transitory computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the various processes of the embodiment of the method for determining the placement position of an object in the above-mentioned space are implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.

[0095] The processor is the processor in the electronic device described in the above embodiment. The readable storage medium includes a computer readable storage medium, such as a computer read-only memory ROM, a random access memory RAM, a magnetic disk or an optical disk.

[0096] An embodiment of the present application also provides a computer program product, including a computer program, which, when executed by a processor, implements the method for determining the placement position of an object in the above-mentioned space.

[0097] The processor is the processor in the electronic device described in the above embodiment. The readable storage medium includes a computer readable storage medium, such as a computer read-only memory ROM, a random access memory RAM, a magnetic disk or an optical disk.

[0098] An embodiment of the present application further provides a chip, which includes a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the various processes of the embodiment of the method for determining the placement position of an object in the above-mentioned space, and can achieve the same technical effect. To avoid repetition, it will not be repeated here.

[0099] It should be understood that the chip mentioned in the embodiments of the present application can also be called a system-level chip, a system chip, a chip system or a system-on-chip chip, etc.

[0100] It should be noted that, in this article, the terms "comprise", "include" or any other variant thereof are intended to cover non-exclusive inclusion, so that the process, method, article or device including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise one..." do not exclude the presence of other identical elements in the process, method, article or device including the element. In addition, it should be pointed out that the scope of the methods and devices in the embodiments of the present application is not limited to performing functions in the order shown or discussed, and may also include performing functions in a substantially simultaneous manner or in reverse order according to the functions involved, for example, the described method may be performed in an order different from that described, and various steps may also be added, omitted, or combined. In addition, the features described with reference to certain examples may be combined in other examples.

[0101] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a computer software product, which is stored in a storage medium (such as ROM / RAM, a magnetic disk, or an optical disk), and includes a number of instructions for enabling a terminal (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods described in each embodiment of the present application.

[0102] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present application, ordinary technicians in this field can also make many forms without departing from the purpose of the present application and the scope of protection of the claims, all of which are within the protection of the present application.

[0103] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "illustrative embodiments", "examples", "specific examples", or "some examples" means that the specific features, structures, materials, or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present application. In this specification, the schematic representation of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described may be combined in any one or more embodiments or examples in a suitable manner.

[0104] Although the embodiments of the present application have been shown and described, those skilled in the art will appreciate that various changes, modifications, substitutions and variations may be made to the embodiments without departing from the principles and spirit of the present application, and that the scope of the present application is defined by the claims and their equivalents.

Claims

1. A method for determining the placement of an object in a space, characterized in that: include: Taking the target point in the target element container as the starting point and the plane determined based on the size information of the object to be placed as the scanning surface, scanning is performed along the scanning direction to obtain the intersection between the scanning surface and the obstacle; In the case where it is determined based on the intersection condition that the gap area between the adjacent intersection surfaces can accommodate the object to be placed, determining the gap area as the placement position of the object to be placed; When it is determined based on each of the intersection situations that the gap area between adjacent intersection surfaces cannot accommodate the object to be placed, the position of the target point is updated.

2. The method for determining the placement position of an object in a space according to claim 1, characterized in that: The size information includes the maximum length of the object to be placed along the x-axis direction, the maximum length along the y-axis direction, and the maximum length along the z-axis direction; taking the target point in the target element container as the starting point, taking the plane determined based on the size information of the object to be placed as the scanning surface, scanning along the scanning direction, and obtaining the intersection between the scanning surface and the obstacle, includes: Taking the target point as the starting point, taking the plane formed by the maximum lengths in any two directions of the x-axis, the y-axis and the z-axis as the scanning plane, and taking another axis as the scanning direction for scanning; the other axis is the remaining direction of the x-axis, the y-axis and the z-axis except the any two directions; Obtain the intersection between the scanning surface and the obstacle.

3. The method for determining the placement position of an object in a space according to claim 1, characterized in that: The determining, based on the intersection condition, that the gap area between adjacent intersection surfaces is capable of placing the object to be placed includes: Based on the intersection condition, determining the distance between adjacent intersection surfaces along the scanning direction; In the case where the distance is not less than the maximum length of the object to be placed along the scanning direction, it is determined that the gap area between adjacent intersecting surfaces can accommodate the object to be placed.

4. The method for determining the placement position of an object in a space according to any one of claims 1 to 3, characterized in that: The updating of the position of the target point comprises: Taking the current position of the target point as the starting point, the target point is moved along the extension direction of the scanning surface by a target step length.

5. The method for determining the placement position of an object in a space according to any one of claims 1 to 3, characterized in that: When the position of the target point is updated until it cannot be updated, and it is determined based on each of the intersection situations that the gap area between adjacent intersection surfaces cannot accommodate the object to be placed, the method further includes: The scan surface is updated.

6. The method for determining the placement position of an object in a space according to any one of claims 1 to 3, characterized in that: Before taking the target point in the target element container as the starting point and the plane determined based on the size information of the object to be placed as the scanning surface, scanning along the scanning direction, and obtaining the intersection between the scanning surface and the obstacle, the method further includes: Based on the structural information of the target space, construct a tree structure relationship for the target space; Based on the attribute information of the object to be placed, a node matching the attribute information is located from the tree structure relationship, and the target meta-container is determined based on the subspace corresponding to the node.

7. The method for determining the placement position of an object in a space according to claim 6, characterized in that: In the case where it is determined that the gap areas between adjacent intersecting surfaces in the target meta-container cannot accommodate the object to be placed, the method further includes: Based on the tree structure relationship, the target meta container is updated.

8. A device for determining the placement position of an object in a space, characterized in that: include: A first processing module is used to take the target point in the target element container as the starting point, take the plane determined based on the size information of the object to be placed as the scanning surface, scan along the scanning direction, and obtain the intersection between the scanning surface and the obstacle; A second processing module, configured to determine the gap area between adjacent intersecting surfaces as a placement position for the object to be placed, if it is determined based on the intersection condition that the gap area between adjacent intersecting surfaces can accommodate the object to be placed; The third processing module is used to update the position of the target point when it is determined based on each of the intersection situations that the gap area between the adjacent intersection surfaces cannot accommodate the object to be placed.

9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the program, the method for determining the placement position of an object in a space as described in any one of claims 1-7 is implemented.

10. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method for determining the placement position of an object in a space as described in any one of claims 1 to 7 is implemented.

11. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the method for determining the placement position of an object in a space as described in any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Three-dimensional intersection detection algorithm based on space scanning strategy

    CN101877141A

  • Mobile robot hybrid scheduling method based on topological map

    CN111813124A

  • Cargo stacking method and device, carrying equipment and computer readable storage medium

    CN116040331A

  • Goods storage method and device, carrying equipment and computer readable storage medium

    CN116238908A

  • Storage location planning method and device, electronic equipment and storage medium

    CN116341772A