Map editing method, cleaning robot and program product
By introducing area segmentation and merging functions into the robot map editing system, users can freely set up cleaning areas, solving the problem of simple editing methods in the existing technology, and achieving more flexible and matching editing effects.
Patent Information
- Application Number
- CN202411746258.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-29
- Publication Date
- 2025-03-25
AI Technical Summary
The existing robot map editing method is relatively simple and fixed, and cannot meet the diverse needs of users.
Provide a map editing method. By displaying the map editing interface, users can freely set up cleaning areas, including area segmentation and merging, and generate target maps.
It improves the flexibility of map editing, makes the clean area more matched with the actual scene, meets the personalized needs of users, and ensures the reasonable setting of the clean area.
Smart Images

Figure CN119687924A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robotics technology, and in particular to a map editing method, a cleaning robot and a program product. Background Art
[0002] With the continuous development of science and technology, indoor robots have gradually been applied to various industries, such as cleaning robots. Before the robot works, it needs to create a map. In related technologies, the robot scans the environment information to generate an initial map, and then edits the initial map to obtain a map containing the cleaning area. Subsequently, the user can select the cleaning area in the map to configure the cleaning task. However, the current map editing method is relatively simple and fixed, which cannot meet user needs. Summary of the invention
[0003] This application provides a map editing method, a cleaning robot and a program product, which can freely set the cleaning area to meet user needs. The technical solution is as follows:
[0004] In a first aspect, a map editing method is provided, the method comprising:
[0005] Displaying a map editing interface, wherein the map editing interface includes a region setting control;
[0006] In response to receiving a trigger operation on the area setting control, displaying an area setting interface, the area setting interface including one or more pre-divided cleaning areas and a first saving control;
[0007] After receiving a selection operation on at least one cleaning area in the area setting interface, in response to the received area division operation, performing area division or area merging on the at least one cleaning area;
[0008] In response to receiving a trigger operation on the first saving control, a target map is generated according to all cleaning areas in the area setting interface.
[0009] In this application, the divided cleaning areas are displayed visually, and the user can freely select at least one cleaning area in the area setting interface, and perform area segmentation or area merger on the at least one cleaning area. The operation process interface can provide feedback to the user operation, so that the user can visualize his or her operation process through the interface, that is, operate while watching, and can easily control the degree of operation such as the position offset and size of the segmentation or merger. In this way, the user can freely divide the cleaning area according to the needs during the map editing process, thereby improving the flexibility of map editing, making the divided cleaning area more compatible with the actual scene, better meeting the needs of the user, and ensuring the reasonable setting of the cleaning area to a certain extent.
[0010] Optionally, the area division operation includes a segmentation line drawing operation, and after receiving a selection operation of at least one cleaning area in the area setting interface, in response to the received area division operation, performing area division or area merging on the at least one cleaning area includes:
[0011] After receiving a selection operation on a first cleaning area, in response to receiving the segmentation line drawing operation in the first cleaning area, segmenting the first cleaning area into at least two cleaning areas, the first cleaning area being any one of the cleaning areas in the area setting interface;
[0012] Alternatively, the area setting interface further includes a merging control, the area division operation includes a triggering operation on the merging control, and after receiving a selection operation on at least one cleaning area in the area setting interface, in response to the received area division operation, performing area division or area merging on the at least one cleaning area, including:
[0013] After receiving a selection operation on at least two second cleaning areas, in response to receiving a trigger operation on the merge control, the at least two second cleaning areas are merged into one cleaning area, and the at least two second cleaning areas are at least two adjacent cleaning areas in the area setting interface.
[0014] Optionally, the area setting interface further includes a split control, and in response to receiving the split line drawing operation in the first cleaning area, splitting the first cleaning area into at least two cleaning areas includes:
[0015] In response to a trigger operation on the split control, receiving the split line drawing operation in the first cleaning area;
[0016] In response to the dividing line drawing operation, displaying a dividing line in the first cleaning area according to a drawing trajectory of the dividing line drawing operation;
[0017] In response to a triggering operation on the split control, the first cleaning area is split into at least two cleaning areas according to the split line.
[0018] Optionally, displaying a segmentation line in the first cleaning area according to the drawing trajectory of the segmentation line drawing operation includes:
[0019] In a case where there are at least two intersection points between the drawing trajectory of the dividing line drawing operation and the boundary line of the first cleaning area, the dividing line is displayed according to the coordinates of each of the at least two intersection points.
[0020] Optionally, dividing the first cleaning area into at least two cleaning areas according to the dividing line includes:
[0021] Determine at least two cleaning areas in the first cleaning area according to the dividing line;
[0022] When a cleaning area corresponding to each of the at least two cleaning areas is greater than or equal to a first preset area and less than or equal to a second preset area, the first cleaning area is divided into the at least two cleaning areas.
[0023] Optionally, the area setting interface also includes one or more of a laser point cloud hidden control, a stereoscopic vision point cloud hidden control, an initial map hidden control, a point hidden control, a prohibited line hidden control, and a speed limit area hidden control.
[0024] Optionally, the map editing interface further includes a path planning control, and the method further includes:
[0025] In response to receiving a trigger operation on the path planning control, displaying a path planning interface, the path planning interface including one or more cleaning areas, a path planning control, and a second saving control;
[0026] After receiving a selection operation on a third cleaning area, in response to receiving a trigger operation on the path planning control, generating a cleaning path for the third cleaning area, the third cleaning area being a cleaning area in the path planning interface;
[0027] displaying the cleaning path in the third cleaning area;
[0028] In response to receiving a trigger operation on the second saving control, the cleaning paths of all cleaning areas in the path planning interface are saved.
[0029] Optionally, the map editing interface further includes a task creation control, and the method includes:
[0030] In response to receiving a trigger operation on the task creation control, displaying a task creation interface, the task creation interface including one or more cleaning areas and a task start control;
[0031] After receiving a selection operation on a fourth cleaning area, in response to receiving a trigger operation on the task start control, controlling the cleaning robot to move according to a cleaning path of the fourth cleaning area, the fourth cleaning area being a cleaning area with a cleaning path displayed in the task creation interface;
[0032] During the movement of the cleaning robot, the movement track of the cleaning robot is displayed in the fourth cleaning area.
[0033] In a second aspect, a map editing device is provided, the device comprising:
[0034] A first display module, used to display a map editing interface, wherein the map editing interface includes a region setting control;
[0035] a second display module, configured to display an area setting interface in response to receiving a trigger operation on the area setting control, wherein the area setting interface includes one or more pre-divided cleaning areas and a first saving control;
[0036] a division module, configured to, after receiving a selection operation on at least one cleaning area in the area setting interface, perform area division or area merging on the at least one cleaning area in response to the received area division operation;
[0037] The first generating module is used for generating a target map according to all cleaning areas in the area setting interface in response to receiving a triggering operation on the first saving control.
[0038] In a third aspect, a computer device is provided, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program, when executed by the processor, implements the map editing method described in the first aspect.
[0039] In a fourth aspect, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the map editing method described in the first aspect is implemented.
[0040] In a fifth aspect, a computer program product is provided. When the computer program product is run on a computer device, the computer device executes the map editing method described in the first aspect.
[0041] It can be understood that the beneficial effects of the second, third, fourth and fifth aspects mentioned above can be found in the relevant description of the first aspect mentioned above, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0043] Figure 1It is a structural schematic diagram of a cleaning robot provided in an embodiment of the present application;
[0044] Figure 2 is a flow chart of a map editing method provided in an embodiment of the present application;
[0045] Figure 3 This is a schematic diagram of an interface related to map editing provided in an embodiment of the present application;
[0046] Figure 4 is a schematic diagram of a region setting interface provided in an embodiment of the present application;
[0047] Figure 5 is a schematic diagram of a graphic corresponding to a first cleaning area provided in an embodiment of the present application;
[0048] Figure 6 is a schematic diagram of another area setting interface provided in an embodiment of the present application;
[0049] Figure 7 It is a schematic diagram of a graph corresponding to two cleaning areas provided in an embodiment of the present application;
[0050] Figure 8 is an interface schematic diagram of another area setting interface provided in an embodiment of the present application;
[0051] Fig. 9 This is another interface diagram related to map editing provided in an embodiment of the present application;
[0052] Fig.10 is a schematic diagram of a path planning interface provided in an embodiment of the present application;
[0053] Fig.11 This is another interface diagram related to map editing provided in an embodiment of the present application;
[0054] Fig.12 is a schematic diagram of a task creation interface provided in an embodiment of the present application;
[0055] Fig.13 is a schematic diagram of a test run report provided in an embodiment of the present application;
[0056] Fig.14 is a schematic diagram of a prohibited line setting interface provided in an embodiment of the present application;
[0057] Fig.15 is a structural schematic diagram of a map editing device provided in an embodiment of the present application;
[0058] Fig.16 It is a structural diagram of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0059] In order to make the objectives, technical solutions and advantages of the present application clearer, the implementation methods of the present application will be further described in detail below in conjunction with the accompanying drawings.
[0060] It should be understood that the "multiple" mentioned in this application refers to two or more. In the description of this application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in order to facilitate the clear description of the technical solution of this application, the words "first" and "second" are used to distinguish between the same items or similar items with basically the same functions and effects. Those skilled in the art can understand that the words "first" and "second" do not limit the quantity and execution order, and the words "first" and "second" do not limit them to be different.
[0061] The phrases such as "one embodiment" or "some embodiments" described in the present application mean that the specific features, structures or characteristics described in the embodiment are included in one or more embodiments of the present application. Therefore, the phrases such as "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments" that appear in the differences in the present application do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. In addition, the terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.
[0062] The cleaning robot provided in the embodiment of the present application is described below.
[0063] Figure 1 Schematic diagram of a cleaning robot provided in an embodiment of the present application. Figure 1 , the cleaning robot may include a head module 101 and a bottom module 102 .
[0064] It is to be understood that the structure illustrated in the embodiment of the present application does not constitute a specific limitation on the cleaning robot. In some embodiments, the cleaning robot may include more or fewer components than shown, or combine certain components, or split certain components, or arrange different components. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
[0065] The head module 101 is a structural component arranged on the upper part of the cleaning robot. Optionally, the head module 101 is provided with a hand-pushing mechanism, which may include a display module 1011 and a moving module 1012. The hand-pushing mechanism is used to provide a hand-pushing device when the user needs to perform manual cleaning.
[0066] The display module 1011 is a module for realizing human-computer interaction. For example, the display module 1011 can display the working mode of the cleaning robot. For example, the display module 1011 can be a touch screen, etc., which is not limited in the embodiment of the present application.
[0067] In some embodiments, the working mode of the cleaning robot may include an automatic cleaning mode and a manual cleaning mode. The automatic cleaning mode is a mode in which the cleaning robot automatically cleans. In the automatic cleaning mode, the cleaning robot can clean according to a preset path and preset function according to a pre-acquired cleaning instruction; the manual cleaning mode is a mode in which the user manually controls the cleaning robot to clean. In the manual cleaning mode, the cleaning member 1022 is in operation, and the user can push the cleaning robot to clean. Optionally, the cleaning robot is used in commercial scenarios, such as hotels, office buildings, and shopping malls.
[0068] Optionally, the display module 1011 may also provide a user with functional operations, which may include one or more of map display, map editing, and the like.
[0069] The moving module 1012 is a module that supports the display module 1011 and is used to drive the display module 1011 to move between an initial position and a preset position. The preset position can be preset.
[0070] It should be noted that when the moving module 1012 drives the display module 1011 to move to a preset position, the structure of the moving module 1012 and the display module 1011 is equivalent to a handle, and the user can push and pull the cleaning robot through the handle.
[0071] Optionally, the position of the display module 1011 can reflect the working mode of the cleaning robot. Specifically, if the display module 1011 is in the initial position, it means that the user does not want to manually control the cleaning robot, so it can be determined that the cleaning robot is in the automatic cleaning mode; if the display module 1011 is in the preset position, it means that the user wants to manually control the cleaning robot, so it can be determined that the cleaning robot is in the manual cleaning mode.
[0072] Optionally, the head module 101 may further include a push button 1013. The push button 1013 is a component for controlling the moving module 1012 to reset from a preset position to an initial position or other arbitrary position.
[0073] The bottom module 102 is a structural component arranged at the bottom of the cleaning robot. Optionally, the bottom module 102 may include a moving chassis 1021 and a cleaning member 1022 .
[0074] The mobile chassis 1021 is used to drive the cleaning robot to move. For example, the mobile chassis 1021 may include a driving wheel, a front wheel, etc. The driving wheel is used to drive the cleaning robot to move. The front wheel is used to guide the cleaning robot when it moves.
[0075] The cleaning member 1022 is a component for cleaning. For example, the cleaning member 1022 may include one or more of a roller brush, a side brush, a mopping member, and the like.
[0076] Optionally, the cleaning robot may further include a sensing module for detecting the position of a portion of the moving module 1012 that is connected to the display module 1011 .
[0077] Optionally, the cleaning robot may further include a control module, which is electrically connected to the display module 1011. The control module is used to control the display module 1011 to display a function interface corresponding to the working mode of the cleaning robot.
[0078] Specifically, if the sensor module detects that the moving module 1012 is in the initial position, it can be determined that the working mode of the cleaning robot is the automatic cleaning mode, and the control module can control the display module 1011 to display the automatic cleaning mode function interface to prompt the user of the current status information of the hand-push mechanism; if the sensor module detects that the moving module 1012 is in the preset position, it can be determined that the working mode of the cleaning robot is the manual cleaning mode, and the control module can control the display module 1011 to display the manual cleaning mode function interface to prompt the user of the current status information of the hand-push mechanism.
[0079] In some embodiments, the manual cleaning mode function interface may display a parameter configuration interface of the cleaning member 1022, and the parameter configuration interface is used to configure the working parameters of the cleaning member 1022. In this case, the user can adjust the working state of the cleaning member 1022 by modifying the working parameters of the cleaning member 1022.
[0080] In some embodiments, the cleaning robot may further include a voice control component electrically connected to the sensor module, the voice control component being used to receive a voice warning instruction sent by the sensor module when the mobile module 1012 is detected to move to an initial position or a preset position, and the voice warning instruction is used to instruct the voice control component to issue a corresponding voice warning. The voice warning may be a voice broadcast or a warning sound prompt, etc., which is not limited in the embodiments of the present application.
[0081] Optionally, the control module may include one or more of a robot operating system (ROS), a microcontroller, etc. Of course, the control module may also include other modules, which is not limited in the embodiments of the present application.
[0082] For example, ROS can process data from sensors such as lidar and cameras to perform environmental perception and map construction. ROS is also used for path planning so that the cleaning robot can navigate in the environment and avoid obstacles. ROS is also used to manage the cleaning strategy of the cleaning robot and achieve intelligent decision-making.
[0083] For example, the microcontroller is mainly responsible for directly controlling the hardware components of the cleaning robot, such as motors, sensors, etc. The microcontroller can execute instructions sent by ROS to control the movement of the cleaning robot, the start-up of the cleaning member 1022, etc.
[0084] Optionally, the ROS may further include one or more processing logics, and the one or more processing logics are used to help the user perform corresponding map processing when editing a map.
[0085] The one or more processing logics may be preset. For example, the one or more processing logics may be set by a technician according to requirements.
[0086] For example, the one or more processing logics may include one or more of region division logic, segmentation logic, merging logic, path planning logic, and the like.
[0087] The area division logic is used to automatically divide the map to generate one or more clean areas.
[0088] The segmentation logic is used to segment a cleaning area into at least two cleaning areas.
[0089] The merging logic is used to merge at least two cleaning regions into one cleaning region.
[0090] The path planning logic is used to plan a cleaning path of the cleaning robot in a cleaning area.
[0091] Optionally, the cleaning robot may further include an inertial measurement unit (IMU). The IMU is used to measure the acceleration and angular velocity of the cleaning robot, and to help the cleaning robot perform posture estimation and stable control.
[0092] In some embodiments, the cleaning robot may further include a positioning system for real-time positioning of the cleaning robot. For example, the positioning system may include one or more of an inertial navigation system (INS), an odometer (Odometry), a global positioning system (GPS), a visual positioning system, a laser radar positioning system, etc., which is not limited in the embodiments of the present application.
[0093] Optionally, before the cleaning robot starts cleaning, the positioning system can obtain a target map, which is a map of the area that needs to be cleaned. Specifically, the cleaning robot can move in the area that needs to be cleaned, and the positioning system can obtain the location information of the cleaning robot during the movement of the cleaning robot, as well as collect environmental information, and then build a map of the area based on the location information and the environmental information. The user can then edit the map using the map editing method described below, obtain the target map, and store it. In this way, when the cleaning robot needs to clean the area later, it can plan the path based on the target map.
[0094] Optionally, if the area to be cleaned involves multiple floors (i.e., across floors), the cleaning robot can move in areas of different floors to collect environmental information, build a map of each floor based on the collected environmental information of each of the multiple floors, synthesize the maps of each of the multiple floors, and finally the user edits the synthesized map of each floor to obtain the target map and store it.
[0095] In some cases, the user can edit the map through the display module 1011. Specifically, the display module 1011 can display a map editing interface, and the user can edit the map of the area that the cleaning robot needs to clean through the map editing interface.
[0096] In other cases, the user can edit the map on other devices. Specifically, the user can edit the map of the cleaning area required by the cleaning robot through the map editing interface provided by the application (APP) installed in the terminal, and the terminal can send the edited map to the cleaning robot so that the cleaning robot can clean according to the cleaning area set in the map. For example, the terminal can be a mobile phone, a tablet computer, a laptop computer, a desktop computer, etc., which is not limited in the embodiments of the present application.
[0097] The map editing method provided in the embodiment of the present application is explained in detail below.
[0098] Figure 2 is a flow chart of a map editing method provided by an embodiment of the present application. Figure 2 , the method comprises the following steps:
[0099] Step 201: The computer device displays a map editing interface, which includes a region setting control.
[0100] The computer device may be a terminal used by a user, or may be a cleaning robot, which is not limited in the embodiments of the present application.
[0101] For example, the map editing interface may be an interface in an application for map editing installed on the computer device. For example, the application may be a map building APP.
[0102] The regional setting control is a control for entering the regional setting interface. For example, Figure 3 As shown in Figure (a), the main interface of the map building APP may include system check controls, scanning site controls, target point setting controls, and advanced setting controls.
[0103] Among them, the system check control is a control for entering the system check interface.
[0104] The scan site control is a control for entering the scan site interface.
[0105] The target point setting control is a control for entering the target point setting interface.
[0106] The advanced settings control is a control for entering the advanced settings interface, which is the map editing interface described in the embodiment of the present application. Figure 3 As shown in Figure (b), the advanced setting interface may include area setting controls, prohibited line setting controls, restricted area setting controls, path planning controls, and trial run mode controls.
[0107] The area setting control is a control for entering an area setting interface.
[0108] The prohibited line setting control is a control for entering the prohibited line setting interface.
[0109] The restricted area setting control is a control for entering a restricted area setting interface.
[0110] The path planning control is a control for entering the path planning interface.
[0111] The trial run mode control is a control for entering the trial run mode interface.
[0112] For example, the computer device may display Figure 3The user can click on the advanced settings control in the main interface, and in response to the click operation, the computer device can display the following Figure 3 The user can click on the regional setting control in the advanced setting interface, and in response to the click operation, the computer device can display the following Figure 3 The regional setting interface shown in Figure (c).
[0113] Step 202: In response to receiving a trigger operation on the area setting control, the computer device displays an area setting interface, where the area setting interface includes one or more pre-divided cleaning areas and a first saving control.
[0114] For example, the trigger operation is used to trigger the area setting control. For example, the trigger operation can be a click operation (including but not limited to a single click operation or a double click operation), a sliding operation, a long press operation, etc. of the area setting control by the user, which is not limited in the embodiment of the present application.
[0115] The area setting interface is an interface for setting a cleaning area.
[0116] The first save control is used to save the editing operation performed on the one or more cleaning areas in the area setting interface.
[0117] The graphics corresponding to each of the one or more cleaning areas are all complete graphics. The one or more cleaning areas initially displayed after entering the area setting interface are pre-divided before entering the area setting interface.
[0118] The one or more cleaning areas may be cleaning areas automatically divided by the computer device. Alternatively, the one or more cleaning areas may be cleaning areas previously manually divided by the user. For example, based on the cleaning areas automatically divided by the computer device last time, the user re-divided these automatically divided cleaning areas through the map editing method provided in the embodiment of the present application. Then the user can continue to divide the cleaning areas divided last time.
[0119] Specifically, if the area setting interface is displayed for the first time by the computer device, then the one or more cleaning areas displayed in the area setting interface are the cleaning areas automatically divided by the computer device, and the user can edit and save the one or more cleaning areas through the map editing method provided in the embodiment of the present application. Later, if the user needs to edit the map again, the area setting interface can be entered again, and at this time, the one or more cleaning areas displayed in the area setting interface are the cleaning areas edited by the user last time.
[0120] For example, the ROS in the computer device may execute region division logic to automatically divide the map into one or more cleaning regions.
[0121] In some embodiments, one or more cleaning areas in the area setting interface may also be displayed with one or more elements.
[0122] For example, the one or more elements may include one or more of a laser point cloud, a stereoscopic vision point cloud, a prohibited line, a speed limit area, a point position, etc., which is not limited in the embodiments of the present application.
[0123] Among them, the laser point cloud is the point cloud collected by the cleaning robot through the laser radar.
[0124] The stereoscopic vision point cloud is a point cloud collected by the cleaning robot through a stereoscopic vision sensor.
[0125] The no-go line is a line set to prohibit the cleaning robot from walking.
[0126] The speed limit area is an area where the moving speed of the cleaning robot is limited.
[0127] The point is a set position point related to the cleaning robot. For example, the point may include a starting point, a queuing point, a waiting point, a point in the elevator, etc., which is not limited in the embodiment of the present application.
[0128] The starting point is the position where the cleaning robot starts cleaning.
[0129] The queuing point is the location where the cleaning robot queues at the elevator entrance.
[0130] The elevator waiting point is the position point where the cleaning robot waits at the elevator entrance.
[0131] The in-elevator point is the position point where the cleaning robot should be located in the elevator.
[0132] In some embodiments, the zone setting interface may include one or more controls for editing the one or more cleaning zones.
[0133] For example, Figure 3 As shown in Figure (c), the area setting interface may include one or more of an area merge control, a split control, an erase control, a delete control, a previous control, a next control, a reset control, an area generation control, a save control (i.e., the first save control mentioned above), etc.
[0134] The merging control is used to merge at least two cleaning areas into one cleaning area.
[0135] The split control is used to split a cleaning area into multiple cleaning areas.
[0136] The eraser control is used to erase points on the map.
[0137] The delete control is used to delete the selected cleaning area.
[0138] The previous step control is used to return to the previous editing operation that has been performed in the map editing interface.
[0139] The next control is used to return to the next editing operation that has been executed in the map editing interface.
[0140] The reset control is used to reset the editing operations performed in the map editing interface.
[0141] The area generation control is used to automatically divide the map to generate multiple cleaning areas.
[0142] Since the map editing interface includes a plurality of controls related to editing the clean areas in the map, the user can edit the clean areas in the map according to the needs.
[0143] In some embodiments, the area setting interface may further include a toolbox control, which may display a plurality of hidden controls when triggered.
[0144] For example, the multiple hidden controls may include one or more of a laser point cloud hidden control, a stereoscopic vision point cloud hidden control, an initial map hidden control, a point hidden control, a prohibited line hidden control, a speed limit area hidden control, and the like.
[0145] The laser point cloud hiding control is used to hide or display the laser point cloud in the map editing interface.
[0146] The stereoscopic point cloud hiding control is used to hide or display the stereoscopic point cloud in the map editing interface.
[0147] The initial map hiding control is used to hide or display the initial map in the map editing interface.
[0148] The point hiding control is used to hide or display points in the map editing interface.
[0149] The prohibited line hiding control is used to hide or display the prohibited lines in the map editing interface.
[0150] The speed limit area hide control hides or displays the speed limit area in the map editing interface.
[0151] In this case, when the user wants to view different layers in the map, he can choose to trigger different hidden controls to hide or display the layers corresponding to the controls. In this way, during the map editing process, it is convenient for the user to check whether the map editing is reasonable, and if the editing is unreasonable, it can be modified in time, thereby improving the map editing efficiency.
[0152] For example, the computer device may display Figure 4 The area setting interface shown in Figure (a) of FIG. 1 includes a merge control, a split control, an erase control, a delete control, a previous control, a next control, a reset control, an area generation control, a first save control, and a toolbox control, wherein the area setting interface also displays a red prohibited line and multiple points. The user clicks the toolbox control, and in response to the click operation, the computer device displays the following Figure 4 The laser point cloud hidden control, stereoscopic point cloud hidden control, initial map hidden control, point hidden control, prohibited line hidden control, and speed limit area hidden control shown in Figure (b) of FIG. The user clicks the laser point cloud hidden control, stereoscopic point cloud hidden control, point hidden control, prohibited line hidden control, and speed limit area hidden control respectively, and in response to the click operation, the computer device displays the following Figure 4 In the area setting interface shown in Figure (c), the laser point cloud, stereo point cloud, point position, prohibited line, and speed limit area in the map area setting interface have been hidden. In this case, the user can also hide the laser point cloud hide control, stereo point cloud hide control, initial map hide control, point position hide control, prohibited line hide control, and speed limit area hide control by clicking the toolbox control.
[0153] Step 203: After receiving a selection operation on at least one cleaning area in the area setting interface, the computer device performs area segmentation or area merging on the at least one cleaning area in response to the received area division operation.
[0154] The region division operation is an operation for dividing a cleaning region. The region division operation can be used for region merging or region segmentation. The region merging is used to merge multiple cleaning regions into one cleaning region; the region segmentation is used to segment one cleaning region into multiple cleaning regions.
[0155] In the embodiment of the present application, the divided cleaning areas are displayed visually. The user can select a cleaning area in the area setting interface to divide the cleaning area, or the user can select multiple cleaning areas in the area setting interface to merge the multiple cleaning areas. The operation process interface can provide feedback to the user's operation, so that the user can visualize his or her operation process through the interface, that is, operate while watching, and can easily control the degree of operation such as the position offset and size of the division or merger. In this way, the user can freely divide or merge the cleaning areas according to needs during the map editing process, so that the divided cleaning areas are more matched with the actual scene, so as to better meet the user's needs and ensure the reasonable setting of the cleaning areas to a certain extent.
[0156] The region segmentation process of the region partitioning operation is explained in detail below.
[0157] In some embodiments, the area division operation includes a segmentation line drawing operation. In this case, the operation of step 203 may be: after receiving a selection operation on the first cleaning area, the computer device, in response to receiving the segmentation line drawing operation in the first cleaning area, segments the first cleaning area into at least two cleaning areas.
[0158] The dividing line drawing operation is an operation of drawing a dividing line. The dividing line drawing operation can be performed manually by the user. For example, the dividing line drawing operation can be performed by the user drawing a dividing line by sliding a finger, dragging a cursor, etc., and the embodiment of the present application does not limit this.
[0159] The first cleaning area is a cleaning area that the user wants to divide. The first cleaning area can be any cleaning area in the area setting interface.
[0160] After receiving the segmentation line drawing operation, the computing device can segment the first cleaning area according to the segmentation line drawn by the user to obtain at least two cleaning areas. Since the segmentation line drawing operation is performed manually by the user, it can better meet the user's segmentation needs.
[0161] In some embodiments, the area setting interface further includes a split control, and the computer device, in response to receiving the split line drawing operation in the first cleaning area, splits the first cleaning area into at least two cleaning areas, which may include the following steps (1) to (3):
[0162] Step (1): In response to a triggering operation on the split control, the computer device receives the split line drawing operation in the first cleaning area.
[0163] The split control is a control for implementing the region splitting function. For example, if the computer device does not detect a selection operation on any cleaning region, the split control may be displayed as unavailable (e.g., grayed out); if the computer device detects a selection operation on the first cleaning region, the first cleaning region may be displayed as selected, and the split control may be displayed as available (e.g., highlighted).
[0164] For example, the triggering operation of the split control may be a click operation, a slide operation, a long press operation, etc., which is not limited in the embodiments of the present application.
[0165] For example, in response to a triggering operation on the split control, the computer device may display the split control as being in a selected state.
[0166] After the user triggers the segmentation control, the user can draw a segmentation line in the first cleaning area, and the computer device can detect the segmentation line drawing operation.
[0167] Step (2): In response to the dividing line drawing operation, the computer device displays a dividing line in the first cleaning area according to a drawing trajectory of the dividing line drawing operation.
[0168] For example, the drawing trajectory of the dividing line drawing operation may be a trajectory of a user's finger sliding, or the drawing trajectory of the dividing line drawing operation may be a moving trajectory of a cursor.
[0169] The drawing trajectory of the segmentation line drawing operation is the boundary line that the user wants to segment the first cleaning area.
[0170] In some embodiments, the operation of the computer device displaying the dividing line in the first cleaning area according to the drawing trajectory of the dividing line drawing operation may be: when there are at least two intersection points between the drawing trajectory of the dividing line drawing operation and the boundary line of the first cleaning area, the computer device displays the dividing line according to the coordinates of each of the at least two intersection points.
[0171] Since a dividing line needs to have at least two intersections with the edges of a figure when dividing the figure into at least two figures, when the drawing trajectory of the dividing line drawing operation has at least two intersections with the boundary line of the first cleaning area, it can be determined that a valid dividing operation has been received, so the computer device can display the dividing line accordingly; when the drawing trajectory of the dividing line drawing operation has only one intersection with the boundary line of the first cleaning area, the drawing trajectory of the dividing line drawing operation does not meet the condition of dividing the first cleaning area into at least two cleaning areas, that is, it is an invalid dividing operation.
[0172] For example, the computer device can determine whether the drawing trajectory has at least two intersections with the boundary line of the first cleaning area according to the coordinates of the vertices of the graphic corresponding to the first cleaning area and the coordinates of the drawing trajectory through a vector cross product. Of course, this is not limited to this. The computer device can also determine whether the drawing trajectory has at least two intersections with the boundary line of the first cleaning area in other ways, and the embodiments of the present application are not limited to this.
[0173] For example, Figure 5 As shown, the computer device can obtain the coordinates of the vertices A, B, C, and D of the figure corresponding to the first cleaning area, and obtain the coordinates of the endpoints F and E of the drawing trajectory, and then respectively calculate the cross products of vector AB, vector BC, vector CD, vector DA, and vector FE. Since the cross product of vector BC and vector FE is greater than 0, and the cross product of vector DA and vector FE is greater than 0, it can be determined that vector BC and vector FE have an intersection point G, and vector DA and vector FE have an intersection point H. In this way, it can be determined that the drawing trajectory has two intersection points with the boundary line of the first cleaning area.
[0174] For example, the code for the computer device to determine whether there are at least two intersections between the drawing trajectory and the boundary line of the first cleaning area is as follows:
[0175] function isLineSegmentIntersectingTwoPolygonEdges(linestart,lineEnd,polygon){
[0176] let intersectionCount = 0;
[0177] for(let i=0,j=polygon.leng14-1;i <polygon.leng14;j=i++){
[0178] if(dolineSegmentsIntersect(lineStart,lineEnd,polygon[i],polygon[j])){
[0179] intersectionCount++;
[0180] if (intersectionCount>=2){
[0181] return true;
[0182] }
[0183] }
[0184] return false;
[0185] }
[0186] Among them, the code of dolineSegmentsIntersect() is as follows:
[0187] function dolineSegmentsIntersect(p1,p2,q1,q2){
[0188] function ccw(A,B,C){
[0189] return(Cy-Ay)*(Bx-Ax)>(By-Ay)*(Cx-Ax);
[0190] }
[0191] return(ccw(p1,q1,q2)!=ccw(p2,q1,q2))&&(ccw(p1,p2,q1)!=ccw(p1,p2,q2));
[0192] }
[0193] Step (3): In response to a triggering operation on the split control, the computer device splits the first cleaning area into at least two cleaning areas according to the split line.
[0194] The triggering operation of the split control may be performed after the drawn split line is displayed. For example, the split line may be a straight line.
[0195] Optionally, after dividing the first cleaning area into at least two cleaning areas, the computer device may cancel the selection state of the first cleaning area and display the division control as an unavailable state (eg, grayed out).
[0196] For example, after the computer device displays the area setting interface, the user clicks on a cleaning area in the area setting interface. In response to the click operation, the computer device displays the following Figure 6 In the area setting interface shown in Figure (a), the cleaning area is displayed as selected and the split control is highlighted. Afterwards, the user clicks the split control, and in response to the click operation, the computer device displays the following Figure 6 The area setting interface shown in Figure (b) shows that the segmentation control is selected. Then the user draws a segmentation line in the first cleaning area. In response to the segmentation line drawing operation, the computer device displays the following Figure 6Then, the user clicks the segmentation control. In response to the click operation, the computer device segments the cleaning area according to the segmentation line and then displays the following image: Figure 6 In the area setting interface shown in Figure (d), the cleaning area is divided into two cleaning areas, and the division control is grayed out.
[0197] In some embodiments, the operation of the computer device dividing the first cleaning area into at least two cleaning areas according to the dividing line may be: the computer device determines at least two cleaning areas in the first cleaning area according to the dividing line; and divides the first cleaning area into at least two cleaning areas when the cleaning area corresponding to each of the at least two cleaning areas is greater than or equal to the first preset area and less than or equal to the second preset area.
[0198] The first preset area can be preset. For example, the first preset area can be set to 3 square meters, 4 square meters, 5 square meters, etc., which is not limited in the embodiment of the present application.
[0199] The second preset area can be preset. For example, the second preset area can be set to 299 square meters, 300 square meters, 301 square meters, etc., which is not limited in the embodiment of the present application.
[0200] The size of the cleaning area corresponding to the cleaning zone will affect the cleaning efficiency of the cleaning robot. Specifically, when the cleaning area corresponding to a cleaning zone is large, the cleaning robot needs to run for a long time to cover the cleaning area. The cleaning robot may run out of battery power due to the long cleaning time, affecting the cleaning efficiency; and when the cleaning area corresponding to a cleaning zone is too small, it may cause the cleaning robot to be charged frequently, which will increase the cleaning time. The cleaning robot needs to re-plan the cleaning path every time it switches areas, which will increase the additional cleaning time and computing burden, thereby increasing the overall cleaning time and reducing the cleaning efficiency. For this reason, the cleaning area corresponding to the cleaning area needs to be within a reasonable range.
[0201] In this case, if the cleaning area corresponding to each of the at least two cleaning areas is greater than or equal to the first preset area and less than or equal to the second preset area, it means that the at least two cleaning areas divided are valid cleaning areas, so area segmentation can be performed accordingly; if the cleaning area corresponding to at least one of the at least two cleaning areas is less than the first preset area or greater than the second preset area, it means that there is an invalid cleaning area in the at least two cleaning areas divided, and in this case, area segmentation is not performed. In this way, it is possible to avoid dividing a cleaning area that is too large or too small, thereby ensuring the cleaning efficiency of the cleaning robot.
[0202] In some cases, if the cleaning area corresponding to each of the at least two cleaning areas is greater than or equal to the first preset area and less than or equal to the second preset area, the computer device can divide the first cleaning area and display at least two cleaning areas obtained by the division in the area setting interface.
[0203] For example, the ROS in the computer device may execute segmentation logic to segment the first cleaning area.
[0204] In some cases, if the cleaning area corresponding to at least one of the at least two cleaning areas is smaller than the first preset area or larger than the second preset area, the computer device may display a reminder message, which is used to remind the user that the area of the divided cleaning area is too small or too large and needs to be re-divided.
[0205] The following is a detailed explanation of the region merging process of the region division operation.
[0206] In some embodiments, the area setting interface also includes a merge control, and the area division operation includes a trigger operation on the merge control. In this case, the operation of step 203 may be: after receiving a selection operation on at least two second cleaning areas, the computer device merges the at least two second cleaning areas into one cleaning area in response to receiving a trigger operation on the merge control.
[0207] The merge control is used to implement the region merging function. For example, the triggering operation of the merge control may be a click operation, a slide operation, a long press operation, etc., which is not limited in the embodiment of the present application.
[0208] Optionally, when the computer device does not receive the selection operation for at least two second cleaning areas, the merged control may be displayed as unavailable (such as grayed out). After receiving the selection operation for at least two second cleaning areas, the computer device may display the merged control as available (such as highlighted).
[0209] It should be noted that, in the embodiment of the present application, when at least two second cleaning areas are merged into one cleaning area, it is necessary to ensure that the merged cleaning area is a complete area.
[0210] The at least two second cleaning areas are at least two adjacent cleaning areas in the area setting interface. The two adjacent cleaning areas refer to at least one boundary line of the two cleaning areas overlapping.
[0211] For example, the ROS in the computer device may execute a merging logic to merge the at least two second cleaning regions into one cleaning region.
[0212] In this way, the user can freely select at least two adjacent cleaning areas to merge according to needs, thus improving the flexibility of cleaning area settings and better meeting user needs.
[0213] In some cases, after merging the at least two second cleaning areas into one cleaning area, the computer device may display the merged cleaning area in the area setting interface.
[0214] In some embodiments, upon receiving the selection operation on at least two cleaning areas, the computer device may detect the at least two cleaning areas to determine whether the at least two cleaning areas are adjacent, that is, determine whether the at least two cleaning areas are the second cleaning areas.
[0215] If there is at least one cleaning area among the at least two cleaning areas that is not adjacent to any other cleaning areas except the at least one cleaning area among the at least two cleaning areas, it means that the at least two cleaning areas cannot constitute a complete area, so it can be determined that the at least two cleaning areas are not the second cleaning areas; otherwise, it means that the at least two cleaning areas can constitute a complete area, and each of the at least two cleaning areas can be determined as the second cleaning area.
[0216] For example, the computer device may determine whether the at least two cleaning areas are adjacent cleaning areas by a geometric intersection algorithm. Of course, this is not limited to this. Other algorithms may be used to determine whether the at least two cleaning areas are adjacent cleaning areas. This embodiment of the present application does not limit this.
[0217] For example, Figure 7 As shown, the computer device can obtain the vertex coordinates of the graph A1B1C1D1 corresponding to a cleaning area and the vertex coordinates of the graph A2B2C2D2 corresponding to another cleaning area, and then determine whether the graph A1B1C1D1 and the graph A2B2C2D2 share edges through a geometric intersection algorithm based on the vertex coordinates of the graph A1B1C1D1 and the vertex coordinates of the graph A2B2C2D2. Since the graph A1B1C1D1 and the graph A2B2C2D2 share edges, it can be determined that the cleaning area corresponding to the graph A1B1C1D1 is the second cleaning area, and the cleaning area corresponding to the graph A2B2C2D2 is also the second cleaning area.
[0218] For example, the code for the computer device to detect whether the at least two cleaning areas are adjacent is as follows:
[0219] const turf=require('@turf / turf');
[0220] const polygon1=turf.polygon([
[0221] [[,0],[4,0],[4,4],[0,4],[0,0]] ]);
[0223] const polygon2=turf.polygon([
[0224] [[2,2],[6,2],[6,6],[2,6],[2,2]] ]);
[0226] const result=turf.booleanOverlap(polygon1,polygon2);
[0227] For example, after the computer device displays the area setting interface, the user clicks on two adjacent cleaning areas in the area setting interface. In response to the click operation, the computer device displays the following Figure 8 In the area setting interface shown in Figure (a), at this time, the at least two cleaning areas are displayed as selected, and the merge control is highlighted. Afterwards, the user clicks the merge control, and in response to the click operation, the computer device merges the at least two cleaning areas and then displays the following Figure 8 In the area setting interface shown in Figure (b), at this time, the at least two cleaning areas are merged into one cleaning area, and the merge control is grayed out.
[0228] Step 204: In response to receiving a trigger operation on the first saving control, the computer device generates a target map according to all cleaning areas in the area setting interface.
[0229] The target map is the edited map. The target map includes all the cleaning areas in the area setting interface.
[0230] For example, the triggering operation of the first save control may be a click operation, a slide operation, a long press operation, etc., which is not limited in the embodiment of the present application.
[0231] In some embodiments, the map editing interface also includes a path planning control, which is a control for entering the path planning interface. After the computer device receives a trigger operation on the path planning control in the map editing interface, the path planning interface can be displayed.
[0232] For example, the computer device may display Fig. 9 The user clicks the advanced settings control in the main interface, and in response to the click operation, the computer device may display the following Fig. 9 The advanced setting interface shown in FIG. (b) in FIG. 1 is shown in FIG. 2. Afterwards, the user clicks the path planning control in the advanced setting interface. In response to the click operation, the computer device displays the following Fig. 9 The path planning interface shown in Figure (c).
[0233] In some embodiments, the path planning process may include the following steps A to D:
[0234] Step A: In response to receiving a trigger operation on the path planning control, the computer device displays a path planning interface, which includes one or more cleaning areas, a path planning control and a second saving control.
[0235] For example, the triggering operation of the path planning control may be a click operation, a slide operation, a long press operation, etc., which is not limited in the embodiments of the present application.
[0236] The second saving control is a control for saving the cleaning path planned in the path planning interface.
[0237] For example, the one or more cleaning areas may be pre-divided cleaning areas. In some cases, the one or more cleaning areas may be obtained by the computer device automatically dividing the initial map. In other cases, the one or more cleaning areas may be all cleaning areas in the target map edited by the user above.
[0238] Step B: After receiving a selection operation on the third cleaning area, in response to receiving a trigger operation on the path planning control, the computer device generates a cleaning path for the third cleaning area.
[0239] The third cleaning area is a cleaning area for which the user wants to plan a path, and the third cleaning area is a cleaning area in the path planning interface. For example, after receiving a selection operation on the third cleaning area, the computer device may display the third cleaning area as a selected state.
[0240] For example, the selection operation for the third cleaning area may be a click operation, a slide operation, a long press operation, etc., which is not limited in the embodiment of the present application.
[0241] After receiving the trigger operation of the path planning control, the computer device can perform path planning for the third cleaning area to obtain a cleaning path for the third cleaning area. The cleaning path includes multiple point data, which are the coordinates of the path points constituting the cleaning path in the map coordinate system.
[0242] Optionally, the cleaning path of the third cleaning area may include an edge cleaning path and an internal cleaning path. For example, when cleaning the third cleaning area, the cleaning robot may first clean the edge of the third cleaning area according to the edge cleaning path, and then clean the interior of the third cleaning area according to the internal cleaning path.
[0243] For example, the ROS in the computer device may execute a path planning algorithm to generate a cleaning path for the third cleaning area.
[0244] For example, the multiple point data of the cleaning path can be as follows:
[0245]
[0246]
[0247] Step C: The computer device displays the cleaning path in the third cleaning area.
[0248] For example, the computer device may connect points corresponding to a plurality of point data of the cleaning path into a line segment, and then display the line segment in the third cleaning area.
[0249] Step D: In response to receiving a trigger operation on the second saving control, the computer device saves the cleaning paths of all cleaning areas in the path planning interface.
[0250] For example, the triggering operation of the second save control may be a click operation, a slide operation, a long press operation, etc., which is not limited in the embodiments of the present application.
[0251] After receiving the trigger operation on the second save control, the computer device can save each cleaning area in the path planning interface in association with its cleaning path, so that the cleaning path can be displayed when the path planning interface is re-entered later.
[0252] For example, the computer device may display Fig.10 In the path planning interface shown in Figure (a), when no cleaning area is selected, the path planning control is grayed out. Afterwards, the user clicks on a cleaning area, and in response to the click operation, the computer device may display the following Fig.10 The area setting interface shown in Figure (b) of FIG. 1 shows that the cleaning area is selected and the path planning control is highlighted. After that, the user clicks the path planning control. In response to the click operation, the computer device plans the cleaning path (including the edge cleaning path and the internal cleaning path) of the cleaning area and then displays the following information: Fig.10 In the path planning interface shown in Figure (c), the cleaning path is displayed in the cleaning area and the path planning control is grayed out.
[0253] In some embodiments, the map editing interface further includes a task creation control. After the computer device receives a trigger operation on the task creation control in the map editing interface, it may display the task creation interface.
[0254] The task creation control is a control for entering a task creation interface. For example, the task creation interface is an interface for creating a test run task.
[0255] For example, the computer device displays Fig.11 The user clicks the test run mode control in the advanced setting interface, and in response to the click operation, the computer device displays the following Fig.11 The trial run mode interface shown in FIG. (b) of FIG. 1 includes a task creation control and a task execution record control. Afterwards, the user clicks the task creation control, and in response to the click operation, the computer device displays the following Fig.11 The task creation interface shown in Figure (c).
[0256] In some embodiments, the task creation process may include the following steps a to c:
[0257] Step a: In response to receiving a trigger operation on the task creation control, the computer device displays a task creation interface, where the task creation interface includes one or more cleaning areas and a task start control.
[0258] For example, the triggering operation for the task creation control may be a click operation, a slide operation, a long press operation, etc., which is not limited in the embodiments of the present application.
[0259] The task start control is a control for starting to execute a task.
[0260] For example, the one or more cleaning areas may be pre-divided cleaning areas. In some cases, the one or more cleaning areas may be obtained by the computer device automatically dividing the initial map. In other cases, the one or more cleaning areas may be all cleaning areas in the target map edited by the user above.
[0261] Step b: after receiving the selection operation on the fourth cleaning area, in response to receiving the trigger operation on the task start control, the computer device controls the cleaning robot to move according to the cleaning path of the fourth cleaning area.
[0262] The fourth cleaning area is a cleaning area in which a cleaning path is displayed in the task creation interface, and is also the cleaning area in which the user wants the cleaning robot to perform the task.
[0263] For example, the triggering operation of the task start control may be a click operation, a slide operation, a long press operation, etc., which is not limited in the embodiments of the present application.
[0264] After receiving the trigger operation of the task start control, the computer device can control the cleaning robot to move along the cleaning path of the fourth cleaning area. For example, the computer device can control the cleaning robot to first move along the edge cleaning path of the fourth cleaning area, and then move along the internal cleaning path of the fourth cleaning area.
[0265] Optionally, after receiving a trigger operation on the task start control, the cleaning robot may display a task pause control, where the task pause control is used to temporarily stop the movement of the cleaning robot in the fourth cleaning area.
[0266] In some cases, if a cleaning area that the user wants to select does not display a cleaning path, the user can first plan the cleaning path for the cleaning area on the path planning page, and then enter the task creation interface to control the cleaning robot to move in the cleaning area.
[0267] Step c: During the movement of the cleaning robot, the computer device displays the movement track of the cleaning robot in the fourth cleaning area.
[0268] The moving track is a real-time moving track of the cleaning robot in the fourth cleaning area. For example, the computer device may distinguish and display the moving track and the cleaning path in different colors.
[0269] For example, the computer device may display Fig.12 The task creation interface shown in Figure (a) shows all the cleaning areas in 4F. When no cleaning area is selected, the start task control is grayed out. The user can click on a cleaning area. In response to the click operation, the computer device can display the following Fig.12 The task creation interface shown in FIG. (b) in FIG. 1 is shown in FIG. 2 . At this time, the cleaning area is displayed as selected and the start task control is highlighted. Afterwards, the user clicks the start task control. In response to the click operation, the computer device controls the cleaning robot to move according to the cleaning path of the fourth cleaning area. During the movement of the cleaning robot, the computer device displays the following Fig.12 The moving trajectory of the cleaning robot shown in Figure (c) (i.e., the blue trajectory in the figure) is shown, and the pause task control is displayed.
[0270] In some embodiments, after the cleaning robot finishes moving, the computer device can generate a test run report for the fourth cleaning area. Fig.13As shown, the test run report may include the fourth cleaning area and the movement track of the cleaning robot in the fourth cleaning area. The user may check the test run report to determine whether there is any abnormality in the movement of the cleaning robot.
[0271] In some cases, if the moving track of the cleaning robot displayed by the computer device in the fourth cleaning area is abnormal, such as the user finds that the moving track of the cleaning robot exceeds the fourth cleaning area or the moving track of the cleaning robot is greatly different from the cleaning path, the user can trigger the pause task control, and the computer device pauses the movement of the cleaning robot in response to the triggering operation of the pause task control. Then the user can make relevant modifications to the fourth cleaning area.
[0272] For example, Fig.14 As shown, the user can modify the prohibited lines in the fourth cleaning area in the prohibited line setting interface. Alternatively, the user can modify the prohibited area in the fourth cleaning area in the prohibited area setting interface.
[0273] In an embodiment of the present application, a computer device displays a map editing interface, which includes a region setting control. In response to receiving a trigger operation on the region setting control, the computer device displays a region setting interface, which includes one or more pre-divided clean regions and a first save control. After receiving a selection operation on at least one clean region in the region setting interface, the computer device responds to the received region division operation and performs region segmentation or region merging on the at least one clean region. Finally, in response to receiving a trigger operation on the first save control, the computer device generates a target map according to all clean regions in the region setting interface. In an embodiment of the present application, the divided clean regions are displayed visually, and the user can freely select at least one clean region in the region setting interface, and perform region segmentation or region merging on the at least one clean region. The operation process interface can provide feedback to the user operation, so that the user can visualize his or her operation process through the interface, that is, operate while watching, and can easily control the degree of operation, such as the position offset and size of the segmentation or merging, so that the user can freely divide the clean region according to the needs during the map editing process, thereby improving the flexibility of map editing, making the divided clean region more matched with the actual scene, better meeting the user's needs, and ensuring the reasonable setting of the clean region to a certain extent.
[0274] Fig.15 is a schematic diagram of the structure of a map editing device provided in an embodiment of the present application. The device can be implemented by software, hardware or a combination of both to form part or all of a computer device, and the computer device can be the following Fig.16 Computer equipment shown. Fig.15The device includes: a first display module 1501, a second display module 1502, a division module 1503, and a first generation module 1504.
[0275] A first display module 1501, used to display a map editing interface, the map editing interface including a region setting control;
[0276] A second display module 1502 is used to display an area setting interface in response to receiving a trigger operation on the area setting control, where the area setting interface includes one or more pre-divided cleaning areas and a first saving control;
[0277] A division module 1503 is used for, after receiving a selection operation of at least one cleaning area in the area setting interface, performing area division or area merging on the at least one cleaning area in response to the received area division operation;
[0278] The first generating module 1504 is configured to generate a target map according to all cleaning areas in the area setting interface in response to receiving a triggering operation on the first saving control.
[0279] Optionally, the region division operation includes a segmentation line drawing operation, and the division module 1503 is used to:
[0280] After receiving the selection operation on the first cleaning area, in response to receiving the segmentation line drawing operation in the first cleaning area, segmenting the first cleaning area into at least two cleaning areas, the first cleaning area being any one of the cleaning areas in the area setting interface;
[0281] Alternatively, the area setting interface further includes a merging control, the area division operation includes a triggering operation on the merging control, and the division module 1503 is used to:
[0282] After receiving a selection operation on at least two second cleaning areas, in response to receiving a trigger operation on the merge control, the at least two second cleaning areas are merged into one cleaning area, and the at least two second cleaning areas are at least two adjacent cleaning areas in the area setting interface.
[0283] Optionally, the area setting interface further includes a split control, and the split module 1503 is used to:
[0284] In response to a triggering operation on the split control, receiving the split line drawing operation in the first cleaning area;
[0285] In response to the dividing line drawing operation, displaying a dividing line in the first cleaning area according to a drawing track of the dividing line drawing operation;
[0286] In response to a triggering operation on the split control, the first cleaning area is split into at least two cleaning areas according to the split line.
[0287] Optionally, the division module 1503 is used to:
[0288] In the case that there are at least two intersection points between the drawing trajectory of the dividing line drawing operation and the boundary line of the first cleaning area, the dividing line is displayed according to the coordinates of each of the at least two intersection points.
[0289] Optionally, the division module 1503 is used to:
[0290] Determine at least two cleaning areas in the first cleaning area according to the dividing line;
[0291] When the cleaning area corresponding to each of the at least two cleaning areas is greater than or equal to the first preset area and less than or equal to the second preset area, the first cleaning area is divided into the at least two cleaning areas.
[0292] Optionally, the area setting interface also includes one or more of a laser point cloud hidden control, a stereoscopic vision point cloud hidden control, an initial map hidden control, a point hidden control, a prohibited line hidden control, and a speed limit area hidden control.
[0293] Optionally, the map editing interface further includes a path planning control, and the device further includes:
[0294] A third display module, configured to display a path planning interface in response to receiving a trigger operation on the path planning control, the path planning interface including one or more cleaning areas, a path planning control, and a second saving control;
[0295] A second generating module is used for generating a cleaning path for the third cleaning area in response to receiving a triggering operation on the path planning control after receiving a selection operation on the third cleaning area, where the third cleaning area is a cleaning area in the path planning interface;
[0296] a fourth display module, configured to display the cleaning path in the third cleaning area;
[0297] The saving module is used to save the cleaning paths of all cleaning areas in the path planning interface in response to receiving a trigger operation on the second saving control.
[0298] Optionally, the map editing interface further includes a task creation control, and the device further includes:
[0299] a fifth display module, configured to display a task creation interface in response to receiving a trigger operation on the task creation control, the task creation interface including one or more cleaning areas and a task start control;
[0300] a control module, configured to, after receiving a selection operation on a fourth cleaning area, control the cleaning robot to move according to a cleaning path of the fourth cleaning area in response to receiving a trigger operation on the task start control, the fourth cleaning area being a cleaning area with a cleaning path displayed in the task creation interface;
[0301] The sixth display module is used to display the moving track of the cleaning robot in the fourth cleaning area during the movement of the cleaning robot.
[0302] In an embodiment of the present application, the device displays a map editing interface, which includes an area setting control. In response to receiving a trigger operation on the area setting control, the device displays an area setting interface, which includes one or more pre-divided clean areas and a first save control. After receiving a selection operation on at least one clean area in the area setting interface, the device responds to the received area division operation and performs area segmentation or area merging on the at least one clean area. Finally, in response to receiving a trigger operation on the first save control, the device generates a target map according to all clean areas in the area setting interface. In an embodiment of the present application, the divided clean areas are displayed visually, and the user can freely select at least one clean area in the area setting interface, and perform area segmentation or area merging on the at least one clean area. The operation process interface can provide feedback to the user operation, so that the user can visualize his or her operation process through the interface, that is, operate while watching, and can easily control the degree of operation, such as the position offset and size of the segmentation or merging, so that the user can freely divide the clean area according to the needs during the map editing process, thereby improving the flexibility of map editing, making the divided clean area more matched with the actual scene, better meeting the user's needs, and ensuring the reasonable setting of the clean area to a certain extent.
[0303] It should be noted that: the map editing device provided in the above embodiment only uses the division of the above-mentioned functional modules as an example when editing a map. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.
[0304] The functional modules in the above embodiments may be integrated into one processing unit, or each functional module may exist physically as a processing unit alone, or two or more functional modules may be integrated into one processing unit, and the above processing unit may be implemented in the form of hardware or software. In addition, the specific names of the functional modules are only for the convenience of distinguishing each other, and are not used to limit the protection scope of the embodiments of the present application.
[0305] The map editing device and the map editing method provided in the above embodiments belong to the same concept. The specific working process of the functional modules in the above embodiments and the technical effects brought about can be found in the method embodiment part and will not be repeated here.
[0306] Fig.16 This is a schematic diagram of the structure of a computer device provided in an embodiment of the present application. Fig.16 As shown, the computer device 16 includes: a processor 160, a memory 161, and a computer program 162 stored in the memory 161 and executable on the processor 160. When the processor 160 executes the computer program 162, the steps in the map editing method in the above embodiment are implemented.
[0307] The computer device 16 may be a general-purpose computer device or a dedicated computer device. In a specific implementation, the computer device 16 may be a desktop computer, a portable computer, a PDA, a mobile phone, a tablet computer, a cleaning robot, etc. The embodiment of the present application does not limit the type of the computer device 16. Those skilled in the art will understand that Fig.16 It is only an example of the computer device 16 and does not constitute a limitation on the computer device 16. It may include more or fewer components than shown in the figure, or a combination of certain components, or different components, such as input and output devices, network access devices, etc.
[0308] The processor 160 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor.
[0309] In some embodiments, the memory 161 may be an internal storage unit of the computer device 16, such as a hard disk or memory of the computer device 16. In other embodiments, the memory 161 may also be an external storage device of the computer device 16, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the computer device 16. Further, the memory 161 may also include both an internal storage unit and an external storage device of the computer device 16. The memory 161 is used to store an operating system, an application program, a boot loader, data, and other programs. The memory 161 may also be used to temporarily store data that has been output or is to be output.
[0310] An embodiment of the present application also provides a computer device, which includes: at least one processor, a memory, and a computer program stored in the memory and executable on the at least one processor, and when the processor executes the computer program, the steps in any of the above-mentioned method embodiments are implemented.
[0311] An embodiment of the present application further provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments can be implemented.
[0312] An embodiment of the present application provides a computer program product, which, when executed on a computer, enables the computer to execute the steps in the above-mentioned method embodiments.
[0313] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the processes in the above method embodiments, which can be completed by operating the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium. When the computer program is executed by the processor, the steps of each of the above method embodiments can be implemented. Among them, the computer program includes computer program code, which can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium may at least include: any entity or device that can carry the computer program code to the camera / terminal device, recording medium, computer memory, ROM (Read-Only Memory), RAM (Random Access Memory), CD-ROM (Compact Disc Read-Only Memory), magnetic tape, floppy disk and optical data storage device. The computer-readable storage medium mentioned in the present application can be a non-volatile storage medium, in other words, it can be a non-transient storage medium.
[0314] It should be understood that all or part of the steps to implement the above embodiments can be implemented by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer operations. The computer operations can be stored in the above-mentioned computer readable storage medium.
[0315] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0316] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0317] In the embodiments provided in the present application, it should be understood that the disclosed devices / computer equipment and methods can be implemented in other ways. For example, the device / computer equipment embodiments described above are only schematic, for example, the division of modules or units is only a logical function division, and there may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0318] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0319] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data need to comply with the relevant regulations and standards of relevant countries and regions, and corresponding operation entrances are provided for users to choose to authorize or refuse.
[0320] The embodiments described above are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, a person skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. Such modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.
Claims
1. A map editing method, characterized in that: The method comprises: Displaying a map editing interface, wherein the map editing interface includes a region setting control; In response to receiving a trigger operation on the area setting control, displaying an area setting interface, the area setting interface including one or more pre-divided cleaning areas and a first saving control; After receiving a selection operation on at least one cleaning area in the area setting interface, in response to the received area division operation, performing area division or area merging on the at least one cleaning area; In response to receiving a trigger operation on the first saving control, a target map is generated according to all cleaning areas in the area setting interface.
2. The method according to claim 1, characterized in that The area division operation includes a segmentation line drawing operation, and after receiving a selection operation of at least one cleaning area in the area setting interface, in response to the received area division operation, performing area division or area merging on the at least one cleaning area includes: After receiving a selection operation on a first cleaning area, in response to receiving the segmentation line drawing operation in the first cleaning area, segmenting the first cleaning area into at least two cleaning areas, the first cleaning area being any one of the cleaning areas in the area setting interface; Alternatively, the area setting interface further includes a merging control, the area division operation includes a triggering operation on the merging control, and after receiving a selection operation on at least one cleaning area in the area setting interface, in response to the received area division operation, performing area division or area merging on the at least one cleaning area, including: After receiving a selection operation on at least two second cleaning areas, in response to receiving a trigger operation on the merge control, the at least two second cleaning areas are merged into one cleaning area, and the at least two second cleaning areas are at least two adjacent cleaning areas in the area setting interface.
3. The method according to claim 2, characterized in that The area setting interface further includes a split control, wherein in response to receiving the split line drawing operation in the first cleaning area, the first cleaning area is split into at least two cleaning areas, including: In response to a trigger operation on the split control, receiving the split line drawing operation in the first cleaning area; In response to the dividing line drawing operation, displaying a dividing line in the first cleaning area according to a drawing trajectory of the dividing line drawing operation; In response to a triggering operation on the split control, the first cleaning area is split into at least two cleaning areas according to the split line.
4. The method according to claim 3, characterized in that The step of displaying a segmentation line in the first cleaning area according to the drawing trajectory of the segmentation line drawing operation includes: In a case where there are at least two intersection points between the drawing trajectory of the dividing line drawing operation and the boundary line of the first cleaning area, the dividing line is displayed according to the coordinates of each of the at least two intersection points.
5. The method according to claim 3, characterized in that The step of dividing the first cleaning area into at least two cleaning areas according to the dividing line includes: Determine at least two cleaning areas in the first cleaning area according to the dividing line; When a cleaning area corresponding to each of the at least two cleaning areas is greater than or equal to a first preset area and less than or equal to a second preset area, the first cleaning area is divided into the at least two cleaning areas.
6. The method according to claim 1, characterized in that The area setting interface also includes one or more of a laser point cloud hidden control, a stereoscopic vision point cloud hidden control, an initial map hidden control, a point hidden control, a prohibited line hidden control, and a speed limit area hidden control.
7. The method according to any one of claims 1 to 6, characterized in that: The map editing interface also includes a path planning control, and the method further includes: In response to receiving a trigger operation on the path planning control, displaying a path planning interface, the path planning interface including one or more cleaning areas, a path planning control, and a second saving control; After receiving a selection operation on a third cleaning area, in response to receiving a trigger operation on the path planning control, generating a cleaning path for the third cleaning area, the third cleaning area being a cleaning area in the path planning interface; displaying the cleaning path in the third cleaning area; In response to receiving a trigger operation on the second saving control, the cleaning paths of all cleaning areas in the path planning interface are saved.
8. The method according to any one of claims 1 to 6, characterized in that: The map editing interface also includes a task creation control, and the method includes: In response to receiving a trigger operation on the task creation control, displaying a task creation interface, the task creation interface including one or more cleaning areas and a task start control; After receiving a selection operation on a fourth cleaning area, in response to receiving a trigger operation on the task start control, controlling the cleaning robot to move according to a cleaning path of the fourth cleaning area, the fourth cleaning area being a cleaning area with a cleaning path displayed in the task creation interface; During the movement of the cleaning robot, the movement track of the cleaning robot is displayed in the fourth cleaning area.
9. A cleaning robot, characterized in that: The cleaning robot comprises a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program implements the method according to any one of claims 1 to 8 when executed by the processor.
10. A computer program product, characterized in that When the computer program product runs on a cleaning robot, the cleaning robot is enabled to perform the method according to any one of claims 1 to 8.