Method, device, robot and medium for controlling movement speed of mobile robot

By acquiring the preset detection area and planning parameters, and combining the current angular velocity and linear velocity, the robot's actual speed is determined and updated, thus solving the problem of the robot being unable to avoid obstacles in time and achieving safe movement.

CN116257045BActive Publication Date: 2026-02-10GUANGZHOU SHIYUAN ELECTRONICS CO LTD +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111498517.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-09
Publication Date
2026-02-10
Estimated Expiration
2041-12-09

AI Technical Summary

Technical Problem

Existing technologies cannot adapt to changes in the robot's external environment in a timely manner, which may lead to dangers during movement, especially when obstacles suddenly appear, making it impossible to brake or avoid them in time.

Method used

By acquiring the preset detection area and planning parameters, and combining the current angular velocity and linear velocity, the system determines whether there are obstacles, and updates the velocity in real time based on the judgment results to obtain the actual angular velocity and linear velocity, thereby controlling the robot to move safely.

Benefits of technology

It enables real-time monitoring and speed control of the robot's environment, ensuring the robot moves safely in the current environment and avoiding collisions and dangers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116257045B_ABST
    Figure CN116257045B_ABST
Patent Text Reader

Abstract

The present disclosure discloses a method, device, robot and medium for controlling the moving speed of a mobile robot, the method comprising: acquiring a preset detection area, a preset planning parameter, a current angular velocity and a current linear velocity of the mobile robot; judging whether there is an obstacle in the current moving environment of the mobile robot based on the preset detection area, the preset planning parameter, the current angular velocity and the current linear velocity; updating the current angular velocity and the current linear velocity according to the judgment result, the preset detection area and the preset planning parameter to obtain an actual angular velocity and an actual linear velocity of the mobile robot; and controlling the mobile robot according to the actual angular velocity and the actual linear velocity. The scheme can judge the actual running environment of the mobile robot, and obtain the actual linear velocity and the actual angular velocity for controlling the movement of the mobile robot in combination with the judgment result and the preset information of the mobile robot, thereby ensuring the safety of the movement of the mobile robot in the current environment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of mobile robot control, and more particularly to a method, apparatus, robot, and medium for controlling the movement speed of a mobile robot. Background Technology

[0002] In the field of autonomous driving for mobile robots, there are generally two methods to obtain the robot's speed: one is to simultaneously optimize the speed of each position on the trajectory and the robot's speed, and the other is to optimize the speed of each position on the trajectory and the robot's speed separately. However, neither of these methods can adapt to changes in the robot's external environment in a timely manner. If an obstacle suddenly appears around the robot during its movement, and the robot cannot brake or avoid the obstacle in time, it may pose a certain danger to the robot during its movement. Summary of the Invention

[0003] This disclosure provides a method, apparatus, robot, and medium for controlling the movement speed of a mobile robot. It can monitor and judge the actual operating environment of the mobile robot, and control and update the linear velocity and angular velocity of the mobile robot's current movement by combining the judgment result and the preset information of the mobile robot, so as to obtain the actual linear velocity and actual angular velocity of the mobile robot, and control the mobile robot according to the actual linear velocity and actual angular velocity to ensure the safety of the mobile robot's movement in the current environment.

[0004] In a first aspect, embodiments of this disclosure provide a method for controlling the movement speed of a mobile robot, the method comprising:

[0005] Obtain the preset detection area, preset planning parameters, and the current angular velocity and current linear velocity of the mobile robot;

[0006] Based on the preset detection area, preset planning parameters, current angular velocity, and current linear velocity, determine whether there are obstacles in the environment in which the mobile robot is currently moving;

[0007] Based on the judgment results, the preset detection area, and the preset planning parameters, the current angular velocity and the current linear velocity are updated to obtain the actual angular velocity and the actual linear velocity of the mobile robot.

[0008] The mobile robot is controlled based on the actual angular velocity and actual linear velocity.

[0009] Secondly, embodiments of this disclosure also provide an apparatus for controlling the movement speed of a mobile robot, the apparatus comprising:

[0010] The acquisition module is used to acquire the preset detection area, preset planning parameters, and the current angular velocity and current linear velocity of the mobile robot.

[0011] The judgment module is used to determine whether there are obstacles in the environment in which the mobile robot is currently moving, based on the preset detection area, preset planning parameters, current angular velocity, and current linear velocity.

[0012] The update module is used to update the current angular velocity and current linear velocity based on the judgment result, the preset detection area and the preset planning parameters, so as to obtain the actual angular velocity and actual linear velocity of the mobile robot.

[0013] The control module is used to control the mobile robot based on the actual angular velocity and actual linear velocity.

[0014] Thirdly, this disclosure also provides a mobile robot, which includes a memory and a processor. When the memory stores a computer program and the processor executes the computer program, it implements a method for controlling the movement speed of the mobile robot as provided in this disclosure.

[0015] Fourthly, embodiments of this disclosure also provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements a method for controlling the movement speed of a mobile robot as provided in embodiments of this disclosure.

[0016] This disclosure provides a method, apparatus, robot, and medium for controlling the movement speed of a mobile robot. The method includes: acquiring a preset detection area, preset planning parameters, and the current angular velocity and current linear velocity of the mobile robot; determining whether there are obstacles in the environment in which the mobile robot is currently moving, based on the preset detection area, preset planning parameters, current angular velocity, and current linear velocity; updating the current angular velocity and current linear velocity according to the determination result, the preset detection area, and preset planning parameters to obtain the actual angular velocity and actual linear velocity of the mobile robot; and controlling the mobile robot according to the actual angular velocity and actual linear velocity. Through this method, the actual operating environment of the mobile robot can be monitored and determined. By combining the determination result and the preset information of the mobile robot, the current linear velocity and angular velocity of the mobile robot can be controlled and updated to obtain the actual linear velocity and actual angular velocity of the mobile robot. Controlling the mobile robot according to the actual linear velocity and actual angular velocity ensures the safety of the mobile robot's movement in the current environment. Attached Figure Description

[0017] Figure 1 This is a flowchart of a method for controlling the moving speed of a mobile robot according to an embodiment of this disclosure;

[0018] Figure 2 This is a flowchart of a method for generating an updated obstacle zone provided in an embodiment of this disclosure;

[0019] Figure 3This is a schematic diagram of the generated updated obstacle area provided in an embodiment of this disclosure;

[0020] Figure 4 This is a flowchart of a method for updating the current angular velocity and the current linear velocity according to an embodiment of the present disclosure;

[0021] Figure 5 This is a schematic diagram of a device for controlling the movement speed of a mobile robot according to an embodiment of this disclosure;

[0022] Figure 6 This is a schematic diagram of the structure of a mobile robot provided in an embodiment of this disclosure. Detailed Implementation

[0023] The present disclosure will now be described in further detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present disclosure and not intended to limit it. Furthermore, it should be noted that, for ease of description, only the parts relevant to the present disclosure are shown in the drawings, not the entire structure.

[0024] Furthermore, in this disclosure, terms such as "optionally" or "exemplarily" are used to indicate examples, illustrations, or explanations. Any embodiment or design described as "optionally" or "exemplarily" in this disclosure should not be construed as preferred or advantageous over other embodiments or designs. Specifically, the use of terms such as "optionally" or "exemplarily" is intended to present the relevant concepts in a specific manner.

[0025] Figure 1 This flowchart illustrates a method for controlling the movement speed of a mobile robot, provided as an embodiment of this disclosure. This method can be applied to scenarios involving mobile robot movement and, based on pre-set limiting information and detection of the external environment, enables real-time control of the mobile robot's movement speed, allowing the robot to move more safely during task execution. Figure 1 As shown, the method may include, but is not limited to, the following steps:

[0026] S101. Obtain the preset detection area, preset planning parameters, current angular velocity and current linear velocity of the mobile robot.

[0027] In this embodiment of the disclosure, a preset detection area and preset planning parameters can be pre-designed for the speed control process of the mobile robot. Since the mobile robot can move in various ways such as going straight, going backward, and turning, the speed here can include both linear speed and angular speed.

[0028] Optionally, the preset detection area in this embodiment may include a preset deceleration area, a preset obstacle stopping area, and a preset cost map area. The preset planning parameters may include a preset obstacle detection distance, an initial planned linear velocity, an initial planned angular velocity, a preset angular velocity adjustment coefficient, a preset linear velocity adjustment coefficient, and a maximum set linear velocity. The preset deceleration area, preset obstacle stopping area, and preset cost map area can be rectangles formed by expanding a certain safe distance outwards from the mobile robot's center. Alternatively, the preset deceleration area, preset obstacle stopping area, and preset cost map area can be set to different shapes; this embodiment does not limit this.

[0029] Furthermore, in this embodiment of the present disclosure, the size relationship between the preset deceleration area, the preset stopping area, and the preset cost map area can be designed as preset cost map area > preset deceleration area > preset stopping area. That is, the safe distances that each of the preset deceleration area, the preset stopping area, and the preset cost map area expand outwards are different, thereby forming areas of different sizes.

[0030] S102. Based on the preset detection area, preset planning parameters, current angular velocity, and current linear velocity, determine whether there are obstacles in the environment in which the mobile robot is currently moving.

[0031] In this embodiment of the disclosure, since the preset obstacle stopping area included in the preset detection area is the smallest, the determination of whether there is an obstacle in the environment in which the mobile robot is currently moving can be made in the following two ways:

[0032] One method involves updating the preset obstacle-stopping area, which is included in the preset detection area, based on preset planning parameters, current angular velocity, and current linear velocity. This generates an updated obstacle-stopping area, and the updated obstacle-stopping area is used to determine whether there are obstacles in the environment in which the mobile robot is currently moving.

[0033] Another approach is to determine whether there are obstacles within the preset obstacle detection distance range of the mobile robot's current movement, based on the preset obstacle detection distance included in the preset planning parameters, if there are no obstacles in the updated obstacle stopping area.

[0034] S103. Based on the judgment result, the preset detection area and the preset planning parameters, update the current angular velocity and the current linear velocity to obtain the actual angular velocity and the actual linear velocity of the mobile robot.

[0035] After determining whether there are obstacles in the current mobile environment of the mobile robot based on the method in step S102 above, the current angular velocity and current linear velocity can be updated in real time according to the judgment result, the preset detection area and the preset planning parameters, so as to redetermine the actual angular velocity and actual linear velocity of the mobile robot.

[0036] For example, if the judgment result indicates that there is an obstacle in the updated obstacle stopping area, then the current angular velocity and the current linear velocity can both be set to 0, and the set angular velocity and linear velocity can be used as the actual angular velocity and actual linear velocity of the mobile robot, respectively.

[0037] If the judgment result indicates that there are no obstacles in the updated obstacle stopping area, then the current angular velocity and current linear velocity can be updated based on the judgment result of whether there are obstacles within the preset obstacle detection distance range of the current movement of the mobile robot, combined with the preset detection area and preset planning parameters, to obtain the actual angular velocity and actual linear velocity of the mobile robot.

[0038] S104. Control the mobile robot based on the actual angular velocity and actual linear velocity.

[0039] Based on the judgment results under the different conditions mentioned above, the current angular velocity and current linear velocity of the mobile robot are updated to obtain the actual angular velocity and actual linear velocity of the mobile robot. The movement of the mobile robot in the current environment can be controlled according to the actual angular velocity and actual linear velocity to ensure the safety of the mobile robot when performing tasks in the current environment.

[0040] This disclosure provides a method for controlling the movement speed of a mobile robot. The method includes: acquiring a preset detection area, preset planning parameters, and the current angular velocity and current linear velocity of the mobile robot; determining whether there are obstacles in the environment in which the mobile robot is currently moving, based on the preset detection area, preset planning parameters, current angular velocity, and current linear velocity; updating the current angular velocity and current linear velocity according to the determination result, the preset detection area, and preset planning parameters to obtain the actual angular velocity and actual linear velocity of the mobile robot; and controlling the mobile robot according to the actual angular velocity and actual linear velocity. This method allows for monitoring and judging the actual operating environment of the mobile robot, and by combining the judgment result with the preset information of the mobile robot, controlling and updating the current linear velocity and angular velocity of the mobile robot to obtain its actual linear velocity and actual angular velocity. Controlling the mobile robot according to its actual linear velocity and actual angular velocity ensures the safety of the mobile robot's movement in the current environment.

[0041] like Figure 2 As shown, in one example, in step S102 above, the preset obstacle stopping area included in the preset detection area is updated according to the preset planning parameters, the current angular velocity, and the current linear velocity. The implementation method for generating the updated obstacle stopping area may include the following steps:

[0042] S201. Determine the update width of the preset obstacle stopping area based on the current angular velocity and the preset angular velocity adjustment coefficient included in the preset planning parameters.

[0043] For example, assuming the current angular velocity of the mobile robot is w, the preset angular velocity adjustment coefficient is k1, and the preset obstacle-stopping area update width is L1, then the method for determining the update width in this step can include L1 = k1 * |w|. Here, |w| only represents the numerical value of the mobile robot's current angular velocity, and w can include the direction of the mobile robot's angular velocity, which can be positive or negative. Specifically, when the mobile robot rotates clockwise, its current angular velocity is negative, and when the mobile robot rotates counterclockwise, its current angular velocity is positive.

[0044] S202. Determine the update length of the preset obstacle stopping area based on the current linear velocity and the preset linear velocity adjustment coefficient included in the preset planning parameters.

[0045] Similarly, assuming the current linear velocity of the mobile robot is v, the preset linear velocity adjustment coefficient is k2, and the preset obstacle-stopping area update length is L2, then the method for determining the update length in this step can include L2 = k2 * |v|. Likewise, in this implementation, |v| only represents the numerical value of the mobile robot's current linear velocity, while v can include the direction of the mobile robot's linear velocity, which can be positive or negative. Specifically, when the mobile robot is moving forward, its current linear velocity is negative; when the mobile robot is moving backward, its current linear velocity is negative.

[0046] S203. Based on the current angular velocity, current linear velocity, update width, and update length, update the preset obstacle stopping area contained in the preset detection area to generate the updated obstacle stopping area.

[0047] After obtaining the updated length and width of the preset obstacle-stopping area using the methods described above, the preset obstacle-stopping area is updated by combining the current linear velocity and current angular velocity of the mobile robot. For example, the update method may include the following cases:

[0048] With the current linear velocity and current angular velocity both positive, the updated length and width determined above are added to the forward and leftward directions of the preset obstacle stopping area as a reference, respectively, to obtain the updated obstacle stopping area.

[0049] When the current linear velocity is positive and the current angular velocity is negative, the updated length and updated width are added to the forward and rightward directions of the preset obstacle stopping area as a reference, respectively, to obtain the updated obstacle stopping area.

[0050] Given that the current linear velocity is negative and the current angular velocity is positive, the updated obstacle area is obtained by adding the update length and update width to the backward and left directions of the preset obstacle area, respectively, based on the preset obstacle area.

[0051] When the current linear velocity and the current angular velocity are both negative, the updated obstacle area is obtained by adding the updated length and the updated width to the backward direction and the right direction of the preset obstacle area, respectively, based on the preset obstacle area.

[0052] In this context, the forward direction refers to the direction in which the mobile robot moves forward, the backward direction refers to the direction in which the mobile robot moves backward, and the left and right directions refer to the left and right sides of the direction in which the mobile robot moves forward.

[0053] by Figure 3 For example, suppose the mobile robot moves in the direction of the arrow. Then the direction of the arrow is the forward direction, the opposite direction of the arrow is the backward direction, the top of the arrow is the left direction, and the bottom of the arrow is the right direction.

[0054] In one example, in step S103 above, if the judgment result is that there are no obstacles in the updated obstacle-stopping area, the judgment result of whether there are obstacles within the preset obstacle detection distance range of the current movement of the mobile robot can specifically include two situations: one is that there are no obstacles in the updated obstacle-stopping area and there are no obstacles within the preset obstacle detection distance range, and the other is that there are no obstacles in the updated obstacle-stopping area and there are obstacles within the preset obstacle detection distance range.

[0055] like Figure 4 As shown, under these two different judgment results, the methods for updating the current angular velocity and current linear velocity based on the preset detection area and preset planning parameters may include, but are not limited to, the following steps:

[0056] S401. Obtain the number of discrete points n1 in the preset deceleration region.

[0057] In this embodiment of the disclosure, the various regions included in the preset detection area, such as a preset deceleration area and a preset cost map, can be processed and marked, and corresponding marker points can be set in each region. Furthermore, the data of all discrete points included in the preset deceleration area can be obtained statistically and recorded as n1.

[0058] S402. Obtain the number n2 of discrete points in the overlapping area of ​​the preset deceleration area and the preset cost map area where the cost value of the discrete points is greater than the cost threshold.

[0059] Since both the preset deceleration zone and the preset cost map zone are areas expanded outward from the mobile robot, there must be overlapping areas between them. Therefore, the number of discrete points in these overlapping areas can be counted. Furthermore, using a cost threshold as a criterion, the number of discrete points in the overlapping area whose cost value exceeds the cost threshold can be determined and denoted as n².

[0060] It should be noted that the cost of the aforementioned discrete points can be understood as the distance of each discrete point from the nearest obstacle in the preset cost map.

[0061] S403. Determine the first moving linear velocity based on n1 and n2, and the maximum set linear velocity included in the preset planning parameters.

[0062] For example, assuming the first linear velocity is v1 and the maximum set linear velocity is v_max, the implementation of determining the first linear velocity in this step may include: v1 = v_max * n2 / n1.

[0063] S404. Based on the first moving linear velocity, the maximum set linear velocity, and the preset obstacle detection distance included in the preset planning parameters, update the current angular velocity and the current linear velocity to obtain the actual linear velocity of the mobile robot.

[0064] In this embodiment, since the preset obstacle detection distance is used to determine whether an obstacle exists within that detection distance range, the determination result will inevitably result in two possibilities: the presence of an obstacle within the preset obstacle detection distance range and the absence of an obstacle within that range. Different methods can be used to determine the actual linear velocity of the mobile robot in these two different scenarios.

[0065] For example, if an obstacle exists within a preset obstacle detection distance, the actual distance between the obstacle and the mobile robot is obtained, and the preset obstacle detection distance is marked as s1, while the actual distance is marked as s2. Then, based on the actual distance, the maximum set linear velocity, and the preset obstacle detection distance, the second linear velocity of the mobile robot is determined and marked as v2. For example, determining the second linear velocity can be implemented as: v2 = v_max * s2 / s1. Furthermore, the actual linear velocity of the mobile robot is determined based on the first and second linear velocities. For example, the minimum linear velocity value between the first and second linear velocities can be determined as the actual linear velocity of the mobile robot, assuming the actual linear velocity is v_k, i.e., v_k = min(v1, v2).

[0066] Conversely, if there are no obstacles within the preset obstacle detection distance, the first linear velocity can be directly determined as the actual linear velocity of the mobile robot, i.e., v_k = v1.

[0067] S405. Based on the actual linear velocity, the initial planned linear velocity, and the initial planned angular velocity included in the preset planning parameters, the actual angular velocity of the mobile robot is obtained.

[0068] After obtaining the actual linear velocity of the mobile robot based on the above steps, the actual angular velocity of the mobile robot can be determined based on the actual linear velocity, the initial planned linear velocity included in the preset planning parameters, and the initial planned angular velocity.

[0069] For example, assuming the actual angular velocity is w_k, the initial planned linear velocity is v_p, and the initial planned angular velocity is w_p, then the methods for determining the actual angular velocity of the mobile robot can include:

[0070] w_k = w_p * v_k / v_p

[0071] Figure 5 This is a schematic diagram of a device for controlling the movement speed of a mobile robot, provided in an embodiment of this disclosure. Figure 5 As shown, the device may include: an acquisition module 501, a judgment module 502, an update module 503, and a control module 504;

[0072] The acquisition module is used to acquire the preset detection area, preset planning parameters, and the current angular velocity and current linear velocity of the mobile robot.

[0073] The judgment module is used to determine whether there are obstacles in the environment in which the mobile robot is currently moving, based on the preset detection area, preset planning parameters, current angular velocity, and current linear velocity.

[0074] The update module is used to update the current angular velocity and current linear velocity based on the judgment result, the preset detection area and the preset planning parameters, so as to obtain the actual angular velocity and actual linear velocity of the mobile robot.

[0075] The control module is used to control the mobile robot based on the actual angular velocity and actual linear velocity.

[0076] For example, the preset detection area may include a preset deceleration area, a preset obstacle stopping area, and a preset cost map area, and the preset planning parameters may include a preset obstacle detection distance, an initial planning linear velocity, an initial planning angular velocity, a preset angular velocity adjustment coefficient, a preset linear velocity adjustment coefficient, and a maximum set linear velocity.

[0077] In one example, the judgment module is specifically used to update the preset obstacle stopping area included in the preset detection area according to the preset planning parameters, the current angular velocity, and the current linear velocity, and generate the updated obstacle stopping area; determine whether there are obstacles in the environment in which the mobile robot is currently moving based on the updated obstacle stopping area; if there are no obstacles in the updated obstacle stopping area, determine whether there are obstacles within the preset obstacle detection distance range in which the mobile robot is currently moving based on the preset obstacle detection distance included in the preset planning parameters.

[0078] In one example, the decision module may also include an update unit;

[0079] The update unit is used to determine the update width of the preset obstacle stopping area based on the current angular velocity and the preset angular velocity adjustment coefficient included in the preset planning parameters; determine the update length of the preset obstacle stopping area based on the current linear velocity and the preset linear velocity adjustment coefficient included in the preset planning parameters; and update the preset obstacle stopping area included in the preset detection area based on the current angular velocity, current linear velocity, update width, and update length to generate the updated obstacle stopping area.

[0080] For example, the updating unit can be used to, when the current linear velocity is positive and the current angular velocity is positive, increase the updating length and updating width in the forward and left directions of the preset obstacle area, respectively, to obtain an updated obstacle area, based on the preset obstacle area; when the current linear velocity is positive and the current angular velocity is negative, increase the updating length and updating width in the forward and right directions of the preset obstacle area, respectively, based on the preset obstacle area, to obtain an updated obstacle area; when the current linear velocity is negative and the current angular velocity is positive, increase the updating length and updating width in the backward and left directions of the preset obstacle area, respectively, based on the preset obstacle area, to obtain an updated obstacle area; when the current linear velocity is negative and the current angular velocity is negative, increase the updating length and updating width in the backward and right directions of the preset obstacle area, respectively, based on the preset obstacle area, to obtain an updated obstacle area.

[0081] In this context, when the mobile robot moves forward, the current linear velocity is positive; when the mobile robot moves backward, the current linear velocity is negative; when the mobile robot rotates counterclockwise, the current angular velocity is positive; and when the mobile robot rotates clockwise, the current angular velocity is negative. The forward direction is the direction in which the mobile robot moves forward, the backward direction is the direction in which the mobile robot moves backward, and the left and right directions are the left and right sides of the forward direction, respectively.

[0082] In one example, the update module is used to set both the current angular velocity and the current linear velocity to 0 if the judgment result indicates that there is an obstacle in the updated obstacle-stopping area, and use the set angular velocity and linear velocity as the actual angular velocity and actual linear velocity of the mobile robot, respectively; if the judgment result indicates that there is no obstacle in the updated obstacle-stopping area, the module updates the current angular velocity and current linear velocity according to preset planning parameters, preset deceleration areas included in the preset detection area, and preset cost map areas, to obtain the actual angular velocity and actual linear velocity of the mobile robot.

[0083] Furthermore, the update module can also be used to obtain the number of discrete points n1 in the preset deceleration region; obtain the number of discrete points n2 in the overlapping region of the preset deceleration region and the preset cost map region where the cost value of the discrete points is greater than the cost threshold; determine the first moving linear velocity based on n1 and n2, and the maximum set linear velocity included in the preset planning parameters; update the current angular velocity and the current linear velocity based on the first moving linear velocity, the maximum set linear velocity, and the preset obstacle detection distance included in the preset planning parameters to obtain the actual linear velocity of the mobile robot; and obtain the actual angular velocity of the mobile robot based on the actual linear velocity, the initial planned linear velocity included in the preset planning parameters, and the initial planned angular velocity.

[0084] For example, the update module can also obtain the actual distance between the obstacle and the mobile robot when there is an obstacle within the preset obstacle detection distance range; determine the second moving linear velocity based on the actual distance, the maximum set linear velocity, and the preset obstacle detection distance; determine the actual linear velocity of the mobile robot based on the first moving linear velocity and the second moving linear velocity; or, when there is no obstacle within the preset obstacle detection distance range, determine the first moving linear velocity as the actual linear velocity of the mobile robot.

[0085] The device for controlling the moving speed of a mobile robot provided in this embodiment can execute this disclosure. Figures 1-4 The method for controlling the movement speed of a mobile robot provided in the embodiments has corresponding functional units for executing the method and beneficial effects.

[0086] Figure 6 This is a schematic diagram of the structure of a mobile robot provided in an embodiment of the present disclosure, such as... Figure 6 As shown, the mobile robot includes a processor 601, a memory 602, an input device 603, and an output device 604; the number of processors 601 in the mobile robot can be one or more. Figure 6 Taking a processor 601 as an example; the processor 601, memory 602, input device 603, and output device 604 in the mobile robot can be connected via a bus or other means. Figure 6 Taking the example of a connection between China and Israel via a bus.

[0087] The memory 602, as a computer-readable storage medium, can be used to store software programs, computer-executable programs, and modules, as described in the embodiments of this disclosure. Figure 1 The program instructions / modules corresponding to the method for controlling the movement speed of the mobile robot (e.g., the acquisition module 501, judgment module 502, update module 503, and control module 504 in the device for controlling the movement speed of the mobile robot). The processor 601 executes various functions and data processing of the mobile robot by running the software programs, instructions, and modules stored in the memory 602, thereby realizing the above-described method for controlling the movement speed of the mobile robot.

[0088] The memory 602 may primarily include a program storage area and a data storage area. The program storage area may store the operating system and at least one application program required for a given function; the data storage area may store data created based on the use of the cloud server, etc. Furthermore, the memory 602 may include high-speed random access memory and non-volatile memory, such as at least one disk storage device, flash memory device, or other non-volatile solid-state storage device. In some instances, the memory 602 may further include memory remotely located relative to the processor 601, which can be connected to computer devices (e.g., mobile robots) / terminals / servers via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0089] Input device 603 can be used to receive input digital or character information, and to generate key signal inputs related to user settings and function control of the mobile robot. Output device 604 may include display devices such as a display screen.

[0090] This disclosure also provides a storage medium containing computer-executable instructions, which, when executed by a processor, are used to perform a method for controlling the movement speed of a mobile robot, the method comprising:

[0091] Obtain the preset detection area, preset planning parameters, and the current angular velocity and current linear velocity of the mobile robot;

[0092] Based on the preset detection area, preset planning parameters, current angular velocity, and current linear velocity, determine whether there are obstacles in the environment in which the mobile robot is currently moving;

[0093] Based on the judgment results, the preset detection area, and the preset planning parameters, the current angular velocity and the current linear velocity are updated to obtain the actual angular velocity and the actual linear velocity of the mobile robot.

[0094] The mobile robot is controlled based on the actual angular velocity and actual linear velocity.

[0095] Of course, the storage medium containing computer-executable instructions provided in the embodiments of this disclosure is not limited to the method operation described above, but can also execute the method for controlling the movement speed of a mobile robot provided in any embodiment of this disclosure.

[0096] Based on the above description of the implementation methods, those skilled in the art can clearly understand that this disclosure can be implemented using software and necessary general-purpose hardware, and of course, it can also be implemented using hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this disclosure, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as a computer floppy disk, read-only memory (ROM), random access memory (RAM), flash memory, hard disk, or optical disk, etc., including several instructions to cause a computer device (which may be a mobile robot, personal computer, server, or network device, etc.) to execute the methods described in the various embodiments of this disclosure.

[0097] It is worth noting that in the embodiments of the above-mentioned device for controlling the movement speed of a mobile robot, the various modules and units included are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be achieved; in addition, the specific names of each functional unit are only for easy differentiation and are not used to limit the scope of protection of this disclosure.

[0098] Note that the above description is merely a preferred embodiment and the technical principles employed in this disclosure. Those skilled in the art will understand that this disclosure is not limited to the specific embodiments described herein, and various obvious changes, readjustments, and substitutions can be made without departing from the scope of protection of this disclosure. Therefore, although this disclosure has been described in detail through the above embodiments, it is not limited to the above embodiments. Many other equivalent embodiments may be included without departing from the concept of this disclosure, and the scope of this disclosure is determined by the scope of the appended claims.

Claims

1. A method for controlling the moving speed of a mobile robot, characterized in that, include: Obtain the preset detection area, preset planning parameters, and the current angular velocity and current linear velocity of the mobile robot; Based on the preset detection area, the preset planning parameters, the current angular velocity, and the current linear velocity, determine whether there are obstacles in the environment in which the mobile robot is currently moving, including: Based on the preset planning parameters, the current angular velocity, and the current linear velocity, the preset obstacle stopping area included in the preset detection area is updated to generate an updated obstacle stopping area; based on the updated obstacle stopping area, it is determined whether there are obstacles in the environment in which the mobile robot is currently moving; Based on the judgment result, the preset detection area, and the preset planning parameters, the current angular velocity and the current linear velocity are updated to obtain the actual angular velocity and the actual linear velocity of the mobile robot. The mobile robot is controlled based on the actual angular velocity and actual linear velocity; The step of updating the current angular velocity and current linear velocity based on the judgment result, the preset detection area, and the preset planning parameters to obtain the actual angular velocity and actual linear velocity of the mobile robot includes: If the judgment result is that there are no obstacles in the updated obstacle stopping area, obtain the number of discrete points n1 in the preset deceleration area included in the preset detection area; obtain the number of discrete points n2 in the overlapping area of ​​the preset deceleration area and the preset cost map area included in the preset detection area where the cost value of the discrete points is greater than the cost threshold; determine the first moving linear velocity based on n1 and n2, and the maximum set linear velocity included in the preset planning parameters. The current angular velocity and the current linear velocity are updated based on the first moving linear velocity, the maximum set linear velocity, and the preset obstacle detection distance included in the preset planning parameters to obtain the actual linear velocity of the mobile robot. The actual angular velocity of the mobile robot is obtained based on the actual linear velocity, the initial planned linear velocity included in the preset planning parameters, and the initial planned angular velocity.

2. The method according to claim 1, characterized in that, The preset planning parameters also include preset angular velocity adjustment coefficients and preset linear velocity adjustment coefficients.

3. The method according to claim 1 or 2, characterized in that, The step of determining whether there are obstacles in the environment in which the mobile robot is currently moving, based on the preset detection area, the preset planning parameters, the current angular velocity, and the current linear velocity, further includes: If there are no obstacles in the updated obstacle-stopping area, the system determines whether there are obstacles within the preset obstacle detection distance range that the mobile robot is currently moving, based on the preset obstacle detection distance included in the preset planning parameters.

4. The method according to claim 1, characterized in that, The step of updating the preset obstacle stopping area included in the preset detection area according to the preset planning parameters, the current angular velocity, and the current linear velocity, and generating the updated obstacle stopping area, includes: The update width of the preset obstacle stopping area is determined based on the current angular velocity and the preset angular velocity adjustment coefficient included in the preset planning parameters; The update length of the preset obstacle stopping area is determined based on the current linear velocity and the preset linear velocity adjustment coefficient included in the preset planning parameters. Based on the current angular velocity, the current linear velocity, the update width, and the update length, the preset obstacle stopping area contained in the preset detection area is updated to generate the updated obstacle stopping area.

5. The method according to claim 4, characterized in that, The step of updating the preset obstacle-stopping area contained in the preset detection area based on the current angular velocity, the current linear velocity, the update width, and the update length to generate the updated obstacle-stopping area includes: Based on the current linear velocity and current angular velocity direction, the update length and update width are increased in the corresponding direction of the preset obstacle stopping area to generate the updated obstacle stopping area.

6. The method according to claim 1, characterized in that, The step of updating the current angular velocity and current linear velocity based on the judgment result, the preset detection area, and the preset planning parameters to obtain the actual angular velocity and actual linear velocity of the mobile robot further includes: If the determination result indicates that there is an obstacle in the updated obstacle stopping area, both the current angular velocity and the current linear velocity are set to 0.

7. The method according to claim 1, characterized in that, The step of updating the current angular velocity and the current linear velocity based on the first moving linear velocity, the maximum set linear velocity, and the preset obstacle detection distance included in the preset planning parameters to obtain the actual linear velocity of the mobile robot includes: If an obstacle exists within the preset obstacle detection distance range, the actual distance between the obstacle and the mobile robot is obtained; The second moving linear velocity is determined based on the actual distance, the maximum set linear velocity, and the preset obstacle detection distance; The actual linear velocity of the mobile robot is determined based on the first linear velocity and the second linear velocity. Alternatively, if there are no obstacles within the preset obstacle detection distance range, the first linear velocity of movement can be determined as the actual linear velocity of the mobile robot.

8. A device for controlling the moving speed of a mobile robot, characterized in that, include: The acquisition module is used to acquire the preset detection area, preset planning parameters, and the current angular velocity and current linear velocity of the mobile robot. The judgment module is used to determine whether there are obstacles in the environment in which the mobile robot is currently moving, based on the preset detection area, the preset planning parameters, the current angular velocity, and the current linear velocity. The update module is used to update the current angular velocity and current linear velocity according to the judgment result, the preset detection area and the preset planning parameters, so as to obtain the actual angular velocity and actual linear velocity of the mobile robot. The control module is used to control the mobile robot based on the actual angular velocity and the actual linear velocity; The judgment module is specifically used to update the preset obstacle stopping area included in the preset detection area according to the preset planning parameters, the current angular velocity and the current linear velocity, and generate the updated obstacle stopping area; The updated obstacle-stopping area is used to determine whether there are obstacles in the environment in which the mobile robot is currently moving. The update module is configured to, when the judgment result indicates that there are no obstacles in the updated obstacle stopping area, obtain the number of discrete points n1 in the preset deceleration area included in the preset detection area; obtain the number of discrete points n2 in the overlapping area of ​​the preset deceleration area and the preset cost map area included in the preset detection area where the cost value is greater than the cost threshold; and determine the first moving linear velocity based on n1 and n2, and the maximum set linear velocity included in the preset planning parameters. The current angular velocity and the current linear velocity are updated based on the first moving linear velocity, the maximum set linear velocity, and the preset obstacle detection distance included in the preset planning parameters to obtain the actual linear velocity of the mobile robot. The actual angular velocity of the mobile robot is obtained based on the actual linear velocity, the initial planned linear velocity included in the preset planning parameters, and the initial planned angular velocity.

9. A mobile robot, comprising a memory and a processor, characterized in that, The memory stores a computer program, and when the processor executes the computer program, it implements the method for controlling the movement speed of a mobile robot as described in any one of claims 1-7.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the method for controlling the movement speed of a mobile robot as described in any one of claims 1-7.

Citation Information

Patent Citations

  • Movable object controller and method for controlling movable object

    US20160236347A1