Control method and device of a self-moving device, and self-moving device

CN122284585APending Publication Date: 2026-06-26BEIJING ROBOROCK INNOVATION TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
BEIJING ROBOROCK INNOVATION TECH CO LTD
Filing Date
2025-10-27
Publication Date
2026-06-26

AI Technical Summary

Technical Problem

When placing objects, existing self-moving equipment cannot avoid collisions between the robotic arm and obstacles, affecting equipment safety and operational efficiency.

Method used

By combining spatial and map information around the self-moving device, the placement area of ​​the object is determined, and the robotic arm is controlled to place the object in an area free of obstacles and meeting safety conditions.

Benefits of technology

To ensure that objects can be placed safely and accurately, avoid damage to the robotic arm and impact on subsequent operations, and improve the safety and efficiency of the equipment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122284585A_ABST
    Figure CN122284585A_ABST
Patent Text Reader

Abstract

This application discloses a control method, apparatus, and self-moving device for a mobile device. The control method includes: during the process of the mobile device carrying an object, if a placement command for the object is received, acquiring spatial information and map information surrounding the mobile device; if, based on the spatial information and map information, a candidate area is determined to exist that meets the object placement conditions, then controlling a robotic arm to place the object in the object placement area. The candidate area is the area corresponding to the object's placement range when the mobile device is in its current position. This method can accurately and safely locate the object in advance, avoiding damage or collisions to the robotic arm or affecting subsequent operations when placing the object.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of automatic control, and in particular relates to a control method, cleaning method, device and electronic equipment for self-moving equipment. Background Technology

[0002] With the continuous development of science and technology and the continuous improvement of people's living standards, self-moving devices have increasingly entered our daily lives. Current self-moving devices can use robotic arms to grasp or move objects.

[0003] After an object is grasped or moved, it needs to be placed. Therefore, it is necessary to provide a method that ensures safe placement of the object and avoids collisions between the object and the robotic arm. Summary of the Invention

[0004] Embodiments of this application provide a control method, apparatus, and self-moving device for a self-moving device.

[0005] Other features and advantages of this application will become apparent from the following detailed description, or may be learned in part from practice of this application.

[0006] According to a first aspect of the embodiments of this application, a control method for a self-moving device is provided. The self-moving device includes a device body and a robotic arm connected to the device body. The method includes: During the process of transporting objects by the self-moving device, if a placement instruction for the object is received, spatial information and map information around the self-moving device are obtained. If, based on spatial and map information, it is determined that there is an object placement area in the candidate region that meets the object placement conditions, then the robotic arm is controlled to place the object in the object placement area. The candidate region is the area corresponding to the object placement range when the self-moving device is in its current position.

[0007] In some possible embodiments of this application, the object placement area meets the object placement conditions, including: Based on spatial information, it is determined that there are no obstacles in the area where the object is placed, and based on map information, it is determined that the area where the object is placed meets the preset safety conditions.

[0008] In some possible implementations of this application, the method further includes: Perform the first region determination operation at least once until the first termination condition is met, wherein the first region determination operation includes: Based on spatial information, a first placement area without obstacles is determined from the candidate areas; Obtain the first map information corresponding to the first placement area from the map information. If it is determined from the first map information that the first placement area meets the preset safety conditions, then the first placement area is used as the object placement area. In some possible embodiments of this application, the first region determination operation further includes: If the first placement area does not meet the preset security conditions, the candidate area corresponding to the next first area determination operation is updated based on the first placement area. The first termination condition includes determining that the candidate region does not have a first placement region, or determining the object placement region.

[0009] In some possible implementations of this application, the spatial information includes historical spatial information and real-time spatial information; based on the spatial information, determining a first placement area free of obstacles from the candidate areas includes: Based on spatial information, perform at least one second region determination operation until the second termination condition is met. The second region determination operation includes: Based on historical spatial information, a second placement area without obstacles is determined from the candidate areas; Control the rotation of the main body of the self-moving device to obtain real-time spatial information corresponding to the second placement area; If, based on the real-time spatial information corresponding to the second placement area, it is determined that there are no obstacles in the second placement area, then the second placement area will be used as the first placement area.

[0010] In some possible embodiments of this application, the second region determination operation further includes: If there are obstacles in the second placement area, the historical spatial information corresponding to the next second area determination operation is updated based on the second placement area; The second termination condition includes determining the first placement area, or that there is no second placement area in the candidate areas.

[0011] In some possible implementations of this application, before determining a second placement area without obstacles from the candidate areas based on historical spatial information, the method further includes: Obtain the initial placement area corresponding to the current posture of the robotic arm; If, based on the spatial information of the initial placement area, it is determined that there are no obstacles in the initial placement area, then the initial placement area is taken as the first placement area. Based on historical spatial information, a second placement area without obstacles is determined from the candidate areas, which also includes: If, based on the spatial information of the initial placement area, it is determined that there are obstacles in the initial placement area, the historical spatial information is updated, and based on the updated historical spatial information, a second placement area without obstacles is determined from the candidate areas.

[0012] In some possible implementations of this application, a second placement area without obstacles is determined from the candidate areas based on historical spatial information, including: Based on historical spatial information, the first candidate region without obstacles is determined from the candidate regions; Based on the first candidate region, the second placement region is determined to be the placement region closest to the initial placement position corresponding to the current posture of the robotic arm.

[0013] In some possible implementations of this application, a second placement region is determined based on the placement region closest to the initial placement position corresponding to the current posture of the robotic arm within the first candidate region, including: Determine the placement area in the first candidate region that is closest to the initial placement position corresponding to the current posture of the robotic arm; The first spatial requirement information for the robotic arm to transport objects during the process of determining the direction corresponding to the determined placement area when the main body of the equipment is rotated. If the spatial information meets the first spatial requirement information, then the determined placement area will be used as the second placement area.

[0014] In some possible implementations of this application, the spatial information includes historical spatial information and real-time spatial information, and the method further includes: Based on historical spatial information, the first candidate region without obstacles is determined from the candidate regions; Based on map information, a second candidate area that meets the preset security conditions is determined from the candidate areas; The object placement area is determined based on the first candidate region, the second candidate region, and real-time spatial information.

[0015] In some possible implementations of this application, the object placement area is determined based on a first candidate region, a second candidate region, and real-time spatial information, including: Perform at least one third region determination operation until the third termination condition is met, wherein the third region determination operation includes: Determine the overlapping area between the first and second candidate regions, and determine the third placement area based on the overlapping area; Control the rotation of the main body of the self-moving device to obtain real-time spatial information corresponding to the third placement area; If, based on the real-time spatial information corresponding to the third placement area, it is determined that there are no obstacles in the third placement area, then the third placement area will be used as the object placement area.

[0016] In some possible implementations of this application, the third region determination operation further includes: If there are obstacles in the third placement area, update the overlapping area corresponding to the next third area determination operation based on the third placement area; The third termination condition includes any of the following: There is no first candidate region; There is no second candidate region; There is no overlap between the first and second candidate regions; Determine the area where the object will be placed.

[0017] In some possible implementations of this application, a third placement region based on the overlapping region includes: The third placement area is determined based on the placement area in the overlapping region that is closest to the initial placement position corresponding to the current posture of the robotic arm.

[0018] In some possible implementations of this application, the method further includes: Obtain the object's secondary space requirements; Based on the second space requirement information, determine the size of the area corresponding to the object placement area, and determine the size of the candidate area.

[0019] In some possible embodiments of this application, before controlling the robotic arm to place the object in the object placement area, the method further includes: Obtain third-space demand information, which is the spatial demand information corresponding to the object carried by the robotic arm from the carrying posture to the placement posture; Controlling the robotic arm to place the object in the object placement area includes: If the spatial information matches the requirements of the third space, then control the robotic arm to place the object in the object placement area.

[0020] In some possible embodiments of this application, the spatial information includes at least one of historical spatial information and real-time spatial information; Historical spatial information is determined from a historical spatial information set based on the current location; the historical spatial information set includes spatial information corresponding to the mobile device's various historical locations; real-time spatial information is spatial information collected by the mobile device in real time. Map information is determined from map records based on the current location.

[0021] In some possible implementations of this application, the spatial information includes historical spatial information and real-time spatial information, and the method further includes: If, based on spatial and map information, it is determined that there is no object placement area in the candidate area that meets the object placement conditions, then the location to be moved for the self-moving device is determined based on historical spatial information and map records. Control the mobile device to move to the desired location. During the movement, based on the collected real-time spatial information, update the historical spatial information set and map records, take the desired location as the new current location, and repeat the process of determining the object placement area until the object placement area is determined and place the object in the object placement area.

[0022] In some possible implementations of this application, the preset security conditions include: The object is placed in an area that is not within the work route, a pre-designated hazardous area, or a restricted area.

[0023] According to a second aspect of the embodiments of this application, a self-moving device is provided, including a device body and a robotic arm connected to the device body, the self-moving device being used for: During the transport of an object, if a placement instruction for the object is received, spatial information and map information around the mobile device are obtained. If, based on spatial and map information, it is determined that there is an object placement area in the candidate region that meets the object placement conditions, then the robotic arm will place the object in the object placement area. The candidate region is the area corresponding to the object placement range when the self-moving device is in its current position.

[0024] In some possible embodiments of this application, the object placement area meets the object placement conditions, including: Based on spatial information, it is determined that there are no obstacles in the area where the object is placed, and based on map information, it is determined that the area where the object is placed meets the preset safety conditions.

[0025] In some possible implementations of this application, the self-moving device is also used for: Perform the first region determination operation at least once until the first termination condition is met, wherein the first region determination operation includes: Based on spatial information, a first placement area without obstacles is determined from the candidate areas; Obtain the first map information corresponding to the first placement area from the map information. If it is determined from the first map information that the first placement area meets the preset safety conditions, then the first placement area is used as the object placement area. In some possible embodiments of this application, the first region determination operation further includes: If the first placement area does not meet the preset security conditions, the candidate area corresponding to the next first area determination operation is updated based on the first placement area. The first termination condition includes determining that the candidate region does not have a first placement region, or determining the object placement region.

[0026] In some possible implementations of this application, the spatial information includes historical spatial information and real-time spatial information; when the self-moving device determines a first placement area without obstacles from the candidate areas based on the spatial information, it is used for: Based on spatial information, perform at least one second region determination operation until the second termination condition is met. The second region determination operation includes: Based on historical spatial information, a second placement area without obstacles is determined from the candidate areas; Rotate the main body of the device to obtain real-time spatial information corresponding to the second placement area; If, based on the real-time spatial information corresponding to the second placement area, it is determined that there are no obstacles in the second placement area, then the second placement area will be used as the first placement area.

[0027] In some possible embodiments of this application, the second region determination operation further includes: If there are obstacles in the second placement area, the historical spatial information corresponding to the next second area determination operation is updated based on the second placement area; The second termination condition includes determining the first placement area, or that there is no second placement area in the candidate areas.

[0028] In some possible implementations of this application, the self-moving device is also used for: Obtain the initial placement area corresponding to the current posture of the robotic arm; If, based on the spatial information of the initial placement area, it is determined that there are no obstacles in the initial placement area, then the initial placement area is taken as the first placement area. Based on historical spatial information, a second placement area without obstacles is determined from the candidate areas, which also includes: If, based on the spatial information of the initial placement area, it is determined that there are obstacles in the initial placement area, the historical spatial information is updated, and based on the updated historical spatial information, a second placement area without obstacles is determined from the candidate areas.

[0029] In some possible embodiments of this application, when the self-moving device determines a second placement area free of obstacles from the candidate areas, it is used to: From the candidate regions, identify the first candidate region that does not contain any obstacles; Based on the first candidate region, the second placement region is determined to be the placement region closest to the initial placement position corresponding to the current posture of the robotic arm.

[0030] In some possible implementations of this application, when the self-moving device determines the second placement area based on the first candidate area, specifically the area closest to the initial placement position corresponding to the current posture of the robotic arm, it is used for: Determine the placement area in the first candidate region that is closest to the initial placement position corresponding to the current posture of the robotic arm; The first spatial requirement information for the robotic arm to transport objects during the process of determining the direction corresponding to the determined placement area when the main body of the equipment is rotated. If the spatial information meets the first spatial requirement information, then the determined placement area will be used as the second placement area.

[0031] In some possible implementations of this application, spatial information includes historical spatial information and real-time spatial information, and the self-moving device is also used for: Based on historical spatial information, the first candidate region without obstacles is determined from the candidate regions; Based on map information, a second candidate area that meets the preset security conditions is determined from the candidate areas; The object placement area is determined based on the first candidate region, the second candidate region, and real-time spatial information.

[0032] In some possible implementations of this application, when the self-moving device determines the object placement area based on the first candidate region, the second candidate region, and real-time spatial information, it is used to: Perform at least one third region determination operation until the third termination condition is met, wherein the third region determination operation includes: Determine the overlapping area between the first and second candidate regions, and determine the third placement area based on the overlapping area; Rotate the main body of the device to obtain real-time spatial information corresponding to the third placement area; If, based on the real-time spatial information corresponding to the third placement area, it is determined that there are no obstacles in the third placement area, then the third placement area will be used as the object placement area.

[0033] In some possible implementations of this application, the third region determination operation further includes: If there are obstacles in the third placement area, update the overlapping area corresponding to the next third area determination operation based on the third placement area; The third termination condition includes any of the following: There is no first candidate region; There is no second candidate region; There is no overlap between the first and second candidate regions; Determine the area where the object will be placed.

[0034] In some possible implementations of this application, when the self-moving device is placed based on a third overlapping region, it is used for: The third placement area is determined based on the placement area in the overlapping region that is closest to the initial placement position corresponding to the current posture of the robotic arm.

[0035] In some possible implementations of this application, the self-moving device is also used for: Obtain the object's secondary space requirements; Based on the second space requirement information, determine the size of the area corresponding to the object placement area, and determine the size of the candidate area.

[0036] In some possible implementations of this application, the self-moving device is also used for: Obtain third-space demand information, which is the spatial demand information corresponding to the object carried by the robotic arm from the carrying posture to the placement posture; When a self-moving device places an object into an object placement area using a robotic arm, it is used for: If the spatial information matches the requirements of the third space, the object will be placed in the object placement area using a robotic arm.

[0037] In some possible embodiments of this application, the spatial information includes at least one of historical spatial information and real-time spatial information; Historical spatial information is determined from a historical spatial information set based on the current location; the historical spatial information set includes spatial information corresponding to the mobile device's various historical locations; real-time spatial information is spatial information collected by the mobile device in real time. Map information is determined from map records based on the current location.

[0038] In some possible implementations of this application, spatial information includes historical spatial information and real-time spatial information, and the self-moving device is also used for: If, based on spatial and map information, it is determined that there is no object placement area in the candidate area that meets the object placement conditions, then the location to be moved for the self-moving device is determined based on historical spatial information and map records. Control the mobile device to move to the desired location. During the movement, based on the collected real-time spatial information, update the historical spatial information set and map records, take the desired location as the new current location, and repeat the process of determining the object placement area until the object placement area is determined and place the object in the object placement area.

[0039] In some possible implementations of this application, the preset security conditions include: The object is placed in an area that is not within the work route, a pre-designated hazardous area, or a restricted area.

[0040] According to a third aspect of the embodiments of this application, a control device for a self-moving device is provided. The self-moving device includes a device body and a robotic arm connected to the device body. The device includes: The acquisition module is used to acquire spatial and map information around the self-moving device when a placement instruction for the object is received during the process of the self-moving device carrying the object. The placement module is used to control the robotic arm to place the object in the object placement area if, based on spatial and map information, there is an object placement area in the candidate area that meets the object placement conditions. The candidate area is the area corresponding to the object placement range when the self-moving device is in its current position.

[0041] In some possible embodiments of this application, the object placement area meets the object placement conditions, including: Based on spatial information, it is determined that there are no obstacles in the area where the object is placed, and based on map information, it is determined that the area where the object is placed meets the preset safety conditions.

[0042] In some possible embodiments of this application, the apparatus further includes a first determining module, configured to: Perform the first region determination operation at least once until the first termination condition is met, wherein the first region determination operation includes: Based on spatial information, a first placement area without obstacles is determined from the candidate areas; Obtain the first map information corresponding to the first placement area from the map information. If it is determined from the first map information that the first placement area meets the preset safety conditions, then the first placement area is used as the object placement area. In some possible embodiments of this application, the first region determination operation further includes: If the first placement area does not meet the preset security conditions, the candidate area corresponding to the next first area determination operation is updated based on the first placement area. The first termination condition includes determining that the candidate region does not have a first placement region, or determining the object placement region.

[0043] In some possible implementations of this application, the spatial information includes historical spatial information and real-time spatial information; when the first determining module determines a first placement area without obstacles from the candidate areas based on the spatial information, it is used to: Based on spatial information, perform at least one second region determination operation until the second termination condition is met. The second region determination operation includes: Based on historical spatial information, a second placement area without obstacles is determined from the candidate areas; Control the rotation of the main body of the self-moving device to obtain real-time spatial information corresponding to the second placement area; If, based on the real-time spatial information corresponding to the second placement area, it is determined that there are no obstacles in the second placement area, then the second placement area will be used as the first placement area.

[0044] In some possible embodiments of this application, the second region determination operation further includes: If there are obstacles in the second placement area, the historical spatial information corresponding to the next second area determination operation is updated based on the second placement area; The second termination condition includes determining the first placement area, or that there is no second placement area in the candidate areas.

[0045] In some possible embodiments of this application, the apparatus further includes a second determining module, used for: Obtain the initial placement area corresponding to the current posture of the robotic arm; If, based on the spatial information of the initial placement area, it is determined that there are no obstacles in the initial placement area, then the initial placement area is taken as the first placement area. When the first determining module determines a second placement area free of obstacles from the candidate areas based on historical spatial information, it is used for: If, based on the spatial information of the initial placement area, it is determined that there are obstacles in the initial placement area, the historical spatial information is updated, and based on the updated historical spatial information, a second placement area without obstacles is determined from the candidate areas.

[0046] In some possible embodiments of this application, when the first determining module determines a second placement area from the candidate areas where no obstacle exists, it is used to: From the candidate regions, identify the first candidate region that does not contain any obstacles; Based on the first candidate region, the second placement region is determined to be the placement region closest to the initial placement position corresponding to the current posture of the robotic arm.

[0047] In some possible implementations of this application, when the first determining module determines the second placement region based on the first candidate region, specifically the placement region closest to the initial placement position corresponding to the current posture of the robotic arm, it is used to: Determine the placement area in the first candidate region that is closest to the initial placement position corresponding to the current posture of the robotic arm; The first spatial requirement information for the robotic arm to transport objects during the process of determining the direction corresponding to the determined placement area when the main body of the equipment is rotated. If the spatial information meets the first spatial requirement information, then the determined placement area will be used as the second placement area.

[0048] In some possible embodiments of this application, the spatial information includes historical spatial information and real-time spatial information, and the device further includes a third determining module for: Based on historical spatial information, the first candidate region without obstacles is determined from the candidate regions; Based on map information, a second candidate area that meets the preset security conditions is determined from the candidate areas; The object placement area is determined based on the first candidate region, the second candidate region, and real-time spatial information.

[0049] In some possible implementations of this application, when determining the object placement area based on the first candidate region, the second candidate region, and real-time spatial information, the third determining module is used to: Perform at least one third region determination operation until the third termination condition is met, wherein the third region determination operation includes: Determine the overlapping area between the first and second candidate regions, and determine the third placement area based on the overlapping area; Control the rotation of the main body of the self-moving device to obtain real-time spatial information corresponding to the third placement area; If, based on the real-time spatial information corresponding to the third placement area, it is determined that there are no obstacles in the third placement area, then the third placement area will be used as the object placement area.

[0050] In some possible implementations of this application, the third region determination operation further includes: If there are obstacles in the third placement area, update the overlapping area corresponding to the next third area determination operation based on the third placement area; The third termination condition includes any of the following: There is no first candidate region; There is no second candidate region; There is no overlap between the first and second candidate regions; Determine the area where the object will be placed.

[0051] In some possible implementations of this application, the third determining module, when based on the third placement area of ​​the overlapping region, is used to: The third placement area is determined based on the placement area in the overlapping region that is closest to the initial placement position corresponding to the current posture of the robotic arm.

[0052] In some possible embodiments of this application, the apparatus further includes a fourth determining module, used for: Obtain the object's secondary space requirements; Based on the second space requirement information, determine the size of the area corresponding to the object placement area, and determine the size of the candidate area.

[0053] In some possible embodiments of this application, the apparatus further includes a fifth determining module, used for Obtain third-space demand information, which is the spatial demand information corresponding to the object carried by the robotic arm from the carrying posture to the placement posture; Controlling the robotic arm to place the object in the object placement area includes: If the spatial information matches the requirements of the third space, then control the robotic arm to place the object in the object placement area.

[0054] In some possible embodiments of this application, the spatial information includes at least one of historical spatial information and real-time spatial information; Historical spatial information is determined from a historical spatial information set based on the current location; the historical spatial information set includes spatial information corresponding to the mobile device's various historical locations; real-time spatial information is spatial information collected by the mobile device in real time. Map information is determined from map records based on the current location.

[0055] In some possible embodiments of this application, the spatial information includes historical spatial information and real-time spatial information, and the device further includes a sixth determining module, used for: If, based on spatial and map information, it is determined that there is no object placement area in the candidate area that meets the object placement conditions, then the location to be moved for the self-moving device is determined based on historical spatial information and map records. Control the mobile device to move to the desired location. During the movement, based on the collected real-time spatial information, update the historical spatial information set and map records, take the desired location as the new current location, and repeat the process of determining the object placement area until the object placement area is determined and place the object in the object placement area.

[0056] In some possible implementations of this application, the preset security conditions include: The object is placed in an area that is not within the work route, a pre-designated hazardous area, or a restricted area.

[0057] According to a fourth aspect of the embodiments of this application, a self-moving device is provided, including a device body and a robotic arm connected to the device body, a memory, a processor, and a computer program stored in the memory, characterized in that the processor executes the steps of the method described in the above embodiments.

[0058] According to a fifth aspect of the present application, a computer-readable storage medium is provided, on which a computer program is stored, which, when executed by a processor, implements the steps of the methods described in the above embodiments.

[0059] According to a sixth aspect of the embodiments of this application, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps of the methods described in the embodiments above.

[0060] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and do not limit this application.

[0061] The beneficial effects of the technical solutions provided in this application are: By combining spatial and map information around the self-moving device, it can be determined whether there is an object placement area that meets the object placement conditions within the area corresponding to the object placement range of the self-moving device at its current location. If an object placement area exists, the robotic arm is controlled to place the object in the object placement area. This can accurately find the correct and safe position to place the object in advance, avoiding damage or bumps to the robotic arm when placing the object, or affecting subsequent work.

[0062] By combining spatial information to determine the first placement area, it can be ensured that there are no obstacles to interfere with the placement of objects; then, based on the first map information, if the first placement area meets the preset safety conditions, the first placement area is used as the object placement area, which can ensure that the object is placed in a suitable position and avoid affecting the operation of the self-moving equipment.

[0063] First, the second placement area is determined based on historical spatial information, which can quickly filter out areas where objects may be placed. Then, the self-moving device is controlled to move to collect real-time spatial information corresponding to the second placement area, which can more accurately determine whether there are obstacles in the second placement area and ensure the safety of obstacle placement.

[0064] In addition, it prioritizes determining whether there are obstacles in the initial placement area. If there are no obstacles in the initial placement area, the initial placement location is taken as the first placement area. If there are obstacles in the initial placement area, the second placement area is determined based on historical spatial information. This can save the computing resources and rotation energy of the self-moving device and determine the first placement area more quickly. Attached Figure Description

[0065] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application. It is obvious that the drawings described below are merely some embodiments of this application, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort. In the drawings: Figure 1A schematic diagram of the structure of the mobile robot provided in an embodiment of this application is shown; Figure 2 This paper shows a schematic diagram of the structure of the robotic arm of the mobile robot in the exit posture according to an embodiment of the present application; Figure 3 It shows Figure 2 Side view; Figure 4 A schematic diagram of the structure of the robotic arm of the mobile robot provided in an embodiment of this application is shown; Figure 5 A schematic diagram of the structure of the robotic arm of the mobile robot provided in the embodiments of this application is shown; Figure 6 A schematic diagram of the loaded state of the robotic arm provided in the embodiments of this application; Figure 7 A schematic diagram illustrating the process of a robotic arm placing an object, as provided in an embodiment of this application. Figure 8 A flowchart illustrating a control method for a self-moving device provided in an embodiment of this application; Figure 9 A schematic diagram illustrating spatial and map information provided as an example for this application; Figure 10 A schematic diagram illustrating a scheme for determining an object placement area provided in an embodiment of this application; Figure 11 This is a schematic diagram of the initial placement area in one example of this application; Figure 12 This is a schematic diagram of a scheme for determining the first rotation angle in one example of this application; Figure 13 A schematic diagram illustrating a scheme for determining a first placement area free of obstacles from a candidate area, as provided in an embodiment of this application; Figure 14 This is a schematic diagram illustrating a scheme for determining the second candidate region in one example of this application; Figure 15 This is a schematic diagram illustrating a scheme for determining the second candidate region in one example of this application; Figure 16 A schematic diagram illustrating a scheme for determining an object placement area provided in an embodiment of this application; Figure 17 A schematic diagram of a control method for a self-moving device provided in an embodiment of this application; Figure 18 This is a schematic diagram of the structure of a control device for a self-moving device provided in an embodiment of this application; Figure 19 This is a schematic diagram of the structure of an electronic device for controlling a self-moving device, provided in an embodiment of this application. Detailed Implementation

[0066] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0067] Furthermore, the described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. Numerous specific details are provided in the following description to give a thorough understanding of embodiments of this application. However, those skilled in the art will recognize that the technical solutions of this application can be practiced without one or more of the specific details, or other methods, components, apparatuses, steps, etc., can be employed. In other instances, well-known methods, apparatuses, implementations, or operations are not shown or described in detail to avoid obscuring various aspects of this application.

[0068] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.

[0069] The flowcharts shown in the accompanying drawings are merely illustrative and do not necessarily include all content and operations / steps, nor do they necessarily have to be performed in the described order. For example, some operations / steps can be broken down, while others can be combined or partially combined; therefore, the actual execution order may change depending on the specific circumstances.

[0070] It should also be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such uses of these terms can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described.

[0071] The technical solutions of this application and their effects are described below through several exemplary embodiments. It should be noted that the following embodiments can be referenced, borrowed from, or combined with each other. Identical terms, similar features, and similar implementation steps in different embodiments will not be repeated.

[0072] With the development of smart hardware technology, self-moving devices are widely used in daily life. Self-moving devices can be cleaning robots such as sweeping robots, or service robots such as food delivery robots and delivery robots. The type of robot is not limited.

[0073] To increase the operating range of automated mobile devices, a robotic arm can be installed on the main body of the device. For example, in a robotic vacuum cleaner, a robotic arm can be attached to the main body to clean areas that the cleaning components cannot reach. The robotic arm can also move obstacles, allowing the cleaning components to clean areas obstructed by the obstacles (the obstructed areas can be the surface to be cleaned under the obstacle or other areas separated by the obstacle). In the case of service robots such as delivery robots or food delivery robots, the extension distance of the robotic arm can be adjusted to extend it further, thereby increasing the operating range of the automated mobile device.

[0074] Regarding the storage of the robotic arm, a storage compartment can be set on the main body of the self-moving device. The robotic arm can be placed inside the compartment, and the state in which the robotic arm is stored inside the compartment is the robotic arm's in-compartment posture. The state in which the robotic arm is outside the compartment is the out-of-compartment posture. If the robotic arm needs to be used, it can be extended from the compartment, that is, the robotic arm extends from the in-compartment posture to the out-of-compartment posture. This process is the robotic arm's out-of-compartment action. When the robotic arm is no longer in use, it can be retracted from the out-of-compartment posture back to the in-compartment posture. This process is the robotic arm's in-compartment action.

[0075] First, the structure of the self-moving device of this application will be described.

[0076] Figure 1 The diagram shows a structural schematic of the self-moving device 100 provided in an embodiment of this application. Figure 2 This diagram shows a schematic of the robotic arm 120 of the self-moving device 100 provided in this embodiment of the application in an exit posture. Figure 3 It shows Figure 2 Side view, such as Figure 2 and Figure 3As shown, in some embodiments, the self-moving device 100 includes a device body 110 and a robotic arm 120. The device body 110 has a receiving compartment 115 capable of accommodating the robotic arm 120. The device body 110 is the basic component of the self-moving device 100. The device body 110 includes a chassis 112 and a wheel assembly 113 mounted on the chassis 112. The wheel assembly 113 can guide the chassis 112 to move. The wheel assembly 113 can be located on the rear side of the chassis 112, with one wheel assembly 113 on each of the left and right sides of the rear side. The device body 110 also includes an auxiliary wheel assembly 114 located on the front side of the chassis 112. The auxiliary wheel assembly 114 can be a swivel wheel and can also guide the chassis 112 to move. That is, in some embodiments, the chassis 112 can be guided to move by at least one of the wheel assembly 113 and the auxiliary wheel assembly 114.

[0077] In some embodiments, for the convenience of describing the establishment of the coordinate system of the device body 110, the coordinate system of the device body 110 has a coordinate origin, a first direction X, a second direction Y, and a third direction Z. The geometric center of the top surface of the device body 110 is the coordinate origin. The first direction X and the second direction Y are located in the plane on which the top surface of the device body 110 is located. The first direction X is the extension direction of the robotic arm 120 when the robotic arm 120 is in the loading posture. The second direction Y is perpendicular to the first direction X. The third direction Z is perpendicular to both the first direction X and the second direction Y.

[0078] The main body 110 can be a cylindrical shape, specifically a cylinder, cuboid, or cube, etc., with no particular shape limitation. If the main body 110 is a cylinder, its top surface is circular, and the geometric center of the top surface is the center of the circle. If the main body 110 is a cuboid, its top surface can be either a rectangle or a square, and regardless of whether it is a rectangle or a square, the geometric center of the top surface is the center of either the rectangle or the square.

[0079] When the robotic arm 120 is in the loading posture, it is folded and retracted into the receiving compartment 115. The projection of the folded robotic arm 120 onto the top surface of the equipment body 110 is roughly elongated. The first direction X, which is the extension direction of the robotic arm 120, refers to the length direction of the projection of the robotic arm 120 onto the top surface of the equipment body 110 (the direction of the long side of the aforementioned elongated shape). The second direction Y is perpendicular to the first direction X, that is, the width direction of the projection of the robotic arm 120 onto the top surface of the equipment body 110 (the direction of the wide side of the aforementioned elongated shape).

[0080] In order to accommodate the robotic arm 120, the shape of the receiving bin 115 is the same as that of the recovered robotic arm 120. The receiving bin 115 is also rectangular. In order to allow other components to be set on the front side of the device body 110, the receiving bin 115 is arranged laterally on the device body 110. That is, the first direction X is perpendicular to the direction of movement of the robot, the second direction Y is the direction of movement of the device body 110, and the third direction Z is the height direction of the device body 110.

[0081] For ease of description, we define the side of the self-moving device 100 that moves forward along the second direction Y as the front and the other side as the back. We define the left side of the direction from back to front along the first direction X as the left and the right side of the direction from back to front as the right. We define the side of the device body 110 where the robotic arm 120 is mounted along the third direction Z as the top and the other side as the bottom.

[0082] In this application, the walking wheel assembly 113 can lift the front of the chassis 112 a certain distance, enabling the main body of the equipment 110 to overcome obstacles. The main body of the equipment 110 also includes an auxiliary wheel assembly 114 disposed on the front of the chassis 112. The auxiliary wheel assembly 114 can be a swivel wheel. The auxiliary wheel assembly 114 can also guide the chassis 112 to move and can also lift the front of the chassis 112, enabling the main body of the equipment 110 to overcome obstacles.

[0083] In other words, in some embodiments, the chassis 112 can be guided to move by at least one of the walking wheel assembly 113 and the auxiliary wheel assembly 114, and the front of the chassis 112 can be raised by at least one of the walking wheel assembly 113 and the auxiliary wheel assembly 114, so that the main body of the equipment 110 can overcome obstacles.

[0084] The specific structure of the robotic arm of the self-moving device of this application will be described next.

[0085] Figure 4 This paper shows a schematic diagram of the structure of the robotic arm 120 of the self-moving device 100 provided in an embodiment of this application. Figure 4 The middle arrow indicates the direction of rotation of joint assembly 126, such as... Figure 4 As shown, in some embodiments, the robotic arm 120 includes an operating structure 122, a working arm 124, and a joint assembly 126. The working arm 124 includes multiple articulated arms 124, and the joint assembly 126 includes at least two rotating shafts 126. Each pair of articulated arms 124 is connected via a rotating shaft 126. The operating structure 122 is located at the end of the entire robotic arm 120 and is used to grip and hold objects or clean surfaces to be cleaned.

[0086] In some embodiments, the operating structure may be a gripper or a cleaning unit, which may be a cloth, a roller brush, a side brush, etc.

[0087] The number of articulated arms 124 can be multiple, and the specific number is not limited. In this embodiment of the application, for ease of description, the implementation of the robotic arm 120 including three articulated arms 124 and an operating structure 122 is used to illustrate the movement of the entire robotic arm 120.

[0088] In some embodiments, the device body 110 has a receiving compartment 115 for accommodating the robotic arm 120 (e.g., Figure 2 As shown), the joint assembly 126 drives the working arm 124 to move. The robotic arm 120 being stored in the receiving compartment 115 means that all the working arms 124 can be stored within the receiving compartment 115. This allows the self-moving device 100 to retract the robotic arm 120 into the receiving compartment 115 when it is not needed for tasks such as climbing stairs, overcoming obstacles, or recharging. This reduces interference between the robotic arm 120 and other structures, thereby reducing damage to the robotic arm 120 and improving the overall service life of the machine.

[0089] In order to reduce the space occupied by multiple robotic arms 120, multiple working arms 124 are folded and stored in the storage compartment 115. Each working arm 124 can be folded, or only some of the working arms 124 can be folded. The folding method is not limited.

[0090] For ease of description, in one example, such as Figure 4 As shown, joint arms 124a, 124b, and 124c are defined respectively.

[0091] Similarly, the joint assembly 126 includes a rotation shaft 126a, a rotation shaft 126b, and a rotation shaft 126c. Joint arms 124a and 124b are connected via rotation shaft 126a, and joint arms 124b and 124c are connected via rotation shaft 126b. Rotation shaft 126a can adjust the pitch angle of joint arm 124a, and rotation shaft 126b can adjust the pitch angle of joint arm 124b. Joint arm 124a and operating structure 122 are connected via rotation shaft 126c, which adjusts the direction in which the operating structure 122 acts on the object, thus determining the attitude of the operating structure 122.

[0092] The joint assembly 126 may also include a rotation axis 126d, with the articulated arm 124c connected to the rotation axis 126d. The rotary motor 116 drives the arm to rotate in the third direction Z, adjusting the relative angle of the entire robotic arm 120 on the device body 110, allowing the operating component to extend to different positions on the device body 110. Specifically, the operating component can be positioned at the front of the device body 110, enabling it to act on objects in front of the device body 110; alternatively, the operating component can be positioned at the rear, left, or right of the device body 110, thereby increasing the overall operating range of the robotic arm 120.

[0093] In another example, such as Figure 5 As shown, within the receiving chamber 115, the robotic arm may further include a base 124d, on which the entire robotic arm 120 can be mounted. The joint assembly 126 may further include a rotating shaft 126e, through which the joint arm 124c and the base 124d are connected. The rotating shaft 126e can adjust the pitch angle of the joint arm 124c. The rotating shaft 126d is driven to rotate along the third direction Z, which can adjust the relative angle of the entire robotic arm 120 on the device body 110, allowing the operating component to extend to different positions on the device body 110. Specifically, the operating component can be positioned at the front of the device body 110, allowing it to act on objects at the front of the device body 110, or it can be positioned at the rear, left, or right of the device body 110, thereby increasing the operating range of the entire robotic arm 120.

[0094] Joint arms 124a and 124b are the main motion joints. The pitch and rotation directions of rotation axes 126a, 126b and 126e are the same. Rotation axes 126a, 126b and 126e together determine the position of the operating structure 122. Rotation axis 126c adjusts the direction of the operating structure 122 acting on the object and determines the posture of the operating structure 122.

[0095] like Figure 6 As shown, Figure 6 In the loaded state of the robotic arm 120, the object is gripped by the operating structure 122, and then the working arm 124 is adjusted to the corresponding loaded posture by the joint assembly 126. The robotic arm 120 maintains the loaded posture, and the main body of the equipment 110 moves to realize the object transportation.

[0096] like Figure 7 As shown, Figure 6 The process of placing an object on the robotic arm 120 involves adjusting the working arm 124 to the corresponding object placement posture via the joint assembly 126, so that the operating structure 122 is aligned above the position to be placed on the ground, and then controlling the operating structure 122 to release the object, thereby achieving object placement.

[0097] The control method of the self-moving device of this application will be described next.

[0098] The control method for the self-moving device of this application can be applied to self-moving devices, specifically to the controller of the self-moving device.

[0099] In some possible implementations, such as Figure 8 As shown, a control method for a self-moving device is provided. The self-moving device includes a device body and a robotic arm connected to the device body. The method includes: Step S801: During the process of the self-moving device carrying an object, if a placement instruction for the object is received, spatial information and map information around the self-moving device are obtained.

[0100] Among them, the object placement instruction can be generated automatically by the self-moving device detecting the location of the self-moving device, the time when the self-moving device is carrying the object, etc.; it can also be an instruction directly given by the user to the self-moving device; or it can be an instruction sent by the user through the control terminal to the self-moving device.

[0101] For example, the object placement command can be triggered by detecting that the self-moving device has entered a preset space, such as detecting that the self-moving device has entered a warehouse; it can also be triggered by detecting that the self-moving device has reached a preset carrying time; or by receiving a "put down the object" command sent directly by the user via voice.

[0102] The self-moving device can be equipped with sensors for collecting spatial information on its main body, sensors on the side walls of the main body, and sensors on the top of the main body.

[0103] In practice, the side walls and top of the main body of the equipment can be equipped with the same type of sensors, or different types of sensors can be installed.

[0104] In the specific implementation process, the robotic arm of the self-moving device can also be equipped with sensors for collecting spatial information. The type of sensors on the robotic arm can be the same as or different from the sensors on the main body of the device.

[0105] The sensors may include solid-state LiDAR (Light Detection and Ranging), ToF (Time-of-Flight) sensors, or visual sensors.

[0106] In some possible embodiments of this application, a first sensor is provided on the side wall of the main body of the device. The first sensor is a TOF sensor, and the spatial information is point cloud data collected by the first sensor. The point cloud data is three-dimensional spatial data collected by the sensor, which consists of a large number of discrete points, and each point contains three-dimensional coordinate information.

[0107] At least one second sensor is installed on the top of the main body of the device and on the robotic arm. The second sensor is any one of a TOF sensor, a lidar sensor, or a vision sensor. The map information is generated based on a mapping algorithm, such as a simultaneous localization and mapping (SLAM) algorithm, using spatial information from the first and second sensors.

[0108] Among them, the spatial information and map information around the self-moving device can be spatial information and map information within a preset range of the self-moving device. This preset range at least covers the area corresponding to the placement range of the object when the self-moving device is in its current position.

[0109] Step S802: If, based on spatial information and map information, it is determined that there is an object placement area in the candidate area that meets the object placement conditions, then the robotic arm is controlled to place the object in the object placement area.

[0110] The candidate region is the area corresponding to the placement range of the object when the self-moving device is in its current position.

[0111] In the specific implementation process, we can first predict the area that the object will occupy when placed on the ground in the current posture, and then determine the candidate area based on the range corresponding to the fixed area that the object needs to occupy in the current posture when it rotates around once.

[0112] Specifically, if, based on spatial information and map information, it is determined that there are object placement areas in the candidate areas that meet the object placement conditions, that is, spatial information determines that there are object placement areas in the candidate areas that meet the object placement conditions, and map information also determines that there are object placement areas in the candidate areas that meet the object placement conditions.

[0113] In some possible implementations, the object placement area meets the object placement conditions, including: Based on spatial information, it is determined that there are no obstacles in the area where the object is placed, and based on map information, it is determined that the area where the object is placed meets the preset safety conditions.

[0114] The preset safety conditions include: The object is placed in an area that is not within the work route, a pre-designated hazardous area, or a restricted area.

[0115] Among them, the object placement area is not located on the work route, which means that the object placement area does not affect the movement of the self-moving equipment, such as the return route of the self-moving equipment, and if the self-moving equipment is a cleaning equipment, it does not affect the cleaning route of the cleaning equipment; the object placement area cannot be located in the preset danger area, such as thresholds or cliffs, to avoid the self-moving equipment falling.

[0116] In the above embodiments, by combining the spatial information and map information around the self-moving device, it is determined whether there is an object placement area that meets the object placement conditions within the area corresponding to the object placement range when the self-moving device is in its current position. If an object placement area exists, the robotic arm is controlled to place the object in the object placement area. This can accurately find the correct and safe position to place the object in advance, avoiding damage or bumps to the robotic arm when placing the object, or affecting subsequent work.

[0117] The following will illustrate, with reference to specific embodiments, the methods for obtaining spatial and map information around the self-moving device.

[0118] In some possible implementations of this application, the spatial information includes at least one of historical spatial information and real-time spatial information.

[0119] Among them, historical spatial information is determined from the historical spatial information set based on the current location; the historical spatial set includes spatial information corresponding to the self-moving device in multiple historical locations.

[0120] Among them, real-time spatial information refers to spatial information collected in real time by mobile devices.

[0121] In the specific implementation process, the self-moving device has a set of historical spatial information stored in advance. It queries multiple historical locations to find the historical location that matches the current location and obtains the spatial information corresponding to the matching historical location to obtain the historical spatial information.

[0122] In the specific implementation process, such as Figure 9 As shown, the self-moving device collects TOF point cloud data in real time through the first sensor it is equipped with, and obtains real-time spatial information.

[0123] In some other possible implementations, a second sensor can be combined with the first sensor to obtain real-time spatial information.

[0124] In some possible implementations of this application, the map information is determined from map records based on the current location.

[0125] like Figure 9 As shown, map records are generated by the mobile device based on spatial information from the first and second sensors during its historical movement. Map records can be in the form of three-dimensional map information.

[0126] In practice, map information can be obtained by querying the map record corresponding to the current location.

[0127] The following will describe the specific process of determining the object placement area with reference to an example.

[0128] In some possible implementations of this application, the method further includes: Perform the first region determination operation at least once until the first termination condition is met, wherein the first region determination operation includes: (1) Based on spatial information, determine the first placement area without obstacles from the candidate areas; (2) Obtain the first map information corresponding to the first placement area from the map information. If the first placement area meets the preset safety conditions based on the first map information, then the first placement area is used as the object placement area. (3) If the first placement area does not meet the preset safety conditions, update the candidate area corresponding to the next first area determination operation based on the first placement area.

[0129] It is important to note that determining the first placement area without obstacles from the candidate area actually involves determining whether the first placement area exists in the candidate area. If it does, then the process of determining the first placement area is complete. However, it is possible that the first placement area does not exist in the candidate area. If the first placement area does not exist, it means that the object placement position cannot be found in the candidate area given the current position of the mobile device.

[0130] In the specific implementation process, based on spatial information, it can be determined whether there are obstacles in the candidate area, and then it can be determined which sub-areas in the candidate area do not have obstacles, thereby determining the first placement area.

[0131] In the specific implementation process, we can first determine the areas without obstacles from the candidate areas, and then determine the first placement area from these areas. The specific process of determining the first placement area will be further explained in detail below.

[0132] It is important to note that the size of the first placement area is related to the space occupied by the object.

[0133] After determining the first placement area based on spatial information, it is then determined whether the first placement area meets the preset safety conditions based on map information. If it meets the preset safety conditions, the first placement area is then used as the object placement area. If it does not meet the preset safety conditions, the first placement area needs to be re-determined, which means performing the next first area determination operation.

[0134] In the specific implementation process, the first map information corresponding to the first placement area can be obtained from the map information around the self-moving device by the specific location of the first placement area.

[0135] like Figure 10As shown, in one possible embodiment of this application, the process of determining the object placement area may include: Step S1001: Obtain spatial information; Step S1002: Based on spatial information, determine whether a first placement area exists in the candidate area; if yes, proceed to step S1003; if no, proceed to step S1007. Step S1003: Obtain the first map information corresponding to the first placement area from the map information; Step S1004: Determine whether the first placement area meets the preset security conditions based on the first map information; if yes, proceed to step S1005; if no, proceed to step S1006. Step S1005: Use the first placement area as the object placement area; Step S1006: Update the candidate region based on the first placement region, and return to execute step S1002; Step S1007: Determine that the self-moving device cannot find an object placement area at its current location.

[0136] The first termination condition includes determining that the candidate region does not have a first placement region, or determining the object placement region. It is understandable that determining that the first placement area does not exist in the candidate area means that no object placement area can be found at the current position. At this point, the operation at the current position has ended, and the self-moving device needs to move to the next position to repeat the operation of finding an object placement area. When an object placement area is determined, the purpose of finding an object placement area at the current position has been achieved, and the loop ends.

[0137] In the above embodiments, by combining spatial information to determine the first placement area, it can be ensured that there are no obstacles to interfere with the placement of objects; then, if the first placement area meets the preset safety conditions based on the first map information, the first placement area is used as the object placement area, which can ensure that the object is placed in a place where it can be placed, and avoid affecting the operation of the self-moving device.

[0138] The following will describe the specific process of determining the first placement area in conjunction with an embodiment.

[0139] In some possible implementations of this application, the spatial information includes historical spatial information and real-time spatial information; based on the spatial information, determining a first placement area free of obstacles from the candidate areas includes: Based on spatial information, perform at least one second region determination operation until the second termination condition is met. The second region determination operation includes: ①Based on historical spatial information, a second placement area without obstacles is determined from the candidate areas.

[0140] It is important to note that determining the second placement area without obstacles from the candidate area actually involves determining whether the second placement area exists in the candidate area. If it does, then the process of determining the second placement area is complete. However, it is possible that the second placement area does not exist in the candidate area. If the second placement area does not exist, it means that the object placement position cannot be found in the candidate area given the current position of the mobile device.

[0141] In some possible implementations of this application, before determining a second placement area without obstacles from the candidate areas based on historical spatial information, the method further includes: Obtain the initial placement area corresponding to the current posture of the robotic arm; If, based on the spatial information of the initial placement area, it is determined that there are no obstacles in the initial placement area, then the initial placement area is taken as the first placement area.

[0142] Specifically, such as Figure 11 As shown, Figure 11 This is a schematic diagram of the initial placement area in one example of this application. The first sensor 1101 is set on the side wall of the self-moving device 110 along the moving direction of the self-moving device 110, that is, it is set directly in front of the side wall of the self-moving device 110, so as to collect spatial information in front of the self-moving device during its movement, thereby avoiding collisions. The initial placement area 1102 is also located directly in front of the main body of the device along the moving direction of the self-moving device. When determining whether there is an obstacle in the initial placement area based on spatial information, historical spatial information and real-time spatial information can be combined for judgment at the same time, or the judgment can be made directly based on real-time spatial information.

[0143] Based on historical spatial information, a second placement area without obstacles is determined from the candidate areas, which also includes: If, based on the spatial information of the initial placement area, it is determined that there are obstacles in the initial placement area, the historical spatial information is updated, and based on the updated historical spatial information, a second placement area without obstacles is determined from the candidate areas.

[0144] In other words, we can first determine whether there are obstacles in the predicted initial placement area when the self-moving device is in its current posture. If there are no obstacles, we can directly determine the second placement area; if there are obstacles, we can then determine the second placement area based on the surrounding historical spatial information.

[0145] The process of determining the second placement area will be explained in more detail below.

[0146] ② Control the rotation of the main body of the self-moving device to obtain real-time spatial information corresponding to the second placement area.

[0147] In the specific implementation process, such as Figure 12 As shown, Figure 12 This is a schematic diagram of a scheme for determining the first rotation angle in one example of this application; the first rotation angle α of the main body of the device can be determined based on the relative relationship between the second placement area 1201 and the initial placement area 1202; based on the first rotation angle α, the main body of the self-moving device is controlled to rotate to obtain real-time spatial information corresponding to the second placement area 1201.

[0148] ③ If, based on the real-time spatial information corresponding to the second placement area, it is determined that there are no obstacles in the second placement area, then the second placement area shall be used as the first placement area.

[0149] In the specific implementation process, if it is determined based on real-time spatial information that there are no obstacles in the second placement area, it means that the second placement area has been verified by combining historical spatial information and real-time spatial information. The second placement area can be used as the first placement area, and then the map information can be combined to determine whether the first placement area meets the preset safety conditions.

[0150] ④ If there are obstacles in the second placement area, update the historical spatial information corresponding to the next second area determination operation based on the second placement area.

[0151] In the specific implementation process, if there are obstacles in the second placement area, it means that the second placement area determined by the current second area determination operation cannot place objects. It is necessary to re-determine a new object placement area and update the historical spatial information, that is, to correct the historical spatial information that there are obstacles in the second placement area. Then, the next second area determination operation is performed.

[0152] The second termination condition includes determining the first placement area, or that there is no second placement area among the candidate areas.

[0153] It is understandable that determining that there is no second placement area in the candidate area means that no object placement area can be found at the current position. At this point, the operation of determining the object placement area at the current position has ended, and the self-moving device needs to move to the next position and repeat the operation of finding the object placement area. When the first placement area is determined, the purpose of finding the first placement area has been achieved, and the loop ends.

[0154] In some possible embodiments of this application, such as Figure 13 As shown, the process of determining a first placement area free of obstacles from the candidate areas may specifically include: Step S1301: Obtain the initial placement area corresponding to the current posture of the robotic arm; Step S1302: Determine whether there are obstacles in the initial placement area based on spatial information; if not, proceed to step S1303; if not, proceed to step S1304. Step S1303: The initial placement area is used as the first placement area; In step S1304, based on historical spatial information, it is determined whether a second placement area exists in the candidate area; if yes, proceed to step S1305; if no, proceed to step S1311. Step S1305: Determine the second placement area; Step S1306: Control the main body of the self-moving device to rotate so that the position to be placed by the robotic arm corresponds to the second placement area; Step S1307: Obtain the real-time spatial information corresponding to the second placement area; Step S1308: Determine whether there are obstacles in the second placement area based on real-time spatial information; if not, proceed to step S1309; if yes, proceed to step S1310. Step S1309: Use the second placement area as the first placement area; Step S1310: Update historical spatial information, then return to step S1304; Step S1311: Determine that the self-moving device cannot find an object placement area at its current location.

[0155] In the above embodiments, the second placement area is first determined based on historical spatial information, which can quickly filter out areas where objects may be placed; then the self-moving device is controlled to move to collect real-time spatial information corresponding to the second placement area, which can more accurately determine whether there are obstacles in the second placement area and ensure the safety of the obstacle placement process.

[0156] In addition, it prioritizes determining whether there are obstacles in the initial placement area. If there are no obstacles in the initial placement area, the initial placement location is taken as the first placement area. If there are obstacles in the initial placement area, the second placement area is determined based on historical spatial information. This can save the computing resources and rotation energy of the self-moving device and determine the first placement area more quickly.

[0157] The specific process of determining the second placement area will be further explained below with reference to the embodiments.

[0158] In some possible implementations of this application, a second placement area without obstacles is determined from the candidate areas based on historical spatial information, including: Based on historical spatial information, the first candidate region without obstacles is determined from the candidate regions; Based on the first candidate region, the second placement region is determined to be the placement region closest to the initial placement position corresponding to the current posture of the robotic arm.

[0159] It is important to note that the selected placement area must be within the area where the object will be placed.

[0160] The candidate region can be understood as the area surrounding the mobile device. Based on historical spatial information, the first candidate region can be obtained by identifying sub-regions without occlusion from the candidate region.

[0161] In the specific implementation process, we can first determine whether the area of ​​the first candidate area meets the area of ​​the object to be placed. If it does, we can then select the placement area that is closest to the initial placement area from the first candidate area. In other words, we can determine the placement area that corresponds to the smallest rotation angle of the mobile device and obtain the second placement area.

[0162] like Figure 14 As shown, Figure 14 This is a schematic diagram of a scheme for determining the second candidate region in an example. Based on historical spatial information, a first candidate region 1402a without obstacles is determined from the candidate regions 1402. Then, from the first candidate region 1402a, the placement region closest to the initial placement region 1402b is selected to obtain the second candidate region 1402c.

[0163] In the above embodiments, a first candidate region without obstacles is first determined from the candidate regions based on historical spatial information. Then, a second placement region is determined based on the placement region in the first candidate region that is closest to the initial placement position corresponding to the current posture of the robotic arm. This can minimize the rotation angle of the main body of the self-moving device, thereby saving rotation energy of the self-moving device.

[0164] In some possible implementations of this application, a second placement region is determined based on the placement region closest to the initial placement position corresponding to the current posture of the robotic arm within the first candidate region, including: Determine the placement area in the first candidate region that is closest to the initial placement position corresponding to the current posture of the robotic arm; The first spatial requirement information for the robotic arm to transport objects during the process of determining the direction corresponding to the determined placement area when the main body of the equipment is rotated. If the spatial information meets the first spatial requirement information, then the determined placement area will be used as the second placement area.

[0165] In the specific implementation process, before rotating to the placement area closest to the initial placement position corresponding to the current posture of the robotic arm, it is necessary to first determine whether there is any obstruction during the rotation, that is, to determine whether the spatial information meets the first spatial requirement information. If it does, then rotate to the second placement area.

[0166] It should be noted that if the spatial information does not meet the first spatial requirement information, the obstruction that does not meet the first spatial requirement information can be marked, and the rotatable direction of the self-moving device can be determined based on the marked obstruction. Based on the rotatable direction of the self-moving device and the first candidate area, the second placement area can be re-determined.

[0167] like Figure 15 As shown, Figure 15 This is a schematic diagram of a scheme for determining the second candidate region in an example of this application. Based on historical spatial information, a first candidate region 1502a without obstacles is determined from the candidate regions 1502. Then, from the first candidate region 1502a, the placement region 1502c closest to the initial placement region 1502b is selected. At this time, it is determined that the spatial information does not meet the first spatial requirement information, so it is necessary to mark that region 1502c has an obstruction that hinders the rotation of the robotic arm. Then, the placement region closest to the initial placement position corresponding to the current posture of the robotic arm is re-determined. At this time, the second placement region 1502d can be obtained.

[0168] The above embodiment first determines the first placement area based on spatial information, and then determines whether the first placement area meets the preset safety conditions, thereby determining the object placement area. The following will describe another way of determining the object placement area in conjunction with the embodiment.

[0169] In some possible implementations of this application, the spatial information includes historical spatial information and real-time spatial information, and the method further includes: (1) Based on historical spatial information, the first candidate region without obstacles is determined from the candidate regions.

[0170] In the specific implementation process, historical spatial information includes spatial information surrounding the self-moving device, but real-time spatial information includes spatial information within the field of view of the first sensor. Therefore, the first candidate region can be determined based on historical spatial information.

[0171] (2) Based on map information, a second candidate area that meets the preset security conditions is determined from the candidate areas. In the specific implementation process, the area to be bypassed can be determined based on map information. The area to be bypassed can include the area where the operation route is located, as well as unsafe areas, such as restricted areas and cliffs. Then, the area to be bypassed in the candidate areas can be eliminated to obtain a second candidate area that meets the preset safety conditions.

[0172] (3) Determine the object placement area based on the first candidate region, the second candidate region and real-time spatial information.

[0173] In the specific implementation process, the overlapping area can be determined first based on the first candidate area and the second candidate area, and then the object placement area can be determined based on the real-time spatial information corresponding to the overlapping area.

[0174] In some possible implementations of this application, determining the object placement area based on the first candidate region, the second candidate region, and real-time spatial information may include: Perform at least one third region determination operation until the third termination condition is met, wherein the third region determination operation includes: ① Determine the overlapping area between the first and second candidate areas, and determine the third placement area based on the overlapping area.

[0175] In specific implementation, the third placement area based on the overlapping area can include: The third placement area is determined based on the placement area in the overlapping region that is closest to the initial placement position corresponding to the current posture of the robotic arm.

[0176] Similarly, the selected placement area must meet the requirements of the area where the object is placed.

[0177] In the specific implementation process, we can first determine whether the area of ​​the third candidate region meets the area of ​​the object to be placed. If it does, we can then select the placement area that is closest to the initial placement area from the third candidate region. In other words, we can determine the placement area that corresponds to the smallest rotation angle of the mobile device and obtain the third placement area.

[0178] In the specific implementation process, before rotating to the placement area closest to the initial placement position corresponding to the current posture of the robotic arm, it is necessary to first determine whether there is any obstruction during the rotation, that is, to determine whether the spatial information meets the first spatial requirement information. If it does, then rotate to the third placement area. The specific process is similar to rotating to the second placement area, and will not be described in detail here.

[0179] ② Control the rotation of the main body of the self-moving device to obtain real-time spatial information corresponding to the third placement area.

[0180] Similarly, the second rotation angle of the main body of the device can be determined based on the relative relationship between the third placement area and the initial placement area; based on the second rotation angle, the main body of the self-moving device is controlled to rotate to obtain real-time spatial information corresponding to the third placement area.

[0181] ③ If, based on the real-time spatial information corresponding to the third placement area, it is determined that there are no obstacles in the third placement area, then the third placement area shall be used as the object placement area.

[0182] In the specific implementation process, if it is determined based on real-time spatial information that there are no obstacles in the third placement area, it means that historical spatial information, map information, and real-time spatial information have all been combined to confirm that there are no obstacles in the third placement area, and the third placement area can be used as the object placement area.

[0183] ④ If there are obstacles in the third placement area, update the overlapping area corresponding to the next third area determination operation based on the third placement area.

[0184] In the specific implementation process, if there are obstacles in the third placement area, it means that the third placement area determined by the current third area determination operation cannot place objects. A new third placement area needs to be determined, the overlapping area needs to be updated, and then the next third area determination operation is performed.

[0185] The third termination condition includes any of the following: There is no first candidate region; There is no second candidate region; There is no overlap between the first and second candidate regions; Determine the area where the object will be placed.

[0186] It is understandable that determining that there is no overlap between the first and second candidate regions means that no object placement area can be found at the current position. At this point, the operation of determining the object placement area at the current position has ended, and the mobile device needs to move to the next position to repeat the operation of finding the object placement area. Once the object placement area is determined, the goal has been achieved, and the loop ends.

[0187] In some possible embodiments of this application, such as Figure 16 As shown, the process of determining the placement area of ​​an object can specifically include: Step S1601: Obtain historical spatial information around the mobile device; Step S1602: Based on historical spatial information, determine whether a first candidate region exists in the candidate region; if yes, proceed to step S1603; if no, proceed to step S1613. Step S1603: Determine the first candidate region from the candidate regions; Step S1604: Obtain map information about the area around the mobile device; Step S1605: Determine whether a second candidate area exists based on map information; if yes, proceed to step S1606; otherwise, proceed to step S1614. Step S1606: Determine the second candidate region from the candidate regions; Step S1607: If both steps S1603 and S1606 have been executed, determine whether there is an overlapping area between the first candidate region and the second candidate region; if yes, execute step S1608; if no, execute step S1614. Step S1608: Determine the overlapping area; Step S1609: Determine the third placement area based on the overlapping area; Step S1610: Control the main body of the self-moving device to rotate in order to obtain real-time spatial information corresponding to the third placement area; Step S16011: Based on the real-time spatial information corresponding to the third placement area, determine whether there are obstacles in the third placement area; if not, proceed to step S1612; if yes, proceed to step S1613. Step S1612: Use the third placement area as the object placement area; Step S1613: Update the overlapping area, then return to step S1608; Step S1614: Determine that the self-moving device cannot find an object placement area at its current location.

[0188] In the above embodiments, based on historical spatial information, a first candidate region without obstacles is determined from the candidate regions. Based on map information, a second candidate region that meets preset safety conditions is determined from the candidate regions. Then, the overlapping area between the first and second candidate regions is determined. Based on the overlapping area, a third placement region is determined. At this time, the third placement region is confirmed to be free of obstacles by historical spatial information and to meet preset safety conditions by map information. Then, the main body of the self-moving device is controlled to rotate, which can quickly determine the rotation angle of the self-moving device to obtain the real-time spatial information corresponding to the third placement region. Based on the real-time spatial information corresponding to the third placement region, if it is determined that there are no obstacles in the third placement region, the object placement region can be accurately found.

[0189] In some possible implementations of this application, the method further includes: Obtain the object's secondary space requirements; Based on the second space requirement information, determine the size of the area corresponding to the object placement area, and determine the size of the candidate area.

[0190] In practice, the second space requirement information can be determined by the spatial information around the object during the process of the self-moving device grasping the object; or the second space requirement information can be determined by the spatial information around the object during the process of the self-moving device carrying the object.

[0191] In the actual implementation process, the size of the area corresponding to the object placement area needs to meet the conditions for accommodating the object. In other words, the area corresponding to the object placement area needs to meet the requirements of the second space.

[0192] In some possible embodiments of this application, before controlling the robotic arm to place the object in the object placement area, the method further includes: Obtain information on the needs of the third space.

[0193] Controlling the robotic arm to place the object in the object placement area includes: If the spatial information matches the requirements of the third space, then control the robotic arm to place the object in the object placement area.

[0194] Among them, the third space requirement information is the space requirement information corresponding to the object carried by the robotic arm from the carrying posture to the placement posture.

[0195] The third space requirement information includes the space requirement information corresponding to the movement from the transport posture to the placement posture when the gripper of the robotic arm holds the object. It includes the space requirement information of the object and the gripper together from the position corresponding to the transport posture to the position corresponding to the placement posture.

[0196] In the specific implementation process, the spatial requirement information corresponding to the object being gripped by the gripper can be determined first, and then the third spatial requirement information can be determined by combining the motion trajectory corresponding to the transport posture to the placement posture.

[0197] In the actual implementation process, if the spatial information does not meet the requirements of the third space, it is necessary to redetermine the object placement area.

[0198] In some possible implementations of this application, the spatial information includes historical spatial information and real-time spatial information, and the method further includes: If, based on spatial and map information, it is determined that there is no object placement area in the candidate area that meets the object placement conditions, then the location to be moved for the self-moving device is determined based on historical spatial information and map records. Control the mobile device to move to the desired location. During the movement, based on the collected real-time spatial information, update the historical spatial information set and map records, take the desired location as the new current location, and repeat the process of determining the object placement area until the object placement area is determined and place the object in the object placement area.

[0199] In this embodiment of the application, the following process can be defined as an object placement operation: acquiring spatial information and map information around the mobile device; if, based on the spatial information and map information, it is determined that there is an object placement area in the candidate area that meets the object placement conditions, then controlling the robotic arm to place the object in the object placement area.

[0200] In some possible embodiments of this application, the control method for the self-moving device may include: During the process of transporting an object by a self-moving device, if a placement instruction for the object is received, at least one placement area determination operation is performed until the placement termination condition is met. The placement area determination operation includes: Acquire spatial and map information about the surroundings of the mobile device; If, based on spatial and map information, it is determined that there is an object placement area in the candidate area that meets the object placement conditions, then the robotic arm is controlled to place the object in the object placement area. If there is no object placement area in the candidate area, the location to be moved of the self-moving device is determined based on historical spatial information and map records. Control the mobile device to move to the desired location. During the movement, based on the collected real-time spatial information, update the historical spatial information set and map records, set the desired location as the new current location, and perform the next placement area determination operation.

[0201] The placement termination condition can include any of the following: Determine the area where the object will be placed; The number of times the placement area determination operation has been performed has reached the preset number; The cumulative execution time of the placement area determination operation has reached the preset duration; Stop command received.

[0202] It is understandable that, during the movement, the historical spatial information set and map records are updated based on the real-time spatial information collected, so the spatial information and map information around the self-moving device will also be updated accordingly the next time they are acquired.

[0203] like Figure 17 As shown, in one embodiment of this application, the control method for a self-moving device may include: Step S1701: During the process of the self-moving device carrying the object, a placement instruction for the object is received. Step S1702: Obtain spatial information and map information around the mobile device; Step S1703: Based on spatial information and map information, determine whether there is an object placement area in the candidate area that meets the object placement conditions. If yes, proceed to step S1704; otherwise, proceed to step S1705. Step S1704: Control the robotic arm to place the object in the object placement area; Step S1705: Determine the location to be moved for the self-moving device based on historical spatial information and map records; Step S1706: Control the self-moving device to move to the desired location; Step S1707: During the movement, based on the collected real-time spatial information, update the historical spatial information set and map records, and return to step S1702.

[0204] In some possible embodiments of this application, a self-moving device is provided, including a device body and a robotic arm connected to the device body. The self-moving device is used for: During the transport of an object, if a placement instruction for the object is received, spatial information and map information around the mobile device are obtained. If, based on spatial and map information, it is determined that there is an object placement area in the candidate region that meets the object placement conditions, then the robotic arm will place the object in the object placement area. The candidate region is the area corresponding to the object placement range when the self-moving device is in its current position.

[0205] In some possible embodiments of this application, the object placement area meets the object placement conditions, including: Based on spatial information, it is determined that there are no obstacles in the area where the object is placed, and based on map information, it is determined that the area where the object is placed meets the preset safety conditions.

[0206] In some possible implementations of this application, the self-moving device is also used for: Perform the first region determination operation at least once until the first termination condition is met, wherein the first region determination operation includes: Based on spatial information, a first placement area without obstacles is determined from the candidate areas; Obtain the first map information corresponding to the first placement area from the map information. If it is determined from the first map information that the first placement area meets the preset safety conditions, then the first placement area is used as the object placement area. In some possible embodiments of this application, the first region determination operation further includes: If the first placement area does not meet the preset security conditions, the candidate area corresponding to the next first area determination operation is updated based on the first placement area. The first termination condition includes determining that the candidate region does not have a first placement region, or determining the object placement region.

[0207] In some possible implementations of this application, the spatial information includes historical spatial information and real-time spatial information; when the self-moving device determines a first placement area without obstacles from the candidate areas based on the spatial information, it is used for: Based on spatial information, perform at least one second region determination operation until the second termination condition is met. The second region determination operation includes: Based on historical spatial information, a second placement area without obstacles is determined from the candidate areas; Rotate the main body of the device to obtain real-time spatial information corresponding to the second placement area; If, based on the real-time spatial information corresponding to the second placement area, it is determined that there are no obstacles in the second placement area, then the second placement area will be used as the first placement area.

[0208] In some possible embodiments of this application, the second region determination operation further includes: If there are obstacles in the second placement area, the historical spatial information corresponding to the next second area determination operation is updated based on the second placement area; The second termination condition includes determining the first placement area, or that there is no second placement area in the candidate areas.

[0209] In some possible implementations of this application, the self-moving device is also used for: Obtain the initial placement area corresponding to the current posture of the robotic arm; If, based on the spatial information of the initial placement area, it is determined that there are no obstacles in the initial placement area, then the initial placement area is taken as the first placement area. Based on historical spatial information, a second placement area without obstacles is determined from the candidate areas, which also includes: If, based on the spatial information of the initial placement area, it is determined that there are obstacles in the initial placement area, the historical spatial information is updated, and based on the updated historical spatial information, a second placement area without obstacles is determined from the candidate areas.

[0210] In some possible embodiments of this application, when the self-moving device determines a second placement area free of obstacles from the candidate areas, it is used to: From the candidate regions, identify the first candidate region that does not contain any obstacles; Based on the first candidate region, the second placement region is determined to be the placement region closest to the initial placement position corresponding to the current posture of the robotic arm.

[0211] In some possible implementations of this application, when the self-moving device determines the second placement area based on the first candidate area, specifically the area closest to the initial placement position corresponding to the current posture of the robotic arm, it is used for: Determine the placement area in the first candidate region that is closest to the initial placement position corresponding to the current posture of the robotic arm; The first spatial requirement information for the robotic arm to transport objects during the process of determining the direction corresponding to the determined placement area when the main body of the equipment is rotated. If the spatial information meets the first spatial requirement information, then the determined placement area will be used as the second placement area.

[0212] In some possible implementations of this application, spatial information includes historical spatial information and real-time spatial information, and the self-moving device is also used for: Based on historical spatial information, the first candidate region without obstacles is determined from the candidate regions; Based on map information, a second candidate area that meets the preset security conditions is determined from the candidate areas; The object placement area is determined based on the first candidate region, the second candidate region, and real-time spatial information.

[0213] In some possible implementations of this application, when the self-moving device determines the object placement area based on the first candidate region, the second candidate region, and real-time spatial information, it is used to: Perform at least one third region determination operation until the third termination condition is met, wherein the third region determination operation includes: Determine the overlapping area between the first and second candidate regions, and determine the third placement area based on the overlapping area; Rotate the main body of the device to obtain real-time spatial information corresponding to the third placement area; If, based on the real-time spatial information corresponding to the third placement area, it is determined that there are no obstacles in the third placement area, then the third placement area will be used as the object placement area.

[0214] In some possible implementations of this application, the third region determination operation further includes: If there are obstacles in the third placement area, update the overlapping area corresponding to the next third area determination operation based on the third placement area; The third termination condition includes any of the following: There is no first candidate region; There is no second candidate region; There is no overlap between the first and second candidate regions; Determine the area where the object will be placed.

[0215] In some possible implementations of this application, when the self-moving device is placed based on a third overlapping region, it is used for: The third placement area is determined based on the placement area in the overlapping region that is closest to the initial placement position corresponding to the current posture of the robotic arm.

[0216] In some possible implementations of this application, the self-moving device is also used for: Obtain the object's secondary space requirements; Based on the second space requirement information, determine the size of the area corresponding to the object placement area, and determine the size of the candidate area.

[0217] In some possible implementations of this application, the self-moving device is also used for: Obtain third-space demand information, which is the spatial demand information corresponding to the object carried by the robotic arm from the carrying posture to the placement posture; When a self-moving device places an object into an object placement area using a robotic arm, it is used for: If the spatial information matches the requirements of the third space, the object will be placed in the object placement area using a robotic arm.

[0218] In some possible embodiments of this application, the spatial information includes at least one of historical spatial information and real-time spatial information; Historical spatial information is determined from a historical spatial information set based on the current location; the historical spatial information set includes spatial information corresponding to the mobile device's various historical locations; real-time spatial information is spatial information collected by the mobile device in real time. Map information is determined from map records based on the current location.

[0219] In some possible implementations of this application, spatial information includes historical spatial information and real-time spatial information, and the self-moving device is also used for: If, based on spatial and map information, it is determined that there is no object placement area in the candidate area that meets the object placement conditions, then the location to be moved for the self-moving device is determined based on historical spatial information and map records. Control the mobile device to move to the desired location. During the movement, based on the collected real-time spatial information, update the historical spatial information set and map records, take the desired location as the new current location, and repeat the process of determining the object placement area until the object placement area is determined and place the object in the object placement area.

[0220] In some possible implementations of this application, the preset security conditions include: The object is placed in an area that is not within the work route, a pre-designated hazardous area, or a restricted area.

[0221] The aforementioned self-moving device, by combining spatial and map information around the self-moving device, determines whether there is an object placement area that meets the object placement conditions within the area corresponding to the object placement range of the self-moving device at its current location. If an object placement area exists, the robotic arm is controlled to place the object in the object placement area. This can accurately find the correct and safe position to place the object in advance, avoiding damage or bumps to the robotic arm when placing the object, or affecting subsequent work.

[0222] By combining spatial information to determine the first placement area, it can be ensured that there are no obstacles to interfere with the placement of objects; then, based on the first map information, if the first placement area meets the preset safety conditions, the first placement area is used as the object placement area, which can ensure that the object is placed in a suitable position and avoid affecting the operation of the self-moving equipment.

[0223] First, the second placement area is determined based on historical spatial information, which can quickly filter out areas where objects may be placed. Then, the self-moving device is controlled to move to collect real-time spatial information corresponding to the second placement area, which can more accurately determine whether there are obstacles in the second placement area and ensure the safety of obstacle placement.

[0224] In addition, it prioritizes determining whether there are obstacles in the initial placement area. If there are no obstacles in the initial placement area, the initial placement location is taken as the first placement area. If there are obstacles in the initial placement area, the second placement area is determined based on historical spatial information. This can save the computing resources and rotation energy of the self-moving device and determine the first placement area more quickly.

[0225] In some possible implementations of this application, such as Figure 18 As shown, a control device 1800 for a self-moving device is provided. The self-moving device includes a device body and a robotic arm connected to the device body. The device includes: The acquisition module 1801 is used to acquire spatial information and map information around the self-moving device if a placement instruction for the object is received during the process of the self-moving device carrying the object. The placement module 1802 is used to control the robotic arm to place the object in the object placement area if, based on spatial information and map information, it is determined that there is an object placement area in the candidate area that meets the object placement conditions. The candidate area is the area corresponding to the object placement range when the self-moving device is in its current position.

[0226] In some possible embodiments of this application, the object placement area meets the object placement conditions, including: Based on spatial information, it is determined that there are no obstacles in the area where the object is placed, and based on map information, it is determined that the area where the object is placed meets the preset safety conditions.

[0227] In some possible embodiments of this application, the apparatus further includes a first determining module, configured to: Perform the first region determination operation at least once until the first termination condition is met, wherein the first region determination operation includes: Based on spatial information, a first placement area without obstacles is determined from the candidate areas; Obtain the first map information corresponding to the first placement area from the map information. If it is determined from the first map information that the first placement area meets the preset safety conditions, then the first placement area is used as the object placement area. In some possible embodiments of this application, the first region determination operation further includes: If the first placement area does not meet the preset security conditions, the candidate area corresponding to the next first area determination operation is updated based on the first placement area. The first termination condition includes determining that the candidate region does not have a first placement region, or determining the object placement region.

[0228] In some possible implementations of this application, the spatial information includes historical spatial information and real-time spatial information; when the first determining module determines a first placement area without obstacles from the candidate areas based on the spatial information, it is used to: Based on spatial information, perform at least one second region determination operation until the second termination condition is met. The second region determination operation includes: Based on historical spatial information, a second placement area without obstacles is determined from the candidate areas; Control the rotation of the main body of the self-moving device to obtain real-time spatial information corresponding to the second placement area; If, based on the real-time spatial information corresponding to the second placement area, it is determined that there are no obstacles in the second placement area, then the second placement area will be used as the first placement area.

[0229] In some possible embodiments of this application, the second region determination operation further includes: If there are obstacles in the second placement area, the historical spatial information corresponding to the next second area determination operation is updated based on the second placement area; The second termination condition includes determining the first placement area, or that there is no second placement area in the candidate areas.

[0230] In some possible embodiments of this application, the apparatus further includes a second determining module, used for: Obtain the initial placement area corresponding to the current posture of the robotic arm; If, based on the spatial information of the initial placement area, it is determined that there are no obstacles in the initial placement area, then the initial placement area is taken as the first placement area. When the first determining module determines a second placement area free of obstacles from the candidate areas based on historical spatial information, it is used for: If, based on the spatial information of the initial placement area, it is determined that there are obstacles in the initial placement area, the historical spatial information is updated, and based on the updated historical spatial information, a second placement area without obstacles is determined from the candidate areas.

[0231] In some possible embodiments of this application, when the first determining module determines a second placement area from the candidate areas where no obstacle exists, it is used to: From the candidate regions, identify the first candidate region that does not contain any obstacles; Based on the first candidate region, the second placement region is determined to be the placement region closest to the initial placement position corresponding to the current posture of the robotic arm.

[0232] In some possible implementations of this application, when the first determining module determines the second placement region based on the first candidate region, specifically the placement region closest to the initial placement position corresponding to the current posture of the robotic arm, it is used to: Determine the placement area in the first candidate region that is closest to the initial placement position corresponding to the current posture of the robotic arm; The first spatial requirement information for the robotic arm to transport objects during the process of determining the direction corresponding to the determined placement area when the main body of the equipment is rotated. If the spatial information meets the first spatial requirement information, then the determined placement area will be used as the second placement area.

[0233] In some possible embodiments of this application, the spatial information includes historical spatial information and real-time spatial information, and the device further includes a third determining module for: Based on historical spatial information, the first candidate region without obstacles is determined from the candidate regions; Based on map information, a second candidate area that meets the preset security conditions is determined from the candidate areas; The object placement area is determined based on the first candidate region, the second candidate region, and real-time spatial information.

[0234] In some possible implementations of this application, when determining the object placement area based on the first candidate region, the second candidate region, and real-time spatial information, the third determining module is used to: Perform at least one third region determination operation until the third termination condition is met, wherein the third region determination operation includes: Determine the overlapping area between the first and second candidate regions, and determine the third placement area based on the overlapping area; Control the rotation of the main body of the self-moving device to obtain real-time spatial information corresponding to the third placement area; If, based on the real-time spatial information corresponding to the third placement area, it is determined that there are no obstacles in the third placement area, then the third placement area will be used as the object placement area.

[0235] In some possible implementations of this application, the third region determination operation further includes: If there are obstacles in the third placement area, update the overlapping area corresponding to the next third area determination operation based on the third placement area; The third termination condition includes any of the following: There is no first candidate region; There is no second candidate region; There is no overlap between the first and second candidate regions; Determine the area where the object will be placed.

[0236] In some possible implementations of this application, the third determining module, when based on the third placement area of ​​the overlapping region, is used to: The third placement area is determined based on the placement area in the overlapping region that is closest to the initial placement position corresponding to the current posture of the robotic arm.

[0237] In some possible embodiments of this application, the apparatus further includes a fourth determining module, used for: Obtain the object's secondary space requirements; Based on the second space requirement information, determine the size of the area corresponding to the object placement area, and determine the size of the candidate area.

[0238] In some possible embodiments of this application, the apparatus further includes a fifth determining module, used for Obtain third-space demand information, which is the spatial demand information corresponding to the object carried by the robotic arm from the carrying posture to the placement posture; Controlling the robotic arm to place the object in the object placement area includes: If the spatial information matches the requirements of the third space, then control the robotic arm to place the object in the object placement area.

[0239] In some possible embodiments of this application, the spatial information includes at least one of historical spatial information and real-time spatial information; Historical spatial information is determined from a historical spatial information set based on the current location; the historical spatial information set includes spatial information corresponding to the mobile device's various historical locations; real-time spatial information is spatial information collected by the mobile device in real time. Map information is determined from map records based on the current location.

[0240] In some possible embodiments of this application, the spatial information includes historical spatial information and real-time spatial information, and the device further includes a sixth determining module, used for: If, based on spatial and map information, it is determined that there is no object placement area in the candidate area that meets the object placement conditions, then the location to be moved for the self-moving device is determined based on historical spatial information and map records. Control the mobile device to move to the desired location. During the movement, based on the collected real-time spatial information, update the historical spatial information set and map records, take the desired location as the new current location, and repeat the process of determining the object placement area until the object placement area is determined and place the object in the object placement area.

[0241] In some possible implementations of this application, the preset security conditions include: The object is placed in an area that is not within the work route, a pre-designated hazardous area, or a restricted area.

[0242] The aforementioned control device for the self-moving device, by combining spatial and map information around the self-moving device, determines whether there is an object placement area that meets the object placement conditions within the area corresponding to the object placement range of the self-moving device at its current location. If an object placement area exists, the device controls the robotic arm to place the object in the object placement area. This allows for accurate and safe placement of the object in advance, avoiding damage or collisions to the robotic arm when placing the object, or affecting subsequent work.

[0243] By combining spatial information to determine the first placement area, it can be ensured that there are no obstacles to interfere with the placement of objects; then, based on the first map information, if the first placement area meets the preset safety conditions, the first placement area is used as the object placement area, which can ensure that the object is placed in a suitable position and avoid affecting the operation of the self-moving equipment.

[0244] First, the second placement area is determined based on historical spatial information, which can quickly filter out areas where objects may be placed. Then, the self-moving device is controlled to move to collect real-time spatial information corresponding to the second placement area, which can more accurately determine whether there are obstacles in the second placement area and ensure the safety of obstacle placement.

[0245] In addition, it prioritizes determining whether there are obstacles in the initial placement area. If there are no obstacles in the initial placement area, the initial placement location is taken as the first placement area. If there are obstacles in the initial placement area, the second placement area is determined based on historical spatial information. This can save the computing resources and rotation energy of the self-moving device and determine the first placement area more quickly.

[0246] In one alternative embodiment, an electronic device is provided, such as Figure 19 As shown, Figure 19The illustrated electronic device 4000 includes a processor 4001 and a memory 4003. The processor 4001 and the memory 4003 are connected, for example, via a bus 4002. Optionally, the electronic device 4000 may further include a transceiver 4004, which can be used for data interaction between the electronic device and other electronic devices, such as sending and / or receiving data. It should be noted that in practical applications, the transceiver 4004 is not limited to one type, and the structure of the electronic device 4000 does not constitute a limitation on the embodiments of this application.

[0247] Processor 4001 may be a CPU (Central Processing Unit), a general-purpose processor, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. Processor 4001 may also be a combination that implements computational functions, such as including one or more microprocessor combinations, a combination of a DSP and a microprocessor, etc.

[0248] Bus 4002 may include a pathway for transmitting information between the aforementioned components. Bus 4002 may be a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus, etc. Bus 4002 can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 14 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.

[0249] The memory 4003 may be ROM (Read Only Memory) or other types of static storage devices capable of storing static information and instructions, RAM (Random Access Memory) or other types of dynamic storage devices capable of storing information and instructions, or EEPROM (Electrically Erasable Programmable Read Only Memory), CD-ROM (Compact Disc Read Only Memory) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media, other magnetic storage devices, or any other medium capable of carrying or storing computer programs and capable of being read by a computer, without limitation herein.

[0250] The memory 4003 stores computer programs that execute embodiments of this application, and its execution is controlled by the processor 4001. The processor 4001 executes the computer programs stored in the memory 4003 to implement the steps shown in the foregoing method embodiments.

[0251] This application provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it can implement the steps and corresponding content of the aforementioned method embodiments.

[0252] This application also provides a computer program product, including a computer program that, when executed by a processor, can implement the steps and corresponding content of the aforementioned method embodiments.

[0253] It should be understood that although arrows indicate various operation steps in the flowcharts of this application's embodiments, the order in which these steps are implemented is not limited to the order indicated by the arrows. Unless explicitly stated herein, in some implementation scenarios of this application's embodiments, the implementation steps in each flowchart can be executed in other orders as required. Furthermore, some or all steps in each flowchart, based on the actual implementation scenario, may include multiple sub-steps or multiple stages. Some or all of these sub-steps or stages can be executed at the same time, and each sub-step or stage can also be executed at different times. In scenarios where execution times differ, the execution order of these sub-steps or stages can be flexibly configured according to requirements, and this application's embodiments do not limit this.

[0254] The above are only optional implementation methods for some implementation scenarios of this application. It should be noted that for those skilled in the art, other similar implementation methods based on the technical concept of this application, without departing from the technical concept of this application, also fall within the protection scope of the embodiments of this application.

Claims

1. A control method for a self-moving device, characterized in that, The self-moving device includes a device body and a robotic arm connected to the device body, and the method includes: During the process of transporting an object by a self-moving device, if a placement instruction for the object is received, spatial information and map information around the self-moving device are obtained. If, based on the spatial information and the map information, it is determined that there is an object placement area in the candidate area that meets the object placement conditions, then the robotic arm is controlled to place the object in the object placement area. The candidate area is the area corresponding to the object placement range when the self-moving device is in its current position.

2. The method according to claim 1, characterized in that, The object placement area meets the object placement conditions including: Based on the spatial information, it is determined that there are no obstacles in the area where the object is placed, and based on the map information, it is determined that the area where the object is placed meets the preset safety conditions.

3. The method according to claim 2, characterized in that, The method further includes: Perform the first region determination operation at least once until the first termination condition is met, wherein the first region determination operation includes: Based on the spatial information, a first placement area without obstacles is determined from the candidate areas; Obtain first map information corresponding to the first placement area from the map information. If it is determined based on the first map information that the first placement area meets the preset safety conditions, then the first placement area is used as the object placement area.

4. The method according to claim 3, characterized in that, The first region determination operation also includes: If the first placement area does not meet the preset security conditions, the candidate area corresponding to the next first area determination operation is updated based on the first placement area. The first termination condition includes either the determination of the candidate region not having a first placement region, or the determination of the object placement region.

5. The method according to claim 3, characterized in that, The spatial information includes historical spatial information and real-time spatial information; The step of determining a first placement area free of obstacles from the candidate areas based on the spatial information includes: Based on the spatial information, perform at least one second region determination operation until a second termination condition is met. The second region determination operation includes: Based on the historical spatial information, a second placement area without obstacles is determined from the candidate areas; The main body of the self-moving device is rotated to obtain real-time spatial information corresponding to the second placement area; If, based on the real-time spatial information corresponding to the second placement area, it is determined that there are no obstacles in the second placement area, then the second placement area is used as the first placement area.

6. The method according to claim 5, characterized in that, The second region determination operation also includes: If there are obstacles in the second placement area, the historical spatial information corresponding to the next second area determination operation is updated based on the second placement area; The second termination condition includes determining a first placement area, or that no second placement area exists in the candidate areas.

7. The method according to claim 5, characterized in that, Before determining a second placement area without obstacles from the candidate areas based on the historical spatial information, the process further includes: Obtain the initial placement area corresponding to the current posture of the robotic arm; If, based on the spatial information of the initial placement area, it is determined that there are no obstacles in the initial placement area, then the initial placement area is taken as the first placement area; The step of determining a second placement area without obstacles from the candidate areas based on the historical spatial information further includes: If, based on the spatial information of the initial placement area, it is determined that there is an obstacle in the initial placement area, then the historical spatial information is updated, and based on the updated historical spatial information, a second placement area without obstacles is determined from the candidate areas.

8. The method according to claim 5 or 7, characterized in that, The step of determining a second placement area free of obstacles from the candidate areas includes: A first candidate region without obstacles is determined from the candidate regions; The second placement area is determined based on the placement area in the first candidate area that is closest to the initial placement position corresponding to the current posture of the robotic arm.

9. The method according to claim 8, characterized in that, The step of determining the second placement region based on the placement region closest to the initial placement position corresponding to the current posture of the robotic arm within the first candidate region includes: Determine the placement area in the first candidate region that is closest to the initial placement position corresponding to the current posture of the robotic arm; During the process of determining the direction corresponding to the determined placement area when the main body of the device rotates, the first spatial requirement information for the robotic arm to carry the object is obtained. If the spatial information satisfies the first spatial requirement information, then the determined placement area will be used as the second placement area.

10. The method according to claim 2, characterized in that, The spatial information includes historical spatial information and real-time spatial information, and the method further includes: Based on the historical spatial information, a first candidate region without obstacles is determined from the candidate regions; Based on the map information, a second candidate area that meets the preset security conditions is determined from the candidate areas; The object placement area is determined based on the first candidate region, the second candidate region, and the real-time spatial information.

11. The method according to claim 10, characterized in that, The step of determining the object placement area based on the first candidate region, the second candidate region, and the real-time spatial information includes: Perform at least one third region determination operation until the third termination condition is met, wherein the third region determination operation includes: Determine the overlapping area between the first candidate region and the second candidate region, and determine the third placement region based on the overlapping area; Control the rotation of the main body of the self-moving device to obtain real-time spatial information corresponding to the third placement area; If, based on the real-time spatial information corresponding to the third placement area, it is determined that there are no obstacles in the third placement area, then the third placement area is used as the object placement area.

12. The method according to claim 11, characterized in that, The third region determination operation also includes: If there are obstacles in the third placement area, update the overlapping area corresponding to the next third area determination operation based on the third placement area; The third termination condition includes any of the following: There is no first candidate region; There is no second candidate region; There is no overlap between the first candidate region and the second candidate region; Determine the area where the object will be placed.

13. The method according to claim 11, characterized in that, The third placement area based on the overlapping area includes: Based on the overlapping region, the third placement region is determined to be the placement region closest to the initial placement position corresponding to the current posture of the robotic arm.

14. The method according to any one of claims 1 to 13, characterized in that, The method further includes: Obtain the second spatial requirement information of the object; Based on the second spatial requirement information, the size of the area corresponding to the object placement area is determined, and the size of the candidate area is also determined.

15. The method according to any one of claims 1 to 13, characterized in that, Before controlling the robotic arm to place the object in the object placement area, the method further includes: Obtain third space requirement information, wherein the third space requirement information is the space requirement information corresponding to the transport posture and the placement posture of the robotic arm carrying the object; The control of the robotic arm to place the object in the object placement area includes: If the spatial information matches the third spatial requirement information, then control the robotic arm to place the object in the object placement area.

16. The method according to any one of claims 1 to 13, characterized in that, The spatial information includes at least one of historical spatial information and real-time spatial information; The historical spatial information is determined from a set of historical spatial information based on the current location; the set of historical spatial information includes spatial information corresponding to the various historical locations of the self-moving device. The real-time spatial information is the spatial information collected in real time by the self-mobile device; The map information is determined from map records based on the current location.

17. The method according to claim 16, characterized in that, The spatial information includes historical spatial information and real-time spatial information, and the method further includes: If, based on the spatial information and the map information, it is determined that there is no object placement area in the candidate area that meets the object placement conditions, then the location to be moved for the self-moving device is determined based on the historical spatial information and map records. The self-moving device is controlled to move to the location to be moved. During the movement, the historical spatial information set and map records are updated based on the collected real-time spatial information. The location to be moved is taken as the new current location, and the process of determining the object placement area is repeated until the object placement area is determined. The object is then placed in the object placement area.

18. The method according to any one of claims 1 to 13, characterized in that, The preset security conditions include: The object placement area is not located within any of the work route, pre-set hazardous areas, or restricted areas.

19. A self-moving device, characterized in that, The device includes a main body and a robotic arm connected to the main body. The self-moving device is used for: During the transport of an object, if a placement instruction for the object is received, spatial information and map information around the self-moving device are obtained. If, based on the spatial information and the map information, it is determined that there is an object placement area in the candidate area that meets the object placement conditions, then the robotic arm places the object in the object placement area. The candidate area is the area corresponding to the object placement range when the self-moving device is in its current position.

20. The self-moving device according to claim 19, characterized in that, The object placement area meets the object placement conditions including: Based on the spatial information, it is determined that there are no obstacles in the area where the object is placed, and based on the map information, it is determined that the area where the object is placed meets the preset safety conditions.

21. The self-moving device according to claim 20, characterized in that, The self-moving device is also used for: Perform the first region determination operation at least once until the first termination condition is met, wherein the first region determination operation includes: Based on the spatial information, a first placement area without obstacles is determined from the candidate areas; Obtain first map information corresponding to the first placement area from the map information. If it is determined based on the first map information that the first placement area meets the preset safety conditions, then the first placement area is used as the object placement area.

22. The self-moving device according to claim 21, characterized in that, The first region determination operation also includes: If the first placement area does not meet the preset security conditions, the candidate area corresponding to the next first area determination operation is updated based on the first placement area. The first termination condition includes either the determination of the candidate region not having a first placement region, or the determination of the object placement region.

23. The self-moving device according to claim 21, characterized in that, The spatial information includes historical spatial information and real-time spatial information; when the self-moving device determines a first placement area without obstacles from the candidate areas based on the spatial information, it is used to: Based on the spatial information, perform at least one second region determination operation until a second termination condition is met. The second region determination operation includes: Based on the historical spatial information, a second placement area without obstacles is determined from the candidate areas; Rotate the main body of the device to obtain real-time spatial information corresponding to the second placement area; If, based on the real-time spatial information corresponding to the second placement area, it is determined that there are no obstacles in the second placement area, then the second placement area is used as the first placement area.

24. The self-moving device according to claim 23, characterized in that, The second region determination operation also includes: If there are obstacles in the second placement area, the historical spatial information corresponding to the next second area determination operation is updated based on the second placement area; The second termination condition includes determining a first placement area, or that no second placement area exists in the candidate areas.

25. The self-moving device according to claim 23, characterized in that, The self-moving device is also used for: Obtain the initial placement area corresponding to the current posture of the robotic arm; If, based on the spatial information of the initial placement area, it is determined that there are no obstacles in the initial placement area, then the initial placement area is taken as the first placement area; The step of determining a second placement area without obstacles from the candidate areas based on the historical spatial information further includes: If, based on the spatial information of the initial placement area, it is determined that there is an obstacle in the initial placement area, then the historical spatial information is updated, and based on the updated historical spatial information, a second placement area without obstacles is determined from the candidate areas.

26. The self-moving device according to claim 23 or 25, characterized in that, When the self-moving device determines a second placement area free of obstacles from the candidate areas, it is used to: A first candidate region without obstacles is determined from the candidate regions; The second placement area is determined based on the placement area in the first candidate area that is closest to the initial placement position corresponding to the current posture of the robotic arm.

27. The self-moving device according to claim 26, characterized in that, When the self-moving device determines the second placement area based on the first candidate area, choosing the placement area closest to the initial placement position corresponding to the current posture of the robotic arm, it is used for: Determine the placement area in the first candidate region that is closest to the initial placement position corresponding to the current posture of the robotic arm; During the process of determining the direction corresponding to the determined placement area when the main body of the device rotates, the first spatial requirement information for the robotic arm to carry the object is obtained. If the spatial information satisfies the first spatial requirement information, then the determined placement area will be used as the second placement area.

28. The self-moving device according to claim 19, characterized in that, The spatial information includes historical spatial information and real-time spatial information, and the self-moving device is also used for: Based on the historical spatial information, a first candidate region without obstacles is determined from the candidate regions; Based on the map information, a second candidate area that meets the preset security conditions is determined from the candidate areas; The object placement area is determined based on the first candidate region, the second candidate region, and the real-time spatial information.

29. The self-moving device according to claim 28, characterized in that, When the self-moving device determines the object placement area based on the first candidate region, the second candidate region, and the real-time spatial information, it is used to: Perform at least one third region determination operation until the third termination condition is met, wherein the third region determination operation includes: Determine the overlapping area between the first candidate region and the second candidate region, and determine the third placement region based on the overlapping area; Rotate the main body of the device to obtain real-time spatial information corresponding to the third placement area; If, based on the real-time spatial information corresponding to the third placement area, it is determined that there are no obstacles in the third placement area, then the third placement area is used as the object placement area.

30. The self-moving device according to claim 29, characterized in that, The third region determination operation also includes: If there are obstacles in the third placement area, update the overlapping area corresponding to the next third area determination operation based on the third placement area; The third termination condition includes any of the following: There is no first candidate region; There is no second candidate region; there is no overlapping region between the first candidate region and the second candidate region; Determine the area where the object will be placed.

31. The self-moving device according to claim 29, characterized in that, When the self-moving device is placed based on the third placement area of ​​the overlapping region, it is used for: Based on the overlapping region, the third placement region is determined to be the placement region closest to the initial placement position corresponding to the current posture of the robotic arm.

32. The self-moving device according to any one of claims 19 to 31, characterized in that, The self-moving device is also used for: Obtain the second spatial requirement information of the object; Based on the second spatial requirement information, the size of the area corresponding to the object placement area is determined, and the size of the candidate area is also determined.

33. The self-moving device according to any one of claims 19 to 31, characterized in that, The self-moving device is also used for: Obtain third space requirement information, wherein the third space requirement information is the space requirement information corresponding to the transport posture and the placement posture of the robotic arm carrying the object; When the self-moving device places the object in the object placement area via the robotic arm, it is used for: If the spatial information matches the third spatial requirement information, the object is placed in the object placement area by the robotic arm.

34. The self-moving device according to any one of claims 19 to 31, characterized in that, The spatial information includes at least one of historical spatial information and real-time spatial information; The historical spatial information is determined from a set of historical spatial information based on the current location; the set of historical spatial information includes spatial information corresponding to the various historical locations of the self-moving device. The real-time spatial information is the spatial information collected in real time by the self-mobile device; The map information is determined from map records based on the current location.

35. The self-moving device according to claim 34, characterized in that, The spatial information includes historical spatial information and real-time spatial information, and the self-moving device is also used for: If, based on the spatial information and the map information, it is determined that there is no object placement area in the candidate area that meets the object placement conditions, then the location to be moved for the self-moving device is determined based on the historical spatial information and map records. The self-moving device is controlled to move to the location to be moved. During the movement, the historical spatial information set and map records are updated based on the collected real-time spatial information. The location to be moved is taken as the new current location, and the process of determining the object placement area is repeated until the object placement area is determined. The object is then placed in the object placement area.

36. The self-moving device according to any one of claims 19 to 31, characterized in that, The preset security conditions include: The object placement area is not located within any of the work route, pre-set hazardous areas, or restricted areas.

37. A control device for a self-moving device, characterized in that, The self-moving device includes a device body and a robotic arm connected to the device body, and the device includes: The acquisition module is used to acquire spatial information and map information around the self-moving device if a placement instruction for the object is received during the process of the self-moving device carrying the object. The placement module is configured to, if based on the spatial information and the map information, determine that there is an object placement area in the candidate area that meets the object placement conditions, then control the robotic arm to place the object in the object placement area, wherein the candidate area is the area corresponding to the object placement range when the self-moving device is in its current position.

38. A self-moving device, characterized in that, The device includes a main body, a robotic arm connected to the main body, a memory, a processor, and a computer program stored in the memory, characterized in that the processor executes the computer program to implement the steps of the method according to any one of claims 1-18.

39. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1-18.

40. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1-18.