WO2024099113A1 - 机器人的限速方法、装置及电子设备 - Google Patents
机器人的限速方法、装置及电子设备 Download PDFInfo
- Publication number
- WO2024099113A1 WO2024099113A1 PCT/CN2023/127381 CN2023127381W WO2024099113A1 WO 2024099113 A1 WO2024099113 A1 WO 2024099113A1 CN 2023127381 W CN2023127381 W CN 2023127381W WO 2024099113 A1 WO2024099113 A1 WO 2024099113A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- arc
- trajectory
- robot
- speed
- contour
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000004364 calculation method Methods 0.000 claims abstract description 16
- 230000008569 process Effects 0.000 claims abstract description 13
- 238000012216 screening Methods 0.000 claims abstract description 7
- 238000001514 detection method Methods 0.000 claims description 21
- 230000036544 posture Effects 0.000 claims description 12
- 239000000523 sample Substances 0.000 description 8
- 238000004140 cleaning Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 101001121408 Homo sapiens L-amino-acid oxidase Proteins 0.000 description 2
- 101000827703 Homo sapiens Polyphosphoinositide phosphatase Proteins 0.000 description 2
- 102100026388 L-amino-acid oxidase Human genes 0.000 description 2
- 102100023591 Polyphosphoinositide phosphatase Human genes 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000009987 spinning Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 101100012902 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FIG2 gene Proteins 0.000 description 1
- 101100233916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR5 gene Proteins 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
Definitions
- the present disclosure relates to the technical field of robots, and in particular to a speed limiting method, device and electronic equipment for a robot.
- intelligent mobile robots With the rapid development of automation technology and artificial intelligence, intelligent mobile robots have been applied in various scenarios. As labor-intensive industries with high repetition, the cleaning industry and the catering industry are in a period of transformation with labor shortage and increased labor costs. Intelligent floor cleaning robots and intelligent food delivery robots can complete simple and repetitive cleaning and delivery tasks through unmanned driving technology, greatly reducing labor costs and realizing the automation of cleaning and food delivery work.
- a rectangular sensor detection area is set in front of the robot.
- the speed of the robot is limited according to the shortest distance between the obstacle point cloud and the robot.
- 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. In addition, 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.
- the robot's moving trajectory within a period of time is predicted, and collision detection is performed on the robot's position at each moment.
- the position of the robot at the earliest moment of collision with the obstacle i.e., the unsafe position
- the speed limit is calculated based on this unsafe position. Since this method is based on the accurate estimation of the robot's moving trajectory to limit the speed, this method requires predicting the robot's moving trajectory and performing collision detection in each cycle. The amount of calculation is relatively large and is not suitable for low-cost computing platforms.
- the robot moving 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 is large, and the resulting memory usage is also a problem that needs to be optimized.
- the purpose of the present disclosure is to provide a speed limiting method, device and electronic equipment for a robot, so as to improve the efficiency and accuracy of the speed limiting of the robot and reduce the calculation amount of the speed limiting of the robot.
- an embodiment of the present disclosure 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 driving of the robot; when the obstacle point cloud is detected, calculating a first trajectory parameter of a first arc trajectory of the robot at the current moment according to the speed data of the robot at the current moment; selecting a second arc trajectory and a third arc trajectory that match the first trajectory parameter 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.
- an embodiment of the present disclosure further provides a speed limiting device for a robot, the device comprising: a detection module, for detecting an obstacle point cloud through a sensor on the robot during the robot's driving process; a calculation module, for calculating, when an obstacle point cloud is detected, a first trajectory parameter of a first arc trajectory of the robot at the current moment according to the speed data of the robot at the current moment; a screening module, for screening a second arc trajectory and a third arc trajectory that match the first trajectory parameter 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; 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
- an embodiment of the present disclosure 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.
- the disclosed embodiment provides a speed limiting method, device and electronic device for a robot.
- an obstacle point cloud is detected by a sensor on the robot.
- the first trajectory parameter of the first arc trajectory of the robot at the current moment is calculated according to the speed data of the robot at the current moment.
- the second arc trajectory and the third arc trajectory that match the first trajectory parameter of the first arc trajectory are selected from a plurality of pre-constructed contour cost maps.
- the 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.
- the robot is speed limited according to the speed limit values corresponding to the obstacle point cloud of the second arc trajectory and the third arc trajectory.
- the speed limit detection is performed by generating the contour cost map in advance, which can ensure the efficiency and accuracy of the robot speed limit, and does not need to perform collision detection.
- the calculation amount of the robot speed limit is small, which meets the speed limit requirements of various low-cost service robots.
- FIG1 is a schematic flow chart of a speed limiting method for a robot in an embodiment of the present disclosure
- FIG2 is an example diagram of nine speed directions in an embodiment of the present disclosure.
- FIG3 is an example diagram of second trajectory parameters in an embodiment of the present disclosure.
- FIG4 is a flowchart illustrating a method for generating multiple arc trajectories according to an embodiment of the present disclosure
- FIG5 is an example diagram of a second contour cost map in an embodiment of the present disclosure.
- FIG6 is a flowchart illustrating an example of calculating a speed limit in an embodiment of the present disclosure
- FIG7 is a schematic structural diagram of a speed limiting device of a robot in an embodiment of the present disclosure.
- FIG. 8 is a schematic diagram of the structure of an electronic device in an embodiment of the present disclosure.
- a rectangular sensor detection area is set in front of the robot.
- the speed of the robot is limited according to the shortest distance between the obstacle point cloud and the robot.
- 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. In addition, 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.
- the robot's moving trajectory within a period of time is predicted, and collision detection is performed on the robot's position at each moment to find the position of the robot at the earliest moment of collision with the obstacle (i.e., the position of the robot at the earliest moment of collision with the obstacle).
- the robot is located at the safe position, and the speed limit is calculated based on this unsafe position. Since this method is based on accurately estimating the robot's moving trajectory to limit the speed, it requires predicting the robot's moving trajectory and performing collision detection in each cycle. The amount of calculation is relatively large and it is not suitable for low-cost computing platforms. If the robot moving 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, and the resulting memory usage is also a problem that needs to be optimized.
- a robot speed limiting method, device and electronic equipment provided in the embodiments of the present disclosure can improve the efficiency and accuracy of the robot speed limiting and reduce the calculation amount of the robot speed limiting.
- a speed limiting method for a robot disclosed in an embodiment of the present disclosure is first described in detail. Referring to a flow chart of a speed limiting method for a robot shown in FIG1 , the method may include the following steps:
- Step S102 During the driving process of the robot, the obstacle point cloud is detected by sensors on the robot.
- Step S104 when an obstacle point cloud is detected, the first trajectory parameter of the first arc trajectory of the robot at the current moment is calculated according to the velocity data of the robot at the current moment.
- the above speed data may include linear speed and angular speed.
- the obstacle point cloud can be detected by the sensor on the robot.
- 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 arc-shaped 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.
- Step S106 selecting a second arc trajectory and a third arc trajectory that match the first trajectory parameters that match 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.
- the contour cost map can be used to represent the projection area occupied by the real contour of the robot on the ground after the robot travels along an arc trajectory in a preset driving space.
- Step S108 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 respectively.
- multiple speed data at multiple historical moments are predicted in advance. After the robot detects a new obstacle point cloud during driving, it can predict the first arc trajectory at the current moment according to the speed data of the robot at the current moment and calculate the first trajectory parameters of the first arc trajectory (i.e., speed direction and arc radius).
- the second arc trajectory and the third arc trajectory that match the first trajectory parameters of the first arc trajectory are selected from the pre-constructed multiple contour cost maps, and the speed limit values of the second arc trajectory and the third arc trajectory corresponding to the new obstacle point cloud are calculated according to the shortest 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 arc trajectory and the third arc trajectory, respectively), so as 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 new obstacle point cloud.
- the disclosed embodiment provides a speed limiting method for a robot.
- an obstacle point cloud is detected by a sensor on the robot.
- the first trajectory parameter of the first arc trajectory of the robot at the current moment is calculated according to the speed data of the robot at the current moment.
- the second arc trajectory and the third arc trajectory that match the first trajectory parameter of the first arc trajectory are selected from a plurality of pre-constructed contour cost maps.
- the 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.
- the robot is speed limited according to the speed limit values corresponding to the obstacle point cloud of the second arc trajectory and the third arc trajectory.
- the speed limit detection is performed by generating the contour cost map in advance, which can ensure the efficiency and accuracy of the robot speed limit, and does not need to perform collision detection.
- the calculation amount of the robot speed limit is small, which meets the speed limit requirements of various low-cost service robots.
- 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., selecting 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: selecting the candidate arc trajectory with the same speed direction as the first arc trajectory from the pre-constructed multiple contour cost maps, selecting 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.
- two arc trajectories with adjacent arc radii i.e., the second arc trajectory and the third arc trajectory
- the arc radius of the first arc trajectory is between the arc radii of the two selected arc trajectories.
- the minimum value in can limit the speed of the robot to ensure that the robot will not collide with the real obstacle corresponding to the obstacle point cloud.
- This operation method can reduce the difficulty and calculation complexity of matching the first arc trajectory to the second arc trajectory and the third arc trajectory, thereby further improving the efficiency of the robot speed limit while ensuring the accuracy of the robot speed limit.
- the above step S108 may include: determining the second contour trajectory field of the second arc trajectory and the third contour trajectory field of the third 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 arc trajectory in sequence, and the third contour trajectory field is the area generated by the virtual contour traversing the third arc trajectory in sequence; determining 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 determining 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; and limiting the speed of the robot by applying the minimum value of the second speed limit value and the third speed limit value. Adopting this operation mode can further improve the accuracy of the robot speed limit.
- 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 the arc trajectory is saved.
- the above-mentioned preset grid map can be obtained by constructing a map while the robot is moving, by detecting the surrounding environment through sensors on the robot to locate the robot, or by constructing a map after the robot is moving, or by pre-constructing and uploading the map before the robot moves. There is no limitation on this.
- speed samples i.e., speed data, including linear speed and angular speed
- a certain strategy such as using the DWA algorithm, etc.
- the robot's speed space i.e., speed search space
- the robot's speed space has a certain range and is dynamically changing.
- the extreme interval of linear speed [v min , v max ] and the extreme interval of angular speed [w min , w max ] can be sampled by averaging n linear speed samples and m angular speed samples, respectively, to form n ⁇ m speed samples, and then multiple driving trajectories (i.e., arc trajectories) of the robot within the preset period are generated based on the sampled speed samples.
- the driving trajectory of the driving trajectory may include direction (speed direction), radius (arc radius), length (arc length) and alpha (arc angle).
- a corresponding arc trajectory is generated for each of the n ⁇ m velocity samples above, a large number of contour cost maps need to be constructed later, which may occupy a large amount of storage space.
- the two generated arc trajectories are essentially similar, with only a difference 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 can be selected from the multiple arc trajectories with the same arc radius in the velocity direction to represent other arc trajectories with the same arc radius in the velocity direction.
- the generated arc trajectories are similar.
- the arc trajectory with the longest arc length can be selected from the multiple arc trajectories generated in this case to represent all arc trajectories in this case.
- the operation mode of predicting the arc trajectory in the speed limiting method of the above-mentioned robot may include: setting the maximum arc length (i.e., the arc length threshold) and the maximum arc angle (i.e., the 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 the 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 the 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., the speed direction, the arc radius, the arc length, and the arc angle) of the arc trajectory reach the maximum arc length and/or the maximum arc angle, if yes
- the above-mentioned operation method of predicting arc trajectories can avoid repeated generation of similar arc trajectories, which is beneficial to reduce 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.
- 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 a 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, 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 arc trajectory, a corresponding contour cost map is constructed for each arc trajectory.
- the second arc trajectory 502 can be traversed by the virtual contour of the robot to generate the first arc trajectory 502 on the preset grid map 501.
- a second contour cost map can be constructed for the second arc trajectory 502 based on these n cost areas 503.
- the step of determining the second speed limit value 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 value based on the preset driving time, the 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 value 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 value 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.
- the second speed limit value is defined as the linear speed V safe .
- the obstacle point cloud can be projected onto the grid map 501 to obtain an 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 circular 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:
- the above-mentioned step of constructing a corresponding contour cost map for each arc track according to all the cost areas corresponding to each arc track may include: for each arc track, generating a rectangular frame surrounding the contour track field according to the area size of the preset grid map where the arc track is located occupied by the contour track field corresponding to the arc track, and clipping the area within the rectangular frame on the preset grid map where the arc track is located into the contour cost map corresponding to the arc track.
- This operation mode can further save the storage space occupied by the contour cost map.
- the speed limiting method of the above-mentioned robot is described as an example with a specific application as follows: the speed sample space is sampled with a certain sampling accuracy, and multiple arc trajectories are generated according to the operation method shown in Figure 4, and then a corresponding contour cost map is constructed for each arc trajectory. If it is the first time to construct the contour cost map, all constructed contour cost maps are written to the robot's hard disk, and multiple contour cost maps are read and loaded from the robot's hard disk the next time the robot is turned on.
- the robot's speed limiter 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 velocity), as shown in Figure 6.
- the specific calculation process may include the following steps.
- the embodiment of the present disclosure further provides a robot speed limiting device, as shown in FIG7 , the device may include the following modules:
- the detection module 702 may be used to detect obstacle point clouds through sensors on the robot during the robot's driving process.
- the calculation module 704 may be used to calculate the first trajectory parameter of the 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.
- 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.
- 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 respectively.
- the disclosed embodiment provides a speed limiting device for a robot.
- the obstacle point cloud is detected by a sensor on the robot.
- the first trajectory parameter of the first arc trajectory of the robot at the current moment is calculated according to the speed data of the robot at the current moment.
- the second arc trajectory and the third arc trajectory that match the first trajectory parameter of the first arc trajectory are selected from a plurality of pre-constructed contour cost maps.
- the 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.
- the speed of the robot is limited according to the speed limit values corresponding to the obstacle point cloud of the second arc trajectory and the third arc trajectory.
- the speed limit detection is performed by generating the contour cost map in advance, which can ensure the efficiency and accuracy of the robot speed limit, and does not need to perform collision detection.
- the calculation amount of the robot speed limit is small, which meets the speed limit requirements of various low-cost service robots.
- the above-mentioned speed data may include linear speed and angular speed; based on this, the above-mentioned calculation module 704 may also be used to: calculate the first trajectory parameter 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 parameter includes the speed direction and the arc radius;
- 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.
- the above-mentioned speed limit module 708 can also be used to: determine the second contour trajectory field of the second arc trajectory and the third contour trajectory field of the third 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 arc trajectory in sequence, and the third contour trajectory field is the area generated by the virtual contour traversing the third 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.
- the device may further include:
- 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 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 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.
- 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 a preset grid map where the arc trajectory is located, and to 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 in 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.
- the speed limit module 708 can also be used 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 according to the preset driving time, the 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 arc trajectory.
- the speed limit module 708 may also be used to determine the area where all cost areas in the third contour trajectory field intersect with the obstacle area as the third intersection area, and determine the third speed limit value according to a preset driving time, 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.
- the construction module 712 may also be used to: for each of the arc tracks, generate a rectangular frame surrounding the contour track field according to the size of the area of the preset grid map where the contour track field corresponding to the arc track occupies, And the area within the rectangular frame on the preset grid map where the circular arc track is located is clipped into a contour cost map corresponding to the circular arc track.
- the speed limiting device for a robot provided in the embodiment of the present disclosure has the same implementation principle and technical effects as those of the aforementioned speed limiting method embodiment for a robot.
- FIG8 is a schematic diagram of the structure 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.
- 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 .
- 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 may 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, only one bidirectional arrow is used in FIG8, but it does not mean that there is only one bus or one type of bus.
- the processor 81 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the speed limiting method of the robot can be completed by the hardware integrated logic circuit or software instructions in the processor 81.
- the processor 81 can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can 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 gates or transistor logic devices, discrete hardware components.
- the general-purpose processor can be a microprocessor or the processor can also be any conventional processor.
- the steps of the speed limiting method of the robot disclosed in the embodiment of the present disclosure can be directly embodied as a hardware decoding processor, or can be executed by a combination of hardware and software modules in the decoding processor.
- the software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, etc.
- the storage medium is located in the memory, and the processor 81 reads the information in the memory and completes the steps of the robot speed limiting method of the aforementioned embodiment in combination with its hardware.
- 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.
- the computer software product is stored in a storage medium, including several instructions to enable a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the speed limiting method of the robot described in each embodiment of the present disclosure.
- 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 codes.
- the present disclosure provides a speed limiting method, device and electronic device for a robot.
- an obstacle point cloud is detected by a sensor on the robot; when the obstacle point cloud is detected, the first trajectory parameter of the first arc trajectory of the robot at the current moment is calculated according to the speed data of the robot at the current moment; the second arc trajectory and the third arc trajectory that match the first trajectory parameter of the first arc trajectory are selected 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; the robot is speed limited according to the speed limit values of the second arc trajectory and the third arc trajectory corresponding to the obstacle point cloud.
- the present disclosure can improve the efficiency and accuracy of the robot speed limiting and reduce the calculation amount of the robot speed limiting.
- the speed limiter of the robot disclosed in the present invention is reproducible and can be used in a variety of industrial applications.
- the speed limiter of the robot disclosed in the present invention can be used in any application that requires a smart mobile robot to perform cleaning and food delivery operations.
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
一种机器人的限速方法、装置及电子设备,可以提高机器人限速的效率和准确性,降低机器人限速的计算量。该方法包括:在机器人行驶过程中,通过机器人上的传感器检测障碍物点云(S102);当检测到障碍物点云时,根据机器人当前时刻的速度数据,计算机器人当前时刻的第一圆弧轨迹的第一轨迹参数(S104);从预先构建的多个轮廓代价地图中筛选与第一圆弧轨迹的第一轨迹参数匹配的第二圆弧轨迹和第三圆弧轨迹(S106);其中,不同轮廓代价地图包括预先采集的不同圆弧轨迹,每个圆弧轨迹的圆弧半径不同,第一圆弧轨迹的圆弧半径介于第二圆弧轨迹和第三圆弧轨迹的圆弧半径之间;根据第二圆弧轨迹和第三圆弧轨迹分别对应于障碍物点云的限速值对机器人进行限速(S108)。
Description
相关申请的交叉引用
本公开要求于2022年11月10日提交于中国国家知识产权局的申请号为202211406959.6、名称为“机器人的限速方法、装置及电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本公开中。
本公开涉及机器人技术领域,尤其是涉及一种机器人的限速方法、装置及电子设备。
随着自动化技术和人工智能的迅速发展,智能移动机器人已经被应用在各种场景。清洁行业和餐饮行业作为重复度高的劳动密集型产业,正处在劳动力缺失和人力成本增加的行业转型期,而智能洗地机器人和智能送餐机器人通过无人驾驶技术可以完成简单重复的清洁任务和配送任务,大大降低人力成本,实现清洁工作和送餐工作的自动化。
智能移动机器人在日常的清洁和送餐作业中,由于环境的复杂性和人员交互的密集性,经常会遇到传感器视野范围外的障碍物或者行人突然进入机器人的移动轨迹附近。为了保证人身和财产安全为第一要务,机器人必须及时进行减速或者刹停以避免撞到障碍物或者行人。
传统的机器人限速主要包括以下两种方式:
(1)在机器人前方设定一个矩形的传感器检测区域,在传感器检测到的障碍物点云进入传感器检测区域时根据障碍物点云与机器人之间的最近距离对机器人进行限速,但是这种方式没有考虑机器人当前的运行状态,若机器人在走一个弧线,在弧线范围外的障碍物实际并不会与机器人相撞,但是一旦落入传感器检测区域也会触发限速;并且当机器人是进行后退或者原地自旋运动时,由于机器人的侧方或者后方未设定传感器检测区域而无法触发限速。
(2)基于机器人当前的移动速度预测机器人在一段时间内的移动轨迹,对机器人每个时刻所处的位置进行碰撞检测,寻找机器人最早与障碍物相撞的时刻所处的位置(即不安全的位置),并根据这个不安全的位置来计算限速速度。由于这种方式是基于准确预估机器人的移动轨迹进行限速的,因此这种方式需要每个周期都要预测机器人的移动轨迹和进行碰撞检测,计算量偏大,不适用于低成本的计算平台。若采用机器人移动速度采样的方式,按照一定分辨率筛选速度生成轨迹,为了提高采样精度必然会增大采样的个数,生成的轨迹数据较多,带来的内存占用也是个需要优化的问题。
发明内容
有鉴于此,本公开的目的在于提供一种机器人的限速方法、装置及电子设备,以提高机器人限速的效率和准确性,降低机器人限速的计算量。
第一方面,本公开实施例提供了一种机器人的限速方法,所述方法包括:在机器人行驶过程中,通过所述机器人上的传感器检测障碍物点云;当检测到障碍物点云时,根据所述机器人当前时刻的速度数据,计算所述机器人当前时刻的第一圆弧轨迹的第一轨迹参数;从预先构建的多个轮廓代价地图中筛选与所述第一圆弧轨迹的第一轨迹参数匹配的第二圆弧轨迹和第三圆弧轨迹;其中,不同轮廓代价地图包括预先采集的不同圆弧轨迹,每个圆弧轨迹的圆弧半径不同,所述第一圆弧轨迹的圆弧半径介于所述第二圆弧轨迹和所述第三圆弧轨迹的圆弧半径之间;根据所述第二圆弧轨迹和所述第三圆弧轨迹分别对应于所述障碍物点云的限速值对所述机器人进行限速。
第二方面,本公开实施例还提供一种机器人的限速装置,所述装置包括:检测模块,用于在机器人行驶过程中,通过所述机器人上的传感器检测障碍物点云;计算模块,用于当检测到障碍物点云时,根据所述机器人当前时刻的速度数据,计算所述机器人当前时刻的第一圆弧轨迹的第一轨迹参数;筛选模块,用于从预先构建的多个轮廓代价地图中筛选与所述第一圆弧轨迹的第一轨迹参数匹配的第二圆弧轨迹和第三圆弧轨迹;其中,不同轮廓代价地图包括预先采集的不同圆弧轨迹,每个圆弧轨迹的圆弧半径不同,所述第一圆弧轨迹的圆弧半径介于所述第二圆弧轨迹和所述第三圆弧轨迹的圆弧半径之间;限速模块,用于根据所述第二圆弧轨迹和所述第三圆弧轨迹分别对应于所述障碍物点云的限速值对所述机器人进行限速。
第三方面,本公开实施例还提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现上述机器人的限速方法。
本公开实施例提供的一种机器人的限速方法、装置及电子设备,在机器人行驶过程中,通过机器人上的传感器检测障碍物点云;当检测到障碍物点云时,根据机器人当前时刻的速度数据,计算机器人当前时刻的第一圆弧轨迹的第一轨迹参数;从预先构建的多个轮廓代价地图中筛选与第一圆弧轨迹的第一轨迹参数匹配的第二圆弧轨迹和第三圆弧轨迹;其中,不同轮廓代价地图包括预先采集的不同圆弧轨迹,每个圆弧轨迹的圆弧半径不同,第一圆弧轨迹的圆弧半径介于第二圆弧轨迹和第三圆弧轨迹的圆弧半径之间;根据第二圆弧轨迹和第三圆弧轨迹分别对应于障碍物点云的限速值对机器人进行限速。采用上述技术,通过提前生成轮廓代价地图来进行限速检测,既能保证机器人限速的效率和准确性,又无需进行碰撞检测,并且机器人限速的计算量较小,满足各种低成本的服务机器人的限速需求。
本公开的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例中一种机器人的限速方法的流程示意图;
图2为本公开实施例中9种速度方向的示例图;
图3为本公开实施例中第二轨迹参数的示例图;
图4为本公开实施例中生成多个圆弧轨迹的流程示例图;
图5为本公开实施例中第二轮廓代价地图的示例图;
图6为本公开实施例中计算限速速度的流程示例图;
图7为本公开实施例中一种机器人的限速装置的结构示意图;
图8为本公开实施例中一种电子设备的结构示意图。
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合实施例对本公开的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
目前,传统的机器人限速主要包括以下两种方式:
(1)在机器人前方设定一个矩形的传感器检测区域,在传感器检测到的障碍物点云进入传感器检测区域时根据障碍物点云与机器人之间的最近距离对机器人进行限速,但是这种方式没有考虑机器人当前的运行状态,若机器人在走一个弧线,在弧线范围外的障碍物实际并不会与机器人相撞,但是一旦落入传感器检测区域也会触发限速;并且当机器人是进行后退或者原地自旋运动时,由于机器人的侧方或者后方未设定传感器检测区域而无法触发限速。
(2)基于机器人当前的移动速度预测机器人在一段时间内的移动轨迹,对机器人每个时刻所处的位置进行碰撞检测,寻找机器人最早与障碍物相撞的时刻所处的位置(即不安
全的位置),并根据这个不安全的位置来计算限速速度。由于这种方式是基于准确预估机器人的移动轨迹进行限速的,因此这种方式需要每个周期都要预测机器人的移动轨迹和进行碰撞检测,计算量偏大,不适用于低成本的计算平台。若采用机器人移动速度采样的方式,按照一定分辨率筛选速度生成轨迹,为了提高采样精度必然会增大采样的个数,生成的轨迹数据较多,带来的内存占用也是个需要优化的问题。
基于相关技术中存在的上述问题,本公开实施例提供的一种机器人的限速方法、装置及电子设备,可以提高机器人限速的效率和准确性,降低机器人限速的计算量。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种机器人的限速方法进行详细介绍,参见图1所示的一种机器人的限速方法的流程示意图,该方法可以包括以下步骤:
步骤S102,在机器人行驶过程中,通过机器人上的传感器检测障碍物点云。
步骤S104,当检测到障碍物点云时,根据机器人当前时刻的速度数据,计算机器人当前时刻的第一圆弧轨迹的第一轨迹参数。
上述速度数据可以包括线速度和角速度。对于某个机器人来说,在该机器人行驶过程中,可通过该机器人上的传感器检测障碍物点云,当检测到障碍物点云时,该机器人会根据自身当前时刻的线速度数据和角速度数据进行未来一段时间的路径规划以避免撞到障碍物,从而预测得到该机器人当前时刻的一个圆弧形的行驶轨迹(即第一圆弧轨迹),之后计算该行驶轨迹的速度方向和圆弧半径。由于机器人的行驶往往是通过差速底盘进行驱动的,对于常见的差速底盘(如两轮差速底盘、三轮全向轮底盘、四轮全向轮底盘、四轮滑移底盘等)来说,主要包括9种速度方向,参见图2所示,这9种速度方向分别为FORWARD(正前)、FORWARD_LEFT(左前)、FORWARD_RIGHT(右前)、TURN_LEFT(左转)、TURN_RIGHT(右转)、BACKWARD(正后)、BACKWARD_LEFT(左后)、BACKWARD_RIGHT(右后)和STOP(停止)。
步骤S106,从预先构建的多个轮廓代价地图中筛选与第一圆弧轨迹匹配的第一轨迹参数匹配的第二圆弧轨迹和第三圆弧轨迹;其中,不同轮廓代价地图包括预先采集的不同圆弧轨迹,每个圆弧轨迹的圆弧半径不同,第一圆弧轨迹的圆弧半径介于第二圆弧轨迹和第三圆弧轨迹的圆弧半径之间。
对于某个机器人来说,轮廓代价地图可用于表征该机器人在预设行驶空间内沿圆弧轨迹行驶后该机器人的真实轮廓在地面上占据的投影区域。
步骤S108,根据第二圆弧轨迹和第三圆弧轨迹分别对应于障碍物点云的限速值对机器人进行限速。
对于某个机器人来说,在预先根据该机器人在多个历史时刻的速度数据预测得到多个
圆弧轨迹并为每个圆弧轨迹构建相应的轮廓代价地图后,当该机器人在行驶过程中检测到新的障碍物点云时,可根据该机器人当前时刻的速度数据预测得到当前时刻的第一圆弧轨迹并计算该第一圆弧轨迹的第一轨迹参数(即速度方向和圆弧半径),之后从预先构建的多个轮廓代价地图中筛选与该第一圆弧轨迹的第一轨迹参数匹配的第二圆弧轨迹和第三圆弧轨迹,并根据新的障碍物点云对应的真实障碍物与该机器人之间的最近距离分别计算第二圆弧轨迹和第三圆弧轨迹对应于新的障碍物点云的限速值(即保证该机器人在分别沿第二圆弧轨迹和第三圆弧轨迹行驶的过程中不会与新的障碍物点云对应的真实障碍物发生碰撞的最大速度值),从而根据第二圆弧轨迹和第三圆弧轨迹分别对应于新的障碍物点云的限速值对该机器人进行限速。
本公开实施例提供的一种机器人的限速方法,在机器人行驶过程中,通过机器人上的传感器检测障碍物点云;当检测到障碍物点云时,根据机器人当前时刻的速度数据,计算机器人当前时刻的第一圆弧轨迹的第一轨迹参数;从预先构建的多个轮廓代价地图中筛选与第一圆弧轨迹的第一轨迹参数匹配的第二圆弧轨迹和第三圆弧轨迹;其中,不同轮廓代价地图包括预先采集的不同圆弧轨迹,每个圆弧轨迹的圆弧半径不同,第一圆弧轨迹的圆弧半径介于第二圆弧轨迹和第三圆弧轨迹的圆弧半径之间;根据第二圆弧轨迹和第三圆弧轨迹分别对应于障碍物点云的限速值对机器人进行限速。采用上述技术,通过提前生成轮廓代价地图来进行限速检测,既能保证机器人限速的效率和准确性,又无需进行碰撞检测,并且机器人限速的计算量较小,满足各种低成本的服务机器人的限速需求。
作为一种可能的实施方式,上述速度数据可以包括线速度和角速度;基于此,上述根据机器人当前时刻的速度数据,计算机器人当前时刻的第一圆弧轨迹的第一轨迹参数的步骤可以包括:根据机器人当前时刻的线速度和角速度,计算机器人当前时刻的第一圆弧轨迹的第一轨迹参数;其中,第一轨迹参数包括速度方向和圆弧半径;上述步骤S106(即从预先构建的多个轮廓代价地图中筛选与第一圆弧轨迹匹配的第一轨迹参数匹配的第二圆弧轨迹和第三圆弧轨迹)可以包括:从预先构建的多个轮廓代价地图中筛选出与第一圆弧轨迹的速度方向相同的待选圆弧轨迹,从待选圆弧轨迹中筛选出圆弧半径相邻的第二圆弧轨迹和第三圆弧轨迹,且第一圆弧轨迹的圆弧半径介于第二圆弧轨迹和所述第三圆弧轨迹的圆弧半径之间。
由于根据机器人在检测到障碍物点云时实际的速度数据预测得到的第一圆弧轨迹的圆弧半径难以刚好与预先构建的多个轮廓代价地图中某个圆弧轨迹的速度方向和圆弧半径均相同,从安全角度考虑,可分别从预先构建的多个轮廓代价地图中选取圆弧半径相邻的两个圆弧轨迹(即第二圆弧轨迹和第三圆弧轨迹)且第一圆弧轨迹的圆弧半径介于选取的这两个圆弧轨迹的圆弧半径之间,只要选取这两个圆弧轨迹分别对应于障碍物点云的限速值
中的最小值对机器人进行限速则能保证机器人不会与障碍物点云对应的真实障碍物发生碰撞。采用该操作方式可以降低第一圆弧轨迹匹配到第二圆弧轨迹和第三圆弧轨迹的难度和计算复杂度,从而在保证机器人限速准确性的基础上进一步提高了机器人限速的效率。
作为一种可能的实施方式,上述步骤S108(即根据第二圆弧轨迹和第三圆弧轨迹分别对应于障碍物点云的限速值对机器人进行限速)可以包括:基于机器人的虚拟轮廓确定第二圆弧轨迹的第二轮廓轨迹场和第三圆弧轨迹的第三轮廓轨迹场;其中,第二轮廓轨迹场为虚拟轮廓依次遍历第二圆弧轨迹生成的区域,第三轮廓轨迹场为虚拟轮廓依次遍历第三圆弧轨迹生成的区域;根据障碍物点云对应的障碍物区域与第二轮廓轨迹场的第二交集区域确定第二限速值,根据障碍物点云对应的障碍物区域与第三轮廓轨迹场的第三交集区域确定第三限速值;应用第二限速值和第三限速值中的最小值对机器人进行限速。采用该操作方式可以进一步提高机器人限速的准确性。
作为一种可能的实施方式,上述机器人的限速方法还可以包括:分别采集机器人在预设时段内多个不同目标时刻的速度数据,并为每个目标时刻对应的速度数据生成相应的一组第一轨迹参数;其中,目标时刻为机器人在行驶过程中检测到障碍物点云时所对应的时刻;对于每个速度数据,若该速度数据对应的速度方向下没有圆弧半径相同的第一轨迹参数,则在预设栅格地图上为该速度数据生成相应的圆弧轨迹;其中,不同圆弧轨迹具有不同的第二轨迹参数,第二轨迹参数包括速度方向、圆弧半径、圆弧弧长和圆弧弧角;对于生成的每个圆弧轨迹,若该圆弧轨迹的第二轨迹参数达到预设弧长阈值和/或预设弧角阈值,则保存该圆弧轨迹。
上述预设栅格地图具体可以在机器人行驶过程中通过机器人上的传感器检测周围环境以对机器人进行定位的同时进行构建地图得到的,还可以在机器人行驶过程中通过机器人上的传感器检测周围环境以对机器人进行定位后再进行地图构建得到的,还可以在机器人行驶前预先构建并上传得到的,对此不进行限定。
对于某个机器人来说,可基于机器人的行驶空间,按照一定策略(如采用DWA算法等)采集一段时间(即预设时段)内机器人在行驶过程中检测到障碍物点云的多个时刻(即目标时刻)的速度样本(即速度数据,包括线速度和角速度);以二轮差速底盘的机器人为例,机器人的行驶存在三个约束条件,分别为受自身最大速度和最小速度的限制、受自身电机性能的影响和受外部障碍物的影响,在满足这三个约束条件的情况下,机器人的速度空间(即速度搜索空间)具有一定的范围且是动态变化的,可在该速度空间下对线速度的极值区间[vmin,vmax]和角速度的极值区间[wmin,wmax]分别均值采样n个线速度样本和m个角速度样本,从而组成n×m个速度样本,之后根据采样得到的速度样本生成机器人在预设时段内的多个行驶轨迹(即圆弧轨迹)。参见图3所示,对于某个行驶轨迹来说,该行驶轨迹的
第二轨迹参数可以包括direction(速度方向)、radius(圆弧半径)、length(圆弧弧长)和alpha(圆弧弧角)。如果对于上述n×m个速度样本中的每个速度样本都生成相应的圆弧轨迹,则后续需要构建轮廓代价图的数目较多,可能会占用比较多的存储空间。考虑到对于两个不同速度样本,如果根据这两个速度样本各自生成的圆弧轨迹的圆弧半径是相同的,那么生成的两个圆弧轨迹本质是相似的,只有弧长的差异,因此如果某一速度方向下有圆弧半径相同的多个圆弧轨迹,则从该速度方向下圆弧半径相同的多个圆弧轨迹中选取弧长最大的圆弧轨迹就能代表该速度方向下圆弧半径相同的其他圆弧轨迹。对于机器人走直线或者原地自旋的情形,即使线速度或者角速度有差异,生成的圆弧轨迹也是相似的,同样可从该情形下生成的多个圆弧轨迹中选取弧长最长的圆弧轨迹代表该情形下的全部圆弧轨迹。
示例性地,参见图4所示,上述机器人的限速方法中预测圆弧轨迹的操作方式可以包括:设定最大弧长(即弧长阈值)和最大弧角(即弧角阈值),对于每个速度样本,计算得到该速度样本对应的速度方向和圆弧半径R并判断该速度样本对应的速度方向下是否已经有相同的圆弧半径R,若否(即该速度方向下没有相同的圆弧半径R),则为该速度样本生成相应的圆弧轨迹,若是(即该速度方向下已经有相同的圆弧半径),则不为该速度样本生成相应的圆弧轨迹;对于生成的每个圆弧轨迹,判断该圆弧轨迹的第二轨迹参数(即速度方向、圆弧半径、圆弧弧长和圆弧弧角)是否达到最大弧长和/或最大弧角,若是(即该圆弧轨迹的轨迹参数达到最大弧长和/或最大弧角),则保存该圆弧轨迹,若否(即该圆弧轨迹的轨迹参数未达到最大弧长且该圆弧轨迹的轨迹参数未达到最大弧角),则不保存该圆弧轨迹。
采用上述预测圆弧轨迹的操作方式,可以避免重复生成相似的圆弧轨迹,利于减少后续需要构建轮廓代价地图的数目,从而降低了构建轮廓代价地图的计算开销,节约了轮廓代价地图占用的存储空间。
作为一种可能的实施方式,上述机器人的限速方法还可以包括:对于每个圆弧轨迹,用机器人的虚拟轮廓遍历该圆弧轨迹以在该圆弧轨迹所在的预设栅格地图上生成一个轮廓轨迹场,并按照该圆弧轨迹对应每个目标时刻机器人的姿态的时间先后顺序为轮廓轨迹场中每个姿态对应的目标区域分配相应的代价值,得到该圆弧轨迹对应的多个代价区域;其中,不同目标区域为虚拟轮廓在不同姿态下占据轮廓轨迹场的区域;同一圆弧轨迹对应的不同代价区域的代价值不同;根据每个圆弧轨迹各自对应的全部代价区域,分别为每个圆弧轨迹构建相应的轮廓代价地图。
示例性地,参见图5所示,对于在机器人的栅格地图501上生成的第二圆弧轨迹502来说,可用机器人的虚拟轮廓遍历该第二圆弧轨迹502以在该预设栅格地图501上生成第
二轮廓轨迹场,并按照该第二圆弧轨迹502对应每个目标时刻机器人的姿态的时间先后顺序为该第二轮廓轨迹场中每个姿态对应的目标区域分配相应的代价值cost=0~n-1(即时间越早,cost的数值越小,n为该圆弧轨迹502对应姿态的总个数),得到该第二圆弧轨迹502对应的n个代价区域503,之后可根据这n个代价区域503为该第二圆弧轨迹502构建第二轮廓代价地图。
作为一种可能的实施方式,上述根据障碍物点云对应的障碍物区域与第二轮廓轨迹场的第二交集区域确定第二限速值的步骤可以包括:将第二轮廓轨迹场中的全部代价区域与障碍物区域相交的区域确定为第二交集区域,并根据预设行驶时长、第二交集区域所在代价区域的代价值、第二轮廓轨迹场中代价区域的数量、第二圆弧轨迹的弧长确定所述第二限速值。上述根据障碍物点云对应的障碍物区域与第三轮廓轨迹场的第三交集区域确定第三限速值的步骤可以包括:将第三轮廓轨迹场中的全部代价区域与障碍物区域相交的区域确定为第三交集区域,并根据预设行驶时长、第三交集区域所在代价区域的代价值、第三轮廓轨迹场中代价区域的数量、第三圆弧轨迹的弧长确定第三限速值。
示例性地,接续前例,参见图5所示,定义第二限速值为线速度Vsafe,对于某个障碍物点云来说,可将该障碍物点云投影到栅格地图501上从而得到该障碍物点云对应的障碍物区域504,可将第二轮廓轨迹场中的全部代价区域503与障碍物区域504相交的阴影区域505确定为第二交集区域,第二交集区域所在代价区域503的代价值为2,第二轮廓轨迹场中代价区域503的数量为n,第二圆弧轨迹502的弧长为L,设定预设行驶时长为Tsafe,可按照以下公式计算得到第二限速值:
作为一种可能的实施方式,上述根据每个圆弧轨迹各自对应的全部代价区域,分别为每个圆弧轨迹构建相应的轮廓代价地图的步骤可以包括:对于每个圆弧轨迹,根据该圆弧轨迹对应的轮廓轨迹场占据该圆弧轨迹所在的预设栅格地图的区域大小生成包围该轮廓轨迹场的矩形框,并将该圆弧轨迹所在的预设栅格地图上位于该矩形框内的区域裁剪成该圆弧轨迹对应的轮廓代价地图。采用该操作方式可以进一步节省轮廓代价地图占用的存储空间。
为了便于理解,在此以某一具体应用对上述机器人的限速方法进行示例性描述如下:以一定的采样精度对速度样本空间进行采样,按照图4所示的操作方式生成多个圆弧轨迹,之后为每个圆弧轨迹构建相应的轮廓代价地图。若是第一次构建轮廓代价地图,则把构建的所有轮廓代价地图写入机器人的硬盘,在下次机器人开机时从机器人的硬盘中读取并加载多个轮廓代价地图。当机器人的传感器检测到障碍物点云时,机器人的限速器会根据检测到的障碍物点云数据和机器人当前时刻的行驶速度(即速度数据,包括线速度和角速度)计算出用于对机器人进行限速的限速速度,参见图6所示,具体计算流程可以包括如下步
骤:输入障碍物点云;根据机器人当前时刻的行驶速度计算速度方向和圆弧半径R;从多个轮廓代价地图中筛选与圆弧半径R匹配的第二圆弧轨迹和第三圆弧轨迹;分别计算第二圆弧轨迹对应于障碍物点云的第二限速值和第三圆弧轨迹对应于障碍物点云的第三限速值,并选取第二限速值和第三限速值中的最小值作为用于对机器人进行限速的限速速度。
基于上述机器人的限速方法,本公开实施例还提供一种机器人的限速装置,参见图7所示,该装置可以包括以下模块:
检测模块702,可以用于在机器人行驶过程中,通过所述机器人上的传感器检测障碍物点云。
计算模块704,可以用于当检测到障碍物点云时,根据所述机器人当前时刻的速度数据,计算所述机器人当前时刻的第一圆弧轨迹的第一轨迹参数。
筛选模块706,可以用于从预先构建的多个轮廓代价地图中筛选与所述第一圆弧轨迹的第一轨迹参数匹配的第二圆弧轨迹和第三圆弧轨迹;其中,不同轮廓代价地图包括预先采集的不同圆弧轨迹,每个圆弧轨迹的圆弧半径不同,所述第一圆弧轨迹的圆弧半径介于所述第二圆弧轨迹和所述第三圆弧轨迹的圆弧半径之间。
限速模块708,可以用于根据所述第二圆弧轨迹和所述第三圆弧轨迹分别对应于所述障碍物点云的限速值对所述机器人进行限速。
本公开实施例提供的一种机器人的限速装置,在机器人行驶过程中,通过机器人上的传感器检测障碍物点云;当检测到障碍物点云时,根据机器人当前时刻的速度数据,计算机器人当前时刻的第一圆弧轨迹的第一轨迹参数;从预先构建的多个轮廓代价地图中筛选与第一圆弧轨迹的第一轨迹参数匹配的第二圆弧轨迹和第三圆弧轨迹;其中,不同轮廓代价地图包括预先采集的不同圆弧轨迹,每个圆弧轨迹的圆弧半径不同,第一圆弧轨迹的圆弧半径介于第二圆弧轨迹和第三圆弧轨迹的圆弧半径之间;根据第二圆弧轨迹和第三圆弧轨迹分别对应于障碍物点云的限速值对机器人进行限速。采用上述技术,通过提前生成轮廓代价地图来进行限速检测,既能保证机器人限速的效率和准确性,又无需进行碰撞检测,并且机器人限速的计算量较小,满足各种低成本的服务机器人的限速需求。
上述速度数据可以包括线速度和角速度;基于此,上述计算模块704还可以用于:根据所述机器人当前时刻的线速度和角速度,计算所述机器人当前时刻的第一圆弧轨迹的第一轨迹参数;其中,所述第一轨迹参数包括速度方向和圆弧半径;
所述筛选模块706还可以用于:从预先构建的多个轮廓代价地图中筛选出与所述第一圆弧轨迹的速度方向相同的待选圆弧轨迹,从所述待选圆弧轨迹中筛选出圆弧半径相邻的第二圆弧轨迹和第三圆弧轨迹,且所述第一圆弧轨迹的圆弧半径介于所述第二圆弧轨迹和所述第三圆弧轨迹的圆弧半径之间。
上述限速模块708还可以用于:基于所述机器人的虚拟轮廓确定所述第二圆弧轨迹的第二轮廓轨迹场和所述第三圆弧轨迹的第三轮廓轨迹场;其中,所述第二轮廓轨迹场为所述虚拟轮廓依次遍历所述第二圆弧轨迹生成的区域,所述第三轮廓轨迹场为所述虚拟轮廓依次遍历所述第三圆弧轨迹生成的区域;根据所述障碍物点云对应的障碍物区域与所述第二轮廓轨迹场的第二交集区域确定第二限速值,根据所述障碍物点云对应的障碍物区域与所述第三轮廓轨迹场的第三交集区域确定第三限速值;应用所述第二限速值和所述第三限速值中的最小值对所述机器人进行限速。
参见图7所示,该装置还可以包括:
预测模块710,用于分别采集所述机器人在预设时段内多个不同目标时刻的速度数据,并为每个所述目标时刻对应的速度数据生成相应的一组第一轨迹参数;其中,所述目标时刻为所述机器人在行驶过程中检测到障碍物点云时所对应的时刻;对于每个速度数据,若该速度数据对应的速度方向下没有圆弧半径相同的第一轨迹参数,则在预设栅格地图上为该速度数据生成相应的圆弧轨迹;其中,不同圆弧轨迹具有不同的第二轨迹参数,所述第二轨迹参数包括速度方向、圆弧半径、圆弧弧长和圆弧弧角;对于生成的每个圆弧轨迹,若该圆弧轨迹的第二轨迹参数达到预设弧长阈值和/或预设弧角阈值,则保存该圆弧轨迹。
构建模块712,用于对于每个所述圆弧轨迹,用所述机器人的虚拟轮廓遍历该圆弧轨迹以在该圆弧轨迹所在的预设栅格地图上生成一个轮廓轨迹场,并按照该圆弧轨迹对应每个目标时刻所述机器人的姿态的时间先后顺序为所述轮廓轨迹场中每个所述姿态对应的目标区域分配相应的代价值,得到该圆弧轨迹对应的多个代价区域;其中,不同目标区域为所述虚拟轮廓在不同姿态下占据所述轮廓轨迹场的区域;同一圆弧轨迹对应的不同代价区域的代价值不同;根据每个所述圆弧轨迹各自对应的全部代价区域,分别为每个所述圆弧轨迹构建相应的轮廓代价地图。
上述限速模块708还可以用于:将所述第二轮廓轨迹场中的全部代价区域与所述障碍物区域相交的区域确定为所述第二交集区域,并根据预设行驶时长、所述第二交集区域所在代价区域的代价值、所述第二轮廓轨迹场中代价区域的数量、所述第二圆弧轨迹的第二轨迹参数确定所述第二限速值。
上述限速模块708还可以用于:将所述第三轮廓轨迹场中的全部代价区域与所述障碍物区域相交的区域确定为所述第三交集区域,并根据预设行驶时长、所述第三交集区域所在代价区域的代价值、所述第三轮廓轨迹场中代价区域的数量、所述第三圆弧轨迹的第二轨迹参数确定所述第三限速值。
上述构建模块712还可以用于:对于每个所述圆弧轨迹,根据该圆弧轨迹对应的轮廓轨迹场占据该圆弧轨迹所在的预设栅格地图的区域大小生成包围该轮廓轨迹场的矩形框,
并将该圆弧轨迹所在的预设栅格地图上位于该矩形框内的区域裁剪成该圆弧轨迹对应的轮廓代价地图。
本公开实施例所提供的机器人的限速装置,其实现原理及产生的技术效果和前述机器人的限速方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本公开实施例还提供了一种电子设备,如图8所示,为该电子设备的结构示意图,其中,该电子设备包括处理器81和存储器80,该存储器80存储有能够被该处理器81执行的计算机可执行指令,该处理器81执行该计算机可执行指令以实现上述机器人的限速方法。
在图8示出的实施方式中,该电子设备还包括总线82和通信接口83,其中,处理器81、通信接口83和存储器80通过总线82连接。
其中,存储器80可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口83(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线82可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(Extended Industry Standard Architecture,扩展工业标准结构)总线等。所述总线82可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器81可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述机器人的限速方法的各步骤可以通过处理器81中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器81可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开实施例所公开的机器人的限速方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器81读取存储器中的信息,结合其硬件完成前述实施例的机器人的限速方法的步骤。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本公开的范围。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述机器人的限速方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本公开的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本公开和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本公开的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
本公开提供了一种机器人的限速方法、装置及电子设备,在机器人行驶过程中,通过机器人上的传感器检测障碍物点云;当检测到障碍物点云时,根据机器人当前时刻的速度数据,计算机器人当前时刻的第一圆弧轨迹的第一轨迹参数;从预先构建的多个轮廓代价地图中筛选与第一圆弧轨迹的第一轨迹参数匹配的第二圆弧轨迹和第三圆弧轨迹;其中,不同轮廓代价地图包括预先采集的不同圆弧轨迹,每个圆弧轨迹的圆弧半径不同,第一圆弧轨迹的圆弧半径介于第二圆弧轨迹和第三圆弧轨迹的圆弧半径之间;根据第二圆弧轨迹和第三圆弧轨迹分别对应于障碍物点云的限速值对机器人进行限速。采用本公开可以提高机器人限速的效率和准确性,降低机器人限速的计算量。
此外,可以理解的是,本公开的机器人的限速装置是可以重现的,并且可以用在多种工业应用中。例如,本公开的机器人的限速装置可以用于需要用智能移动机器人进行清洁和送餐作业的任何应用中。
Claims (10)
- 一种机器人的限速方法,其特征在于,所述方法包括:在机器人行驶过程中,通过所述机器人上的传感器检测障碍物点云;当检测到障碍物点云时,根据所述机器人当前时刻的速度数据,计算所述机器人当前时刻的第一圆弧轨迹的第一轨迹参数;从预先构建的多个轮廓代价地图中筛选与所述第一圆弧轨迹的第一轨迹参数匹配的第二圆弧轨迹和第三圆弧轨迹;其中,不同轮廓代价地图包括预先采集的不同圆弧轨迹,每个圆弧轨迹的圆弧半径不同,所述第一圆弧轨迹的圆弧半径介于所述第二圆弧轨迹和所述第三圆弧轨迹的圆弧半径之间;根据所述第二圆弧轨迹和所述第三圆弧轨迹分别对应于所述障碍物点云的限速值对所述机器人进行限速。
- 根据权利要求1所述的方法,其特征在于,所述速度数据包括线速度和角速度;根据所述机器人当前时刻的速度数据,计算所述机器人当前时刻的第一圆弧轨迹的第一轨迹参数的步骤包括:根据所述机器人当前时刻的线速度和角速度,计算所述机器人当前时刻的第一圆弧轨迹的第一轨迹参数;其中,所述第一轨迹参数包括速度方向和圆弧半径;从预先构建的多个轮廓代价地图中筛选与所述第一圆弧轨迹的第一轨迹参数匹配的第二圆弧轨迹和第三圆弧轨迹的步骤包括:从预先构建的多个轮廓代价地图中筛选出与所述第一圆弧轨迹的速度方向相同的待选圆弧轨迹,从所述待选圆弧轨迹中筛选出圆弧半径相邻的第二圆弧轨迹和第三圆弧轨迹,且所述第一圆弧轨迹的圆弧半径介于所述第二圆弧轨迹和所述第三圆弧轨迹的圆弧半径之间。
- 根据权利要求1所述的方法,其特征在于,根据所述第二圆弧轨迹和所述第三圆弧轨迹分别对应于所述障碍物点云的限速值对所述机器人进行限速的步骤包括:基于所述机器人的虚拟轮廓确定所述第二圆弧轨迹的第二轮廓轨迹场和所述第三圆弧轨迹的第三轮廓轨迹场;其中,所述第二轮廓轨迹场为所述虚拟轮廓依次遍历所述第二圆弧轨迹生成的区域,所述第三轮廓轨迹场为所述虚拟轮廓依次遍历所述第三圆弧轨迹生成的区域;根据所述障碍物点云对应的障碍物区域与所述第二轮廓轨迹场的第二交集区域确定第二限速值,根据所述障碍物点云对应的障碍物区域与所述第三轮廓轨迹场的第三交集区域确定第三限速值;应用所述第二限速值和所述第三限速值中的最小值对所述机器人进行限速。
- 根据权利要求3所述的方法,其特征在于,所述方法还包括:分别采集所述机器人在预设时段内多个不同目标时刻的速度数据,并为每个所述目标时刻对应的速度数据生成相应的一组第一轨迹参数;其中,所述目标时刻为所述机器人在行驶过程中检测到障碍物点云时所对应的时刻;对于每个速度数据,若该速度数据对应的速度方向下没有圆弧半径相同的第一轨迹参数,则在预设栅格地图上为该速度数据生成相应的圆弧轨迹;其中,不同圆弧轨迹具有不同的第二轨迹参数,所述第二轨迹参数包括速度方向、圆弧半径、圆弧弧长和圆弧弧角;对于生成的每个圆弧轨迹,若该圆弧轨迹的第二轨迹参数达到预设弧长阈值和/或预设弧角阈值,则保存该圆弧轨迹。
- 根据权利要求4所述的方法,其特征在于,所述方法还包括:对于每个所述圆弧轨迹,用所述机器人的虚拟轮廓遍历该圆弧轨迹以在该圆弧轨迹所在的预设栅格地图上生成一个轮廓轨迹场,并按照该圆弧轨迹对应每个目标时刻所述机器人的姿态的时间先后顺序为所述轮廓轨迹场中每个所述姿态对应的目标区域分配相应的代价值,得到该圆弧轨迹对应的多个代价区域;其中,不同目标区域为所述虚拟轮廓在不同姿态下占据所述轮廓轨迹场的区域;同一圆弧轨迹对应的不同代价区域的代价值不同;根据每个所述圆弧轨迹各自对应的全部代价区域,分别为每个所述圆弧轨迹构建相应的轮廓代价地图。
- 根据权利要求5所述的方法,其特征在于,根据所述障碍物点云对应的障碍物区域与所述第二轮廓轨迹场的第二交集区域确定第二限速值的步骤包括:将所述第二轮廓轨迹场中的全部代价区域与所述障碍物区域相交的区域确定为所述第二交集区域,并根据预设行驶时长、所述第二交集区域所在代价区域的代价值、所述第二轮廓轨迹场中代价区域的数量、所述第二圆弧轨迹的第二轨迹参数确定所述第二限速值;根据所述障碍物点云对应的障碍物区域与所述第三轮廓轨迹场的第三交集区域确定第三限速值的步骤包括:将所述第三轮廓轨迹场中的全部代价区域与所述障碍物区域相交的区域确定为所述第三交集区域,并根据预设行驶时长、所述第三交集区域所在代价区域的代价值、所述第三轮廓轨迹场中代价区域的数量、所述第三圆弧轨迹的第二轨迹参数确定所述第三限速值。
- 根据权利要求5所述的方法,其特征在于,根据每个所述圆弧轨迹各自对应的全部代价区域,分别为每个所述圆弧轨迹构建相应的轮廓代价地图的步骤包括:对于每个所述圆弧轨迹,根据该圆弧轨迹对应的轮廓轨迹场占据该圆弧轨迹所在的预设栅格地图的区域大小生成包围该轮廓轨迹场的矩形框,并将该圆弧轨迹所在的预设栅格 地图上位于该矩形框内的区域裁剪成该圆弧轨迹对应的轮廓代价地图。
- 一种机器人的限速装置,其特征在于,所述装置包括:检测模块,用于在机器人行驶过程中,通过所述机器人上的传感器检测障碍物点云;计算模块,用于当检测到障碍物点云时,根据所述机器人当前时刻的速度数据,计算所述机器人当前时刻的第一圆弧轨迹的第一轨迹参数;筛选模块,用于从预先构建的多个轮廓代价地图中筛选与所述第一圆弧轨迹的第一轨迹参数匹配的第二圆弧轨迹和第三圆弧轨迹;其中,不同轮廓代价地图包括预先采集的不同圆弧轨迹,每个圆弧轨迹的圆弧半径不同,所述第一圆弧轨迹的圆弧半径介于所述第二圆弧轨迹和所述第三圆弧轨迹的圆弧半径之间;限速模块,用于根据所述第二圆弧轨迹和所述第三圆弧轨迹分别对应于所述障碍物点云的限速值对所述机器人进行限速。
- 根据权利要求8所述的装置,其特征在于,所述速度数据包括线速度和角速度;所述计算模块还用于:根据所述机器人当前时刻的线速度和角速度,计算所述机器人当前时刻的第一圆弧轨迹的第一轨迹参数;其中,所述第一轨迹参数包括速度方向和圆弧半径;所述筛选模块还用于:从预先构建的多个轮廓代价地图中筛选出与所述第一圆弧轨迹的速度方向相同的待选圆弧轨迹,从所述待选圆弧轨迹中筛选出圆弧半径相邻的第二圆弧轨迹和第三圆弧轨迹,且所述第一圆弧轨迹的圆弧半径介于所述第二圆弧轨迹和所述第三圆弧轨迹的圆弧半径之间。
- 一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至7任一项所述方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211406959.6 | 2022-11-10 | ||
CN202211406959.6A CN115686019A (zh) | 2022-11-10 | 2022-11-10 | 机器人的限速方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024099113A1 true WO2024099113A1 (zh) | 2024-05-16 |
Family
ID=85051264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2023/127381 WO2024099113A1 (zh) | 2022-11-10 | 2023-10-27 | 机器人的限速方法、装置及电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115686019A (zh) |
WO (1) | WO2024099113A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118466523A (zh) * | 2024-07-11 | 2024-08-09 | 常熟理工学院 | 代价地图生成方法、移动机器人、存储介质及电子设备 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115686019A (zh) * | 2022-11-10 | 2023-02-03 | 上海高仙自动化科技发展有限公司 | 机器人的限速方法、装置及电子设备 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106338996A (zh) * | 2016-10-20 | 2017-01-18 | 上海物景智能科技有限公司 | 一种移动机器人安全控制的方法及系统 |
JP2019021202A (ja) * | 2017-07-20 | 2019-02-07 | 株式会社Ihi | 移動ロボットの制御装置と制御方法 |
CN111123947A (zh) * | 2019-12-31 | 2020-05-08 | 深圳前海达闼云端智能科技有限公司 | 机器人行进的控制方法、装置、电子设备、介质和机器人 |
CN111289008A (zh) * | 2020-04-28 | 2020-06-16 | 南京维思科汽车科技有限公司 | 一种用于无人驾驶车辆的局部路径规划算法 |
CN111752276A (zh) * | 2020-06-23 | 2020-10-09 | 深圳市优必选科技股份有限公司 | 局部路径规划方法、装置、计算机可读存储介质及机器人 |
US20210018912A1 (en) * | 2018-04-10 | 2021-01-21 | Fetch Robotics, Inc. | Robot Management System |
CN112506202A (zh) * | 2020-12-15 | 2021-03-16 | 上海有个机器人有限公司 | 机器人移动的控制方法、系统、机器人及计算机存储介质 |
CN112540602A (zh) * | 2019-11-27 | 2021-03-23 | 深圳优地科技有限公司 | 一种机器人局部路径的优化方法及机器人 |
CN112558610A (zh) * | 2020-12-15 | 2021-03-26 | 上海有个机器人有限公司 | 机器人避开障碍的运动控制方法、系统、机器人及计算机存储介质 |
CN113778106A (zh) * | 2021-09-26 | 2021-12-10 | 上汽通用五菱汽车股份有限公司 | 轮式机器人节能轨迹规划方法、规划设备及可读存储介质 |
CN114661038A (zh) * | 2020-12-22 | 2022-06-24 | 北京配天技术有限公司 | 一种机器人回程序原点控制方法、装置及相关组件 |
CN114690767A (zh) * | 2022-03-03 | 2022-07-01 | 上海新时达电气股份有限公司 | 一种机器人轨迹规划方法、系统以及机器人 |
CN115311646A (zh) * | 2022-09-14 | 2022-11-08 | 北京斯年智驾科技有限公司 | 一种障碍物检测的方法及装置 |
CN115686019A (zh) * | 2022-11-10 | 2023-02-03 | 上海高仙自动化科技发展有限公司 | 机器人的限速方法、装置及电子设备 |
-
2022
- 2022-11-10 CN CN202211406959.6A patent/CN115686019A/zh active Pending
-
2023
- 2023-10-27 WO PCT/CN2023/127381 patent/WO2024099113A1/zh unknown
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106338996A (zh) * | 2016-10-20 | 2017-01-18 | 上海物景智能科技有限公司 | 一种移动机器人安全控制的方法及系统 |
JP2019021202A (ja) * | 2017-07-20 | 2019-02-07 | 株式会社Ihi | 移動ロボットの制御装置と制御方法 |
US20210018912A1 (en) * | 2018-04-10 | 2021-01-21 | Fetch Robotics, Inc. | Robot Management System |
CN112540602A (zh) * | 2019-11-27 | 2021-03-23 | 深圳优地科技有限公司 | 一种机器人局部路径的优化方法及机器人 |
CN111123947A (zh) * | 2019-12-31 | 2020-05-08 | 深圳前海达闼云端智能科技有限公司 | 机器人行进的控制方法、装置、电子设备、介质和机器人 |
CN111289008A (zh) * | 2020-04-28 | 2020-06-16 | 南京维思科汽车科技有限公司 | 一种用于无人驾驶车辆的局部路径规划算法 |
CN111752276A (zh) * | 2020-06-23 | 2020-10-09 | 深圳市优必选科技股份有限公司 | 局部路径规划方法、装置、计算机可读存储介质及机器人 |
CN112506202A (zh) * | 2020-12-15 | 2021-03-16 | 上海有个机器人有限公司 | 机器人移动的控制方法、系统、机器人及计算机存储介质 |
CN112558610A (zh) * | 2020-12-15 | 2021-03-26 | 上海有个机器人有限公司 | 机器人避开障碍的运动控制方法、系统、机器人及计算机存储介质 |
CN114661038A (zh) * | 2020-12-22 | 2022-06-24 | 北京配天技术有限公司 | 一种机器人回程序原点控制方法、装置及相关组件 |
CN113778106A (zh) * | 2021-09-26 | 2021-12-10 | 上汽通用五菱汽车股份有限公司 | 轮式机器人节能轨迹规划方法、规划设备及可读存储介质 |
CN114690767A (zh) * | 2022-03-03 | 2022-07-01 | 上海新时达电气股份有限公司 | 一种机器人轨迹规划方法、系统以及机器人 |
CN115311646A (zh) * | 2022-09-14 | 2022-11-08 | 北京斯年智驾科技有限公司 | 一种障碍物检测的方法及装置 |
CN115686019A (zh) * | 2022-11-10 | 2023-02-03 | 上海高仙自动化科技发展有限公司 | 机器人的限速方法、装置及电子设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118466523A (zh) * | 2024-07-11 | 2024-08-09 | 常熟理工学院 | 代价地图生成方法、移动机器人、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115686019A (zh) | 2023-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2024099113A1 (zh) | 机器人的限速方法、装置及电子设备 | |
US11080539B2 (en) | Traffic light state recognizing method and apparatus, computer device and readable medium | |
CN107943025B (zh) | 机器人脱困的处理方法 | |
CN109829351B (zh) | 车道信息的检测方法、装置及计算机可读存储介质 | |
US10152058B2 (en) | Vehicle virtual map | |
CN111311925B (zh) | 车位的检测方法和装置、电子设备、车辆、存储介质 | |
WO2023201964A1 (zh) | 一种跟车目标确定方法、装置、设备及介质 | |
CN110834631A (zh) | 一种行人避让方法、装置、车辆及存储介质 | |
CN112526999B (zh) | 速度规划方法、装置、电子设备和存储介质 | |
JP7329572B2 (ja) | 通行状態取得方法及び装置、路側装置、並びに、クラウド制御プラットフォーム | |
CN113895460B (zh) | 行人轨迹预测方法、装置及存储介质 | |
CN114812539B (zh) | 地图探索、地图使用方法、装置、机器人和存储介质 | |
CN112445215B (zh) | 自动导引车行驶控制方法、装置及计算机系统 | |
CN111609853B (zh) | 三维地图构建方法、扫地机器人及电子设备 | |
CN114431771B (zh) | 一种扫地机器人清扫方法及相关装置 | |
CN114091515A (zh) | 障碍物检测方法、装置、电子设备和存储介质 | |
CN115953414A (zh) | 基于语义分割的低矮障碍物检测方法和自动驾驶车辆 | |
CN115609594A (zh) | 机械臂路径的规划方法、装置、上位控制端及存储介质 | |
CN115933685A (zh) | 一种巡检清洁方法、装置、设备及存储介质 | |
CN113733086B (zh) | 一种机器人的出行方法、装置、设备及存储介质 | |
CN117707164A (zh) | 一种无人驾驶清扫车的避让方法、装置、设备及介质 | |
CN112180947A (zh) | 一种移动机器人初始行进方向选择方法及其设备 | |
US11673577B2 (en) | System and methods of adaptive relevancy prediction for autonomous driving | |
CN116533987A (zh) | 泊车路径确定方法、装置、设备和自动驾驶车辆 | |
CN116343169A (zh) | 路径规划方法、目标对象运动控制方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23887803 Country of ref document: EP Kind code of ref document: A1 |