Method for robot deployment, storage medium, robot and robot deployment system
By automatically generating or executing deployment prompts and tasks through robot deployment programs, the problem of low robot deployment efficiency in existing technologies is solved, achieving efficient robot deployment and cost savings.
Patent Information
- Application Number
- CN202211077896.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-05
- Publication Date
- 2025-12-12
- Estimated Expiration
- 2042-09-05
AI Technical Summary
When deploying robots in a venue, existing technologies require a large number of maintenance personnel, resulting in low deployment efficiency and high costs, which limits the large-scale promotion and use of robots.
A robot deployment method is provided, which generates deployment prompts based on the set deployment process and execution status through a robot deployment program, and automatically generates or executes deployment tasks such as map building, cleaning task generation, and user modification confirmation, thereby simplifying the robot deployment process.
It improves robot deployment efficiency, simplifies workflows, reduces costs, and facilitates the large-scale promotion and use of robots.
Smart Images

Figure CN117685946B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the technical field of robots, in particular to a robot deployment method, a storage medium, a robot and a robot deployment system. BACKGROUND
[0002] In the prior art, when deploying robots in a space, a large number of operation and maintenance personnel need to be on site to cooperate with the robots to complete map construction operations and cleaning task planning operations, which is relatively low in robot deployment efficiency, and also requires a high robot deployment cost, thereby limiting the large-scale promotion and use of robots.
[0003] SUMMARY
[0004] An object of an embodiment of the present disclosure is to provide a robot deployment method, a storage medium, a robot and a robot deployment system, so as to improve the problem of low robot deployment efficiency in the prior art.
[0005] In a first aspect, an embodiment of the present disclosure provides a robot deployment method, comprising:
[0006] In response to a start command, starting a robot deployment program, the robot deployment program being configured to generate corresponding deployment prompts according to a set deployment process and a deployment execution state, and to perform deployment work according to user feedback, the deployment prompts including deployment marker prompts and removal marker prompts, and the deployment work including map construction, cleaning task generation and user modification determination.
[0007] The map construction deployment work includes performing the following steps:
[0008] In response to a mode selection command, determining a target mapping mode;
[0009] According to the target mapping mode, controlling the robot to perform a map construction operation to obtain a cleaning map;
[0010] The cleaning task generation deployment work includes performing the following steps:
[0011] Partitioning the cleaning map to obtain at least one cleaning work partition;
[0012] Planning work tasks for each cleaning work partition;
[0013] Labeling specific objects and / or specific areas.
[0014] Optionally, the deployment process includes a marker deployment process of deploying markers in a target space, and the generating of the corresponding deployment prompts according to the set deployment process and the deployment execution state includes:
[0015] In response to a starting command, an application program interface corresponding to the identification deployment procedure is invoked to control the robot to enter an identification deployment state;
[0016] In the identification deployment state, the robot is controlled to generate a deployment identification prompt, which is used to prompt a user to deploy an identification object in the target space.
[0017] Optionally, the deployment procedure includes a map construction procedure, and the generating of the corresponding deployment prompt according to the set deployment procedure and the deployment execution state includes:
[0018] In response to an identification deployment ending command, an application program interface corresponding to the map construction procedure is invoked to control the robot to enter a map construction state;
[0019] In the map construction state, the robot is controlled to generate a mapping mode selection page, wherein the mapping mode selection page includes a plurality of mapping modes.
[0020] Optionally, the deployment procedure includes a user modification determination procedure requiring a user to determine a modification of a to-be-determined cleaning map, and the performing of the deployment operation according to the feedback of the user includes:
[0021] After the deployment operation of the cleaning task is ended, an application program interface corresponding to the user modification determination procedure is invoked to control the robot to enter a user modification determination state;
[0022] In the user modification determination state, the to-be-determined cleaning map is sent to a user terminal, so that the user terminal returns a determined cleaning map;
[0023] The determined cleaning map is saved.
[0024] Optionally, the deployment procedure includes an identification removal procedure for removing an identification object that has been deployed in the target space, and the generating of the corresponding deployment prompt according to the set deployment procedure and the deployment execution state includes:
[0025] When a map construction ending command is detected, an application program interface corresponding to the identification removal procedure is invoked to control the robot to enter an identification removal state;
[0026] In the identification removal state, the robot is controlled to generate a removal identification prompt, which is used to prompt a user to remove an identification object that has been deployed in the target space.
[0027] Optionally, the controlling of the robot to perform a map construction operation according to the target mapping mode includes:
[0028] According to the target mapping mode, the robot is controlled to explore a to-be-explored area to build a cleaning map;
[0029] When the marker of the to-be-explored area is detected, a position of the marker is recorded;
[0030] According to the position of the marker, a boundary of the cleaning map is generated.
[0031] Optionally, according to the target mapping mode, the robot is controlled to explore a to-be-explored area to build a cleaning map, including:
[0032] If the target mapping mode is a follow mapping mode, the robot is controlled to explore a to-be-explored area in the follow mapping mode to build a cleaning map;
[0033] If the target mapping mode is an automatic mapping mode, the robot is controlled to explore a to-be-explored area in the automatic mapping mode to build a cleaning map;
[0034] If the target mapping mode is a remote control mapping mode, the robot is controlled to explore a to-be-explored area in the remote control mapping mode to build a cleaning map.
[0035] Optionally, the map building deployment task is processed by the robot;
[0036] The cleaning task generation deployment task is processed by a remote server: the remote server acquires the cleaning map sent by the robot, performs the cleaning task generation deployment task according to the cleaning map, obtains a to-be-determined cleaning map, and sends the to-be-determined cleaning map to the robot.
[0037] In a second aspect, the embodiments of the present disclosure provide a storage medium storing computer executable instructions for causing a robot to perform the robot deployment method described above.
[0038] In a third aspect, the embodiments of the present disclosure provide a robot, including:
[0039] at least one processor; and,
[0040] a memory in communication connection with the at least one processor; wherein,
[0041] the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the robot deployment method described above.
[0042] In a fourth aspect, the embodiments of the present disclosure provide a robot deployment system, including:
[0043] The aforementioned robots; and
[0044] A remote server, which is communicatively connected to the robot.
[0045] In the robot deployment method provided in this embodiment, a robot deployment program is initiated in response to a user-input start operation. The robot deployment program is configured to: generate corresponding deployment prompts based on a set deployment process and deployment execution status; and execute deployment tasks based on user feedback. The deployment prompts include: deploying and removing markers. The deployment tasks include: map building, cleaning task generation, and user modification confirmation. The map building deployment task includes the following steps: responding to a user-input mode selection operation, determining a target mapping mode; and controlling the robot to perform map building operations based on the target mapping mode to obtain a cleaning map. The cleaning task generation deployment task includes the following steps: partitioning the cleaning map to obtain at least one cleaning task partition; planning tasks for each cleaning task partition; and labeling specified types of objects and / or specified types of areas. The robot provided in this embodiment can automatically generate deployment prompts or automatically execute deployment tasks according to the deployment process and user feedback, improving robot deployment efficiency, simplifying robot deployment work, and helping to save costs. Attached Figure Description
[0046] One or more embodiments are illustrated by way of example with reference numerals in the accompanying drawings. These illustrations do not constitute a limitation on the embodiments. Elements with the same reference numerals in the drawings are denoted as similar elements. Unless otherwise stated, the figures in the drawings are not to be limited by scale.
[0047] Figure 1 This is a schematic diagram of the structure of a cleaning system provided in an embodiment of the present disclosure;
[0048] Figure 2 for Figure 1 The diagram shows the first possible structure of the robot.
[0049] Figure 3 for Figure 1 The diagram shows a second structural representation of the robot.
[0050] Figure 4 for Figure 1 The diagram shows the third structural design of the robot.
[0051] Figure 5 This is a schematic diagram of the structure of a cleaning system provided in another embodiment of the present disclosure;
[0052] Figure 6 A schematic diagram illustrating the robot deployment process provided in this embodiment of the disclosure;
[0053] Figure 7 A schematic diagram of a first application scenario provided by an embodiment of the present disclosure is shown in FIG. 1.
[0054] Figure 8 A schematic diagram of a second application scenario provided by an embodiment of the present disclosure is shown in FIG. 2.
[0055] Figure 9 A schematic diagram of a third application scenario provided by an embodiment of the present disclosure is shown in FIG. 3.
[0056] Figure 10 A schematic diagram of a fourth application scenario provided by an embodiment of the present disclosure is shown in FIG. 4.
[0057] Figure 11 A schematic diagram of a fifth application scenario provided by an embodiment of the present disclosure is shown in FIG. 5.
[0058] Figure 12 A schematic diagram of a sixth application scenario provided by an embodiment of the present disclosure is shown in FIG. 6.
[0059] Figure 13 A schematic diagram of a seventh application scenario provided by an embodiment of the present disclosure is shown in FIG. 7.
[0060] Figure 14 A schematic diagram of a circuit structure of a robot provided by an embodiment of the present disclosure is shown in FIG. 8. DETAILED DESCRIPTION
[0061] In order to make the objectives, technical solutions and advantages of the present disclosure clearer, further detailed description will be made to the present disclosure in combination with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present disclosure, and are not used to limit the present disclosure. Based on the embodiments in the present disclosure, all other embodiments obtained by those skilled in the art without creative labor are within the protection scope of the present disclosure.
[0062] It should be noted that, if there is no conflict, each feature in the embodiments of the present disclosure can be combined with each other, and all within the protection scope of the present disclosure. In addition, although the functional modules are divided in the device schematic diagram, and the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in a different order from the module division in the device or the order in the flowchart. Furthermore, the "first", "second", "third" and the like used in the present disclosure do not limit the data and execution order, but only distinguish the same items or similar items with basically the same function and effect.
[0063] An embodiment of the present disclosure provides a robot deployment system. Please refer to FIG. 8. Figure 1The robot deployment system 100 comprises a robot 200 and a remote server 300, the remote server 300 is communicatively connected with the robot 200, wherein the communication connection comprises wired communication connection or wireless communication connection, wherein the wired communication connection comprises various communication connections for transmitting information by using tangible media such as metal wires, optical fibers, etc. The wireless communication connection comprises 5G communication, 4G communication, 3G communication, 2G communication, CDMA, Zig-Bee, Bluetooth, Wi-Fi, UWB, NFC, CDMA2000, GSM, Infrared (IR), ISM, RFID, UMTS / 3GPPw / HSDPA, WiMAX Wi-Fi or ZigBee, etc.
[0064] The robot 200 can be deployed in any type of target space, and the robot 200 can perform cleaning work in the target space, wherein the target space is a space providing functions of any area, and the target space comprises indoor space, shopping mall, living room, kitchen, office, etc.
[0065] The remote server 300 can interact with the robot 200, wherein the remote server 300 can send various commands or various information to the robot 200, for example, the remote server 300 can send a cleaning command to the robot 200, and the robot 200 performs cleaning work according to the cleaning command, and for another example, the remote server 300 can send a cleaning map to the robot 200, and the robot 200 saves the cleaning map locally, so as to avoid spending time to reconstruct the map again. The robot 200 can also send various commands or various information to the remote server 300, for example, the robot 200 can send a map request command to the remote server 300, and the remote server 300 sends the cleaning map to the robot 200 according to the map request command.
[0066] Please refer to Figure 2 The robot 200 comprises a robot body 21, a controller 22, a walking assembly 23, a sensing assembly 24, a cleaning assembly 25 and a communication assembly 26.
[0067] The robot body 21 is a main shell of the robot 200, and is used for protecting the robot 200 and accommodating various parts and electrical components.
[0068] The controller 22, as the control core of the robot 100, can be used to analyze and process various control logics. The controller 22 can be a general processor, a digital signal processor, an application specific integrated circuit, a field programmable gate array, a single chip microcomputer, an ARM, or other programmable logic devices, discrete gates or transistor logic, discrete hardware components, or any combination thereof. In addition, the controller 22 can also be any conventional processor, microcontroller, or state machine. The controller 22 can also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP, and / or any other such configuration.
[0069] The walking assembly 23 is electrically connected to the controller 22 and is used to drive the robot body 21 to walk under the control of the controller 22. In some embodiments, the walking assembly 23 includes a left wheel walking assembly and a right wheel walking assembly, which are oppositely installed on opposite sides of the robot body 21. Each wheel walking assembly includes a motor, a driving mechanism, and a walking wheel. The motor is connected to the driving mechanism and is used to control the driving mechanism to work under the control of the controller 22. The driving mechanism is connected to the walking wheel and is used to drive the walking wheel to walk forward, retreat backward, or turn.
[0070] The sensing assembly 24 is electrically connected to the controller 22 and is used to sample environmental data of a target space.
[0071] In some embodiments, the sensing assembly 24 includes one or more of the following sensors: a camera, a radar, and a motion sensor. The camera can be an RGBD camera, a binocular camera, or a three-eye camera, etc. The radar can be a laser radar or a sound wave radar, etc. The motion sensor can be an inertial measurement unit, a gyroscope, an accelerometer, or a speedometer.
[0072] The cleaning assembly 25 is electrically connected to the controller 22 and is used to clean the ground. The cleaning assembly 25 can be configured in any cleaning structure. For example, in some embodiments, the cleaning assembly 25 is a wiping piece, and the robot body 21 can drive the wiping piece to walk to clean the ground. In some embodiments, the cleaning assembly 25 includes a cleaning motor and a cleaning piece. The cleaning motor is connected to the cleaning piece, and the cleaning motor drives the cleaning piece to clean the ground under the control of the controller 22. The cleaning piece can be a roller brush, a suction device, or a washing device, etc.
[0073] The communication assembly 26 is electrically connected to the controller 22 and is used to communicate with the remote server 300. The communication assembly 26 includes a combination of one or more of a broadcast receiving module, a mobile communication module, a wireless Internet module, a short-distance communication module, and a positioning information module.
[0074] In some embodiments, please refer to Figure 3The robot 200 further comprises an interaction component 27 electrically connected to the controller 22, configured to provide an interaction interface and receive input operations of a user on the interaction interface, so as to trigger the controller 22 to execute corresponding control logic. In this way, the user can interact with the robot 200 through the interaction component 27, so as to better control the robot 200 and improve the user experience. In some embodiments, the interaction component 27 can be a display screen and / or an audio player.
[0075] In some embodiments, referring to Figure 4 The robot 200 further comprises a label detector 28 electrically connected to the controller 22, configured to detect an identifier. The identifier can be deployed on a region or an object of a specified type. When the label detector 28 scans the identifier, the label detector 28 sends a detection signal to the controller 22. The controller 22 records the position of the identifier in the target space according to the detection signal, so as to generate a boundary of the cleaning map.
[0076] The identifier can be a magnetic stripe, an RFID tag, an NFC tag, a two-dimensional code, a bar code, etc. Correspondingly, the label detector 28 can be a magnetic detector, a tag reader / writer, a camera, etc.
[0077] In some embodiments, referring to Figure 5 The robot deployment system 100 further comprises a user terminal 400 communicatively connected to the robot 200 and / or the remote server 300.
[0078] When the user terminal 400 establishes a communication connection with the robot 200 based on an AP hotspot, the user terminal 400 and the robot 200 can interact with each other. In some embodiments, the user terminal 400 installs a robot deployment APP on a local operating system, and the user operates the user terminal 400 to start and run the robot deployment APP. When the user terminal 400 detects hotspot information of the robot 200 through the robot deployment APP, the user terminal 400 establishes a communication connection with the robot 200 according to the hotspot information.
[0079] The user terminal 400 and the robot 200 can interact in many ways. For example, the user terminal 400 can trigger the robot 200 to execute a robot deployment program. The robot 200 feeds back a working state of executing the robot deployment program to the user terminal 400, and the working state includes an abnormal working state and a normal working state. The user terminal 400 presents the working state of the robot 200.
[0080] When the user terminal 400 establishes a communication connection with the remote server 300, the user terminal 400 and the remote server 300 can interact with each other. The user terminal 400 sends various request events to the remote server 300 through the robot deployment APP, and the remote server 300 analyzes the request events and replies to the user terminal 400 or controls the robot 200.
[0081] As another aspect of the embodiments of the present disclosure, the embodiments of the present disclosure provide a method for robot deployment. The method for robot deployment comprises: starting a robot deployment program in response to a start command, the robot deployment program being configured to generate corresponding deployment prompts according to a set deployment process and a deployment execution state, and to perform a deployment job according to user feedback, wherein the deployment prompts comprise deployment markers and removal markers, and the deployment job comprises map construction, cleaning task generation, and user modification determination.
[0082] The start command is a command for starting the robot deployment program. In some embodiments, the start command can be generated by the user clicking a start button of the robot, which can be a physical button or a virtual button on an interactive interface. In some embodiments, the start command can be sent by the user terminal to the robot, such as starting the robot deployment APP by the user terminal, clicking the start button on the main interface of the robot deployment APP by the user, and sending the start command to the robot by the user terminal in response to the start operation input by the user.
[0083] The robot deployment program is an application program capable of controlling the robot to complete the deployment work, wherein the robot deployment program can not only be configured to generate corresponding deployment prompts according to a set deployment process and a deployment execution state, and to perform a deployment job according to user feedback, but also can be configured to implement other deployment functions.
[0084] The deployment process is a link in the robot deployment work, wherein please refer to Figure 6 The deployment process comprises a marker deployment process 601, a map construction process 602, a cleaning task generation process 603, a user modification determination process 604, and a marker removal process 605.
[0085] The marker deployment process 601 is a process for prompting the user to deploy markers in the target space, the map construction process 602 is a process for controlling the robot to perform a map construction operation, the cleaning task generation process 603 is a process for controlling the robot to perform a cleaning task generation operation, and the user modification determination process 604 is a process for controlling the robot to send a cleaning map to be determined to the user terminal so that the user terminal returns a cleaning map that has been determined. The marker removal process 605 is a process for prompting the user to remove the markers in the target space.
[0086] The procedure corresponding to the above deployment process can be packaged into a corresponding application program interface (API) in advance. The robot can call the application program interface of the deployment process to execute the corresponding deployment process to realize the application function of the corresponding deployment process.
[0087] The deployment execution state is a state in which the robot executes the corresponding deployment process. The deployment execution state includes an identification deployment state 606, a map construction state 607, a cleaning task generation state 608, a user modification determination state 609, and an identification removal state 610.
[0088] Please continue to refer to Figure 6 When the robot calls the application program interface corresponding to the identification deployment process 601, the robot can enter the identification deployment state 606. When the robot calls the application program interface corresponding to the map construction process 602, the robot can switch from the identification deployment state 606 to the map construction state 607. When the robot calls the application program interface corresponding to the cleaning task generation process 603, the robot can switch from the map construction state 607 to the cleaning task generation state 608. When the robot calls the application program interface corresponding to the user modification determination process 604, the robot can switch from the cleaning task generation state 608 to the user modification determination state 609. When the robot calls the application program interface corresponding to the identification removal process 605, the robot can switch from the user modification determination state 609 to the identification removal state 610.
[0089] The deployment prompt is information for prompting the user about the deployment work. The deployment prompt is generated by the robot. In some embodiments, the robot can present the deployment prompt through the interaction component. In some embodiments, the robot can send the deployment prompt to the user terminal, and the user terminal presents the deployment prompt.
[0090] In some embodiments, the deployment prompt includes a deployment marker prompt, a map construction prompt, a user modification confirmation prompt, and a removal marker prompt.
[0091] The deployment marker prompt is prompt information for prompting the user to deploy a marker in the target space. The map construction prompt is prompt information for prompting the user to control the robot to perform a map construction operation. The user modification confirmation prompt is prompt information for prompting the user to modify and confirm a cleaning map to be confirmed. The removal marker prompt is prompt information for prompting the user to remove a marker that has been deployed in the target space. In some embodiments, the deployment prompt can further include a cleaning task generation prompt, which is prompt information for prompting the robot to generate a cleaning task on the cleaning map.
[0092] The feedback of the user is an operation imposed on the robot by the user according to the deployment prompt, or the feedback of the user is an operation command sent by the user terminal to the robot according to the deployment prompt.
[0093] The deployment job includes map construction, cleaning task generation, and user modification determination. The deployment job of map construction is a deployment job for the robot to perform a map construction operation, the deployment job of cleaning task generation is a deployment job for the robot to perform a cleaning task generation operation, and the deployment job of user modification determination is a deployment job for the robot to send a cleaning map to be determined to the user terminal to make the user terminal return a determined cleaning map.
[0094] As described above, after the identification deployment process, the robot can perform the map construction deployment job corresponding to the map construction process. In some embodiments, the map construction deployment job includes performing the following steps: determining a target mapping mode in response to a mode selection command, and controlling the robot to perform a map construction operation according to the target mapping mode to obtain a cleaning map.
[0095] The mode selection command is a command for selecting a target mapping mode. In some embodiments, the mode selection command can be generated by the robot in response to a mode selection operation of the user. After the user deploys the marker in the target space according to the identification deployment prompt, the user clicks a virtual button of "marker deployment complete" on the interactive component of the robot, and then the interactive component of the robot presents a UI interface of various mapping modes. When the user clicks the UI interface corresponding to the mapping mode, the robot detects the mode selection command and determines the target mapping mode.
[0096] In some embodiments, the mode selection command can also be sent by the user terminal to the robot. The display interface of the user terminal has a UI interface of various mapping modes, the user clicks the UI interface corresponding to the mapping mode, the user terminal sends the mode selection command to the robot, and then the robot detects the mode selection command and determines the target mapping mode.
[0097] It can be understood that different mode selection commands can correspond to different mapping modes, and the mapping mode includes a follow mapping mode, an automatic mapping mode, and a remote control mapping mode. The follow mapping mode is a mode in which the robot first constructs a skeleton map and then constructs a detailed map following a target object, the automatic mapping mode is a mode in which the robot automatically explores an unknown area to construct a detailed map, and the remote control mapping mode is a mode in which the robot explores an unknown area to construct a detailed map under the control of a remote controller.
[0098] The target mapping mode is the mapping mode pointed to by the mode selection command. For example, when the mode selection command points to the follow mapping mode, the follow mapping mode is the target mapping mode.
[0099] When the target mapping mode is the follow mapping mode, the embodiment controls the robot to perform a mapping operation corresponding to the follow mapping mode to obtain a cleaning map. When the target mapping mode is the automatic mapping mode, the embodiment controls the robot to perform a mapping operation corresponding to the automatic mapping mode to obtain a cleaning map. When the target mapping mode is the remote mapping mode, the embodiment controls the robot to perform a mapping operation corresponding to the remote mapping mode to obtain a cleaning map.
[0100] The cleaning map can be a grid map, wherein each grid in the grid map is configured with a corresponding grid value, and different grid values can represent the state of the grid, and the state of the grid can represent the exploration of the area corresponding to the grid. The grid state of the grid includes a passable state, an obstacle state, and an unknown state, the passable state is used to indicate that the area corresponding to the grid is passable, the obstacle state is used to indicate that the area corresponding to the grid is not passable, and the unknown state is used to indicate that the state of the area corresponding to the grid is unknown. According to the grid state of the grid, the type of the grid can include a passable grid, an obstacle grid, and an unknown grid, wherein the passable grid is a grid whose grid state is a passable state, the obstacle grid is a grid whose grid state is an obstacle state, and the unknown grid is a grid whose grid state is an unknown state. In this way, after the embodiment performs the mapping operation, the cleaning map can be rasterized, and the condition of each area in the grid map can be marked so as to generate a cleaning task subsequently.
[0101] After the mapping process, the robot can perform a cleaning task generation deployment job corresponding to the cleaning task generation process. The cleaning task generation deployment job includes performing the following steps: partitioning the cleaning map to obtain at least one cleaning work partition, planning a work task for each cleaning work partition, and labeling a specific object and / or a specific area.
[0102] In some embodiments, partitioning the cleaning map to obtain at least one cleaning work partition includes extracting a to-be-cleaned area from the cleaning map, and dividing the to-be-cleaned area into at least one cleaning work partition according to a preset partition algorithm.
[0103] Please refer to Figure 7 , the robot 71 can explore in the target space 72 to construct a cleaning map. Wherein, the target space 72 exists a wall 73 and a wall 74. After the mapping process, the robot 71 obtains a cleaning map, wherein the cleaning map includes an area where an obstacle is located and a passable area, and the obstacle includes the wall 73 and the wall 74, and the passable area is a to-be-cleaned area.
[0104] The robot 71 takes the current position as a starting point, searches a passable connected domain according to a path search algorithm, and takes the passable connected domain as a to-be-cleaned region, where the passable connected domain includes the current position, and the path search algorithm includes a breadth-first search (BFS), a depth-first search (DFS), a Dijkstra algorithm, etc.
[0105] Next, as shown in Figure 7 the robot 71 divides the to-be-cleaned region into a first cleaning operation partition 75, a second cleaning operation partition 76, a third cleaning operation partition 77, and a fourth cleaning operation partition 78 according to a preset partition algorithm. In this way, the subsequent operation task planning of each cleaning operation partition can be more effective and targeted, which is beneficial to improving the cleaning coverage and cleaning efficiency.
[0106] In some embodiments, the operation task planning includes cleaning path planning, and the operation task planning for each cleaning operation partition includes: determining a cleaning starting point and an optimal cleaning direction of the cleaning operation partition, and planning a cleaning path of the cleaning operation partition according to the cleaning starting point and the optimal cleaning direction.
[0107] In some embodiments, determining the cleaning starting point of the cleaning operation partition includes: selecting a position closest to the current position of the robot in the cleaning operation partition as a target position, judging whether the robot can reach the target position from the current position, if yes, determining the target position as the cleaning starting point, and if no, continuing to search for the cleaning starting point according to the target position.
[0108] In some embodiments, continuing to search for the cleaning starting point according to the target position includes: determining a target cleaning path passing through the target position according to the optimal cleaning direction, calculating an area ratio of each side obstacle located on a target line segment, selecting a direction in which a side obstacle corresponding to a minimum area ratio is located as a target traversal direction, and searching for the cleaning starting point along the target cleaning path from the target position according to the target traversal direction, where the target line segment is jointly defined by the current position and the target position.
[0109] In some embodiments, calculating the area ratio of each side obstacle located on the target line segment includes: determining a current cleaning path passing through the current position and a partition line located on opposite sides of the target line segment, where the target cleaning path, the current cleaning path, and the two partition lines can form a closed region, calculating an area of each side obstacle located on the target line segment, dividing the area by a total area of the closed region to obtain an area ratio of each side obstacle, and each partition line intersects the current cleaning path and the target cleaning path, respectively.
[0110] For example, please refer to Figure 8When the robot 81 plans the cleaning work subarea 82, it needs to plan a cleaning path for the cleaning work subarea 83, and the current position is at point a. The robot needs to move from the current position a to the cleaning work subarea 83. Since point b of the cleaning work subarea 83 is closest to the current position a, point b is taken as the target position. However, if point b is taken as the cleaning starting point, the path from the current position a to the target position b is blocked by the obstacle, so the path from the current position a to the target position b is an unreachable path, and the robot needs to continue to search for the cleaning starting point.
[0111] Since the optimal cleaning direction is the row cleaning direction, the robot 81 can determine the target cleaning path 84 passing through the target position b, and the target line segment ab is jointly defined by the current position a and the target position b. The robot 81 calculates the area ratio of the obstacle on the left side of the target line segment ab as p1 = m1 / n, where p1 is the area ratio, m1 is the area of the obstacle on the left side, and n is the total area of the closed region formed by the target cleaning path 84 (line segment ef), the current cleaning path cd, the subarea line ec, and the subarea line fd. Similarly, the robot 81 calculates the area ratio of the obstacle on the right side of the target line segment ab as p2 = m2 / n, where p2 is the area ratio, and m2 is the area of the obstacle on the right side.
[0112] Since the area ratio p2 of the obstacle on the right side is smaller than the area ratio p1 of the obstacle on the left side, the target traversal direction is the right traversal direction. Then, the robot 81 searches for the cleaning starting point along the target cleaning path 84 with the target position b as the search starting point, and finally selects point g as the cleaning starting point, which can improve the efficiency and reliability of searching for the cleaning starting point and avoid selecting the wrong traversal direction to prevent the cleaning starting point from being searched out.
[0113] In some embodiments, determining the optimal cleaning direction of the cleaning work subarea includes determining the longest side of the cleaning work subarea and selecting a direction parallel to the longest side as the optimal cleaning direction. In this way, the robot will relatively reduce the number of turns when walking in the optimal cleaning direction, which is conducive to improving the cleaning efficiency.
[0114] The specific object can be customized by the user. Generally, the specific object can be a fragile object or an object that is easily deformed and cannot be restored or a valuable object or an object with special meaning or an object that has an impact on the robot or an object that has an impact on the cleaning map, such as a flowerpot, a glass bottle, an antique, a charging pile, etc.
[0115] In some embodiments, the labeling of the specific object includes: obtaining an identification signal of the identification object arranged at a specified position of the specific object, and labeling the specific object on the cleaning map according to the identification signal, such as labeling the specific object as a non-contact object, so that the robot can perform an avoidance strategy to avoid the specific object when the robot encounters the specific object during subsequent cleaning operations. Wherein, the labeling of the specific object includes recording the position of the specific object on the cleaning map and / or labeling the object name of the specific object. In some embodiments, labeling the specific object on the cleaning map according to the identification signal includes: querying the object name corresponding to the identification signal, and labeling the specific object on the cleaning map according to the object name.
[0116] In some embodiments, the labeling of the specific object includes: obtaining the environmental point cloud data, inputting the environmental point cloud data into the object detection model to identify the specific object, and labeling the specific object on the cleaning map. Wherein, the object detection model can be a model constructed based on a deep learning algorithm, and the embodiment can select sample data of multiple specific objects, and train the object detection model according to the sample data.
[0117] Please refer to Figure 7 In order to avoid the robot from colliding with the vase, the user arranges the identification object 710 beside the vase 79 according to the deployment of the identification object prompt, and when the robot 71 moves to the side of the vase 79, the robot 71 can detect the identification signal of the identification object 710, and then the robot 71 labels the vase 79 on the cleaning map according to the position of the identification object 710. Since the position of the identification object 710 is very close to the position of the vase 79, the position of the identification object 710 can be regarded as the position of the vase 79. When the robot 71 performs the cleaning operation subsequently, it can select an avoidance strategy to avoid the vase 79 when it moves to the position of the identification object 710, so as to avoid the collision between the robot 71 and the vase 79.
[0118] The specific area can be customized by the user, and generally, the specific area is an area where the robot is prohibited to walk, such as a staircase area, a doorway area, a sink area, a staircase area, etc.
[0119] In some embodiments, the labeling of the specific area includes: obtaining an identification signal of the identification object arranged at a specified position of the specific area, and labeling the specific area on the cleaning map according to the identification signal, such as labeling the specific area as a forbidden area, so that the robot can perform an avoidance strategy to avoid the specific area when the robot encounters the specific area during subsequent cleaning operations. Wherein, the labeling of the specific area includes recording the position of the specific area on the cleaning map and / or labeling the area name of the specific area. In some embodiments, labeling the specific object on the cleaning map according to the identification signal includes: querying the area name corresponding to the identification signal, and labeling the specific area on the cleaning map according to the area name.
[0120] Please combine Figure 7 In order to avoid the robot from entering a specific area, the user deploys the markers 710 at the elevator area 711 and the stairway area 712 according to the deployment marker prompt. When the robot 71 moves to the elevator area 711 or the stairway area 712, the robot 71 detects the identification signal of the marker 710, and then the robot 71 marks the elevator area 711 or the stairway area 712 on the cleaning map according to the position of the marker 710. When the robot 71 performs the cleaning operation subsequently, the robot 71 can choose to avoid the elevator area 711 or the stairway area 712 when encountering the elevator area 711 or the stairway area 712, so as to avoid the robot 71 from entering the elevator area 711 or the stairway area 712 and causing some dangerous accidents.
[0121] Overall, the robot provided by the embodiment can automatically generate a deployment prompt or automatically perform a deployment operation according to a deployment process and user feedback, improve the robot deployment efficiency, simplify the robot deployment work, and be conducive to saving costs.
[0122] In some embodiments, the deployment process includes an identification deployment process of deploying markers in the target space. According to the set deployment process and the deployment execution state, the corresponding deployment prompt is generated, including: in response to a start command, calling an application program interface corresponding to the identification deployment process to control the robot to enter an identification deployment state, and in the identification deployment state, controlling the robot to generate a deployment marker prompt. The identification deployment prompt is used to prompt the user to deploy the markers in the target space.
[0123] When the robot is started and enters an initial state, the user can issue a start command to the robot through a user terminal or a single click on the interactive interface of the robot. The robot responds to the start command, calls an application program interface corresponding to the identification deployment process, and then enters an identification deployment state and generates a deployment marker prompt. The robot can present the deployment marker prompt on the interactive interface, or send the deployment marker prompt to the user terminal, and the interface of the user terminal can present the deployment marker prompt. After the user sees the deployment marker prompt, the user deploys the markers in a specific object or a specific area in the target space.
[0124] In some embodiments, the map construction deployment operation is processed by the robot.
[0125] When the user clicks the virtual button of "identification of deployment completion" in the interactive interface of the robot or the virtual button of "identification of deployment completion" in the interface of the user terminal, the robot detects the identification of deployment completion command. The robot responds to the identification of deployment completion command, calls the application program interface corresponding to the map construction process to control the robot to enter the map construction state, that is, the robot switches from the identification deployment state to the map construction state. In the map construction state, the robot generates a mapping mode selection page, and the mapping mode selection page includes multiple mapping modes.
[0126] When the user selects a target mapping mode in the interactive interface of the robot or the interface of the user terminal, the robot detects the mode selection command, determines the target mapping mode, and controls the robot to perform the map construction operation according to the target mapping mode to obtain a cleaning map.
[0127] When the map construction process is completed, the robot can automatically enter the cleaning task generation process. The robot calls the application program interface corresponding to the cleaning task generation process to control the robot to enter the cleaning task generation state, that is, the robot switches from the map construction state to the cleaning task generation state. Then, the robot partitions the cleaning map to obtain at least one cleaning work partition, plans a work task for each cleaning work partition, and labels specific objects and / or specific areas.
[0128] It can be understood that the cleaning task generation deployment work can not only be performed by the robot, but also by a remote server. In some embodiments, the cleaning task generation deployment work is performed by a remote server: the remote server acquires the cleaning map sent by the robot, performs the cleaning task generation deployment work according to the cleaning map, obtains a to-be-determined cleaning map, and sends the to-be-determined cleaning map to the robot. Then, the robot sends the to-be-determined cleaning map to the user terminal in the user modification determination state, so that the user terminal returns a determined cleaning map, and the robot saves the determined cleaning map.
[0129] The embodiment utilizes the strong data analysis capability and operation speed of the remote server to quickly and reliably perform the cleaning task generation deployment work, so as to generate an accurate and reliable cleaning map.
[0130] When the cleaning task generation process is completed, the robot can automatically enter the user modification determination process, that is, after the robot completes the cleaning task generation deployment work, the robot calls the application program interface corresponding to the user modification determination process to control the robot to enter the user modification determination state, sends the to-be-determined cleaning map to the user terminal in the user modification determination state, so that the user terminal returns a determined cleaning map, and saves the determined cleaning map.
[0131] Since the robot can automatically send the to-be-determined cleaning map to the user terminal, the user can further modify or confirm whether there is anything unreasonable in the cleaning map at the user terminal. After the user modifies or confirms at the user terminal, the user terminal encapsulates the determined cleaning map in a map construction end command and sends the map construction end command to the robot. The robot parses the map construction end command, extracts the determined cleaning map therefrom, and saves the determined cleaning map, so as to ensure the accuracy of the cleaning map.
[0132] When the robot detects the map construction end command after ending the user modification and determination process, an application program interface corresponding to the identification removal process is called to control the robot to enter an identification removal state. In the identification removal state, the robot is controlled to generate an identification removal prompt for prompting the user to remove the identification object that has been deployed in the target space.
[0133] In this embodiment, the robot can present the identification removal prompt on the interactive interface or send the identification removal prompt to the user terminal, and the interface of the user terminal can present the identification removal prompt. After the user sees the identification removal prompt, the user removes the identification object of the specific object or specific area in the target space.
[0134] Since this embodiment can prompt the user to deploy the identification object before map construction and automatically prompt the user to remove the identification object after the map construction is completed, the robot can be used immediately after being deployed and can be collected immediately after being removed in the target space. Therefore, this embodiment can improve the flexibility and maneuverability of deploying the robot and avoid affecting the environment.
[0135] To describe the working process of the robot deployment method provided in this embodiment in detail, this embodiment combines the robot deployment method provided in this embodiment with the robot deployment method provided in the first embodiment. Figure 9 The details are as follows:
[0136] Please refer to Figure 9 The whole house 90 includes a piano room 91, a living room 92, a guest bedroom 93, a master bedroom 94, a bathroom 95, and a kitchen 96. The whole house 90 is provided with a charging pile 97, and the robot 98 can be charged at the charging pile 97.
[0137] The user terminal establishes a hot spot connection with the robot 98. The user can issue a start command to the robot 98 through the user terminal. Then, the robot 98 starts the robot deployment program.
[0138] First, the robot 98 enters an identification deployment process and calls an application program interface corresponding to the identification deployment process to control the robot to enter an identification deployment state. The robot 98 sends a deployment identification object prompt to the user terminal in the identification deployment state. The user views the deployment identification object prompt through the user terminal and deploys an identification object 910 beside the vase 99.
[0139] After the user completes the deployment of the marker, the user clicks the virtual button of "marker deployment completed" on the user terminal, and the user terminal sends a marker deployment end command to the robot 98. The robot 98 responds to the marker deployment end command, calls the application program interface corresponding to the map construction process, and controls the robot to enter the map construction state.
[0140] After the robot 98 enters the map construction process, the user clicks the UI interface corresponding to the target mapping mode, and the user terminal sends a mode selection command to the robot. Then, the robot detects the mode selection command and determines the target mapping mode. Subsequently, the robot 98 enters the cleaning task generation process, the user modification determination process, and the marker removal process. In the marker removal process, the user removes the marker 910 beside the vase 99 according to the marker removal prompt, thereby completing the deployment of the robot. The robot provided in the embodiment can automatically generate a deployment prompt or automatically perform a deployment task according to the deployment process and the user's feedback, thereby improving the deployment efficiency of the robot, simplifying the deployment work of the robot, and being conducive to cost saving.
[0141] In some embodiments, controlling the robot to perform the map construction operation according to the target mapping mode comprises: controlling the robot to explore the to-be-explored area to construct the cleaning map according to the target mapping mode, recording the position of the marker when the marker in the to-be-explored area is detected, and generating the boundary of the cleaning map according to the position of the marker.
[0142] The to-be-explored area is an area that needs to be explored by the robot for constructing the cleaning map. In some embodiments, if the target mapping mode is the follow mapping mode, the robot is controlled to explore the to-be-explored area to construct the cleaning map in the follow mapping mode. If the target mapping mode is the automatic mapping mode, the robot is controlled to explore the to-be-explored area to construct the cleaning map in the automatic mapping mode. If the target mapping mode is the remote control mapping mode, the robot is controlled to explore the to-be-explored area to construct the cleaning map in the remote control mapping mode.
[0143] When the robot enters the follow mapping mode, the embodiment obtains movement information of the target object moving in the to-be-explored area, generates a skeleton graph according to the movement information, controls the robot to go to the to-be-explored area for exploration according to the skeleton graph to obtain exploration data, and generates the cleaning map according to the exploration data.
[0144] The target object is an object that needs to be followed by the robot, wherein the target object can be a natural person or a self-moving object, and the self-moving object includes a self-navigating robot or a remotely controllable robot.
[0145] Before acquiring the movement information, the embodiment needs to determine the target object in a complex crowd or a complex environment. In some embodiments, the embodiment acquires three-dimensional point cloud information, extracts target point cloud information matched with the target object according to the three-dimensional point cloud information, and determines the target object according to the target point cloud information.
[0146] In some embodiments, extracting the target point cloud information corresponding to the target object according to the three-dimensional point cloud information includes: extracting a local environment point cloud from the three-dimensional point cloud information according to a local reconstruction algorithm, segmenting the local environment point cloud into a plurality of object point clouds according to a point cloud segmentation algorithm, and determining the target point cloud information corresponding to the target object according to the plurality of object point clouds. The local reconstruction algorithm includes an ORB-SLAM algorithm or an InfiniTAM algorithm, and the point cloud segmentation algorithm includes a region growing algorithm.
[0147] The embodiment can reliably and accurately extract the target point cloud information from the three-dimensional point cloud information, so as to reliably and accurately determine the target object in the complex crowd or the complex environment.
[0148] In some embodiments, the target object wears a specific marker, and determining the target point cloud information corresponding to the target object according to the plurality of object point clouds includes: screening reference point cloud information corresponding to the specific marker and candidate point cloud information corresponding to the target object from the plurality of object point clouds, calculating the Euclidean distance between the center point of the reference point cloud information and the center point of the candidate point cloud information, judging whether the Euclidean distance is less than or equal to a preset distance threshold, if yes, taking the candidate point cloud information corresponding to the target object as the target point cloud information, and if no, continuing to search for the target point cloud information.
[0149] The embodiment can more accurately and reliably determine the target object by wearing a specific marker, and the specific marker can be a specified color pendant or a specified color clothes, etc.
[0150] The area to be explored is an area that needs to be explored by the robot for constructing a cleaning map, and the area to be explored can be one or more than two. Therefore, the target object can move in one or more than two areas to be explored in sequence, such as a whole house including a living room, a bedroom and a kitchen, wherein the living room, the bedroom and the kitchen are all areas to be explored, and the robot can follow the user to move. First, the user goes to the living room first, and the robot follows the user to enter the living room. Then, the user switches from the living room to the bedroom, and the robot follows the user to switch from the living room to the bedroom. Finally, the user switches from the bedroom to the kitchen, and the robot follows the user to switch from the bedroom to the kitchen.
[0151] The movement information is used to represent the movement posture and movement parameters of the target object in the area to be explored, and the movement parameters include movement speed or movement acceleration, wherein the movement information can be collected by the sensing assembly.
[0152] The skeleton map is map data for instructing the robot to explore each to-be-explored region.
[0153] In some embodiments, the skeleton map includes skeleton paths and skeleton points, the skeleton paths are paths for instructing the robot to explore each to-be-explored region, and the skeleton points are points for marking the to-be-explored regions.
[0154] The skeleton paths are generated by the robot following the target object according to movement information of the target object, wherein the skeleton paths are consistent with the movement trajectory of the target object. Generally, the movement trajectory of the target object is safe and reliable, and thus the skeleton paths are also generally safe and reliable.
[0155] The skeleton points are generated by the robot according to a position recording operation input by the user on an interactive interface of the robot, or can also be generated by the robot according to a position recording command sent by the user terminal. The robot records the skeleton points and the skeleton paths when following the target object according to the movement information, so as to generate the skeleton map.
[0156] The exploration data is point cloud data collected by the robot when going to the to-be-explored regions through a sensing component, and the robot explores each to-be-explored region corresponding to each skeleton point according to the skeleton paths, so as to obtain the exploration data of each to-be-explored region.
[0157] The robot processes the exploration data using a map construction algorithm to generate a cleaning map, wherein the map construction algorithm includes a SLAM algorithm (Simultaneous Localization and Mapping).
[0158] In this embodiment, the to-be-explored regions involved in the skeleton map can be explored with high coverage under the guidance of the skeleton map, so as to generate a cleaning map with a wider coverage, thereby improving the mapping coverage. In addition, since the skeleton map is generated according to the movement information of the target object, generally the movement of the target object is relatively safe and reliable, and thus the safety and reliability of the robot are relatively high when the robot moves according to the skeleton map to generate the cleaning map. At the same time, the robot can automatically follow the target object without human control, which is beneficial to improve the mapping efficiency.
[0159] In some embodiments, the movement information includes a movement speed and a movement pose, the movement speed is a speed at which the target object moves in the to-be-explored region, and the movement pose is a pose at which the target object moves in the to-be-explored region, and the movement information of the target object moving in the to-be-explored region includes the following steps:
[0160] Step S01: When the target object moves in the region to be explored, the target point cloud information of the target object is obtained.
[0161] Step S02: According to the target point cloud information, the observation speed and the observation pose are calculated.
[0162] Step S03: The observation speed and the observation pose are input into the Kalman filter to obtain the moving speed and the moving pose.
[0163] In step S01, the target point cloud information is the point cloud information matched with the target object. In some embodiments, when starting to construct the skeleton graph, the robot generates a following prompt information, which is used to prompt the target object to stand in a specified distance range in front of the robot. The robot obtains three-dimensional point cloud information through a sensing component, and the three-dimensional point cloud information is the point cloud information obtained by detecting the environment. Then, the robot determines whether the target point cloud information matched with the target object can be extracted according to the three-dimensional point cloud information. If the target point cloud information can be extracted, the robot calculates the observation speed and the observation pose information according to the target point cloud information. If the target point cloud information cannot be extracted, the robot continues to generate the following prompt information, which can be text information, voice broadcast information, flashing information, etc.
[0164] In step S02, the observation speed is the speed calculated by the robot through the target voltage information collected by the sensing component, such as 0.5 m / s, 0.6 m / s or 1 m / s, etc. The observation pose is the pose determined by the robot through the target voltage information collected by the sensing component, such as 30 degrees left deviation, 60 degrees right deviation or straight ahead, etc.
[0165] In step S03, the observation speed and the observation pose are input into the Kalman filter in this embodiment. The Kalman filter corrects the observation speed and the observation pose according to the Kalman filtering algorithm, and more accurate and reliable moving speed and moving pose can be obtained. This is conducive to the robot to follow the robot to generate the skeleton graph more safely and reliably.
[0166] In some embodiments, when generating the skeleton graph according to the moving information, generating the skeleton graph according to the moving information includes:
[0167] Step S11: According to the moving pose, the robot is controlled to follow the target object according to the moving speed.
[0168] Step S12: The skeleton path and the skeleton point of the robot following the target object are recorded.
[0169] Step S13: The skeleton graph is generated according to the skeleton point and the skeleton path.
[0170] In step S11, the robot adjusts its pose according to the moving pose of the target object in response to the pose transformation of the target object, so as to effectively follow the moving trajectory of the target object. Meanwhile, in order to avoid collision between the robot and the target object or lag of the robot behind the target object, the robot can follow the target object according to the moving speed of the target object, so that the robot and the target object can be kept within a preset distance range, thereby effectively following the target object.
[0171] In some embodiments, the robot following the target object according to the moving pose at the moving speed comprises: determining the current pose and the current speed of the robot relative to the target object, calculating the pose deviation between the current pose and the moving pose and the speed deviation between the current speed and the moving speed, adjusting the current pose of the robot according to the pose deviation so that the adjusted current pose is consistent with the moving pose, and adjusting the current speed of the robot according to the speed deviation so that the adjusted current speed is consistent with the moving speed.
[0172] In step S12, the robot records each position point in the process of following the target object, and the plurality of position points in time sequence can form a skeleton path. Please continue to refer to Figure 9 The target object 911 controls the robot 98 to enter the following composition mode, so that the robot 98 leaves the charging pile 97 and follows the target object 911 to build a skeleton map.
[0173] When the robot 98 follows the target object 911 to move the position point C1, the robot 98 records the position point C1. Similarly, when the robot 98 follows the target object 911 to move the position point C2, the robot 98 records the position point C2, and so on. When the robot 98 follows the target object 911 to sequentially walk through the piano room 91, the living room 92, the guest bedroom 93, the master bedroom 94, the bathroom 95 and the kitchen 96, the following position point set Z1={C1, C2, C3, C4……, Cn} is obtained, wherein each position point is sorted in time sequence, and each position point in the position point set Z1 can form a skeleton path.
[0174] In some embodiments, the robot judges whether each position point satisfies the reachable condition, if yes, the position point is saved, and if not, the position point is filtered out, and path interruption information is generated. The path interruption information can be displayed on the interactive interface of the robot, or can be displayed on the interface of the user terminal, and the path interruption information is used to prompt that the area where the position point not satisfying the reachable condition is located is unreachable. The target object checks the path interruption information, and leads the robot to re-complete the skeleton path to form a skeleton path with continuous position points.
[0175] In some embodiments, when the robot enters the path completion state, each new position point in the process of the robot following the target object is recorded, and each new position point is sequentially added to the position point set.
[0176] The robot explores the to-be-explored area corresponding to the generated skeleton point in the order of the skeleton point. In some embodiments, the robot acquires a position recording command, and records the current position point of the robot as a skeleton point according to the position recording command.
[0177] In some embodiments, acquiring the position recording command includes: in response to a position recording operation input by a user on the interactive interface of the robot, generating the position recording command. For example, the user inputs a position recording operation on the interactive interface of the robot, the robot detects the position recording operation, and then generates the position recording command to trigger the controller to record the current position of the robot as a skeleton point.
[0178] In some embodiments, acquiring the position recording command includes: acquiring a position recording command sent by a user terminal. For example, when the user leads the robot to the corresponding to-be-explored area, the user can operate the user terminal to send a position recording command to the robot, and the robot records the current position point of the robot as a skeleton point according to the position recording command.
[0179] For example, please refer to Figure 9 When the robot 98 follows the target object 911 to the piano room 91, the target object 911 sends a position recording command to the robot 98 through the user terminal, and the robot 98 records the position point D1 as a skeleton point. Similarly, through the operation of the target object 911, the robot 98 can record the position points D2 to D9 as skeleton points. Therefore, the skeleton point set Z2 = {D1, D2, D3, D4, D5, D6, D7, D8, D9}.
[0180] It can be understood that in some embodiments, multiple skeleton points can also be set in the same to-be-explored area. For example, there is a skeleton point D10 in the living room 92, a skeleton point D11 in the guest bedroom 93, a skeleton point D12 in the master bedroom 94, a skeleton point D13 in the bathroom 95, and a skeleton point D14 in the kitchen 96. Therefore, the skeleton point set Z2 = {D1, D2, D10, D3, D11, D4, D12, D5, D13, D6, D7, D8, D14, D9}.
[0181] In step S13, the robot 98 can obtain the skeleton map according to the position point set Z1 and the skeleton point set Z2. As described above, the robot can automatically follow the target object without too much manual control of the target object, and can automatically generate the skeleton map. Subsequently, the robot can generate a cleaning map safely, reliably, and with high coverage according to the skeleton map.
[0182] In some embodiments, the controlling the robot to go to the region to be explored for exploration to obtain exploration data according to the skeleton map comprises the following steps:
[0183] Step S131: determining a target skeleton point, the target skeleton point being one of the plurality of skeleton points.
[0184] Step S132: controlling the robot to navigate to the target skeleton point according to the skeleton path.
[0185] Step S133: controlling the robot to explore the region to be explored where the target skeleton point is located to obtain exploration data.
[0186] In step S131, the target skeleton point is the skeleton point corresponding to the region to be explored.
[0187] In some embodiments, the determining the target skeleton point comprises: when ending the exploration of the region to be explored where the current skeleton point is located, selecting the skeleton point arranged after the current skeleton point as the target skeleton point according to the skeleton point generation order. For example, please refer to the description of the skeleton point D2 in the skeleton path 1000 in FIG. 10. Figure 9 When the robot 98 ends the exploration of the region to be explored where the current skeleton point D1 is located, since the skeleton point D2 is arranged after the current skeleton point D1, the robot 98 selects the skeleton point D2 as the target skeleton point. Similarly, when the robot 98 ends the exploration of the region to be explored where the current skeleton point D2 is located, since the skeleton point D10 is arranged after the current skeleton point D2, the robot 98 selects the skeleton point D10 as the target skeleton point.
[0188] In step S132, the controlling the robot to navigate to the target skeleton point according to the skeleton path comprises: determining a connected domain containing the current position of the robot and the target skeleton point according to a path search algorithm, determining a candidate region where the boundary line of the current cleaning map and the connected domain overlap, screening out a position point with the smallest distance from the current position in the candidate region, taking the position point as a target point, judging whether the robot can reach the target point from the current position, if yes, controlling the robot to navigate to the target point from the current position, and then controlling the robot to navigate to the target skeleton point from the target point, if not, continuing to search for the target point. The path search algorithm comprises a breadth-first search algorithm (BFS), a depth-first search algorithm (DFS), a Dijkstra algorithm, etc.
[0189] Since the cleaning map provided by the embodiment is an extended map, the embodiment can continue to update the cleaning map on the basis of the current cleaning map according to the exploration data, and thus the current cleaning map with the boundary line can be obtained after the current to-be-explored region is explored. As described above, the skeleton path is safe and reliable, and in order to reduce the unreliability of the robot when walking between different skeleton points, the embodiment will preferentially use the skeleton path that has been explored to facilitate walking between different skeleton points.
[0190] Since the robot deviates from the skeleton path when exploring the current skeleton point, in order to improve the efficiency of quickly entering the skeleton path, the embodiment can search for a target point on the boundary line of the current cleaning map, wherein the target point needs to meet the following conditions: 1. needs to fall in the connected domain; 2. needs to be the closest to the current position and reachable. Therefore, the embodiment first determines a candidate region where the boundary line of the current cleaning map overlaps with the connected domain, and then screens out the position point closest to the current position in the candidate region as the target point. In this way, the embodiment can quickly enter the skeleton path, and by virtue of the natural advantages of safety and reliability of the skeleton path, the robot can be safely and reliably guided to the target skeleton point.
[0191] In step S133, for example, please combine Figure 9 When the skeleton point D1 is the target skeleton point, the robot explores the to-be-explored region where the skeleton point D1 is located to obtain exploration data, and the robot can update the cleaning map according to the exploration data. When the robot judges that the to-be-explored region where the skeleton point D1 is located has been explored, the robot stops exploring and goes to another target skeleton point, that is, goes to the skeleton point D2.
[0192] In some embodiments, generating the cleaning map according to the exploration data includes the following steps:
[0193] Step S141: updating the cleaning map according to the exploration data at a preset frequency.
[0194] Step S142: judging whether the to-be-explored region where the target skeleton point is located has been explored.
[0195] Step S143: if the to-be-explored region has been explored, controlling the robot to navigate to the next target skeleton point.
[0196] Step S144: if the to-be-explored region has not been explored, controlling the robot to continue exploring in the to-be-explored region where the target skeleton point is located.
[0197] In step S141, the preset frequency can be customized by the user, such as updating the cleaning map once every 5 seconds. The embodiment uses the exploration data to update the cleaning map at a preset frequency to generate an extended cleaning map.
[0198] In step S142, the robot starts to explore the to-be-explored region from the target skeleton point, and determining whether the to-be-explored region where the target skeleton point is located has been explored completely comprises: determining whether there is an exploration navigation point in the to-be-explored region where the target skeleton point is located, the exploration navigation point being a position point of the robot for exploring the to-be-explored region, if there is, it is determined that the to-be-explored region where the target skeleton point is located has not been explored completely, and if there is not, it is determined that the to-be-explored region where the target skeleton point is located has been explored completely.
[0199] In some embodiments, the to-be-explored region comprises a mapped region and a to-be-mapped region, the mapped region being a region in the to-be-explored region where a map has been generated, and the to-be-mapped region being a region in the to-be-explored region where mapping needs to be explored. As described above, the embodiment adopts an extended mapping method, and when the robot explores a cluster of regions in the to-be-explored region, a map of the cluster of regions can be added to the mapped region, so as to obtain an updated mapped region. The to-be-mapped region is a region remaining in the to-be-explored region after the mapped region is removed.
[0200] In some embodiments, determining whether there is an exploration navigation point in the to-be-explored region where the target skeleton point is located comprises: determining an explored point with a maximum exploration benefit value on the mapped region according to an exploration benefit algorithm, determining whether the maximum exploration benefit value is greater than a critical threshold value, if yes, it is determined that the to-be-explored region where the target skeleton point is located has an exploration navigation point, and if no, it is determined that the to-be-explored region where the target skeleton point is located has no exploration navigation point. The critical threshold value can be defined by a designer according to engineering experience, for example, the critical threshold value is 0.
[0201] In some embodiments, determining an explored point with a maximum exploration benefit value on the existing clean map according to the exploration benefit algorithm comprises: determining an exploration benefit value of each explored point on the mapped region according to the exploration benefit algorithm, and selecting an explored point corresponding to a maximum exploration benefit value from the exploration benefit values of the explored points.
[0202] In some embodiments, determining an exploration benefit value of each explored point on the mapped region according to the exploration benefit algorithm comprises: determining an exploration benefit value of each explored point on the mapped region according to an exploration benefit value formula.
[0203] For example, the exploration reward value E(i) = a * e1 - b * e2 - z * e3, wherein e1 is the map area reward value of the newly mapped area when the robot moves from the navigation recovery point to the ith explored point, e2 is the movement distance reward value of the robot from the navigation recovery point to the ith explored point, e3 is the obstacle distance reward value of the ith explored point from the nearest obstacle, a is the weight of e1, b is the weight of e2, z is the weight of e3, and a + b + z = 1, wherein a > b, a > z, and a can be 0.8 to 0.95.
[0204] The map area reward value, the movement distance reward value, and the obstacle distance reward value are all normalized values, wherein the map area reward value is The movement distance reward value is The obstacle distance reward value is s i is the map area reward value of the ith explored point, d i is the movement distance reward value of the ith explored point, l i is the obstacle distance reward value of the ith explored point.
[0205] According to the formula of the exploration reward value, the exploration reward value is proportional to the map area reward value, that is, the greater the map area reward value, the greater the exploration reward value, and the smaller the map area reward value, the smaller the exploration reward value.
[0206] The exploration reward value is inversely proportional to the movement distance reward value, that is, the greater the movement distance, the smaller the exploration reward value, and the smaller the movement distance, the greater the exploration reward value, so as to encourage the robot to select the explored point close to the navigation recovery point as the exploration navigation point.
[0207] The exploration reward value is inversely proportional to the obstacle distance reward value, that is, the greater the obstacle distance reward value, the smaller the exploration reward value, and the smaller the obstacle distance reward value, the greater the exploration reward value, so as to encourage the robot to select the explored point far from the obstacle as the exploration navigation point to avoid collision with the obstacle.
[0208] The embodiment calculates the exploration reward value of each explored point on the mapped area, such as the following exploration reward values of the explored points: {E1, E2, E3, E4, E5, E6, E7, E8, E9}. If E5 is the maximum exploration reward value.
[0209] Then, the embodiment determines whether the maximum exploration benefit value E5 is greater than 0. If yes, the embodiment selects the explored point corresponding to E5 as the exploration navigation point, and determines that the to-be-explored region where the target skeleton point is located has the exploration navigation point. If no, it is determined that the to-be-explored region where the target skeleton point is located has no exploration navigation point. In this way, it can be indicated that the map area benefit value is 0, or the map area benefit value is very small, and the movement distance benefit value and / or the obstacle distance benefit value is large. When the to-be-explored region where the target skeleton point is located has no exploration navigation point, it indicates that the to-be-explored region where the target skeleton point is located has been explored completely.
[0210] In step S143, when the robot detects that all regions in the to-be-explored region have been explored completely, the robot is controlled to navigate to the next target skeleton point. For example, when the robot detects that each cluster of regions detected in different postures is an explored region, it is determined that all regions in the to-be-explored region have been explored completely.
[0211] In step S144, when the robot detects that all regions in the to-be-explored region have not been explored completely, the robot is controlled to continue to explore in the to-be-explored region where the target skeleton point is located.
[0212] The embodiment finely explores the local to-be-explored region on the basis of the skeleton map, so as to generate a comprehensive, reliable and accurate cleaning map.
[0213] In some embodiments, the embodiment determines whether all to-be-explored regions where the skeleton points are located have been explored completely. If yes, the updating of the cleaning map is ended. If no, the robot is controlled to navigate to the next target skeleton point.
[0214] When the robot enters the automatic composition mode and the navigation state of the robot is the normal navigation state, the robot records the current position point as an explored point and goes to the next to-be-explored region.
[0215] When the robot enters the abnormal navigation state, the embodiment acquires an explored target region, determines a navigation recovery point according to the explored target region, and controls the robot to perform a navigation recovery operation according to the current position of the robot and the navigation recovery point.
[0216] The abnormal navigation state is a state of the robot when an abnormality occurs in the navigation process. When the robot detects the abnormal navigation information, the embodiment determines that the robot enters the abnormal navigation state.
[0217] In some embodiments, the abnormal navigation information includes that the robot is in a preset position range for a preset time length. When it is detected that the robot is in the preset position range for the preset time length, the embodiment determines that the robot enters the abnormal navigation state.
[0218] In some embodiments, the navigation abnormality information comprises that the robot does not reach the specified position within a preset time length, and the robot is determined to be in the navigation abnormality state when it is detected that the robot does not reach the specified position within the preset time length.
[0219] In some embodiments, the navigation abnormality information comprises that a collision signal between the robot and an obstacle is greater than or equal to a threshold value, and the robot is determined to be in the navigation abnormality state when it is detected that the collision signal is greater than or equal to the threshold value.
[0220] The explored target area is an explored area selected by the robot for the purpose of navigation recovery. In some embodiments, the robot can select any one of the explored areas as the explored target area. In some embodiments, the robot acquires each explored area, selects the explored area closest to the current position in each explored area as the explored target area, so that the robot can improve the efficiency of navigation from the current position to the navigation recovery point, thereby improving the efficiency of navigation abnormality recovery.
[0221] The navigation recovery point is a position point that the robot needs to reach for the purpose of recovering to the normal navigation state. In some embodiments, the robot can select any one position point in the explored target area as the navigation recovery point. In some embodiments, the robot searches for a corresponding position point in the explored target area as the navigation recovery point in a near-far manner.
[0222] The current position of the robot can be determined by the robot based on the current cleaning map, and the navigation recovery operation is an operation of controlling the robot to enter the normal navigation state from the navigation abnormality state. In some embodiments, the robot determines a navigation path according to the current position and the navigation recovery point of the robot, and controls the robot to navigate from the current position to the navigation recovery point according to the navigation path.
[0223] Since the robot can automatically determine the navigation recovery point to control the robot to perform the navigation recovery operation without human intervention, the robot can improve the efficiency of navigation abnormality recovery.
[0224] In some embodiments, determining the navigation recovery point according to the explored target area comprises the following steps:
[0225] S31: determining whether the explored target area has an explored point meeting the distance screening condition.
[0226] S32: if yes, selecting the explored point as the navigation recovery point;
[0227] S33: if no, acquiring a traveled path, and determining the navigation recovery point according to the traveled path and the current position, wherein the traveled path comprises the current position.
[0228] In S31, the distance screening condition is a condition for screening a navigation recovery point from the explored target area. In some embodiments, the distance screening condition can include whether there is an explored point in the explored target area that is closest to the current position and is reachable. In some embodiments, the distance screening condition can include whether there is an explored point in the explored target area that is within a preset distance range from the current position and is reachable.
[0229] In S32, if the explored target area has an explored point that meets the distance screening condition, and the explored point is a reachable position point, that is, the robot can reach the explored point from the current position, then this explored point can be selected as the navigation recovery point.
[0230] In S33, if the explored target area does not have an explored point that meets the distance screening condition, or the explored point meets the distance screening condition but the explored point is an unreachable position point, then the embodiment needs to continue searching for a navigation recovery point.
[0231] The traveled path is a path traveled by the robot to the current position, wherein the traveled path includes a plurality of traveled points arranged in sequence, and each traveled point is a position point that has been traveled by the robot, and the position of each traveled point on the cleaning map can be represented by coordinates of a coordinate system.
[0232] In order to facilitate positioning of a certain object in the target space in the cleaning map, and facilitate navigation, obstacle avoidance and other operations of the robot in the target space, the robot configures a grid coordinate system for the grid map, wherein the origin of the grid coordinate system can be defined at any suitable position of the grid map, for example, the origin can be defined at the upper left corner of the grid map, the positive direction of the X axis is horizontally to the right, and the positive direction of the Y axis is vertically downward, so that through the grid coordinate system, the position of each object or each region in the grid map can be quantitatively represented.
[0233] Therefore, each time the robot travels a step on the cleaning map, based on the SLAM algorithm, the coordinates of each step on the cleaning map can be recorded to represent the position point of the robot. When the robot travels N steps, the robot can record N position points, and the N position points are traveled points.
[0234] Referring to Figure 10 , the robot 61 performs exploration mapping in the target space 62. Wherein, when the robot 61 is charging at the charging pile 60, it receives an automatic mapping command sent by the user terminal, enters an automatic mapping mode according to the automatic mapping command, then the robot 61 leaves the charging pile 60, rotates half a circle in place, and when no obstacle is encountered during the rotation, records the current position as the starting point O of the cleaning map, and starts automatic exploration mapping.
[0235] In the automatic exploration mapping process, the robot 61 enters the room 63, the area 64, the room 65 and the room 66 in sequence. Among them, the robot 61 has walked to the position point O, so the position point O is a walked point, and at this time the walked point set W = {O}. Assuming that the robot 61 is at the position point A, the position point A is also a walked point, and at this time the walked point set W = {O, A}. Similarly, when the robot 61 is at the position point B, the position point B is also a walked point, and at this time the walked point set W = {O, A, B}.
[0236] By analogy, the walked point set W = {O, A, B, C, D, E, F, G, H, I, J…}, wherein each walked point in the walked point set W can form a walked path.
[0237] The walked path is a path that has been walked by the robot, and generally the walked path is a relatively safe and reliable path. Therefore, the embodiment can determine a navigation recovery point in the walked path, that is, the embodiment determines the navigation recovery point according to the walked path and the current position, so that the robot can be safely and reliably navigated to the navigation recovery point quickly.
[0238] In some embodiments, when the embodiment determines whether the explored target area has an explored point that meets the distance screening condition, it can be determined whether the explored target area has an explored point that is within a preset distance range from the current position and is reachable. For example, the embodiment determines whether the explored target area has an explored point that is within a preset distance range from the current position, and if so, determines a movement path according to the current position and the explored point that is within the preset distance range from the current position, and determines whether the robot can reach the explored point from the current position according to the movement path, and if not, continues to search for another explored point that is within the preset distance range from the current position.
[0239] The preset distance range is jointly defined by a minimum distance threshold and a maximum distance threshold, and in addition, the preset distance range can be self-defined by the designer according to engineering experience. For example, the preset distance range is 1 meter to 4 meters, wherein 1 meter is the minimum distance threshold and 4 meters is the maximum distance threshold. Alternatively, the preset distance range is 0.5 meters to 3 meters or 2 meters to 5 meters, etc.
[0240] If the navigation recovery point is determined within less than the minimum distance threshold, the navigation recovery point searched by the robot is unreliable, and the robot is prone to falling into an abnormal navigation state when navigating from the navigation recovery point. The robot needs to determine the navigation recovery point frequently and repeatedly, which requires more time and computing power. If the navigation recovery point is determined within more than the maximum distance threshold, if the navigation recovery point is determined, the robot needs to retreat a large distance to navigate to the navigation recovery point, which makes the robot need to repeat the exploration or exceed the home point, thereby reducing the exploration efficiency or the home efficiency.
[0241] The embodiment searches for the navigation recovery point in the preset distance range jointly defined by the minimum distance threshold and the maximum distance threshold, which is beneficial to quickly search for a reliable navigation recovery point and also does not need to retreat too much distance, thereby improving the exploration efficiency or the return efficiency.
[0242] In some embodiments, the embodiment searches for the explored target region according to the current radius to obtain a search region, the search region includes position points with a distance of the current radius from the current position, and the current radius is the minimum distance threshold in initialization. Then, the embodiment determines whether each position point in the search region falls in the explored target region, and if yes, determines the position point as an explored target point. If not, the current radius is updated according to the distance step and the current radius. Then, the embodiment determines whether the updated current radius is greater than the maximum distance threshold, and if yes, determines that the explored target region does not exist an explored point satisfying the distance screening condition, and if not, the embodiment searches for the explored target region according to the updated current radius to obtain a search region, until a navigation recovery point is searched out. If the search region includes a plurality of explored target points satisfying the distance screening condition, the embodiment can select one of the plurality of explored target points satisfying the distance screening condition as the navigation recovery point, and if not, continues to select the explored target point. The distance step is the radius of the robot.
[0243] In some embodiments, searching for the explored target region according to the current radius to obtain a search region includes selecting a region located at the boundary of the current radius and overlapping with the explored target region as the search region.
[0244] Please refer to Figure 11 , the robot 61 has explored the explored region 67, the explored region 68 and the explored region 69. When the robot 61 enters the navigation abnormal state at the current position 610, the preset distance range is 1 meter to 4 meters, the radius of the robot is 0.3 meters, and the explored region 67 is the closest to the current position of the robot 61, so the explored region 67 is the explored target region.
[0245] The robot 61 takes the current position 610 as the center, first sets the current radius r to 1 meter, and searches for the explored region 67 according to the current radius of 1 meter, at this time, the search region is empty.
[0246] Then, the robot 61 sets the current radius r to 1 meter + 0.3 meter = 1.3 meter, searches for the explored region 67 according to the current radius of 1.3 meter, at this time, the search region is empty.
[0247] Then, the robot 61 sets the current radius r as 1.3 meters + 0.3 meters = 1.6 meters, searches the explored area 67 according to the current radius of 1.6 meters, at this time, the search area is not empty, wherein the search area includes a plurality of explored target points H1 to H4 satisfying the distance screening condition. The robot selects any one of the explored target points H1 to H4 as a navigation recovery point, for example, selects the explored target point H1 as the navigation recovery point, thus, the embodiment can gradually search the explored target point closest to the current position in the explored target area as the navigation recovery point, so that the robot can quickly and reliably and efficiently escape from the navigation abnormal state.
[0248] In some embodiments, when the embodiment determines the navigation recovery point according to the traveled path and the current position, the data search direction is determined, the data search direction is a direction opposite to a data direction sequentially formed by the plurality of traveled points, the traveled path is searched according to the data search direction, and the first traveled point having a relative distance to the current position falling within a preset distance range is selected as the navigation recovery point.
[0249] In some embodiments, selecting the first traveled point having a relative distance to the current position falling within a preset distance range as the navigation recovery point includes: selecting a traveled target point in the traveled path according to the current position and the current radius, and initializing the current radius as a minimum distance threshold. Then, the embodiment determines whether the robot can reach the traveled target point from the current position, if yes, the traveled target point is selected as the navigation recovery point, if not, the current radius is updated according to the distance step and the current radius. Then, the embodiment determines whether the updated current radius is greater than a maximum distance threshold, if yes, it is determined that the traveled path does not exist a navigation recovery point, if not, the embodiment continues to search the traveled path according to the updated current radius until the navigation recovery point is searched. Thus, the embodiment can gradually search the navigation recovery point in the traveled path, so that the robot can quickly and reliably and efficiently escape from the navigation abnormal state.
[0250] Please refer to Figure 12 , the robot 61 does not find a navigation recovery point satisfying the distance screening condition within a preset distance range of 1 meter to 4 meters on the explored area 67, so the robot 61 acquires the traveled path 611, and determines the navigation recovery point according to the traveled path 611 and the current position 610.
[0251] First, the robot 61 selects a position point 612 having a distance of 1 meter from the current position 610 as a traveled target point, since the robot 61 can reach the position point 612 from the current position 610, the robot 61 selects the position point 612 as the navigation recovery point.
[0252] In some embodiments, when the robot is navigating from the current position to the navigation recovery point on the walked path, if the robot encounters a dynamic obstacle, the robot can walk around the dynamic obstacle and record the position of the dynamic obstacle, and update the cleaning map according to the position of the dynamic obstacle. If the robot determines that the dynamic obstacle occupies the determined navigation recovery point, the robot can sequentially select a candidate walked point after the determined navigation recovery point on the walked path according to the data search direction, determine whether the candidate walked point falls in the area occupied by the dynamic obstacle, if it falls, the robot can continue to sequentially select a candidate walked point on the walked path according to the data search direction, if it does not fall, the robot can select the candidate walked point as the navigation recovery point.
[0253] Referring to Figure 13 When the dynamic obstacle 613 occupies the position point 612, the robot 61 walks around the dynamic obstacle 613 and records the position of the dynamic obstacle 613, and updates the cleaning map according to the position of the dynamic obstacle 613. The robot 61 starts from the position point 612 and searches for a navigation recovery point on the walked path 611 according to the data search direction. Since the position point 614 is not occupied by the dynamic obstacle 613 and is reachable, and is also on the walked path 611, the position point 614 can be a navigation recovery point. Thus, even if a dynamic obstacle appears, the robot can search for an optimal position point as a navigation recovery point on the walked path 611, which is beneficial to improve the recovery efficiency of navigation abnormalities.
[0254] In some embodiments, when the navigation abnormality state is an exploration abnormality state, after performing the navigation recovery operation, the robot determines an exploration navigation point and controls the robot to navigate from the navigation recovery point to the exploration navigation point to explore the to-be-explored area to obtain a cleaning map.
[0255] The exploration abnormality state is an abnormal state of the robot during the exploration mapping process, the to-be-explored area is an area that needs to be explored by the robot for mapping, and the exploration navigation point is a position point for the robot to explore the to-be-explored area.
[0256] When the robot determines the exploration navigation point, the robot can navigate to the exploration navigation point and explore the to-be-explored area through a laser radar and / or a camera. When the robot finishes exploring the exploration navigation point through the laser radar and / or the camera, the robot moves to the next exploration navigation point to continue exploring. This process is repeated until the next exploration navigation point cannot be found, and the to-be-explored area is considered to have been explored.
[0257] It can be understood that the robot explores the region to be explored to obtain exploration data, and updates the cleaning map in an expanded manner according to the exploration data at a preset frequency, wherein the preset frequency can be customized by the user, such as updating the cleaning map once every 5 seconds.
[0258] In some embodiments, when the navigation abnormal state is the return abnormal state, after the navigation recovery operation is performed, the embodiment determines the return point and controls the robot to navigate from the navigation recovery point to the return point.
[0259] The return abnormal state is an abnormal state that occurs in the return process after the robot finishes exploring the composition, and the return point is a position point to which the robot needs to return.
[0260] In some embodiments, determining the return point includes searching for the location of the charging pile in the cleaning map and taking the location of the charging pile in the cleaning map as the return point. Generally, the location of the charging pile in the cleaning map can be taken as the return point, and each time the robot finishes the exploration composition operation or other job tasks, it can need to return to the charging pile for charging in preparation for the next execution task. Therefore, the embodiment selects the location of the charging pile in the cleaning map as the return point, which is beneficial to improve the reliability of the robot job.
[0261] In some embodiments, determining the return point includes obtaining a return position command and analyzing the return point according to the return position command, wherein the return position command can be sent by the user to the robot through the user terminal. In this way, the embodiment can customize the return point, which is beneficial to improve the user experience.
[0262] In some embodiments, controlling the robot to navigate from the navigation recovery point to the return point includes controlling the robot to start performing the return operation from the navigation recovery point, judging whether the distance between the current position of the robot and the return point is less than or equal to a specified threshold according to a preset return frequency, if less than or equal to, controlling the robot to perform the pile climbing operation, if greater than, controlling the robot to continue performing the return operation, wherein the preset return frequency is customized by the designer according to engineering experience, such as the preset return frequency is 1 second / time. The specified threshold can also be customized by the designer according to engineering experience, such as the specified threshold is the radius of the robot.
[0263] It should be noted that in the above various embodiments, the above steps do not necessarily have a certain order, and those skilled in the art can understand from the description of the embodiments of the present disclosure that the above steps can have different execution orders in different embodiments, that is, they can be executed in parallel, or they can be exchanged and executed, etc.
[0264] Please refer to Figure 14 , Figure 14 A circuit structure schematic diagram of a robot provided by the embodiment of the present disclosure is shown in FIG. 1. As shown in FIG. 1, the robot includes a processor 100, a memory 200, a communication interface 300, a sensor 400, a power supply 500, and a robot body 600.Figure 14 As shown, the robot 140 includes one or more processors 141 and a memory 142. Among them, Figure 14 In an example, the processor 141 is taken as an example.
[0265] The processor 141 and the memory 142 can be connected by a bus or other means, Figure 14 In an example, the connection by the bus is taken as an example.
[0266] The memory 142, as a non-volatile computer readable storage medium, can be used to store non-volatile software programs, non-volatile computer executable programs and modules, such as program instructions / modules corresponding to the method for robot deployment in the embodiments of the present disclosure. The processor 141 realizes the functions of the method for robot deployment provided by the method embodiments by running the non-volatile software programs, instructions and modules stored in the memory 142.
[0267] The memory 142 can include a high-speed random access memory, and can also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, or other non-volatile solid-state memory device. In some embodiments, the memory 142 can optionally include a memory disposed remotely with respect to the processor 141, and these remote memories can be connected to the processor 141 through a network. Examples of the above-mentioned network include but are not limited to the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof.
[0268] The program instructions / modules are stored in the memory 142, and when executed by the one or more processors 141, the method for robot deployment in any of the above method embodiments is executed.
[0269] The embodiments of the present disclosure also provide a storage medium, which stores computer executable instructions, and the computer executable instructions are executed by one or more processors, for example Figure 14 The one or more processors can execute the method for robot deployment in any of the above method embodiments.
[0270] The embodiments of the present disclosure also provide a computer program product, which includes a computer program stored on a non-volatile computer readable storage medium, and the computer program includes program instructions, and when the program instructions are executed by a robot, the robot executes any of the above-mentioned method for robot deployment.
[0271] The apparatus or device embodiments described above are merely illustrative, and the units shown as separate components can or can not be physically separate, and the components shown as module units can or can not be physical units, i.e., can be located in one place, or can be distributed to multiple network module units. Part or all of the modules can be selected according to actual needs to achieve the purpose of the embodiment scheme.
[0272] Through the description of the above embodiments, those skilled in the art can clearly understand that the embodiments can be implemented by means of software plus a general hardware platform, and of course can also be implemented by hardware. Based on such understanding, the above technical solutions can be embodied in the form of a software product, and the computer software product can be stored in a computer readable storage medium, such as a ROM / RAM, a magnetic disk, an optical disk, etc., and includes a plurality of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.
[0273] Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present disclosure, and not to limit them; under the idea of the present disclosure, the technical features in the above embodiments or different embodiments can also be combined, the steps can be implemented in any order, and there are many other changes of different aspects of the present disclosure as described above. In order to be brief, they are not provided in details; although the present disclosure has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that: it can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacement to part of the technical features; and these modifications or replacements do not make the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present disclosure.
Claims
1. A method for deploying a robot, characterized in that, include: In response to the start command, the robot deployment program is started. The robot deployment program is configured to: generate corresponding deployment prompts according to the set deployment process and deployment execution status, and execute deployment tasks according to user feedback. The deployment prompts include: deployment marker prompts and removal marker prompts. The deployment tasks include: map building, cleaning task generation, and user modification confirmation. The map building and deployment operation includes performing the following steps: The response mode selection command determines the target mapping mode. Based on the target mapping pattern, the robot is controlled to perform map building operations to obtain a clean map; The cleaning task generation and deployment job includes performing the following steps: The cleaning map is divided into zones to obtain at least one cleaning operation zone; Work tasks are planned for each of the aforementioned cleaning work zones; Label specific objects and / or specific areas.
2. The method according to claim 1, characterized in that, The deployment process includes an identification deployment process for deploying markers within the target space, and the generation of corresponding deployment prompts based on the set deployment process and deployment execution status includes: In response to the start command, the application programming interface corresponding to the identification deployment process is invoked to control the robot to enter the identification deployment state; In the designated deployment state, the robot is controlled to generate a deployment prompt, which prompts the user to deploy the marker within the target space.
3. The method according to claim 1, characterized in that, The deployment process includes a map building process, and generating corresponding deployment prompts based on the set deployment process and deployment execution status includes: In response to the deployment end command, the application programming interface corresponding to the map building process is invoked to control the robot to enter the map building state; In the map building state, the robot is controlled to generate a composition mode selection page, wherein the composition mode selection page includes multiple composition modes.
4. The method according to claim 1, characterized in that, The deployment process includes a user modification confirmation process for the cleaning map to be determined, and the step of executing the deployment operation based on user feedback includes: After the cleaning task generation and deployment operation is completed, the application programming interface corresponding to the user modification confirmation process is called to control the robot to enter the user modification confirmation state; In the user-modified confirmation state, the cleaning map to be confirmed is sent to the user terminal so that the user terminal returns the confirmed cleaning map; Save the established cleaning map.
5. The method according to claim 1, characterized in that, The deployment process includes a marker removal process for removing deployed markers within the target space. The generation of corresponding deployment prompts based on the set deployment process and deployment execution status includes: When a map building completion command is detected, the application programming interface corresponding to the marker removal process is invoked to control the robot to enter the marker removal state. In the sign removal state, the robot is controlled to generate a sign removal prompt, which is used to prompt the user to remove the sign that has been deployed in the target space.
6. The method according to claim 1, characterized in that, The step of controlling the robot to perform map building operations according to the target mapping pattern includes: Based on the target mapping pattern, the robot is controlled to explore the area to be explored in order to construct a clean map; When a marker is detected in the area to be explored, the position of the marker is recorded; The boundaries of the cleaning map are generated based on the location of the markers.
7. The method according to claim 6, characterized in that, Controlling the robot to explore the area to be explored to construct a clean map, based on the target mapping pattern, includes: If the target mapping mode is a follow mapping mode, then the robot is controlled to explore the area to be explored in the follow mapping mode to build a clean map; If the target mapping mode is an automatic mapping mode, then the robot is controlled to explore the area to be explored in the automatic mapping mode to build a clean map; If the target mapping mode is a remote mapping mode, then the robot is controlled to explore the area to be explored in the remote mapping mode to build a clean map.
8. The method according to claim 1, characterized in that, The map building and deployment task is performed by the robot. The cleaning task generation and deployment operation is processed by a remote server: the remote server obtains the cleaning map sent by the robot, performs the cleaning task generation and deployment operation according to the cleaning map, obtains the cleaning map to be determined, and sends the cleaning map to be determined to the robot.
9. A storage medium, characterized in that, The device stores computer-executable instructions for causing the robot to perform the robot deployment method as described in any one of claims 1 to 7.
10. A robot, characterized in that, include: At least one processor; as well as, A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the robot deployment method as described in any one of claims 1 to 7.
11. A robot deployment system, characterized in that, include: The robot as described in claim 10; and A remote server, which is communicatively connected to the robot.
Citation Information
Patent Citations
Control method for AGV risk avoiding, and AGV
CN112925301A
Road physical condition monitoring techniques
US20100280751A1