Robot speed limiting method, device and electronic equipment

By installing sensors on the robot to detect obstacle point clouds and using a pre-built contour cost map to screen speed-limited trajectories, the problems of large computational complexity and insufficient accuracy of traditional robot speed limiting methods are solved, achieving efficient and accurate speed limiting effects.

CN115686019BActive Publication Date: 2025-09-30SHANGHAI GAUSSIAN AUTOMATION TECHNOLOGY DEVELOPMENT CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211406959.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-10
Publication Date
2025-09-30
Estimated Expiration
2042-11-10

AI Technical Summary

Technical Problem

Traditional robot speed limit methods have problems with large computational complexity and insufficient accuracy when dealing with complex environments and human interactions, especially when moving in arcs and in areas without sensor detection on the sides or rear.

Method used

By installing sensors on the robot to detect obstacle point clouds and combining multiple pre-built contour cost maps, the matching second and third arc trajectories are screened out, and the robot's speed is limited according to the speed limit values ​​of these trajectories to avoid collisions.

Benefits of technology

It improves the efficiency and accuracy of the robot's speed limit, reduces the amount of calculation, meets the needs of a low-cost computing platform, and is suitable for complex environments and various motion states.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115686019B_ABST
    Figure CN115686019B_ABST
Patent Text Reader

Abstract

The present invention provides a robot speed limiting method, device, and electronic device. During robot travel, sensors on the robot detect obstacle point clouds. When the obstacle point cloud is detected, first trajectory parameters of the robot's first arc trajectory are calculated based on the robot's current velocity data. Second and third arc trajectories that match the first trajectory parameters of the first arc trajectory are selected from multiple pre-constructed contour costmaps. The different contour costmaps include pre-collected different arc trajectories, each with a different arc radius, with the first arc trajectory having an arc radius between the second and third arc trajectories. The robot's speed is limited based on the speed limit values ​​corresponding to the obstacle point clouds for the second and third arc trajectories, respectively. The present invention can improve the efficiency and accuracy of robot speed limiting and reduce the computational complexity of robot speed limiting.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of robots, and in particular to a speed limiting method, device and electronic equipment for a robot. Background Art

[0002] With the rapid development of automation technology and artificial intelligence, intelligent mobile robots have been applied in various scenarios. The cleaning and catering industries, as labor-intensive industries with high repetitive workloads, are undergoing a period of transformation due to labor shortages and rising labor costs. Intelligent floor scrubbers and intelligent food delivery robots, using unmanned driving technology, can complete simple and repetitive cleaning and delivery tasks, significantly reducing labor costs and automating cleaning and delivery tasks.

[0003] During routine cleaning and food delivery operations, intelligent mobile robots often encounter obstacles outside their sensor field of view or pedestrians suddenly entering their path due to the complexity of the environment and the intensive human interaction. To prioritize the safety of people and property, robots must decelerate or brake to avoid collisions with obstacles or pedestrians.

[0004] Traditional robot speed limiting mainly includes the following two methods:

[0005] (1) A rectangular sensor detection area is set in front of the robot. When the obstacle point cloud detected by the sensor enters the sensor detection area, the speed of the robot is limited according to the shortest distance between the obstacle point cloud and the robot. However, this method does not take into account the current operating state of the robot. If the robot is walking in an arc, obstacles outside the arc range will not actually collide with the robot, but once they fall into the sensor detection area, the speed limit will be triggered. Moreover, when the robot is moving backward or spinning in place, the speed limit cannot be triggered because there is no sensor detection area set on the side or back of the robot.

[0006] (2) Based on the current movement speed of the robot, the movement trajectory of the robot within a period of time is predicted, and collision detection is performed on the position of the robot at each moment. The position of the robot at the earliest moment of collision with the obstacle (i.e., the unsafe position) is found, and the speed limit is calculated based on this unsafe position. Since this method is based on the accurate estimation of the movement trajectory of the robot to limit the speed, this method requires the prediction of the movement trajectory of the robot and collision detection in each cycle. The amount of calculation is relatively large and is not suitable for low-cost computing platforms. If the robot movement speed sampling method is adopted, the speed is filtered according to a certain resolution to generate the trajectory. In order to improve the sampling accuracy, the number of samples will inevitably increase, and the generated trajectory data will be large. The resulting memory usage is also an issue that needs to be optimized. Summary of the Invention

[0007] In view of this, an object of the present invention is to provide a robot speed limiting method, device and electronic equipment to improve the efficiency and accuracy of the robot speed limiting and reduce the calculation amount of the robot speed limiting.

[0008] In a first aspect, an embodiment of the present invention provides a speed limiting method for a robot, the method comprising: detecting an obstacle point cloud by means of a sensor on the robot during the robot's driving process; when the obstacle point cloud is detected, calculating the first trajectory parameters of the first arc trajectory of the robot at the current moment according to the speed data of the robot at the current moment; screening a second arc trajectory and a third arc trajectory that match the first trajectory parameters of the first arc trajectory from a plurality of pre-constructed contour cost maps; wherein different contour cost maps include different pre-collected arc trajectories, each arc trajectory having a different arc radius, and the arc radius of the first arc trajectory being between the arc radii of the second arc trajectory and the third arc trajectory; and limiting the speed of the robot according to the speed limit values ​​of the second arc trajectory and the third arc trajectory corresponding to the obstacle point cloud, respectively.

[0009] In a second aspect, an embodiment of the present invention further provides a speed limiting device for a robot, the device comprising: a detection module for detecting an obstacle point cloud through sensors on the robot during the robot's driving process; a calculation module for calculating the first trajectory parameters of the first arc trajectory of the robot at the current moment according to the speed data of the robot at the current moment when the obstacle point cloud is detected; a screening module for screening a second arc trajectory and a third arc trajectory that match the first trajectory parameters of the first arc trajectory from a plurality of pre-constructed contour cost maps; wherein different contour cost maps include different pre-collected arc trajectories, each arc trajectory has a different arc radius, and the arc radius of the first arc trajectory is between the arc radii of the second arc trajectory and the third arc trajectory; a speed limiting module for limiting the speed of the robot according to the speed limit values ​​of the second arc trajectory and the third arc trajectory corresponding to the obstacle point cloud respectively.

[0010] In a third aspect, an embodiment of the present invention further provides an electronic device, comprising a processor and a memory, wherein the memory stores computer-executable instructions that can be executed by the processor, and the processor executes the computer-executable instructions to implement the above-mentioned robot speed limiting method.

[0011] Embodiments of the present invention provide a robot speed limit method, device, and electronic device. During robot motion, sensors on the robot detect obstacle point clouds. Upon detecting the obstacle point cloud, the robot calculates first trajectory parameters for a first arc trajectory based on the robot's current velocity data. Second and third arc trajectories that match the first trajectory parameters of the first arc trajectory are selected from multiple pre-constructed contour costmaps. The different contour costmaps include pre-collected different arc trajectories, each with a different arc radius, with the first arc trajectory having an arc radius between the arc radii of the second and third arc trajectories. The robot's speed is then limited based on the speed limit values ​​corresponding to the obstacle point clouds for the second and third arc trajectories, respectively. This technology utilizes pre-generated contour costmaps for speed limit detection, ensuring both efficiency and accuracy of robot speed limit execution while eliminating the need for collision detection. Furthermore, the computational complexity of the robot speed limit is minimal, meeting the speed limit requirements of various low-cost service robots.

[0012] Other features and advantages of the present invention will be described in the following description, and in part will become apparent from the description, or understood by practicing the present invention. The purposes and other advantages of the present invention are realized and obtained by the structures particularly pointed out in the description, claims and drawings.

[0013] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, preferred embodiments are given below and described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] In order to more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the specific embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0015] Figure 1 1 is a flow chart of a method for limiting the speed of a robot according to an embodiment of the present invention;

[0016] Figure 2 This is an example diagram of nine speed directions in an embodiment of the present invention;

[0017] Figure 3 is an example diagram of the second trajectory parameters in an embodiment of the present invention;

[0018] Figure 4 This is an example diagram of a process for generating multiple arc trajectories in an embodiment of the present invention;

[0019] Figure 5 This is an example diagram of the second contour cost map in an embodiment of the present invention;

[0020] Figure 6 This is an example flow chart of calculating the speed limit in an embodiment of the present invention;

[0021] Figure 7 Schematic diagram of the structure of a speed limiting device for a robot according to an embodiment of the present invention;

[0022] Figure 8 Schematic diagram of the structure of an electronic device in an embodiment of the present invention. DETAILED DESCRIPTION

[0023] To make the objectives, technical solutions, and advantages of the embodiments of the present invention more clear, the technical solutions of the present invention will be clearly and completely described below in conjunction with the embodiments. Obviously, the embodiments described are only part of the embodiments of the present invention, not all of them. All other embodiments obtained by ordinary technicians in this field based on the embodiments of the present invention without making any creative efforts shall fall within the scope of protection of the present invention.

[0024] Currently, traditional robot speed limits mainly include the following two methods:

[0025] (1) A rectangular sensor detection area is set in front of the robot. When the obstacle point cloud detected by the sensor enters the sensor detection area, the speed of the robot is limited according to the shortest distance between the obstacle point cloud and the robot. However, this method does not take into account the current operating state of the robot. If the robot is walking in an arc, obstacles outside the arc range will not actually collide with the robot, but once they fall into the sensor detection area, the speed limit will be triggered. Moreover, when the robot is moving backward or spinning in place, the speed limit cannot be triggered because there is no sensor detection area set on the side or back of the robot.

[0026] (2) Based on the current movement speed of the robot, the movement trajectory of the robot within a period of time is predicted, and collision detection is performed on the position of the robot at each moment. The position of the robot at the earliest moment of collision with the obstacle (i.e., the unsafe position) is found, and the speed limit is calculated based on this unsafe position. Since this method is based on the accurate estimation of the movement trajectory of the robot to limit the speed, this method requires the prediction of the movement trajectory of the robot and collision detection in each cycle. The amount of calculation is relatively large and is not suitable for low-cost computing platforms. If the robot movement speed sampling method is adopted, the speed is filtered according to a certain resolution to generate the trajectory. In order to improve the sampling accuracy, the number of samples will inevitably increase, and the generated trajectory data will be large. The resulting memory usage is also an issue that needs to be optimized.

[0027] Based on the above-mentioned problems existing in the related art, the embodiments of the present invention provide a robot speed limiting method, device and electronic equipment, which can improve the efficiency and accuracy of the robot speed limiting and reduce the calculation amount of the robot speed limiting.

[0028] To facilitate understanding of this embodiment, a speed limiting method for a robot disclosed in an embodiment of the present invention is first described in detail. Figure 1 The flowchart of a method for limiting the speed of a robot is shown, and the method may include the following steps:

[0029] Step S102: During the driving process of the robot, the obstacle point cloud is detected by sensors on the robot.

[0030] Step S104 : When an obstacle point cloud is detected, first trajectory parameters of a first arc trajectory of the robot at the current moment are calculated according to the velocity data of the robot at the current moment.

[0031] The above-mentioned speed data may include linear speed and angular speed. For a certain robot, during the driving process of the robot, the obstacle point cloud can be detected by the sensor on the robot. When the obstacle point cloud is detected, the robot will plan the path for a period of time in the future based on its own linear speed data and angular speed data at the current moment to avoid hitting the obstacle, thereby predicting a circular driving trajectory of the robot at the current moment (i.e., the first circular arc trajectory), and then calculating the speed direction and arc radius of the driving trajectory. Since the driving of the robot is often driven by a differential chassis, for common differential chassis (such as two-wheel differential chassis, three-wheel omni-directional chassis, four-wheel omni-directional chassis, four-wheel sliding chassis, etc.), there are mainly 9 speed directions, see Figure 2 As shown in the figure, the nine speed directions are FORWARD (forward), FORWARD_LEFT (front left), FORWARD_RIGHT (front right), TURN_LEFT (turn left), TURN_RIGHT (turn right), BACKWARD (backward), BACKWARD_LEFT (back left), BACKWARD_RIGHT (back right) and STOP.

[0032] Step S106, selecting a second arc trajectory and a third arc trajectory that match the first trajectory parameters matching the first arc trajectory from a plurality of pre-constructed contour cost maps; wherein different contour cost maps include different arc trajectories collected in advance, each arc trajectory has a different arc radius, and the arc radius of the first arc trajectory is between the arc radii of the second arc trajectory and the third arc trajectory.

[0033] For a certain robot, the contour cost map can be used to represent the projection area occupied by the robot's true contour on the ground after the robot travels along an arc trajectory in a preset driving space.

[0034] Step S108 : Limiting the speed of the robot according to the speed limit values ​​of the second arc trajectory and the third arc trajectory corresponding to the obstacle point cloud.

[0035] For a certain robot, after predicting multiple arc trajectories based on the robot's speed data at multiple historical moments and constructing a corresponding contour costmap for each arc trajectory, when the robot detects a new obstacle point cloud during driving, the first arc trajectory at the current moment can be predicted based on the robot's current speed data and the first trajectory parameters (i.e., speed direction and arc radius) of the first arc trajectory can be calculated. Then, the second and third arc trajectories that match the first trajectory parameters of the first arc trajectory are selected from the multiple pre-constructed contour costmaps, and the speed limits corresponding to the new obstacle point cloud of the second and third arc trajectories are calculated respectively based on the closest distance between the real obstacle corresponding to the new obstacle point cloud and the robot (i.e., the maximum speed value that ensures that the robot will not collide with the real obstacle corresponding to the new obstacle point cloud while driving along the second and third arc trajectories, respectively). In this way, the speed of the robot is limited according to the speed limits corresponding to the new obstacle point cloud of the second and third arc trajectories, respectively.

[0036] An embodiment of the present invention provides a robot speed limiting method. During robot motion, sensors on the robot detect obstacle point clouds. When the obstacle point cloud is detected, first trajectory parameters of a first arc trajectory of the robot at that moment are calculated based on the robot's current velocity data. Second and third arc trajectories that match the first trajectory parameters of the first arc trajectory are selected from multiple pre-constructed contour costmaps. The different contour costmaps include pre-collected different arc trajectories, each with a different arc radius, with the arc radius of the first arc trajectory being between the arc radii of the second and third arc trajectories. The robot's speed is limited based on the speed limit values ​​corresponding to the obstacle point clouds for the second and third arc trajectories, respectively. By using the above-described technology, speed limit detection is performed by pre-generating contour costmaps, ensuring the efficiency and accuracy of robot speed limiting without requiring collision detection. Furthermore, the computational complexity of the robot speed limiting is minimal, meeting the speed limiting requirements of various low-cost service robots.

[0037] As a possible implementation, the speed data may include linear speed and angular speed; based on this, the step of calculating the first trajectory parameters of the first arc trajectory of the robot at the current moment according to the speed data of the robot at the current moment may include: calculating the first trajectory parameters of the first arc trajectory of the robot at the current moment according to the linear speed and angular speed of the robot at the current moment; wherein the first trajectory parameters include speed direction and arc radius; the step S106 (i.e., screening the second arc trajectory and the third arc trajectory that match the first trajectory parameters that match the first arc trajectory from the pre-constructed multiple contour cost maps) may include: screening out the candidate arc trajectory with the same speed direction as the first arc trajectory from the pre-constructed multiple contour cost maps, and screening out the second arc trajectory and the third arc trajectory with adjacent arc radii from the candidate arc trajectories, and the arc radius of the first arc trajectory is between the arc radii of the second arc trajectory and the third arc trajectory.

[0038] Because the arc radius of the first arc trajectory predicted based on the robot's actual speed data when detecting the obstacle point cloud is unlikely to exactly match the speed direction and arc radius of a specific arc trajectory in the pre-built multiple contour costmaps, for safety reasons, two arc trajectories with adjacent arc radii (i.e., the second arc trajectory and the third arc trajectory) can be selected from the pre-built multiple contour costmaps, with the arc radius of the first arc trajectory being between the arc radii of the selected two arc trajectories. As long as the minimum of the speed limit values ​​corresponding to the obstacle point cloud of these two arc trajectories is selected to limit the robot's speed, it can be guaranteed that the robot will not collide with the actual obstacle corresponding to the obstacle point cloud. This operation method can reduce the difficulty and computational complexity of matching the first arc trajectory to the second and third arc trajectories, thereby further improving the efficiency of the robot's speed limit while ensuring the accuracy of the robot's speed limit.

[0039] As a possible implementation, step S108 (i.e., limiting the robot's speed based on the speed limits corresponding to the obstacle point clouds for the second and third circular arc trajectories, respectively) may include: determining a second contour trajectory field for the second circular arc trajectory and a third contour trajectory field for the third circular arc trajectory based on the robot's virtual contour; wherein the second contour trajectory field is the area generated by the virtual contour sequentially traversing the second circular arc trajectory, and the third contour trajectory field is the area generated by the virtual contour sequentially traversing the third circular arc trajectory; determining a second speed limit based on a second intersection area between the obstacle area corresponding to the obstacle point cloud and the second contour trajectory field, and determining a third speed limit based on a third intersection area between the obstacle area corresponding to the obstacle point cloud and the third contour trajectory field; and limiting the robot's speed by applying the minimum of the second and third speed limits. This operation method can further improve the accuracy of the robot's speed limit.

[0040] As a possible implementation, the speed limiting method of the above-mentioned robot may further include: respectively collecting speed data of the robot at multiple different target moments within a preset time period, and generating a corresponding set of first trajectory parameters for the speed data corresponding to each target moment; wherein the target moment is the moment corresponding to when the robot detects an obstacle point cloud during driving; for each speed data, if there is no first trajectory parameter with the same arc radius under the speed direction corresponding to the speed data, then generating a corresponding arc trajectory for the speed data on a preset grid map; wherein different arc trajectories have different second trajectory parameters, and the second trajectory parameters include speed direction, arc radius, arc length and arc angle; for each generated arc trajectory, if the second trajectory parameter of the arc trajectory reaches a preset arc length threshold and / or a preset arc angle threshold, then saving the arc trajectory.

[0041] The above-mentioned preset grid map can be obtained by constructing the map while the robot is moving, by detecting the surrounding environment through sensors on the robot to locate the robot, or by constructing the map after the robot is moved, or by pre-constructing and uploading the map before the robot moves. There is no limitation on this.

[0042] For a certain robot, based on the robot's driving space, according to a certain strategy (such as using the DWA algorithm, etc.), the speed samples (i.e., speed data, including linear speed and angular speed) at multiple moments (i.e., target moments) when the robot detects the obstacle point cloud during driving can be collected within a period of time (i.e., a preset period); taking a robot with a two-wheel differential chassis as an example, the robot's driving is subject to three constraints, namely, the limitation of its own maximum speed and minimum speed, the influence of its own motor performance, and the influence of external obstacles. When these three constraints are met, the robot's speed space (i.e., speed search space) has a certain range and is dynamically changing. The extreme value interval of the linear speed [v min ,v max ] and the extreme value interval of angular velocity [w min ,w max ] respectively averages n linear velocity samples and m angular velocity samples to form n×m velocity samples, and then generates multiple driving trajectories (i.e., arc trajectories) of the robot within a preset time period based on the sampled velocity samples. Figure 3As shown in the figure, for a certain driving trajectory, the second trajectory parameter of the driving trajectory can include direction (speed direction), radius (arc radius), length (arc length), and alpha (arc angle). If a corresponding arc trajectory is generated for each of the n×m velocity samples, a large number of contour cost maps will need to be constructed, which may occupy a large amount of storage space. Considering that for two different velocity samples, if the arc trajectories generated from these two velocity samples have the same arc radius, then the two generated arc trajectories are essentially similar, differing only in arc length. Therefore, if there are multiple arc trajectories with the same arc radius in a certain velocity direction, the arc trajectory with the largest arc length among the multiple arc trajectories with the same arc radius in this velocity direction can be selected to represent the other arc trajectories with the same arc radius in this velocity direction. For the case of a robot walking in a straight line or spinning in place, even if the linear velocity or angular velocity varies, the generated arc trajectories are similar. Similarly, the arc trajectory with the longest arc length among the multiple arc trajectories generated in this situation can be selected to represent all the arc trajectories in this situation.

[0043] For example, see Figure 4 As shown, the operation method of predicting the arc trajectory in the speed limiting method of the above-mentioned robot may include: setting a maximum arc length (i.e., an arc length threshold) and a maximum arc angle (i.e., an arc angle threshold), for each speed sample, calculating the speed direction and arc radius R corresponding to the speed sample and determining whether there is already a same arc radius R in the speed direction corresponding to the speed sample, if not (i.e., there is no same arc radius R in the speed direction), generating a corresponding arc trajectory for the speed sample, if yes (i.e., there is already a same arc radius in the speed direction), not generating a corresponding arc trajectory for the speed sample; for each generated arc trajectory, determining whether the second trajectory parameters (i.e., speed direction, arc radius, arc length, and arc angle) of the arc trajectory reach the maximum arc length and / or the maximum arc angle, if yes (i.e., the trajectory parameters of the arc trajectory reach the maximum arc length and / or the maximum arc angle), saving the arc trajectory, if not (i.e., the trajectory parameters of the arc trajectory do not reach the maximum arc length and the trajectory parameters of the arc trajectory do not reach the maximum arc angle), not saving the arc trajectory.

[0044] The above-mentioned operation method of predicting arc trajectories can avoid repeated generation of similar arc trajectories, which is beneficial to reducing the number of contour cost maps that need to be constructed subsequently, thereby reducing the computational overhead of constructing contour cost maps and saving the storage space occupied by contour cost maps.

[0045] As a possible implementation method, the speed limiting method of the above-mentioned robot may also include: for each arc trajectory, traversing the arc trajectory with the robot's virtual contour to generate a contour trajectory field on the preset grid map where the arc trajectory is located, and assigning corresponding cost values ​​to the target areas corresponding to each posture in the contour trajectory field according to the time sequence of the robot's posture at each target moment corresponding to the arc trajectory, to obtain multiple cost areas corresponding to the arc trajectory; wherein different target areas are areas of the contour trajectory field occupied by the virtual contour under different postures; different cost areas corresponding to the same arc trajectory have different cost values; and according to all the cost areas corresponding to each arc trajectory, a corresponding contour cost map is constructed for each arc trajectory.

[0046] For example, see Figure 5 As shown, for the second arc trajectory 502 generated on the grid map 501 of the robot, the second arc trajectory 502 can be traversed by the virtual contour of the robot to generate a second contour trajectory field on the preset grid map 501, and the target area corresponding to each posture in the second contour trajectory field is assigned a corresponding cost value cost=0~n-1 according to the time sequence of the posture of the robot at each target moment corresponding to the second arc trajectory 502 (that is, the earlier the time, the smaller the cost value, and n is the total number of postures corresponding to the arc trajectory 502), and n cost areas 503 corresponding to the second arc trajectory 502 are obtained. Then, a second contour cost map can be constructed for the second arc trajectory 502 based on these n cost areas 503.

[0047] As a possible implementation, the step of determining the second speed limit based on the second intersection area between the obstacle area corresponding to the obstacle point cloud and the second contour trajectory field may include: determining the area where all cost areas in the second contour trajectory field intersect with the obstacle area as the second intersection area, and determining the second speed limit based on a preset driving time, a cost value of the cost area where the second intersection area is located, the number of cost areas in the second contour trajectory field, and the arc length of the second circular arc trajectory. The step of determining the third speed limit based on the third intersection area between the obstacle area corresponding to the obstacle point cloud and the third contour trajectory field may include: determining the area where all cost areas in the third contour trajectory field intersect with the obstacle area as the third intersection area, and determining the third speed limit based on the preset driving time, the cost value of the cost area where the third intersection area is located, the number of cost areas in the third contour trajectory field, and the arc length of the third circular arc trajectory.

[0048] For example, following the previous example, see Figure 5 As shown, the second speed limit value is defined as the linear speed V safeFor a certain obstacle point cloud, the obstacle point cloud can be projected onto the grid map 501 to obtain the obstacle area 504 corresponding to the obstacle point cloud. The shadow area 505 where all the cost areas 503 in the second contour trajectory field intersect with the obstacle area 504 can be determined as the second intersection area. The cost value of the cost area 503 where the second intersection area is located is 2. The number of cost areas 503 in the second contour trajectory field is n. The arc length of the second arc trajectory 502 is L. The preset driving time is set to T. safe , the second speed limit value can be calculated according to the following formula:

[0049] As a possible implementation, the step of constructing a corresponding contour costmap for each arc trajectory based on the total cost area corresponding to each arc trajectory may include: for each arc trajectory, generating a rectangular frame enclosing the contour trajectory field based on the area occupied by the contour trajectory field of the preset grid map where the arc trajectory resides, and cropping the area within the rectangular frame on the preset grid map where the arc trajectory resides to form the contour costmap corresponding to the arc trajectory. This operation method can further conserve storage space occupied by the contour costmap.

[0050] For ease of understanding, the speed limiting method of the robot is described as follows based on a specific application: the speed sample space is sampled with a certain sampling accuracy, and the speed is limited according to the speed limit. Figure 4 The operation method shown generates multiple arc trajectories, and then constructs a corresponding contour cost map for each arc trajectory. If it is the first time to construct the contour cost map, all the constructed contour cost maps are written to the robot's hard disk. The next time the robot is powered on, multiple contour cost maps are read and loaded from the robot's hard disk. When the robot's sensor detects an obstacle point cloud, the robot's speed limiter will calculate the speed limit for the robot based on the detected obstacle point cloud data and the robot's current driving speed (i.e., speed data, including linear speed and angular speed). See Figure 6 As shown, the specific calculation process may include the following steps: inputting an obstacle point cloud; calculating the speed direction and arc radius R according to the current driving speed of the robot; screening a second arc trajectory and a third arc trajectory that match the arc radius R from multiple contour cost maps; respectively calculating the second speed limit value of the second arc trajectory corresponding to the obstacle point cloud and the third speed limit value of the third arc trajectory corresponding to the obstacle point cloud, and selecting the minimum value of the second speed limit value and the third speed limit value as the speed limit for limiting the speed of the robot.

[0051] Based on the above robot speed limiting method, the embodiment of the present invention also provides a robot speed limiting device, see Figure 7 As shown, the device may include the following modules:

[0052] The detection module 702 may be configured to detect obstacle point clouds using sensors on the robot while the robot is traveling.

[0053] The calculation module 704 may be configured to calculate first trajectory parameters of a first arc trajectory of the robot at the current moment according to the velocity data of the robot at the current moment when an obstacle point cloud is detected.

[0054] The screening module 706 can be used to screen the second arc trajectory and the third arc trajectory that match the first trajectory parameters of the first arc trajectory from multiple pre-constructed contour cost maps; wherein, different contour cost maps include different pre-collected arc trajectories, each arc trajectory has a different arc radius, and the arc radius of the first arc trajectory is between the arc radii of the second arc trajectory and the third arc trajectory.

[0055] The speed limiting module 708 may be configured to limit the speed of the robot according to the speed limit values ​​of the second arc trajectory and the third arc trajectory corresponding to the obstacle point cloud.

[0056] An embodiment of the present invention provides a robot speed limiter. During robot travel, sensors on the robot detect obstacle point clouds. Upon detecting the obstacle point cloud, the robot calculates first trajectory parameters for a first arc trajectory based on the robot's current velocity data. Second and third arc trajectories that match the first trajectory parameters of the first arc trajectory are selected from multiple pre-constructed contour costmaps. The different contour costmaps include pre-collected different arc trajectories, each with a different arc radius, with the first arc trajectory having an arc radius between the arc radii of the second and third arc trajectories. The robot's speed is limited based on the speed limit values ​​corresponding to the obstacle point clouds for the second and third arc trajectories, respectively. This technology utilizes pre-generated contour costmaps for speed limit detection, ensuring both efficiency and accuracy of robot speed limit detection while eliminating the need for collision detection. Furthermore, the computational complexity of the robot speed limit is minimal, meeting the speed limit requirements of various low-cost service robots.

[0057] The velocity data may include linear velocity and angular velocity; based on this, the calculation module 704 may also be configured to: calculate first trajectory parameters of the first circular arc trajectory of the robot at the current moment based on the linear velocity and angular velocity of the robot at the current moment; wherein the first trajectory parameters include velocity direction and circular arc radius;

[0058] The screening module 706 can also be used to: screen out a candidate arc trajectory with the same speed direction as the first arc trajectory from a plurality of pre-constructed contour cost maps, and screen out a second arc trajectory and a third arc trajectory with adjacent arc radii from the candidate arc trajectories, and the arc radius of the first arc trajectory is between the arc radii of the second arc trajectory and the third arc trajectory.

[0059] The above-mentioned speed limit module 708 can also be used to: determine the second contour trajectory field of the second circular arc trajectory and the third contour trajectory field of the third circular arc trajectory based on the virtual contour of the robot; wherein, the second contour trajectory field is the area generated by the virtual contour traversing the second circular arc trajectory in sequence, and the third contour trajectory field is the area generated by the virtual contour traversing the third circular arc trajectory in sequence; determine the second speed limit value according to the second intersection area of ​​the obstacle area corresponding to the obstacle point cloud and the second contour trajectory field, and determine the third speed limit value according to the third intersection area of ​​the obstacle area corresponding to the obstacle point cloud and the third contour trajectory field; apply the minimum value of the second speed limit value and the third speed limit value to limit the speed of the robot.

[0060] See also Figure 7 As shown, the device may also include:

[0061] The prediction module 710 is used to respectively collect the speed data of the robot at multiple different target moments within a preset time period, and generate a corresponding set of first trajectory parameters for each speed data corresponding to the target moment; wherein the target moment is the moment corresponding to when the robot detects an obstacle point cloud during driving; for each speed data, if there is no first trajectory parameter with the same arc radius in the speed direction corresponding to the speed data, then a corresponding arc trajectory is generated for the speed data on a preset grid map; wherein different arc trajectories have different second trajectory parameters, and the second trajectory parameters include speed direction, arc radius, arc length and arc angle; for each generated arc trajectory, if the second trajectory parameter of the arc trajectory reaches a preset arc length threshold and / or a preset arc angle threshold, then the arc trajectory is saved.

[0062] A construction module 712 is used to traverse each of the arc trajectories with the robot's virtual contour to generate a contour trajectory field on the preset grid map where the arc trajectory is located, and assign corresponding cost values ​​to the target areas corresponding to each posture in the contour trajectory field according to the time sequence of the robot's posture at each target moment corresponding to the arc trajectory, so as to obtain multiple cost areas corresponding to the arc trajectory; wherein different target areas are areas of the contour trajectory field occupied by the virtual contour under different postures; different cost areas corresponding to the same arc trajectory have different cost values; and according to all the cost areas corresponding to each of the arc trajectories, a corresponding contour cost map is constructed for each of the arc trajectories.

[0063] The speed limit module 708 may also be configured to determine the area where all cost areas in the second contour trajectory field intersect with the obstacle area as the second intersection area, and determine the second speed limit value based on a preset driving duration, a cost value of the cost area where the second intersection area is located, the number of cost areas in the second contour trajectory field, and the second trajectory parameters of the second circular arc trajectory.

[0064] The speed limit module 708 may also be configured to determine an area where all cost areas in the third contour trajectory field intersect with the obstacle area as the third intersection area, and determine a third speed limit value based on a preset driving duration, a cost value of the cost area where the third intersection area is located, the number of cost areas in the third contour trajectory field, and the second trajectory parameter of the third circular arc trajectory.

[0065] The above-mentioned construction module 712 can also be used to: for each of the arc trajectory, generate a rectangular frame surrounding the contour trajectory field according to the area size of the preset grid map where the arc trajectory is located occupied by the contour trajectory field corresponding to the arc trajectory, and crop the area within the rectangular frame on the preset grid map where the arc trajectory is located into the contour cost map corresponding to the arc trajectory.

[0066] The implementation principle and technical effects of the robot speed limiting device provided in the embodiment of the present invention are the same as those of the aforementioned robot speed limiting method embodiment. For the sake of brief description, for matters not mentioned in the device embodiment, reference may be made to the corresponding contents in the aforementioned method embodiment.

[0067] The embodiment of the present invention further provides an electronic device, such as Figure 8 As shown, it is a structural diagram of the electronic device, wherein the electronic device includes a processor 81 and a memory 80, the memory 80 stores computer executable instructions that can be executed by the processor 81, and the processor 81 executes the computer executable instructions to implement the above-mentioned robot speed limiting method.

[0068] exist Figure 8 In the illustrated embodiment, the electronic device further includes a bus 82 and a communication interface 83 , wherein the processor 81 , the communication interface 83 and the memory 80 are connected via the bus 82 .

[0069] Among them, the memory 80 may include a high-speed random access memory (RAM), and may also include a non-volatile memory (non-volatile memory), such as at least one disk storage. The communication connection between the system network element and at least one other network element is realized through at least one communication interface 83 (which can be wired or wireless), and the Internet, wide area network, local area network, metropolitan area network, etc. can be used. The bus 82 can be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus, etc. The bus 82 can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 8 Only one bidirectional arrow is used in the diagram, but this does not mean that there is only one bus or one type of bus.

[0070] Processor 81 may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the robot speed limiting method described above may be performed by hardware integrated logic circuits or software instructions within processor 81. The processor 81 described above may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it may also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. A general-purpose processor may be a microprocessor or any conventional processor. The steps of the robot speed limiting method disclosed in the embodiments of the present invention may be directly implemented and executed by a hardware decoding processor, or by a combination of hardware and software modules within the decoding processor. The software module may be located in a storage medium well-known in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or the like. The storage medium is located in the memory, and the processor 81 reads the information in the memory and combines its hardware to complete the steps of the robot speed limiting method of the aforementioned embodiment.

[0071] Unless otherwise specifically stated, the relative steps, numerical expressions and values ​​of the components and steps set forth in these embodiments do not limit the scope of the present invention.

[0072] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a non-volatile computer-readable storage medium that is executable by a processor. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the robot speed limiting method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, and other media that can store program code.

[0073] In the description of the present invention, it should be noted that the terms "center," "upper," "lower," "left," "right," "vertical," "horizontal," "inner," and "outer," etc., indicating orientations or positional relationships, are based on the orientations or positional relationships shown in the accompanying drawings and are intended solely to facilitate and simplify the description of the present invention. They are not intended to indicate or imply that the devices or components referred to must have, be constructed, or operate in a specific orientation, and therefore should not be construed as limitations on the present invention. Furthermore, the terms "first," "second," and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance.

[0074] Finally, it should be noted that the above-described embodiments are only specific implementation methods of the present invention, which are used to illustrate the technical solutions of the present invention, rather than to limit them. The scope of protection of the present invention is not limited thereto. Although the present invention has been described in detail with reference to the above-described embodiments, those skilled in the art should understand that any person skilled in the art can modify or easily conceive of changes to the technical solutions described in the above-described embodiments within the technical scope disclosed by the present invention, or replace some of the technical features therein with equivalents. Such modifications, changes, or replacements do not deviate from the spirit and scope of the technical solutions of the embodiments of the present invention, and should be included in the scope of protection of the present invention. Therefore, the scope of protection of the present invention shall be subject to the scope of protection of the claims.

Claims

1. A speed limiting method for a robot, characterized in that: The method comprises: During the robot's driving process, the obstacle point cloud is detected by the sensor on the robot; When an obstacle point cloud is detected, calculating first trajectory parameters of a first arc trajectory of the robot at the current moment according to the velocity data of the robot at the current moment; Selecting a second arc trajectory and a third arc trajectory that match the first trajectory parameters of the first arc trajectory from a plurality of pre-constructed contour costmaps; wherein the different contour costmaps include different pre-collected arc trajectories, each arc trajectory has a different arc radius, and the arc radius of the first arc trajectory is between the arc radii of the second arc trajectory and the third arc trajectory; The minimum value of the speed limit values ​​of the obstacle point cloud corresponding to the second arc trajectory and the third arc trajectory is selected to limit the speed of the robot.

2. The method according to claim 1, characterized in that The velocity data includes linear velocity and angular velocity; The step of calculating the first trajectory parameter of the first circular arc trajectory of the robot at the current moment according to the velocity data of the robot at the current moment comprises: Calculating first trajectory parameters of a first circular arc trajectory of the robot at the current moment according to the linear velocity and angular velocity of the robot at the current moment; wherein the first trajectory parameters include a velocity direction and an arc radius; The step of selecting a second arc trajectory and a third arc trajectory that match the first trajectory parameters of the first arc trajectory from a plurality of pre-constructed contour cost maps includes: A candidate arc trajectory having the same speed direction as the first arc trajectory is selected from a plurality of pre-constructed contour cost maps, and a second arc trajectory and a third arc trajectory having adjacent arc radii are selected from the candidate arc trajectories, and the arc radius of the first arc trajectory is between the arc radii of the second arc trajectory and the third arc trajectory.

3. The method according to claim 1, characterized in that The step of selecting the minimum value of the speed limit values ​​of the obstacle point cloud corresponding to the second arc trajectory and the third arc trajectory to limit the speed of the robot includes: Determining a second contour trajectory field of the second circular arc trajectory and a third contour trajectory field of the third circular arc trajectory based on the virtual contour of the robot; wherein the second contour trajectory field is an area generated by the virtual contour sequentially traversing the second circular arc trajectory, and the third contour trajectory field is an area generated by the virtual contour sequentially traversing the third circular arc trajectory; determining a second speed limit value based on a second intersection area between the obstacle area corresponding to the obstacle point cloud and the second contour trajectory field, and determining a third speed limit value based on a third intersection area between the obstacle area corresponding to the obstacle point cloud and the third contour trajectory field; The minimum value between the second speed limit value and the third speed limit value is applied to limit the speed of the robot.

4. The method according to claim 3, characterized in that The method further comprises: collecting speed data of the robot at multiple target moments within a preset time period, and generating a corresponding set of first trajectory parameters for each speed data corresponding to the target moment; wherein the target moment is the moment corresponding to when the robot detects an obstacle point cloud during driving; For each speed data, if there is no first trajectory parameter with the same arc radius in the speed direction corresponding to the speed data, a corresponding arc trajectory is generated for the speed data on the preset grid map; wherein different arc trajectories have different second trajectory parameters, and the second trajectory parameters include speed direction, arc radius, arc length and arc angle; For each generated circular arc trajectory, if the second trajectory parameter of the circular arc trajectory reaches a preset arc length threshold and / or a preset arc angle threshold, the circular arc trajectory is saved.

5. The method according to claim 4, characterized in that The method further comprises: For each of the arc trajectories, the robot's virtual contour is used to traverse the arc trajectories to generate a contour trajectory field on a preset grid map where the arc trajectories are located, and a corresponding cost value is assigned to each target area corresponding to the robot's posture in the contour trajectory field according to the temporal sequence of the arc trajectories corresponding to each target moment, thereby obtaining a plurality of cost areas corresponding to the arc trajectories; wherein different target areas are areas of the contour trajectory field occupied by the virtual contour in different postures; and different cost areas corresponding to the same arc trajectories have different cost values; According to all the cost areas corresponding to each of the arc trajectories, a corresponding contour cost map is constructed for each of the arc trajectories.

6. The method according to claim 5, characterized in that The step of determining a second speed limit value according to a second intersection area of ​​the obstacle area corresponding to the obstacle point cloud and the second contour trajectory field includes: Determining an area where all cost areas in the second contour trajectory field intersect with the obstacle area as the second intersection area, and determining the second speed limit value based on a preset driving duration, a cost value of the cost area in which the second intersection area is located, the number of cost areas in the second contour trajectory field, and a second trajectory parameter of the second circular arc trajectory; The step of determining a third speed limit value according to a third intersection area between an obstacle area corresponding to the obstacle point cloud and the third contour trajectory field includes: An area where all cost areas in the third contour trajectory field intersect with the obstacle area is determined as the third intersection area, and a third speed limit value is determined based on a preset driving duration, a cost value of the cost area in which the third intersection area is located, the number of cost areas in the third contour trajectory field, and the second trajectory parameter of the third circular arc trajectory.

7. The method according to claim 5, characterized in that The steps of constructing a corresponding contour cost map for each arc trajectory according to all cost areas corresponding to each arc trajectory include: For each of the arc trajectory, a rectangular frame surrounding the contour trajectory field is generated according to the area size of the preset grid map where the arc trajectory is located occupied by the contour trajectory field corresponding to the arc trajectory, and the area within the rectangular frame on the preset grid map where the arc trajectory is located is cropped into the contour cost map corresponding to the arc trajectory.

8. A speed limiting device for a robot, characterized in that: The device comprises: A detection module, configured to detect obstacle point clouds using sensors on the robot during its travel; a calculation module, configured to calculate, when an obstacle point cloud is detected, first trajectory parameters of a first arc trajectory of the robot at the current moment according to the velocity data of the robot at the current moment; a screening module, configured to screen, from a plurality of pre-constructed contour costmaps, a second arc trajectory and a third arc trajectory that match the first trajectory parameters of the first arc trajectory; wherein the different contour costmaps include different pre-collected arc trajectories, each arc trajectory having a different arc radius, and the arc radius of the first arc trajectory being between the arc radii of the second arc trajectory and the third arc trajectory; The speed limiting module is used to select the minimum value of the speed limit values ​​of the second arc trajectory and the third arc trajectory corresponding to the obstacle point cloud to limit the speed of the robot.

9. The device according to claim 8, characterized in that The velocity data includes linear velocity and angular velocity; the calculation module is further used to: calculate the first trajectory parameter of the first arc trajectory of the robot at the current moment according to the linear velocity and angular velocity of the robot at the current moment; wherein the first trajectory parameter includes the velocity direction and the arc radius; The screening module is also used to: screen out a candidate arc trajectory with the same speed direction as the first arc trajectory from multiple pre-constructed contour cost maps, and screen out a second arc trajectory and a third arc trajectory with adjacent arc radii from the candidate arc trajectories, and the arc radius of the first arc trajectory is between the arc radii of the second arc trajectory and the third arc trajectory.

10. An electronic device, characterized in that: The method comprises a processor and a memory, wherein the memory stores computer-executable instructions that can be executed by the processor, and the processor executes the computer-executable instructions to implement the method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Robot obstacle avoidance method and device

    CN112230634A

  • Robot motion planning method and mobile robot

    WO2022124938A1