Control method, storage medium and autonomous working machine
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2026-02-03
- Publication Date
- 2026-08-13
Smart Images

Figure CN2026076677_13082026_PF_FP_ABST
Abstract
Description
A control method, a storage medium, and an autonomous working machine
[0001] Cross-references to related applications
[0002] This application claims priority and benefit to Chinese Patent Application No. 202510142477.1, filed on February 8, 2025, all of which are incorporated herein by reference in their entirety, as if listed herein. Technical Field
[0003] This invention relates to a control method, a storage medium, and an autonomous machine. Background Technology
[0004] As smart devices become increasingly common in daily life, autonomous machines (such as automatic lawnmowers for garden maintenance and robotic vacuum cleaners for home floor cleaning) are also gaining popularity among users.
[0005] Autonomous working machines typically move and / or operate within a designated work area. For example, an automatic lawnmower can travel across a user's lawn and perform mowing operations, achieving automated lawn cutting and significantly reducing labor costs.
[0006] Autonomous work machines that move and work based on vision sensors are gradually becoming the mainstream trend in the market. More intelligent machines use VSLAM (Vision-Based Simultaneous Localization and Mapping) technology to create work area maps and move and work based on these maps. Summary of the Invention
[0007] To overcome the deficiencies in the prior art, the problem to be solved by the embodiments of this disclosure is to improve the accuracy of the work area map, and to improve the positioning accuracy and navigation accuracy.
[0008] In some embodiments, a control method is provided for an autonomous working machine equipped with a camera, the control method comprising:
[0009] A first map of the boundary of the work area is obtained, the first map including first coordinate information and first visual feature information;
[0010] Based on the first map, the autonomous working machine is controlled to make an initial movement along the boundary.
[0011] A second map is generated based on the images captured by the camera during the initial movement. The second map includes second coordinate information and second visual feature information.
[0012] Based on the first map and the latest second map, the autonomous working machine is controlled to move, and the second map used in this movement is updated according to the images captured by the camera during this movement.
[0013] In some implementations, obtaining a first map of the boundaries of the work area includes:
[0014] Obtain user remote control commands;
[0015] The user remote control commands control the autonomous working machine to move along the boundary, and generate the first map based on the images captured by the camera during the movement.
[0016] In some implementations, the deviation between the first coordinate information and the actual position of the boundary is smaller than the deviation between the second coordinate information and the actual position of the boundary.
[0017] In some implementations, the first coordinate information of the first map remains unchanged after the first map is generated.
[0018] In some implementations, controlling the movement of the autonomous work machine based on the first map and the latest second map includes:
[0019] Acquire real-time images captured by the camera;
[0020] Real-time visual feature information is determined based on the real-time image;
[0021] Based on the real-time visual feature information, the first visual feature information, and the second visual feature information, the pose information of the autonomous working machine is determined;
[0022] The autonomous working machine is controlled to move based on the pose information and the first coordinate information.
[0023] In some implementations, determining the pose information of the autonomous working machine based on the real-time visual feature information, the first visual feature information, and the second visual feature information includes:
[0024] The real-time visual feature information is matched with the first visual feature information and the second visual feature information respectively to determine the feature matching result;
[0025] If the feature matching result is that the real-time visual feature information matches the first visual feature information, the pose information is determined based on the first map and the real-time visual feature information.
[0026] If the feature matching result is that the real-time visual feature information matches the second visual feature information, the pose information is determined based on the second map and the real-time visual feature information.
[0027] In some implementations, if a loop is generated based on the second map, the second map used during the current movement is updated based on the images captured by the camera during the current movement.
[0028] In some implementations, updating the second map used during the movement based on images captured by the camera during the movement includes:
[0029] Based on the images captured by the camera during this movement, information to be updated is determined, including coordinate information to be updated and visual feature information to be updated.
[0030] Based on the information to be updated, the second map used during this movement is updated.
[0031] In some implementations, the second map used during the current movement is updated based on the information to be updated, including:
[0032] If the amount of data in the current second map is less than the preset storage capacity, the information to be updated is added to the second map to obtain the updated second map;
[0033] If the amount of data in the current second map is not less than the preset storage capacity, the current second map is replaced with the information to be updated to obtain the updated second map.
[0034] In some implementations, updating the second map includes supplementing and / or replacing the second coordinate information and second visual features of the current second map.
[0035] In some embodiments, the control method further includes:
[0036] Determine the time interval between the last update of the second map and the current time.
[0037] When the time interval is greater than a preset duration, the steps of controlling the autonomous working machine to move based on the first map and the latest second map, and updating the second map used in this movement based on the images captured by the camera during this movement are executed again.
[0038] In some implementations, before determining the time interval between the last update of the second map and the current time, the control method further includes:
[0039] Get the current season information;
[0040] The preset duration is determined based on the current season information.
[0041] In some embodiments, the control method further includes:
[0042] The first visual feature information of the first map is updated.
[0043] In some implementations, the first map is updated at a lower frequency than the second map.
[0044] In some implementations, updating the first visual feature information of the first map includes:
[0045] Based on the images captured by the camera during the entire movement, the loop closure parameters of each first visual feature information in the first map are determined. The loop closure parameters are related to the feature loop closure success rate and the feature storage time.
[0046] Based on the loopback parameters, visual feature information to be deleted is determined in the first map and then deleted.
[0047] In some implementations, updating the first visual feature information of the first map includes:
[0048] In the event of a loop closure based on the first map, the target visual feature information is determined based on the images captured by the camera during this movement.
[0049] The target visual feature information is added to the first map to obtain an updated first map.
[0050] In some implementations, when a loop closure occurs based on the first map, target visual feature information is determined based on images captured by the camera during the current movement, including:
[0051] In the case of a loop closure generated based on the first map, the pose information of the autonomous working machine is determined;
[0052] If the deviation between the pose information and the pose information corresponding to the first map is less than a preset deviation, the target visual feature information is determined based on the images captured by the camera during this movement.
[0053] In some embodiments, a control method is provided for an autonomous working machine equipped with a camera, wherein the control method includes:
[0054] A first map of the boundary of the work area is obtained, the first map including first coordinate information and first visual feature information;
[0055] A second map of the boundary of the work area is obtained, the second map including second coordinate information and second visual feature information;
[0056] Based on the first map and the latest second map, the autonomous working machine is controlled to move, and the second map used in this movement is updated according to the images captured by the camera during this movement.
[0057] In some implementations, obtaining a second map of the boundaries of the work area includes:
[0058] Based on the first map, the autonomous working machine is controlled to make an initial movement along the boundary.
[0059] The second map is generated based on the images captured by the camera during the initial movement.
[0060] In some implementations, obtaining a second map of the boundaries of the work area includes:
[0061] Copy the first map to obtain the second map.
[0062] In some embodiments, a computer-readable storage medium is provided, which stores a computer program for performing the methods described above.
[0063] In some embodiments, an autonomous working machine is provided, comprising:
[0064] processor;
[0065] Memory used to store processor-executable instructions;
[0066] A processor is used to execute the methods described above.
[0067] The embodiments disclosed herein can improve the accuracy of positioning and movement of autonomous working machines. Attached Figure Description
[0068] The objectives, technical solutions, and beneficial effects of the present invention described above can be clearly obtained through the following detailed description of specific embodiments that enable the implementation of the present invention, in conjunction with the accompanying drawings.
[0069] The same reference numerals and symbols in the accompanying drawings and the specification are used to represent the same or equivalent elements.
[0070] Figure 1 is a schematic diagram of the structure of an autonomous working machine provided in some embodiments of this application;
[0071] Figure 2 is a block diagram of an autonomous working machine provided in some embodiments of this application;
[0072] Figure 3 is a flowchart of a control method provided in some embodiments of this application;
[0073] Figure 4 is a flowchart of a control method provided in some other embodiments of this application;
[0074] Figure 5 is a schematic diagram of the processor and memory in an autonomous working machine provided in some embodiments of this application. Detailed Implementation
[0075] To facilitate understanding of the present invention, a more complete description will be given below with reference to the accompanying drawings. Preferred embodiments of the invention are shown in the drawings. However, the invention can be implemented in many different forms and is not limited to the embodiments described herein. Rather, these embodiments are provided to provide a thorough and complete understanding of the disclosure of the invention. The embodiments provided in this specification can be combined with each other.
[0076] In this invention, unless otherwise explicitly specified and limited, the terms "installation," "connection," "linking," and "fixing," etc., should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral part; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; they can refer to the internal communication of two components or the interaction between two components, unless otherwise explicitly limited. Those skilled in the art can understand the specific meaning of the above terms in this invention according to the specific circumstances.
[0077] The terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this invention, "a plurality of" means at least two, such as two, three, etc., unless otherwise explicitly specified.
[0078] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains. The terminology used herein in the description of the invention is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The term "and / or" as used herein includes any and all combinations of one or more of the associated listed items.
[0079] The embodiments provide a control method, a storage medium, and an autonomous working machine. The autonomous working machine can be an intelligent device capable of automatic movement, such as an automatic lawnmower, automatic vacuum cleaner, automatic mop, or automatic snowplow. It can automatically move and perform corresponding tasks within a designated work area, and can also return to a docking station along the boundary of the work area for parking or charging.
[0080] This embodiment provides an autonomous working machine, as shown in Figures 1 and 2. The autonomous working machine 10 includes a body 100, an imaging sensor 200, a position sensor 500, and a controller 600.
[0081] Specifically, the autonomous working machine 10 includes a drive unit 700 disposed on the machine body 100. The drive unit 700 is used to move the machine body 100 on the working surface according to the received drive commands. It typically includes rollers and a motor that drives the rollers to rotate. The rollers may include driving rollers and driven rollers. The rollers may be distributed on both sides of the machine body 100, and the number of rollers on each side may be one or two, etc.
[0082] The autonomous working machine 10 also includes a working module, which is used to perform specific work tasks. For example, if the autonomous working machine 10 is an automatic lawnmower, the working module includes lawnmower blades, a cutting motor, etc., and may also include auxiliary components such as a lawnmower height adjustment mechanism to optimize or adjust the lawnmower effect; if the autonomous working machine 10 is an automatic vacuum cleaner, the working module includes working components such as a vacuum motor, a vacuum port, a vacuum hose, a vacuum chamber, and a dust collection device for performing vacuuming tasks.
[0083] The autonomous working machine 10 may also include an energy module for providing energy for various tasks of the autonomous working machine 10. The energy module may include a rechargeable battery and a charging connection structure, wherein the charging connection structure is typically a charging electrode plate that can be used in conjunction with a charging electrode plate provided at the docking station to charge the autonomous working machine 10.
[0084] The autonomous working machine 10 also includes a memory 400 for storing data generated by sensors or controllers, or pre-storing data for use by the controller.
[0085] The autonomous working machine 10 also includes a position sensor 500, which may include an IMU (inertial measurement unit) or an ODO (odometer) mounted on the drive unit 700, for obtaining the relative position based on the movement of the body 100.
[0086] In addition to the modules mentioned above, the autonomous working machine 10 may also include a housing for accommodating and installing the various modules, a control panel for user operation, and various environmental sensors, such as humidity sensors, temperature sensors, acceleration sensors, and light sensors. These sensors can assist the autonomous working machine 10 in determining the working environment in order to execute the corresponding program.
[0087] The controller 600 is the core component of the autonomous working machine 10. It is used to control the autonomous working machine 10 to move and work automatically. Its functions include controlling the working module to start or stop, controlling the drive device 700 to move, judging the power of the energy module and controlling the autonomous working machine 10 to return to the docking station for automatic charging, and executing corresponding programs based on the data from environmental sensors.
[0088] Referring to Figures 1 and 2, the autonomous working machine 10 includes an imaging sensor 200 connected to the body 100 for acquiring images in the forward direction of the body 100. These images are at least partially images of the working surface in the forward direction. The acquired images are located within the field of view 210 of the imaging sensor 200. The imaging sensor 200 can be a commonly used camera or lidar, etc.
[0089] Generally, the imaging sensor 200 is mounted on the upper front part of the fuselage 100, preferably centered, with its viewing angle facing downwards and forwards to acquire images of the working surface. The size of its field of view 210 can be adjusted according to actual needs; a larger field of view 210 results in more images being acquired in the forward direction of the fuselage 100, and vice versa. The forward direction of the fuselage 100 can be various, such as normal forward movement, backward movement, or turning. In this embodiment, the forward direction of the fuselage 100 refers to the normal forward movement direction, i.e., the direction of the central axis of the fuselage 100.
[0090] For work area maps, users can participate in map creation or confirm / modify the map after creation. Therefore, the initial map accurately reflects user needs, such as the boundary location and boundary attributes (hazardous or safe boundaries) of the user's work area. As the machine runs subsequently, users expect it to operate autonomously, minimizing user intervention.
[0091] For an intelligent autonomous work machine 10 that uses VSLAM technology to create a work area map and moves and works based on that map, the accuracy of its positioning and movement during operation is closely related to the accuracy of the work area map. The accuracy of the work area map is reflected in its close fit to the actual work area; that is, whether the work area map truly, correctly, and clearly represents the actual environment of the work area. Since the work area map is created based on VSLAM technology, its accuracy largely depends on the image used when creating the map. After the map is created, the actual environment of the work area is likely to change, such as changes in the shape and color of vegetation due to seasonal changes, or changes in the state of objects within the work area due to user activities. Therefore, during machine operation, there may be significant differences between the real-time image and the corresponding image of the work area map, causing the machine to be unable to accurately locate itself and greatly affecting the accuracy of positioning and movement.
[0092] After environmental changes, only by updating the map can the map be made to fit the actual environment. However, deviations may occur during the update process. Long-term and continuous updates will lead to an increasing cumulative deviation, reducing map accuracy and consequently reducing the accuracy of machine positioning and movement.
[0093] Referring to Figure 3, in order to improve the positioning and movement accuracy of the autonomous working machine 10, a control method is provided. This method is applied to the autonomous working machine 10, which is equipped with a camera. The camera can be located on the front side of the machine body and can capture images of the working area. The control method includes:
[0094] Step S101: Obtain a first map of the boundary of the work area. The first map includes first coordinate information and first visual feature information.
[0095] In some embodiments, the user remotely controls the machine to move at least one circle along the boundary, acquiring images during the movement, and creating a first map based on the images and VSLAM technology. The first map reflects the visual features of the boundary and the boundary coordinates.
[0096] In some embodiments, the machine can automatically move along the boundary at least once, acquiring images during the movement, and creating a first map based on the images and VSLAM technology. The first map reflects the visual features and coordinates of the boundary. Furthermore, if the user is not satisfied with the boundary obtained by the automatic movement, they can choose to rebuild the map or make appropriate adjustments to the map.
[0097] In some embodiments, the user can choose how to create the first map, such as: automatic map creation by machine, remote map creation by user, a combination of automatic map creation by machine and remote map creation by user, or receiving the map from a server.
[0098] In some embodiments, the boundary refers to the outer boundary of the work area, and the autonomous work machine 10 can move or work within the area enclosed by the outer boundary.
[0099] In some embodiments, the boundary refers to the inner boundary of the work area. The inner boundary encloses a no-movement zone, within which the autonomous work area cannot move or work to avoid damage to machinery or other items. Examples of no-movement zones include sculptures and flower beds within a lawn.
[0100] In some embodiments, the boundary includes the outer boundary and the inner boundary of the work area.
[0101] Step S102: Based on the first map, control the autonomous working machine 10 to make an initial movement along the boundary.
[0102] In some embodiments, the first edge movement after obtaining the first map is the initial movement; or, the user may define the time of the initial movement or specify a certain edge movement as the initial movement; or, after obtaining the first map, the machine may work for a period of time or several times before taking the next edge movement as the initial movement.
[0103] In some embodiments, the autonomous working machine 10 determines the real-time visual features corresponding to the real-time images based on the first map and real-time images captured by the camera, compares the real-time visual features with the visual features of the first map, determines the current position of the machine, and then realizes the use of VSLAM technology for localization, boundary finding and movement along the boundary.
[0104] Step S103: Generate a second map based on the images captured by the camera during the initial movement. The second map includes second coordinate information and second visual feature information.
[0105] In some embodiments, a second map is created based on VSLAM technology and images acquired during the initial movement. This second map reflects the coordinate and visual feature information from the initial movement. Since the initial movement is based on the first map and involves movement along the edge, the coordinates of the second map are also relatively close to the actual coordinates of the boundary. Because the second map is created later, its visual features are closer to the actual environment of the boundary. If the actual environment of the work area changes after the creation of the first map, the visual features of the second map will be even closer to the actual environment of the work area than the visual features of the first map.
[0106] In some embodiments, the step of generating a second map can be performed simultaneously during the initial movement.
[0107] In some embodiments, the step of generating a second map can be performed after the initial movement process is completed.
[0108] Step S104: Based on the first map and the latest second map, control the autonomous working machine 10 to move, and update the second map used in this movement according to the images captured by the camera during this movement.
[0109] In some embodiments, based on a first map and a latest second map, the autonomous working machine 10 is controlled to move along a boundary, and the direction of movement along the boundary is clockwise or counterclockwise.
[0110] In some embodiments, based on a first map and the latest second map, the autonomous working machine 10 is controlled to move within the outer boundary, and the movement mode is either a random movement mode or a planned movement mode.
[0111] In some embodiments, the second map can be updated synchronously and in real time during the movement. Alternatively, the second map can be updated based on the images acquired during the current movement after the current movement has ended.
[0112] In some embodiments, the machine achieves high positioning accuracy at locations where loopback is successfully completed, and updating the second map based on the image acquired at these locations can improve map accuracy. Further, locations with high loopback success rates include locations on boundaries and locations near boundaries.
[0113] Since the work area may change at any time, updating the second map based on the images acquired during the latest movement process can make the second map more consistent with the actual environment and more accurately reflect the actual environment.
[0114] The first map is the initial map and accurately reflects the user's needs, such as the boundary location and boundary attributes (hazardous or safe boundaries) of the user's home or work area. Without a second map and with frequent updates to the first map, significant cumulative deviations may occur during the update process. For example, after creating the first map, the visual feature at (X,Y) coordinates is A. During the first update, a visual loop might appear at (X,Y+2), updating the visual feature at (X,Y+2) to visual feature A. During the second update, a visual loop might appear at (X,Y+2+2), updating the visual feature at (X,Y+2+2) to visual feature A again… Over time, this leads to a significant cumulative deviation between the coordinates of visual feature A in the first map and its actual coordinates in the environment, drastically reducing map accuracy.
[0115] With a second map and by updating the second map, it is possible to avoid updating the first map or minimize updates to the first map, thus maintaining a high degree of matching between the coordinates of the first map and the actual boundary positions.
[0116] During subsequent movement, the machine is controlled to move based on the first map and the latest second map, combining the initial map with the map updated according to the environment, thereby ensuring that the machine's positioning is more accurate.
[0117] In some embodiments, after the first execution of step S104, step S104 can be executed repeatedly; each time step S104 is executed subsequently, the second map used to control the movement of the autonomous working machine 10 is the second map updated during the previous execution of step S104.
[0118] In some embodiments, the deviation between the first coordinate information and the actual position of the boundary is smaller than the deviation between the second coordinate information and the actual position of the boundary.
[0119] The first map is the initial map. Compared to the second map, the first map's coordinate information is closer to the actual boundary and more accurately reflects its location. While generating and updating the second map, the first map should not be updated, or updates should be minimized, to ensure that the first map's coordinate information always accurately reflects the actual boundary location.
[0120] In some embodiments, the first coordinate information of the first map remains unchanged after the first map is generated.
[0121] While generating and updating the second map, the first coordinate information of the first map remains unchanged, maintaining the accuracy of the first coordinate information and avoiding the loss of important coordinate information in the first map due to map updates, so that the first coordinate information can always accurately reflect the position of the actual boundary.
[0122] In some embodiments, step S101 includes:
[0123] Obtain user remote control commands;
[0124] The autonomous working machine 10 is controlled by the user's remote control commands to move along the boundary and generate a first map based on the images captured by the camera during the movement.
[0125] In the process of creating the first map, ensuring that the first coordinate information accurately reflects the actual boundary position is crucial. This can be achieved through user participation in the mapping process. For example, a user can bind the autonomous machine 10 to a mobile terminal or the dedicated controller of the autonomous machine 10, and input remote control commands on the mobile terminal or the dedicated controller of the autonomous machine 10. The mobile terminal or the dedicated controller of the autonomous machine 10 can directly or indirectly transmit the user's remote control commands to the autonomous machine 10, and the autonomous machine 10 moves according to the user's remote control commands. The user's remote control commands include at least one of the following: movement direction, movement distance, movement speed, and movement path.
[0126] In some embodiments, controlling the movement of the autonomous work machine 10 based on a first map and a latest second map includes:
[0127] Acquire real-time images captured by the camera;
[0128] Determine real-time visual feature information based on real-time images;
[0129] Based on real-time visual feature information, first visual feature information, and second visual feature information, the pose information of the autonomous working machine 10 is determined.
[0130] Based on the pose information and the first coordinate information, the autonomous working machine 10 is controlled to move.
[0131] Localization is achieved by combining real-time visual feature information, first visual feature information from the first map, and second visual feature information from the second map. This allows for localization based on the visual features used when the first map was created and the visual features corresponding to the latest environment, thus ensuring more accurate machine localization. The resulting pose information includes both position and orientation.
[0132] After obtaining the pose information, the machine is controlled to move based on the pose information and the first coordinate information that fits the actual coordinate position, thereby controlling the machine's movement position more accurately.
[0133] In some embodiments, path planning can be performed based on pose information and first coordinate information to determine the direction and position of movement and control the machine to move along the planned path.
[0134] In some embodiments, real-time visual feature information, first visual feature information, and second visual feature information are used to determine the pose information of the autonomous working machine 10, including:
[0135] The real-time visual feature information is matched with the first visual feature information and the second visual feature information respectively to determine the feature matching result.
[0136] If the feature matching result is that the real-time visual feature information matches the first visual feature information, the pose information is determined based on the first map and the real-time visual feature information.
[0137] If the feature matching result shows that the real-time visual feature information matches the second visual feature information, the pose information is determined based on the second map and the real-time visual feature information.
[0138] The real-time visual feature information is matched with the first visual feature information and the second visual feature information respectively. From the first visual feature information and the second visual feature information, the visual feature information with the highest matching degree with the real-time visual feature information is determined, and the feature matching result is obtained.
[0139] If the visual feature information with the highest matching degree is the first visual feature information, then the pose information is further determined based on the first coordinate information of the first map, the first visual feature information, and the real-time visual feature information. If the first visual feature information and the real-time visual feature information match, it means that the machine is currently located at the position corresponding to the first visual feature information; the current position of the machine can be obtained based on the correspondence between the first visual feature information and the first coordinate information; and the current pose of the machine can be obtained based on the difference between the real-time visual feature information and the first visual feature information.
[0140] If the visual feature information with the highest matching degree is the second visual feature information, then the pose information is further determined based on the second coordinate information of the second map, the second visual feature information, and the real-time visual feature information. If the second visual feature information and the real-time visual feature information match, it means that the machine is currently located at the position corresponding to the second visual feature information; the current position of the machine can be obtained based on the correspondence between the second visual feature information and the second coordinate information; and the current pose of the machine can be obtained based on the difference between the real-time visual feature information and the second visual feature information.
[0141] In some embodiments, when a loop is generated based on the second map, the second map used during the current movement is updated based on the images captured by the camera during the current movement.
[0142] In step S103, the second map is updated when a loop closure occurs in the second map, that is, when the real-time visual feature information matches the second visual feature information. The occurrence of a loop closure indicates that the current positioning is relatively accurate. Since the loop closure is based on the second map, it means that the current pose deviates little from the pose in the second map.
[0143] In some embodiments, updating the second map used during the current movement based on images captured by the camera during the movement includes:
[0144] Based on the images captured by the camera during this movement, the information to be updated is determined, including coordinate information to be updated and visual feature information to be updated.
[0145] Based on the information to be updated, the second map used during this movement will be updated.
[0146] In step S103, updating the second map includes synchronously updating the coordinate information and visual feature information of the second map to keep the two types of information synchronized.
[0147] In some embodiments, coordinate information to be updated is determined based on the inertial navigation information of the autonomous machine 10 and real-time images captured by the camera. Visual feature information to be updated is determined based on the real-time images captured by the camera.
[0148] In some embodiments, updating the second map includes supplementing and / or replacing the second coordinate information and second visual features of the current second map.
[0149] In some embodiments, the second map used during this movement is updated based on the information to be updated, including:
[0150] If the current data volume of the second map is less than the preset storage volume, the information to be updated will be added to the second map to obtain the updated second map;
[0151] If the amount of data in the current second map is not less than the preset storage capacity, the current second map is replaced with the information to be updated to obtain the updated second map.
[0152] The autonomous working machine 10 is equipped with a memory, and the storage space in the memory for storing the second map is limited, with a total storage space of a preset amount. If the current data volume of the second map is less than the preset storage volume, the information to be updated is directly added to the second map and stored. If the current data volume of the second map is not less than the preset storage volume, some data needs to be deleted from the second map, and then the information to be updated is added to the second map and stored, thereby ensuring that the data volume of the second map never exceeds the preset storage volume.
[0153] In some embodiments, the second map can be updated again after a period of time.
[0154] In some embodiments, the control method further includes:
[0155] Determine the time interval between the last update of the second map and the current time.
[0156] If the time interval is longer than the preset duration, the process of controlling the autonomous working machine 10 to move based on the first map and the latest second map is executed again, and the second map used in this movement is updated based on the images captured by the camera during this movement.
[0157] During movement or work, the autonomous working machine 10 determines in real time the time interval between the last time the second map was updated and the current time. If the time interval is greater than a preset duration, the second map can be updated again.
[0158] In some embodiments, the preset duration is one week or two weeks, or the user can customize the value of the preset duration.
[0159] In some embodiments, before determining the time interval between the last update of the second map and the current time, the control method further includes:
[0160] Get the current season information;
[0161] The preset duration is determined based on the current season information.
[0162] Current seasonal information includes at least one of the following: seasonal information, temperature information, weather information, and grass growth cycle information. The preset duration will be affected by the current seasonal information.
[0163] In some embodiments, the preset duration during the peak grass growing season is longer, and the second map is updated more frequently; the preset duration during the off-season grass growing season is shorter, and the second map is updated less frequently.
[0164] In some embodiments, the first map is updated appropriately to make it conform to the actual environment.
[0165] In some embodiments, the control method further includes updating the first visual feature information of the first map. When updating the first map, only the first visual feature information is updated, and the first coordinate information is not updated, so as to avoid deviation between the coordinate information and the actual boundary while keeping the visual feature information consistent with the actual environment.
[0166] In some embodiments, the update frequency of the first map is lower than that of the second map. This avoids frequent updates to the first map and prevents excessive cumulative deviations caused by frequent updates.
[0167] In some embodiments, updating the first visual feature information of the first map includes:
[0168] Based on the images captured by the camera during the entire movement process, the loop closure parameters of each first visual feature information in the first map are determined. The loop closure parameters are related to the feature loop closure success rate and the feature storage time.
[0169] Based on the loop closure parameters, visual feature information to be deleted is identified in the first map and then deleted.
[0170] The first map may contain some visual features that have not looped back for a long time or have had few loops. This is because these features do not match the actual features in the environment. These features can be deleted to free up storage space. "Not looping back for a long time" means that the feature has failed to match real-time visual features over a considerable period.
[0171] In some embodiments, updating the first visual feature information of the first map includes:
[0172] In the case of a loop generated based on the first map, the target visual feature information is determined based on the images captured by the camera during this movement.
[0173] The target visual feature information is added to the first map to obtain the updated first map.
[0174] The first map is updated when a loop closure occurs on the first map, that is, when the real-time visual feature information matches the first visual feature information. The occurrence of a loop closure indicates that the current positioning is relatively accurate. Since the loop closure is based on the first map, it means that the current pose deviates little from the pose in the first map.
[0175] When updating the first map, only visual feature information is updated. Coordinate information is not updated; it remains unchanged, ensuring that the first coordinate information always matches the actual boundary position.
[0176] In some embodiments, when a loop is generated based on a first map, the target visual feature information is determined based on images captured by the camera during the current movement, including:
[0177] In the case of a loop generated based on the first map, the pose information of the autonomous working machine 10 is determined;
[0178] If the deviation between the pose information and the pose information corresponding to the first map is less than a preset deviation, the target visual feature information is determined based on the images captured by the camera during this movement.
[0179] The timing for updating the first map is based on the occurrence of a loop in the first map and the deviation between the current pose information and the corresponding pose information in the first map being less than a preset deviation. The occurrence of a loop indicates relatively accurate positioning, and the small deviation between the current pose information and the corresponding pose information in the first map ensures that the machine's pose is consistent when creating and updating the first map. This keeps the viewpoint corresponding to the first coordinate information unchanged, ensuring that the first visual features always correctly reflect the visual information under the corresponding coordinates and pose. Since the first coordinate information remains constant, but consistency between coordinates and visual features needs to be maintained when updating the map, this consistency is achieved by adjusting the update timing / conditions.
[0180] Referring to Figure 4, in some embodiments, a control method is provided, applied to an autonomous working machine 10, which is equipped with a camera. The control method includes:
[0181] Step S201: Obtain a first map of the boundary of the work area. The first map includes first coordinate information and first visual feature information.
[0182] Step S202: Obtain a second map of the boundary of the work area. The second map includes second coordinate information and second visual feature information.
[0183] Step S203: Based on the first map and the latest second map, control the autonomous working machine 10 to move, and update the second map used in this movement according to the images captured by the camera during this movement.
[0184] In some embodiments, step S201 is the same as step S101, and step S203 is the same as step S104. In step S202, there are at least two ways to obtain the second map of the boundary of the work area.
[0185] In some embodiments, step S202 includes:
[0186] Based on the first map, the autonomous working machine 10 is controlled to make an initial movement along the boundary.
[0187] A second map is generated based on images captured by the camera during the initial movement.
[0188] In some embodiments, step S202 includes:
[0189] Copy the first map to get the second map.
[0190] In these embodiments, the difference from any of the foregoing embodiments lies only in the method of obtaining the initial second map. Step S202 obtains the initial second map by copying the first map. Then, step S203 is executed to update the second map. Step S203 can be repeated subsequently to continuously update the second map.
[0191] Obtaining a second map by copying is more convenient and efficient, and the initial second map more accurately reflects the boundary environment.
[0192] Based on the same inventive concept as the foregoing embodiments, some embodiments provide an autonomous working machine 10. Referring to FIG. 5, the autonomous working machine 10 includes: a processor 310 and a memory 311 storing a computer program; the processor 310 is used to execute the above-described method. Note that the processor 310 illustrated in FIG. 5 does not refer to a single processor 310, but only to the positional relationship of the processor 310 relative to other devices. In practical applications, there can be one or more processors 310. Similarly, the memory 311 illustrated in FIG. 5 has the same meaning, that is, it only refers to the positional relationship of the memory 311 relative to other devices. In practical applications, there can be one or more memory 311. When the processor 310 runs the computer program, the control method described in the above embodiments is implemented.
[0193] The autonomous machine 10 may also include at least one network interface 312. The various components of the autonomous machine 10 are coupled together via a bus system 313. It is understood that the bus system 313 is used to enable communication between these components. In addition to a data bus, the bus system 313 also includes a power bus, a control bus, and a status signal bus. However, for clarity, all buses are labeled as bus system 313 in Figure 5.
[0194] The memory 311 can be volatile memory or non-volatile memory, or both. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), ferromagnetic random access memory (FRAM), flash memory, magnetic surface memory, optical disc, or compact disc read-only memory (CD-ROM); the magnetic surface memory can be disk storage or magnetic tape storage. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Synchronous Static Random Access Memory (SSRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic Random Access Memory (SDRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDRSDRAM), Enhanced Synchronous Dynamic Random Access Memory (ESDRAM), SyncLink Dynamic Random Access Memory (SLDRAM), and Direct Rambus Random Access Memory (DRRAM).The memory 311 described in the embodiments of the present invention is intended to include, but is not limited to, these and any other suitable types of memory.
[0195] The memory 311 in this embodiment of the invention is used to store various types of data to support the operation of the autonomous working machine. Examples of this data include: any computer programs used to operate on the autonomous working machine, such as operating systems and applications; contact data; phonebook data; messages; pictures; videos, etc. The operating system includes various system programs, such as the framework layer, core library layer, driver layer, etc., used to implement various basic services and handle hardware-based tasks. Applications can include various applications, such as media players, browsers, etc., used to implement various application services. Here, the program implementing the method of this embodiment of the invention can be included in the application.
[0196] Based on the same inventive concept as the foregoing embodiments, some embodiments also provide a computer storage medium storing a computer program for executing the above-described method. The computer storage medium can be a magnetic random access memory (FRAM), a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a flash memory, a magnetic surface memory, an optical disc, or a compact disc read-only memory (CD-ROM), etc.; it can also be various devices including one or any combination of the above-described memories, such as mobile phones, computers, tablet devices, personal digital assistants, etc. When the computer program stored in the computer storage medium is executed by a processor, it implements the control method applied to the aforementioned autonomous working machine. The specific steps and flow implemented when the computer program is executed by the processor are described in the above embodiments, and will not be repeated here.
[0197] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0198] In this document, the terms “comprising,” “including,” or any other variations thereof are intended to cover non-exclusive inclusion, which includes not only the elements listed but also other elements not expressly listed.
[0199] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. A control method applied to an autonomous work machine (10), the autonomous work machine (10) being provided with a camera, wherein, The control method comprises: acquiring a first map of the boundary of the working area, the first map comprising first coordinate information and first visual feature information; controlling the autonomous working machine (10) to move along the boundary based on the first map; generating a second map based on images captured by the camera during the initial movement, the second map comprising second coordinate information and second visual feature information; controlling the autonomous working machine (10) to move based on the first map and the latest second map, and updating the second map used in the current movement based on images captured by the camera during the current movement.
2. The control method of claim 1, wherein, Acquiring the first map of the boundary of the working area comprises: acquiring user remote control instructions; controlling the autonomous working machine (10) to move along the boundary based on the user remote control instructions, and generating the first map based on images captured by the camera during the movement; or, generating the first map based on images captured by the autonomous working machine during automatic movement along the boundary for at least one round; or, generating the first map based on a combination of automatic mapping by the autonomous working machine and user remote control mapping.
3. The control method of any preceding claim, wherein, The deviation between the first coordinate information of the first map and the actual position of the boundary is smaller than the deviation between the second coordinate information and the actual position of the boundary.
4. A control method as claimed in any preceding claim, wherein, After generating the first map, the first coordinate information of the first map remains unchanged.
5. A control method as claimed in any preceding claim, wherein, Controlling the autonomous working machine (10) to move based on the first map and the latest second maps comprises: acquiring real-time images captured by the camera; determining real-time visual feature information based on the real-time images; determining pose information of the autonomous working machine (10) based on the real-time visual feature information, the first visual feature information and the second visual feature information; controlling the autonomous working machine (10) to move based on the pose information and the first coordinate information.
6. A control method as claimed in any preceding claim, wherein, Determining the pose information of the autonomous working machine (10) based on the real-time visual feature information, first visual feature information and second visual feature information comprises: performing feature matching processing on the real-time visual feature information with the first visual feature information and the second visual feature information respectively to determine a feature matching result; in the case that the feature matching result is that the real-time visual feature information matches the first visual feature information, determining the pose information based on the first map and the real-time visual feature information; in the case that the feature matching result is that the real-time visual feature information matches the second visual feature information, determining the pose information based on the second map and the real-time visual feature information.
7. A control method as claimed in any preceding claim, wherein, In the case of generating a loop based on the second map, updating the second map used in the current movement based on images captured by the camera during the current moving.
8. A control method as claimed in any preceding claim, wherein, Updating the second map used in the current movement based on images captured by the camera during the current movement comprises: Determine to-be-updated information according to images captured by the camera during the current movement, the to-be-updated information including to-be-updated coordinate information and to-be-updated visual feature information; Update the second map used during the current movement according to the to-be-updated information.
9. A control method as claimed in any preceding claim, wherein, The updating of the second map according to the to-be-updated information includes: In a case where a data amount of the current second map is less than a preset storage amount, supplement the to-be-updated information to the second map to obtain an updated second map; In a case where the data amount of the current second map is not less than the preset storage amount, replace the current second map based on the to-be-updated information to obtain an updated second map.
10. A control method as claimed in any preceding claim, wherein, The updating manner of the second map includes supplementing and / or replacing second coordinate information and second visual features of the current second map.
11. A control method as claimed in any preceding claim, wherein, The control method further includes: Determine a time interval between a time when the second map was last updated and a current time; In a case where the time interval is greater than a preset time length, perform again the steps of controlling the autonomous working machine (10) to move based on the first map and the latest second map, and updating the second map used during the current movement according to images captured by the camera during the current movement.
12. A control method as claimed in any preceding claim, wherein, Before determining the time interval between the time when the second map was last updated and the current time, the control method further includes: Obtain current time information; Determine the preset time length according to the current time information.
13. A control method as claimed in any preceding claim, wherein, The control method further includes: Update first visual feature information of the first map.
14. A control method as claimed in any preceding claim, wherein, The update frequency of the first map is lower than the update frequency of the second map.
15. A control method as claimed in any preceding claim, wherein, The updating of the first visual feature information of the first map includes: Determine loop parameters of each first visual feature information in the first map based on images captured by the camera during all movements, the loop parameters being related to feature loop success rate and feature storage time length; Determine to-be-deleted visual feature information in the first map and delete the to-be-deleted visual feature information according to the loop parameters.
16. A control method as claimed in any preceding claim, wherein, The updating of the first visual feature information of the first map includes: In a case where a loop is generated based on the first map, determine target visual feature information according to images captured by the camera during the current movement; Supplement the target visual feature information to the first map to obtain an updated first map.
17. A control method as claimed in any preceding claim, wherein, In a case where a loop is generated based on the first map, determine target visual feature information based on images captured by the camera during the current movement, including: In a case where a loop is generated based on the first map, determine pose information of the autonomous working machine (10); In a case where a deviation between the pose information and pose information corresponding to the first map is less than a preset deviation, determine the target visual feature information according to images captured by the camera during the current movement.
18. A control method applied to an autonomous working machine (10), the autonomous working machine (10) being provided with a camera, wherein, The control method includes: Obtain a first map of a boundary of a working area, the first map including first coordinate information and first visual feature information; obtaining a second map of a boundary of a working area, the second map comprising second coordinate information and second visual feature information; controlling the autonomous working machine (10) to move based on the first map and the latest second map, and updating the second map used in the current movement according to images captured by the camera during the current movement.
19. The control method of claim 18, wherein, obtaining a second map of a boundary of a working area, comprising: controlling the autonomous working machine (10) to make a first movement along the boundary based on the first map; generating the second map according to images captured by the camera during the first movement.
20. The control method according to claim 18 or 19, wherein obtaining a second map of a boundary of a working area, comprising: copying the first map to obtain the second map.
21. A computer readable storage medium, wherein, The storage medium stores a computer program, and the computer program is used for executing the method in any one of claims 1 to 20.
22. An autonomous work machine (10), wherein comprising: a processor (310); a memory (311) storing instructions executable by the processor (310); the processor (310) is configured to execute the method in any one of claims 1 to 20.