A collision detection method, device and electronic equipment of a mobile robot
Patent Information
- Application Number
- CN202311870180.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-29
- Publication Date
- 2026-10-09
- Estimated Expiration
- 2043-12-29
AI Technical Summary
然而,移动机器人的移动路径上可能存在各类障碍物,若该移动机器人不能躲避上述障碍物,则该移动机器人的底盘或者执行机构将与上述障碍物发生碰撞,从而,导致该移动机器人损坏
[0067] As can be seen from the above, by applying the solution provided in this application, in order to obtain the collision detection results between the mobile robot and obstacles on the preset movement path, the path from the current position of the mobile robot to the end point of the preset movement path can be sampled first to obtain multiple position points including the current position and the end point; then, the outline of the obstacle detected by the mobile robot at the current position is obtained in the preset coordinate system; next, each of the multiple position points is traversed in the direction from the current position to the end point. In this way, when traversing each position point, the motion space description information of the mobile robot at that position point can be determined. The motion space description information includes the outline of the mobile robot's chassis in the preset coordinate system, and the spatial outline information of the pose coverage space of the actuator in the preset coordinate system from the current moment until the actuator of the mobile robot completes the preset instruction; and when traversing each position point, based on the obstacle outline information and the motion space description information, it is determined whether the mobile robot, chassis and actuator, collide with the obstacle at that position point, thus obtaining the collision detection results between the mobile robot and the obstacle.
Smart Images

Figure CN117773933B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robotics technology, and in particular to a collision detection method, apparatus, and electronic device for a mobile robot. Background Technology
[0002] With the rapid development of electronic technology, mobile robots are widely used in various fields. For example, AGVs (Automated Guided Vehicles) are used to transport goods, and sweeping robots are used for household cleaning.
[0003] Typically, a mobile robot used to perform a task can include a chassis and an actuator. The chassis is the moving structure that enables the mobile robot to move, such as the robot's base; the actuator is the operating structure mounted on the chassis to perform specified actions, such as the robot's robotic arm.
[0004] When using a mobile robot to perform a designated task, the robot can be controlled to move along a path. However, various obstacles may exist along the robot's path. If the robot cannot avoid these obstacles, its chassis or actuators will collide with them, resulting in damage to the robot. Summary of the Invention
[0005] The purpose of this application is to provide a collision detection method, apparatus, and electronic device for a mobile robot, to determine the collision detection results between the mobile robot's chassis and actuators and obstacles on its movement path, thereby ensuring the safe operation of the mobile robot. The specific technical solution is as follows:
[0006] In a first aspect, embodiments of this application provide a collision detection method for a mobile robot, the method comprising:
[0007] In the preset movement path of the mobile robot, the path from the current position of the mobile robot to the end point of the preset movement path is sampled to obtain multiple position points including the current position and the end point;
[0008] Obtain the outline information of the obstacle detected by the mobile robot at the current position in a preset coordinate system;
[0009] Following the direction from the current position to the endpoint, each of the plurality of position points is traversed, and when each position point is reached, the motion space description information of the mobile robot at that position point is determined; wherein, the motion space description information includes: the chassis outline information of the mobile robot in the preset coordinate system, and the spatial outline information of the pose coverage space of the actuator in the preset coordinate system from the current moment until the actuator of the mobile robot completes the execution of the preset command;
[0010] When traversing each location point, based on the obstacle contour information and the motion space description information, it is determined whether the chassis and the actuator collide with the obstacle when the mobile robot is located at that location point, and the collision detection result of the mobile robot and the obstacle is obtained.
[0011] Optionally, in one specific implementation, the method further includes:
[0012] When traversing to each location point, perform the following steps:
[0013] If the collision detection result indicates that neither the chassis nor the actuator collides with the obstacle, then the next position point is traversed.
[0014] If the collision detection result indicates that the chassis and / or the actuator collide with the obstacle, and the location is the current position, then control the mobile robot to stop moving;
[0015] If the collision detection result indicates that the chassis and / or the actuator collide with the obstacle, and the location point is a location point other than the current location, then based on the distance between the current location and the location point, a correspondence between the collision distance and the moving speed of the mobile robot is determined; the chassis is controlled to move along the preset moving trajectory at the moving speed determined based on the correspondence, and the actuator is controlled to execute the preset command; wherein, the collision distance is: the distance between the location of the mobile robot and the location point.
[0016] Optionally, in one specific implementation, the method further includes:
[0017] When the chassis is detected to meet the preset movement conditions, the new current position of the mobile robot is determined, and the step of sampling the position points of the path from the current position of the mobile robot to the end point of the preset movement path is returned to the preset movement path of the mobile robot; wherein, the preset movement conditions include: moving a specified distance, or moving for a specified duration;
[0018] When the mobile robot is detected to meet any of a plurality of preset stopping conditions, the chassis and the actuator are controlled to stop moving; wherein the preset stopping conditions include: the distance between the space covered by the pose of the actuator when executing the preset command and the outline of the obstacle is less than or equal to a preset distance, the mobile robot moves to the endpoint, and the mobile robot does not move to the endpoint and the moving speed of the chassis is 0.
[0019] Optionally, in one specific implementation, the method further includes:
[0020] If the distance between the space covered by the pose of the actuator when executing the preset command and the outline of the obstacle is less than or equal to a preset distance, or if the mobile robot has not moved to the endpoint and the chassis's moving speed is 0, then a notification message to prompt the removal of the obstacle will be output.
[0021] Optionally, in one specific implementation, the correspondence between the collision distance and the moving speed of the mobile robot is represented by a curve in a specified two-dimensional coordinate system;
[0022] Wherein, the horizontal axis of the specified two-dimensional coordinate system represents the collision distance, the vertical axis of the specified two-dimensional coordinate system represents the moving speed of the mobile robot, and the horizontal axis of the intersection of the curve and the horizontal axis of the specified two-dimensional coordinate system represents the preset stopping distance; the curve includes multiple curve segments, each curve segment represents a deceleration interval, the slope of each curve segment is the acceleration of the mobile robot within the deceleration interval represented by the curve segment, and within each deceleration interval, the collision distance is positively correlated with the moving speed of the mobile robot;
[0023] The preset stopping distance is: the preset minimum distance between the location of the mobile robot and the location point when the mobile robot stops moving; the acceleration is not greater than the maximum acceleration of the mobile robot and not less than the minimum acceleration of the mobile robot.
[0024] Optionally, in one specific implementation, controlling the actuator to execute the preset instruction includes:
[0025] If the distance between the space covered by the pose of the actuator when executing the preset instruction and the outline of the obstacle is greater than the preset execution distance, then the actuator is controlled to execute the preset instruction;
[0026] If the distance between the space covered by the pose of the actuator when executing the preset instruction and the outline of the obstacle is not greater than the preset execution distance, then the actuator is controlled to stop executing the preset instruction.
[0027] Optionally, in one specific implementation, the method for determining the chassis outline information includes:
[0028] Based on the first dimension information of the chassis of the mobile robot, in a designated plane parallel to the horizontal plane of the preset coordinate system, a first minimum rectangle that projects the outline of the chassis onto the designated plane is determined, and the coordinates of the lowest point and the highest point of the chassis outline are determined on a designated coordinate axis perpendicular to the designated plane of the preset coordinate system.
[0029] In the preset coordinate system, a first cuboid is constructed with the difference between the coordinates of the highest point and the lowest point of the chassis as its height and the smallest chassis rectangle as its base. The coordinates of each vertex of the first cuboid in the preset coordinate system are determined as the chassis outline information of the chassis in the preset coordinate system.
[0030] Optionally, in one specific implementation, the method for determining the spatial contour information includes:
[0031] Based on the second dimension information of the mobile robot's actuator, the current pose of the mobile robot, and the execution action of the actuator indicated by the preset command, the process from the current moment to the completion of the preset command by the mobile robot's actuator is determined, and the pose of the actuator covers the space.
[0032] In a designated plane parallel to the horizontal plane of the preset coordinate system, determine the second minimum rectangle that encloses the projection of the pose coverage space onto the designated plane, and determine the coordinates of the highest and lowest points of the pose coverage space on a designated coordinate axis perpendicular to the designated plane of the preset coordinate system.
[0033] In the preset coordinate system, a second cuboid is constructed with the difference between the coordinates of the highest point and the lowest point of the pose as its height and the second smallest rectangle as its base. The coordinates of each vertex of the second cuboid in the preset coordinate system are determined as the process from the current moment until the execution mechanism of the mobile robot completes the execution of the preset instruction. The pose coverage space of the execution mechanism is the spatial contour information in the preset coordinate system.
[0034] Secondly, embodiments of this application provide a collision detection device for a mobile robot, the device comprising:
[0035] The sampling module is used to sample the location points of the path from the current position of the mobile robot to the end point of the preset movement path in the mobile robot's preset movement path, and obtain multiple location points including the current position and the end point.
[0036] An obstacle contour information acquisition module is used to acquire the obstacle contour information of the obstacle detected by the mobile robot at the current position in a preset coordinate system.
[0037] The motion space description information acquisition module is used to traverse each of the plurality of position points in the direction from the current position to the endpoint, and determine the motion space description information of the mobile robot when it is located at each position point; wherein, the motion space description information includes: the chassis outline information of the mobile robot in the preset coordinate system, and the spatial outline information of the pose coverage space of the actuator in the preset coordinate system from the current moment to the completion of the preset instruction by the actuator of the mobile robot;
[0038] The judgment module is used to determine, when traversing each location point, whether the chassis and the actuator collide with the obstacle based on the obstacle contour information and the motion space description information, and obtain the collision detection result between the mobile robot and the obstacle.
[0039] Optionally, in one specific implementation, the apparatus further includes:
[0040] The traversal module is used to, when traversing each position point, if the collision detection result indicates that neither the chassis nor the actuator collides with the obstacle, then traverse to the next position point;
[0041] The first control module is used to control the mobile robot to stop moving if the collision detection result indicates that the chassis and / or the actuator collide with the obstacle when traversing each position point, and the position point is the current position.
[0042] The relationship determination module is used to determine the correspondence between the collision distance and the moving speed of the mobile robot based on the distance between the current position and the location point when traversing each location point. If the collision detection result indicates that the chassis and / or the actuator collides with the obstacle, and the location point is a location point other than the current position, then the module controls the chassis to move along the preset moving trajectory at the moving speed determined based on the correspondence, and controls the actuator to execute the preset command. The collision distance is the distance between the location of the mobile robot and the location point.
[0043] Optionally, in one specific implementation, the apparatus further includes:
[0044] The return module is used to determine the new current position of the mobile robot when the chassis is detected to meet the preset movement conditions, and return to the step of sampling the position points of the path from the current position of the mobile robot to the end point of the preset movement path of the mobile robot; wherein, the preset movement conditions include: moving a specified distance, or moving for a specified duration;
[0045] The second control module is used to control the chassis and the actuator to stop moving when the mobile robot is detected to meet any one of a plurality of preset stopping conditions; wherein the preset stopping conditions include: the distance between the space covered by the pose of the actuator when executing the preset command and the outline of the obstacle is less than or equal to a preset distance, the mobile robot moves to the endpoint, and the mobile robot does not move to the endpoint and the moving speed of the chassis is 0.
[0046] Optionally, in one specific implementation, the apparatus further includes:
[0047] The message output module is used to output a notification message prompting the removal of the obstacle if it is detected that the distance between the space covered by the pose of the actuator when executing the preset instruction and the outline of the obstacle is less than or equal to a preset distance, or if the mobile robot has not moved to the endpoint and the moving speed of the chassis is 0.
[0048] Optionally, in one specific implementation, the correspondence between the collision distance and the moving speed of the mobile robot is represented by a curve in a specified two-dimensional coordinate system;
[0049] Wherein, the horizontal axis of the specified two-dimensional coordinate system represents the collision distance, the vertical axis of the specified two-dimensional coordinate system represents the moving speed of the mobile robot, and the horizontal axis of the intersection of the curve and the horizontal axis of the specified two-dimensional coordinate system represents the preset stopping distance; the curve includes multiple curve segments, each curve segment represents a deceleration interval, the slope of each curve segment is the acceleration of the mobile robot within the deceleration interval represented by the curve segment, and within each deceleration interval, the collision distance is positively correlated with the moving speed of the mobile robot;
[0050] The preset stopping distance is: the preset minimum distance between the location of the mobile robot and the location point when the mobile robot stops moving; the acceleration is not greater than the maximum acceleration of the mobile robot and not less than the minimum acceleration of the mobile robot.
[0051] Optionally, in one specific implementation, the relationship determination module is specifically used for:
[0052] If the distance between the space covered by the pose of the actuator when executing the preset instruction and the outline of the obstacle is greater than the preset execution distance, then the actuator is controlled to execute the preset instruction;
[0053] If the distance between the space covered by the pose of the actuator when executing the preset instruction and the outline of the obstacle is not greater than the preset execution distance, then the actuator is controlled to stop executing the preset instruction.
[0054] Optionally, in one specific implementation, the motion space description information acquisition module includes a first determining submodule; the first determining submodule is specifically used for:
[0055] Based on the first dimension information of the chassis of the mobile robot, in a designated plane parallel to the horizontal plane of the preset coordinate system, a first minimum rectangle that projects the outline of the chassis onto the designated plane is determined, and the coordinates of the lowest point and the highest point of the chassis outline are determined on a designated coordinate axis perpendicular to the designated plane of the preset coordinate system.
[0056] In the preset coordinate system, a first cuboid is constructed with the difference between the coordinates of the highest point and the lowest point of the chassis as its height and the smallest chassis rectangle as its base. The coordinates of each vertex of the first cuboid in the preset coordinate system are determined as the chassis outline information of the chassis in the preset coordinate system.
[0057] Optionally, in one specific implementation, the motion space description information acquisition module includes a second determining submodule; the second determining submodule is specifically used for:
[0058] Based on the second dimension information of the mobile robot's actuator, the current pose of the mobile robot, and the execution action of the actuator indicated by the preset command, the process from the current moment to the completion of the preset command by the mobile robot's actuator is determined, and the pose of the actuator covers the space.
[0059] In a designated plane parallel to the horizontal plane of the preset coordinate system, determine the second minimum rectangle that encloses the projection of the pose coverage space onto the designated plane, and determine the coordinates of the highest and lowest points of the pose coverage space on a designated coordinate axis perpendicular to the designated plane of the preset coordinate system.
[0060] In the preset coordinate system, a second cuboid is constructed with the difference between the coordinates of the highest point and the lowest point of the pose as its height and the second smallest rectangle as its base. The coordinates of each vertex of the second cuboid in the preset coordinate system are determined as the process from the current moment until the execution mechanism of the mobile robot completes the execution of the preset instruction. The pose coverage space of the execution mechanism is the spatial contour information in the preset coordinate system.
[0061] Thirdly, embodiments of this application provide an electronic device, including:
[0062] Memory, used to store computer programs;
[0063] When a processor executes a program stored in memory, it implements the steps of any of the above method embodiments.
[0064] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of any of the above method embodiments.
[0065] Fifthly, embodiments of this application also provide a computer program product containing instructions that, when run on a computer, cause the computer to perform the steps of any of the above method embodiments.
[0066] Beneficial effects of the embodiments in this application:
[0067] As can be seen from the above, by applying the solution provided in this application, in order to obtain the collision detection results between the mobile robot and obstacles on the preset movement path, the path from the current position of the mobile robot to the end point of the preset movement path can be sampled first to obtain multiple position points including the current position and the end point; then, the outline of the obstacle detected by the mobile robot at the current position is obtained in the preset coordinate system; next, each of the multiple position points is traversed in the direction from the current position to the end point. In this way, when traversing each position point, the motion space description information of the mobile robot at that position point can be determined. The motion space description information includes the outline of the mobile robot's chassis in the preset coordinate system, and the spatial outline information of the pose coverage space of the actuator in the preset coordinate system from the current moment until the actuator of the mobile robot completes the preset instruction; and when traversing each position point, based on the obstacle outline information and the motion space description information, it is determined whether the mobile robot, chassis and actuator, collide with the obstacle at that position point, thus obtaining the collision detection results between the mobile robot and the obstacle.
[0068] As can be seen from the above, by applying the solution provided in the embodiments of this application, during the process of the mobile robot moving along the preset moving path, the collision detection results between the mobile robot and the obstacles at each position point can be determined based on the obstacle outline information and the motion space description information of the mobile robot at each position point. In this way, the movement strategy of the mobile robot can be planned based on the above collision detection results, so as to avoid the mobile robot from colliding with the obstacles on the path and improve the safety of the mobile robot during the movement process.
[0069] Furthermore, since the collision detection results are determined based on obstacle contour information and motion space description information, which includes the chassis contour information of the mobile robot and the spatial contour information of the actuator, the resulting collision detection results comprehensively consider the possibility of collisions between the mobile robot's chassis and / or actuator and obstacles. This avoids collisions between the mobile robot's chassis and obstacles, as well as collisions between the mobile robot's actuator and obstacles while executing preset commands, thereby further improving the safety of the mobile robot during movement. Attached Figure Description
[0070] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other embodiments can be obtained based on these drawings.
[0071] Figure 1 A schematic flowchart illustrating a collision detection method for a mobile robot provided in an embodiment of this application;
[0072] Figure 2(a) is a schematic diagram of obstacle contour information provided in an embodiment of this application;
[0073] Figure 2(b) is a schematic diagram of the chassis outline information provided in the embodiment of this application;
[0074] Figure 3 This is a schematic diagram illustrating the correspondence between collision distance and the moving speed of a mobile robot, as provided in an embodiment of this application.
[0075] Figure 4(a) is another schematic diagram showing the correspondence between collision distance and the moving speed of the mobile robot provided in the embodiment of this application;
[0076] Figure 4(b) is another schematic diagram showing the correspondence between collision distance and the moving speed of the mobile robot provided in the embodiments of this application;
[0077] Figure 5 A schematic diagram of the first cuboid provided in the embodiments of this application;
[0078] Figure 6 A schematic diagram of a three-dimensional convex bounding box for a mobile robot provided in an embodiment of this application;
[0079] Figure 7 A flowchart illustrating the obstacle control process provided in an embodiment of this application;
[0080] Figure 8 A schematic diagram of the structure of a collision detection device for a mobile robot provided in an embodiment of this application;
[0081] Figure 9 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0082] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art based on this application are within the scope of protection of this application.
[0083] When using a mobile robot to perform a designated task, the robot can be controlled to move along a path. However, various obstacles may exist along the robot's path. If the robot cannot avoid these obstacles, its chassis or actuators will collide with them, resulting in damage to the robot.
[0084] To address the aforementioned technical problems, this application provides a collision detection method for a mobile robot.
[0085] This method can be applied to various application scenarios that require collision detection of mobile robots, such as collision detection of bin robots performing picking and placing tasks in freight centers, and collision detection of unmanned forklifts in operation in factories.
[0086] Furthermore, this method can be applied to the mobile robot itself, for example, by incorporating a processing module within the mobile robot to execute the method; it can also be applied to electronic devices capable of communicating with the mobile robot, such as a management platform; when the executing entity of this method is an electronic device, the electronic device can be an independent electronic device or a cluster of multiple electronic devices. For clarity, the executing entity of this method will be referred to as an electronic device below.
[0087] Therefore, the embodiments of this application do not specifically limit the application scenarios and execution entities of the method.
[0088] The collision detection method for a mobile robot provided in this application embodiment may include the following steps:
[0089] In the preset movement path of the mobile robot, the path from the current position of the mobile robot to the end point of the preset movement path is sampled to obtain multiple position points including the current position and the end point;
[0090] Obtain the outline information of the obstacle detected by the mobile robot at the current position in a preset coordinate system;
[0091] Following the direction from the current position to the endpoint, each of the plurality of position points is traversed, and when each position point is reached, the motion space description information of the mobile robot at that position point is determined; wherein, the motion space description information includes: the chassis outline information of the mobile robot in the preset coordinate system, and the spatial outline information of the pose coverage space of the actuator in the preset coordinate system from the current moment until the actuator of the mobile robot completes the execution of the preset command;
[0092] When traversing each location point, based on the obstacle contour information and the motion space description information, it is determined whether the chassis and the actuator collide with the obstacle when the mobile robot is located at that location point, and the collision detection result of the mobile robot and the obstacle is obtained.
[0093] As can be seen from the above, by applying the solution provided in this application, in order to obtain the collision detection results between the mobile robot and obstacles on the preset movement path, the path from the current position of the mobile robot to the end point of the preset movement path can be sampled first to obtain multiple position points including the current position and the end point; then, the outline of the obstacle detected by the mobile robot at the current position is obtained in the preset coordinate system; next, each of the multiple position points is traversed in the direction from the current position to the end point. In this way, when traversing each position point, the motion space description information of the mobile robot at that position point can be determined. The motion space description information includes the outline of the mobile robot's chassis in the preset coordinate system and the spatial outline information of the pose coverage space of the actuator in the preset coordinate system from the current moment to the completion of the preset instruction by the actuator of the mobile robot; and when traversing each position point, based on the obstacle outline information and the motion space description information, it is determined whether the mobile robot, chassis and actuator, collide with the obstacle at that position point, thus obtaining the collision detection results between the mobile robot and the obstacle.
[0094] As can be seen from the above, by applying the solution provided in the embodiments of this application, during the process of controlling the mobile robot to move along a preset movement path, the collision detection results between the mobile robot and the obstacles at each position point can be determined based on the obstacle outline information and the motion space description information of the mobile robot at each position point. In this way, the movement strategy of the mobile robot can be planned based on the above collision detection results, so as to avoid the mobile robot from colliding with the obstacles on the path and improve the safety of the mobile robot during movement.
[0095] Furthermore, since the collision detection results are determined based on obstacle contour information and motion space description information, which includes the chassis contour information of the mobile robot and the spatial contour information of the actuator, the resulting collision detection results comprehensively consider the possibility of collisions between the mobile robot's chassis and / or actuator and obstacles. This avoids collisions between the mobile robot's chassis and obstacles, as well as collisions between the mobile robot's actuator and obstacles while executing preset commands, thereby further improving the safety of the mobile robot during movement.
[0096] The collision detection method for a mobile robot provided in this application will now be described in detail with reference to the accompanying drawings.
[0097] Figure 1 This is a flowchart illustrating a collision detection method for a mobile robot provided in an embodiment of this application, as shown below. Figure 1 As shown, the method may include the following steps S101-S104.
[0098] S101: Sampling position points along the path from the current position of the mobile robot to the end point of the preset movement path in the preset movement path of the mobile robot, to obtain multiple position points including the current position and the end point;
[0099] To meet business needs, mobile robots may include a chassis and actuators.
[0100] The chassis of the aforementioned mobile robot consists of chassis structural components, drive wheel sets, and a drive unit. Electronic devices can control the movement of the drive wheel sets via the drive unit, thereby instructing the mobile robot to perform movements such as moving and rotating.
[0101] The aforementioned actuators are additional mechanical devices designed based on a mobile robot chassis. Electronic equipment can instruct the actuator to perform various actions to achieve business requirements. Examples include lifting actuators, transferring actuators, forklift actuators, clip-on actuators, and grasping actuators.
[0102] For mobile robots used in different business applications, the chassis and actuators can be different. For example, for an unmanned forklift, the base is the forklift's body, and the actuator is the fork mechanism; for a bin robot, the base is the bin, and the actuator is the gripping mechanism.
[0103] When performing business operations, the mobile robot can move along a preset path within the work area, and during the movement, the mobile robot's actuators can perform actions to complete the business operations.
[0104] Optionally, the electronic device can first determine a preset movement path for the mobile robot to perform its tasks. Then, the electronic device can issue a movement command carrying the preset movement path to the mobile robot, along with preset commands regarding the actions to complete the tasks. In this way, the mobile robot can receive the aforementioned movement command and preset commands, and subsequently, the robot's chassis can move along the preset movement path. Furthermore, during the movement, the mobile robot's actuators can perform the actions indicated by the preset commands.
[0105] Optionally, the electronic device can issue movement instructions to the mobile robot, including the starting point of the path, multiple work points, and the end point of the wheel track, as well as preset instructions for completing the work tasks. The mobile robot can then receive these movement instructions and preset instructions, and subsequently plan its own movement path to obtain the preset path, which it then reports to the electronic device. Afterward, the mobile robot's chassis can move along the preset path, and during this movement, the mobile robot's actuators can perform the actions indicated by the preset instructions.
[0106] The aforementioned preset instructions typically include action instructions for the various actions that the mobile robot's actuators need to perform to complete the business task. Therefore, these preset instructions are used to instruct the mobile robot to perform the various actions required to complete the business operation. For example, when the mobile robot is an unmanned forklift, the aforementioned preset instructions are for the business task of picking up goods. Therefore, the aforementioned preset instructions may include: action instructions for raising or lowering the fork mechanism to a first height, action instructions for the fork mechanism to pick up a specific item from the shelf, and action instructions for raising or lowering the fork mechanism to a second height. Thus, the aforementioned preset instructions can instruct the unmanned forklift's fork mechanism to raise or lower to the first height, pick up the specific item from the shelf, and raise or lower to the second height, thereby completing the business task of picking up goods. Therefore, through the aforementioned movement instructions and preset instructions, the unmanned forklift can achieve simultaneous movement and operation.
[0107] To avoid collisions between mobile robots and various obstacles during business operations, collision detection can be performed on the mobile robot to obtain the collision detection results. Then, based on the collision detection results, the mobile robot can be controlled.
[0108] Specifically, position points can be sampled along the path from the mobile robot's current position to the endpoint of the preset movement path within the robot's pre-defined movement path. This yields multiple position points, including both the current position and the endpoint. Then, each position point is traversed to determine the collision detection result for the robot at each point. For clarity, the path from the robot's current position to the endpoint of the preset movement path can be referred to as the forward path.
[0109] The current position of the mobile robot can be the starting point of the preset movement path, or it can be the current position of the mobile robot in the preset movement path. Both are reasonable and are not specifically limited in this embodiment.
[0110] Optionally, the current position of the mobile robot and the endpoint of the preset movement path can be determined as location points. Then, starting from the current position, according to a preset sampling interval, various location points are sequentially determined along the preset movement path from the current position to the endpoint, resulting in multiple location points including the current position and the endpoint. The preset sampling interval can be set according to actual needs, such as 5 meters, 10 meters, etc.; it can also be set according to the path length between the current position and the endpoint and the preset number of location points. All of these are reasonable and are not specifically limited in this embodiment.
[0111] For example, if the preset sampling interval is 5 meters and the path length of the path ahead of the current position is 99 meters, then the location point is sampled from the current position. After determining 19 location points, the remaining path length between the 19th location point and the end point of the preset movement path is 4 meters, which is less than the preset sampling interval. Therefore, the end point of the path can be determined as the last location point.
[0112] S102: Obtain the outline information of the obstacle detected by the mobile robot at its current position in a preset coordinate system;
[0113] The mobile robot can perceive environmental obstacles in the path ahead, and then obtain environmental obstacle perception information including three-dimensional description information of the obstacles. The three-dimensional description information of the obstacles includes the location of the obstacles and the space occupied by the outline of the obstacles.
[0114] When the mobile robot detects the aforementioned environmental obstacle perception information, in order to perform obstacle detection on the mobile robot, the obstacle outline information in a preset coordinate system can be determined based on the position and size of the obstacle included in the aforementioned environmental obstacle perception information.
[0115] The aforementioned preset coordinate system can be either a preset global coordinate system or a preset vehicle coordinate system; both are reasonable and are not specifically limited in this embodiment. The so-called preset global coordinate system is a coordinate system established based on the working space of the mobile robot; the so-called preset vehicle coordinate system is a right-handed coordinate system with the center of motion of the mobile robot as the origin and the positive direction of the vehicle body as the X-axis direction.
[0116] Optionally, when the executing entity in this application embodiment is a mobile robot, when the mobile robot detects environmental obstacle perception information, it can determine the obstacle outline information in a preset coordinate system based on the three-dimensional description information of the obstacle.
[0117] Optionally, when the executing entity in this application embodiment is an electronic device, when the mobile robot detects environmental obstacle perception information, it can send the aforementioned environmental obstacle perception information to the electronic device. In this way, the electronic device can receive the aforementioned environmental obstacle perception information and, based on the three-dimensional description information of the obstacle, determine the obstacle contour information in a preset coordinate system.
[0118] Specifically, the coordinates of the obstacle's outline in a preset coordinate system can be used to represent the obstacle's outline information in that preset coordinate system. Optionally, the coordinates of each vertex of the obstacle's outline in the preset coordinate system can be used to represent the obstacle's outline information in that preset coordinate system.
[0119] For example, as shown in Figure 2(a), the preset coordinate system is a preset global coordinate system. The size of the space occupied by the obstacle can be represented by the smallest cube including the outline of the obstacle. Then, based on the position information of the obstacle, the space occupied by the outline of the obstacle in the preset global coordinate system is determined to be cube 210. Then, the obstacle outline information in the preset global coordinate system can be the coordinates of the 8 vertices of cube 210.
[0120] Furthermore, the electronic device can acquire the obstacle contour information of the obstacle detected by the mobile robot at its current position in a preset coordinate system, and then perform collision detection based on the obstacle contour information.
[0121] S103: Following the direction from the current position to the destination, traverse each of the multiple position points, and when traversing each position point, determine the motion space description information of the mobile robot when it is located at that position point;
[0122] The motion space description information includes: the chassis outline information of the mobile robot in the preset coordinate system, and the spatial outline information of the actuator's pose coverage space in the preset coordinate system from the current moment until the mobile robot's actuator completes the preset command.
[0123] After obtaining the obstacle outline information in the preset coordinate system, the robot can sequentially traverse each of the multiple location points in the direction from the current position to the endpoint. When traversing each location point, the robot's motion space description information when it is located at that location point is determined.
[0124] Since the mobile robot may include a chassis and an actuator, the motion space description information may include the chassis contour information of the mobile robot in a preset coordinate system, and the spatial contour information of the actuator's pose coverage space in the preset coordinate system from the current moment until the mobile robot's actuator completes the preset command. Optionally, the obstacle contour information in the preset coordinate system may be represented by the coordinates of each vertex of the obstacle's contour.
[0125] Furthermore, in order to determine the motion space description information of the mobile robot, the electronic device can first acquire the structural dimension information of the mobile robot, which includes the first dimension information of the mobile robot's chassis and the second dimension information of the actuator. Then, for each location point, based on the first dimension information of the chassis, the chassis contour information of the mobile robot at that location point can be determined in a preset coordinate system.
[0126] For example, as shown in Figure 2(b), the preset coordinate system is a preset global coordinate system. The size of the space occupied by the chassis outline can be represented by the smallest cuboid including the outline of the mobile robot's chassis. When the mobile robot is located at position point A, the space occupied by the chassis outline is cuboid 220. Therefore, the chassis outline information in the preset coordinate system can be the coordinates of the eight vertices of cuboid 220. When the mobile robot is located at position point B, the space occupied by the chassis outline is cuboid 230. Therefore, the chassis outline information in the preset coordinate system can be the coordinates of the eight vertices of cuboid 230.
[0127] Optionally, since the shape of the chassis of a mobile robot may be irregular, in order to save computing resources, the chassis outline information can be represented by the smallest regular three-dimensional solid space that can include the chassis outline information, such as a cube or a sphere.
[0128] In order to perform business operations, as the mobile robot's chassis moves along the aforementioned preset movement path, the mobile robot's actuator needs to execute the aforementioned preset instructions, that is, to perform the various actions indicated by the aforementioned preset instructions. Furthermore, since the actuator's pose can continuously change during the execution of these preset instructions, if the actuator collides with an obstacle while in any of these poses, then the mobile robot will collide with the obstacle. In other words, the space covered by each pose that the actuator can assume during the execution of the aforementioned preset instructions is the space that the actuator can reach. If any space within the actuator's reach overlaps with the space occupied by the outline of an obstacle, the mobile robot's actuator will collide with the obstacle.
[0129] Based on this, when determining the spatial contour information of the actuator, the pose coverage space of the actuator can be determined from the current moment until the mobile robot's actuator completes the execution of the preset instruction, according to the second dimension information of the actuator and the aforementioned preset instruction. The pose coverage space of the actuator includes the space covered by any pose that the actuator can assume during the execution of the preset instruction.
[0130] For example, when the mobile robot is a composite robot, its actuator is its robotic arm. When the robotic arm is stationary, the space it occupies is the space occupied by its outline. As the robotic arm executes preset commands, its pose changes continuously, and each time its pose changes, the space it covers also changes. Therefore, for a composite robot, the space that the robotic arm can cover is the space covered by all its poses from the current moment until it completes the execution of the preset command. If the preset command instructs the robotic arm to rotate one revolution, then the space that the robotic arm can cover is the space covered by all its poses during that revolution.
[0131] Based on this, when traversing each location point, the chassis contour information of the mobile robot in the preset coordinate system when the mobile robot is located at that location point, as well as the spatial contour information of the actuator's pose coverage space in the preset coordinate system from the current moment until the mobile robot's actuator completes the preset command, can be determined, thereby obtaining the motion space description information of the mobile robot.
[0132] Optionally, since the shape of the pose coverage space of the actuator may be irregular from the current moment until the actuator of the mobile robot completes the preset instruction, in order to save computing resources, the spatial contour information of the actuator can be represented by the smallest regular three-dimensional solid space that can surround the pose coverage space, such as a cube or a sphere, under the preset coordinate system.
[0133] S104: When traversing each location point, based on the obstacle contour information and motion space description information, determine whether the chassis and actuator collide with the obstacle when the mobile robot is located at that location point, and obtain the collision detection results between the mobile robot and the obstacle.
[0134] When traversing each location point, the electronic device can determine whether the chassis of the mobile robot has collided with the obstacle when the mobile robot is located at that location point, and whether the actuator of the mobile robot has collided with the obstacle, based on the acquired obstacle contour information and the motion space description information of the mobile robot. Thus, it obtains the collision detection results between the mobile robot and the obstacle.
[0135] In this embodiment, since the mobile robot includes a chassis and an actuator, a collision between the mobile robot and an obstacle means that the chassis and / or actuator of the mobile robot collide with the obstacle. That is, if the chassis of the mobile robot collides with an obstacle but the actuator of the mobile robot does not, or if the actuator of the mobile robot collides with an obstacle but the chassis of the mobile robot does not, or if both the chassis and the actuator of the mobile robot collide with an obstacle, then the mobile robot has collided with the obstacle. Conversely, if neither the chassis nor the actuator of the mobile robot collides with the obstacle, then the mobile robot has not collided with the obstacle.
[0136] Specifically, in this embodiment, when traversing each location point, it can be determined whether the outline of the mobile robot's chassis in the preset coordinate system overlaps with the outline of the obstacle in the preset coordinate system when the mobile robot is located at that location point. Furthermore, it can be determined whether the spatial outline of the actuator's pose coverage space in the preset coordinate system overlaps with the outline of the obstacle in the preset coordinate system during the process from the current moment until the mobile robot's actuator completes the preset instruction. Then, based on the above determination results, it can be determined whether the mobile robot's chassis and actuator collide with the obstacle.
[0137] Furthermore, for each location point, if the chassis outline information and obstacle outline information do not overlap when the mobile robot is located at that location point, and the spatial outline information and obstacle outline information do not overlap, then the mobile robot's chassis obstacle does not collide and the actuator does not collide with the obstacle. The collision detection result is that the mobile robot does not collide with the obstacle.
[0138] For each location point, if the chassis outline information and obstacle outline information overlap, and the spatial outline information and obstacle outline information overlap, then the chassis and actuator of the mobile robot will both collide with the obstacle, and the collision detection result will be that the mobile robot has collided with the obstacle.
[0139] For each location point, if the chassis contour information and obstacle contour information do not overlap when the mobile robot is at that location point, but the spatial contour information and obstacle contour information overlap, then the mobile robot's actuator collides with the obstacle, and the collision detection result is that the mobile robot collides with the obstacle.
[0140] For each location point, if the chassis outline information and obstacle outline information overlap but the spatial outline information and obstacle outline information do not overlap when the mobile robot is at that location point, then the mobile robot's chassis collides with the obstacle, and the collision detection result is that the mobile robot has collided with the obstacle.
[0141] Optionally, when determining the collision detection results between the mobile robot and the obstacle, the electronic device can output the collision detection results so that staff can view them.
[0142] As can be seen from the above, by applying the solution provided in the embodiments of this application, during the process of controlling the mobile robot to move along a preset movement path, the collision detection results between the mobile robot and the obstacles at each position point can be determined based on the obstacle outline information and the motion space description information of the mobile robot at each position point. In this way, the movement strategy of the mobile robot can be planned based on the above collision detection results, so as to avoid the mobile robot from colliding with the obstacles on the path and improve the safety of the mobile robot during movement.
[0143] Furthermore, since the collision detection results are determined based on obstacle contour information and motion space description information, which includes the chassis contour information of the mobile robot and the spatial contour information of the actuator, the resulting collision detection results comprehensively consider the possibility of collisions between the mobile robot's chassis and / or actuator and obstacles. This avoids collisions between the mobile robot's chassis and obstacles, as well as collisions between the mobile robot's actuator and obstacles while executing preset commands, thereby further improving the safety of the mobile robot during movement.
[0144] After determining the collision detection results between the mobile robot and the obstacle, a control strategy for the mobile robot can be determined based on the determined collision detection results.
[0145] Optionally, in one specific implementation, the collision detection method for a mobile robot provided in this application may further include the following steps 11-13:
[0146] 11: When traversing each location point, if the collision detection result indicates that neither the chassis nor the actuator collides with the obstacle, then traverse to the next location point;
[0147] 12: When traversing each location point, if the collision detection result indicates that the chassis and / or actuator collide with an obstacle, and that location point is the current position, then control the mobile robot to stop moving;
[0148] 13: When traversing each location point, if the collision detection result indicates that the chassis and / or actuator collide with an obstacle, and the location point is a location point other than the current location, then based on the distance between the current location and the location point, determine the correspondence between the collision distance and the moving speed of the mobile robot; control the chassis to move along the preset moving trajectory at the moving speed determined based on the correspondence, and control the actuator to execute preset commands; wherein, the collision distance is: the distance between the location of the mobile robot and the location point.
[0149] In this specific implementation, when traversing each position point, if the collision detection result indicates that neither the chassis nor the actuator collides with the obstacle, then the next position point is traversed.
[0150] Since the determined location points include the current position of the mobile robot, when traversing each location point in the direction from the current position to the end point of the preset movement path, the first point traversed is the current position. If the mobile robot is at this current position, and the collision detection result between the mobile robot and the obstacle indicates that the chassis and / or actuator collide with the obstacle, then to avoid further damage to the mobile robot, the mobile robot can be immediately stopped. Stopping the mobile robot means controlling the base of the mobile robot to stop moving, and controlling the actuator of the mobile robot to stop executing preset commands.
[0151] When traversing to each location other than the current location, if the collision detection result indicates that the chassis and / or actuator collide with an obstacle, then, in order to avoid the mobile robot colliding with the obstacle, the correspondence between the collision distance and the mobile robot's moving speed can be determined based on the distance between the current location and that location; where the collision distance is: the distance between the mobile robot's current location and that location.
[0152] In other words, to avoid collisions between the mobile robot and obstacles, the distance between the current position and the collision detection result (representing the point of collision between the robot and the obstacle), as well as the collision distance between the robot's current position and that point, can be used to rationally plan the robot's speed. This establishes a correspondence between the collision distance and the robot's speed. The robot's chassis can then be controlled to move along a preset trajectory at the speed determined by this correspondence. Furthermore, during the robot's movement, the actuators execute preset commands. Thus, by utilizing this correspondence between the collision distance and the robot's speed, the robot can decelerate upon encountering obstacles and safely stop at obstacles.
[0153] Specifically, during the movement of the mobile robot, the electronic device can obtain the collision distance between the mobile robot and the location point. Then, based on the aforementioned correspondence, it determines the target moving speed corresponding to the collision distance and sends a control command to the mobile robot instructing it to move at the target moving speed. The mobile robot can then receive the control command and move at the target moving speed indicated by it. Furthermore, as the collision distance decreases, the mobile robot's moving speed decreases, thereby achieving obstacle avoidance deceleration.
[0154] In the above, for each location point, if the mobile robot's chassis and / or actuator collide with an obstacle while it is at that location, that location point can be identified as the collision point. Then, based on the distance between the mobile robot's current position and the collision point, the collision distance between the mobile robot's current position and the collision point is determined during the robot's movement towards the collision point. The corresponding movement speed of the mobile robot is then determined, thus establishing the correspondence between the collision distance and the mobile robot's movement speed. By rationally planning the mobile robot's speed, it can be controlled to stop before reaching the aforementioned collision point, thereby preventing a collision with the obstacle. This process of ensuring the mobile robot stops before reaching the collision point can be called obstacle-stopping control for mobile robots. In other words, obstacle-stopping control is a control method that ensures the moving object stops in front of an obstacle without colliding with it when an obstacle exists on its trajectory.
[0155] Optionally, starting from the current position, the mobile robot can be controlled to decelerate uniformly according to a preset acceleration. Thus, the relationship between the collision distance and the mobile robot's speed can be represented by a straight line in a specified two-dimensional coordinate system.
[0156] Among them, such as Figure 3As shown, the horizontal axis of the specified two-dimensional coordinate system represents the collision distance, the vertical axis represents the moving speed of the mobile robot, the slope of the straight line represents the preset acceleration, and the slope is greater than 0; the horizontal coordinate n of the intersection point of the straight line and the horizontal axis of the specified two-dimensional coordinate system is the preset stopping distance; the preset stopping distance is the minimum distance between the mobile robot's current position and the specified position point when the mobile robot stops moving, and this preset stopping distance can be set according to actual needs, for example, it can be 2 meters, 5 meters, etc., which are all reasonable and are not specifically limited in this embodiment. Furthermore, the mobile robot is controlled to move along the preset moving path according to the above correspondence. Thus, as the mobile robot gradually approaches the specified position point, the collision distance between the mobile robot and the specified position point will continuously decrease, and the moving speed of the mobile robot will also continuously decrease; when the collision distance decreases to n, the moving speed of the mobile robot drops to 0, and it stops moving.
[0157] To avoid affecting the performance of the mobile robot due to prolonged uniform deceleration, the mobile robot can be controlled to perform multi-stage deceleration starting from the current position.
[0158] Based on this, optionally, in one specific implementation, the correspondence between the collision distance and the moving speed of the mobile robot is represented by a curve in a specified two-dimensional coordinate system;
[0159] In this system, the horizontal axis of the specified two-dimensional coordinate system represents the collision distance, the vertical axis of the specified two-dimensional coordinate system represents the moving speed of the mobile robot, and the horizontal axis of the intersection point of the curve and the horizontal axis of the specified two-dimensional coordinate system represents the preset stopping distance. The curve includes multiple curve segments, each curve segment represents a deceleration interval, and the slope of each curve segment is the acceleration of the mobile robot within the deceleration interval represented by that curve segment. Moreover, within each deceleration interval, the collision distance is positively correlated with the moving speed of the mobile robot.
[0160] The preset stopping distance is the minimum distance between the location of the mobile robot and the point where it stops moving; the acceleration is not greater than the maximum acceleration of the mobile robot and not less than the minimum acceleration of the mobile robot.
[0161] In this specific implementation, a preset minimum distance can be set between the location of the mobile robot and the point where the mobile robot collides with the obstacle when the mobile robot stops moving, as the preset stopping distance.
[0162] To avoid the impact of prolonged uniform deceleration on the mobile robot's performance, a correlation can be established between the collision distance and the robot's speed across multiple deceleration intervals. Within each deceleration interval, the collision distance and the robot's speed are positively correlated; that is, for each deceleration interval, the robot's speed decreases as the collision distance decreases. Thus, through multi-stage deceleration, the mobile robot can be controlled to stop moving when the distance to the desired location point reaches the preset stopping distance.
[0163] A specified two-dimensional coordinate system can be constructed, where the horizontal coordinate of the specified two-dimensional coordinate system represents the collision distance, and the vertical coordinate of the specified two-dimensional coordinate system represents the moving speed of the mobile robot.
[0164] Then, the relationship between the collision distance and the moving speed of the mobile robot can be represented by a curve in the specified two-dimensional coordinate system. The x-coordinate of the intersection point of the curve and the horizontal axis of the specified two-dimensional coordinate system represents the preset stopping distance.
[0165] The curve may consist of multiple segments, each representing a deceleration interval. For each segment, the slope represents the acceleration of the mobile robot within the deceleration interval it represents. To protect the robot's performance, this acceleration must not exceed the robot's maximum acceleration and must not be less than its minimum acceleration. Furthermore, the accelerations in each deceleration interval may be the same or different.
[0166] In this way, by setting the correspondence between the collision distance, which includes multiple deceleration zones, and the moving speed of the mobile robot, obstacle stopping control of the mobile robot can be achieved while meeting the equipment performance requirements of the mobile robot.
[0167] As shown in Figure 4(a), the horizontal axis of this coordinate system represents the collision distance, and the vertical axis represents the moving speed of the mobile robot. The horizontal coordinate 'a' of the intersection point of the curve and the horizontal axis of the specified two-dimensional coordinate system is the preset stopping distance; the curve includes multiple curve segments (a, b), (b, c), and (c, d). Specifically, the deceleration start point of deceleration zone A is b, the deceleration end point is a, and the target acceleration of the mobile robot in deceleration zone A is a1; the deceleration start point of deceleration zone B is c, the deceleration end point is d, and the target acceleration of the mobile robot in deceleration zone B is a2; the deceleration start point of deceleration zone C is d, the deceleration end point is c, and the target acceleration of the mobile robot in deceleration zone C is a3.
[0168] The following section, in conjunction with Figure 4(a), explains the method for constructing the correspondence between the collision distance and the moving speed of the mobile robot.
[0169] For deceleration interval A, the collision distance range (a, b) corresponding to this deceleration interval can be determined, the acceleration a1 of the mobile robot in this deceleration interval, and the moving speed 0 of the mobile robot at the deceleration termination point in this deceleration interval. Then, based on the above collision distance range, acceleration, and moving speed at the deceleration termination point, the moving speed of the mobile robot corresponding to each collision distance in this deceleration interval A can be calculated, thus obtaining the sub-correspondence between the collision distance and the moving speed of the mobile robot in this deceleration interval, as well as the moving speed v1 at the deceleration start point of this deceleration interval.
[0170] For deceleration interval B, the collision distance range (b, c) corresponding to this deceleration interval can be determined, the acceleration a2 of the mobile robot in this deceleration interval can be determined, and the moving speed v1 of the mobile robot at the deceleration termination point in this deceleration interval can be determined. Then, based on the above collision distance range, acceleration, and moving speed at the deceleration termination point, the moving speed of the mobile robot corresponding to each collision distance in this deceleration interval B can be calculated, thus obtaining the sub-correspondence between the collision distance and the moving speed of the mobile robot in this deceleration interval, as well as the moving speed v2 at the deceleration start point of this deceleration interval.
[0171] For the deceleration interval C, we can determine the corresponding collision distance range (c, d), the robot's acceleration a3 within this interval, the robot's velocity v2 at the deceleration termination point, and the robot's velocity v3 at the deceleration start point. Then, based on the collision distance range, acceleration, robot velocity at the deceleration start point, and robot velocity at the deceleration termination point, we can calculate the robot's velocity corresponding to each collision distance within the deceleration interval C, thus obtaining a sub-correspondence between collision distance and robot velocity within this deceleration interval. When the collision distance is greater than d, the robot's velocity remains v3.
[0172] After determining the sub-correspondence between collision distance and mobile robot speed within each deceleration zone, the overall correspondence between collision distance and mobile robot speed can be obtained. By setting the correspondence between collision distance and mobile robot speed across multiple deceleration zones, obstacle-stopping control of the mobile robot can be achieved while meeting the robot's equipment performance requirements.
[0173] Optionally, a uniform speed interval can exist between any two adjacent deceleration intervals. That is, between any two adjacent deceleration intervals, there exists a collision distance corresponding to a fixed moving speed of the mobile robot. In this case, the deceleration termination point of the preceding deceleration interval and the deceleration start point of the following deceleration interval can be different. Thus, for each pair of adjacent deceleration intervals, the collision distance range between the deceleration termination point of the preceding interval and the deceleration start point of the following interval can be determined. Furthermore, when the collision distance is within this range, the moving speed of the mobile robot is determined to be the moving speed corresponding to the deceleration termination point of the preceding interval, obtaining a direct correspondence between the collision distance and the moving speed of the mobile robot when the collision distance is within this range. Since the moving speed of the mobile robot remains constant within this collision distance range, the collision distance range can be called a uniform speed interval. Moreover, within each uniform speed interval, the moving speed of the mobile robot does not change with the collision distance.
[0174] As shown in Figure 4(b), the curve includes three deceleration intervals: deceleration interval D(e, f), deceleration interval E(g, h), and deceleration interval F(i, j). In deceleration interval D, the deceleration termination point is e, the deceleration start point is f, and the target acceleration of the mobile robot in deceleration interval D is a4. In deceleration interval E, the deceleration termination point is g, the deceleration start point is h, and the target acceleration of the mobile robot in deceleration interval E is a5. In deceleration interval F, the deceleration termination point is i, the deceleration start point is j, and the target acceleration of the mobile robot in deceleration interval F is a6.
[0175] Since the deceleration start point f of deceleration interval D is different from the deceleration end point g of deceleration interval E, the collision distance range between the deceleration start point f and the deceleration end point g is (f, g). When the collision distance is within this collision distance range (f, g), the moving speed of the mobile robot is the moving speed v4 corresponding to the deceleration end point g. Therefore, (f, g) is a uniform speed interval.
[0176] Correspondingly, the intervals (h, i) and (j, k) are also uniform speed intervals. The mobile robot moves at a speed of v5 in the interval (h, i) and at a speed of v6 in the interval (j, k).
[0177] Thus, by determining the sub-correspondence between the collision distance and the moving speed of the mobile robot within each deceleration interval and uniform speed interval on the curve, the correspondence between the collision distance and the moving speed of the mobile robot can be obtained.
[0178] Optionally, in one specific implementation, the collision detection method for a mobile robot provided in this application embodiment may further include the following steps 21-22:
[0179] Step 21: When the chassis meets the preset movement conditions, determine the new current position of the mobile robot, and return to the step of sampling the position points of the path from the current position of the mobile robot to the end point of the preset movement path.
[0180] The preset movement conditions include: moving a specified distance, or moving for a specified duration;
[0181] Step 22: When the mobile robot is detected to meet any of the multiple preset stopping conditions, control the chassis and actuator to stop moving;
[0182] The preset stopping conditions include: the distance between the space covered by the pose of the actuator when executing the preset command and the outline of the obstacle is less than or equal to a preset distance; the mobile robot moves to the endpoint; and the mobile robot does not move to the endpoint and the chassis moving speed is 0.
[0183] In this specific implementation, during the movement of the mobile robot, there may be various situations such as the removal of detected obstacles or the appearance of new obstacles on the movement path. Therefore, in order to improve the safety of the mobile robot during operation, the current position of the mobile robot can be updated during the movement of the mobile robot, and the above steps S101-S104 are executed each time the current position is updated to perform collision detection on the path in front of the current position.
[0184] To determine when to update the current position of the mobile robot, a preset movement condition can be set in advance. When the mobile robot meets the preset movement condition, the current position can be updated, that is, the new current position of the mobile robot can be determined. Then, the step of sampling the position points of the path from the current position of the mobile robot to the end of the preset movement path is returned to perform collision detection on the path in front of the new current position of the mobile robot.
[0185] The aforementioned preset movement conditions can be set according to actual needs. They can be movement for a specified duration, such as 10 seconds, or movement for a specified distance, such as 10 meters. These are all reasonable and are not specifically limited in this embodiment.
[0186] Accordingly, in this specific implementation, when the mobile robot is detected to meet any of the multiple preset stopping conditions, the chassis of the mobile robot can be controlled to stop moving, and the actuator of the mobile robot can be controlled to stop moving.
[0187] The preset stopping conditions may include: the distance between the space covered by the pose of the actuator when executing the preset command and the outline of the obstacle is less than or equal to a preset distance; the mobile robot moves to the endpoint; and the mobile robot does not move to the endpoint and the chassis moves at a speed of 0.
[0188] When the mobile robot reaches the end of the preset movement path, since the mobile robot no longer needs to move along the preset movement path, the chassis of the mobile robot can be controlled to stop moving, the actuators of the mobile robot can be controlled to stop moving, and the collision detection of the mobile robot can be stopped.
[0189] If the mobile robot has not reached its destination but its chassis slows down to 0 due to approaching an obstacle, the chassis will stop moving. Since there is an obstacle in front, the actuator controlling the mobile robot will stop moving and cease collision detection to avoid a collision.
[0190] If, during the movement of a mobile robot, the distance between the space covered by the pose of the actuator executing a preset command and the outline of an obstacle is less than or equal to a preset distance, and the mobile robot continues to move, the actuator will collide with the obstacle. Furthermore, if the distance between the space covered by the pose of the actuator executing a preset command and the outline of an obstacle is less than or equal to the preset distance, the actuator of the mobile robot can be controlled to stop moving. Since the actuator stops moving, the preset command cannot be executed, the task execution fails, and thus, the chassis of the mobile robot can be controlled to stop moving. Correspondingly, since the mobile robot no longer moves forward, collision detection of the forward path is no longer necessary.
[0191] The aforementioned preset distance can be set according to actual needs, such as 1 meter, 3 meters, etc.; and the preset distance and the aforementioned preset execution distance can be the same or different, which is reasonable and is not specifically limited in this application embodiment.
[0192] Regarding the detection results of mobile robots and obstacles: when the chassis and / or actuator collide with the obstacle, in order to prevent the obstacle from affecting the mobile robot's operation, the staff can be instructed to remove the obstacle.
[0193] Optionally, in one specific implementation, the mobile robot collision detection method provided in this application embodiment may further include the following step 31:
[0194] Step 31: If the distance between the space covered by the pose of the actuator when executing the preset command and the outline of the obstacle is less than or equal to the preset distance, or if the mobile robot has not moved to the end point and the chassis moving speed is 0, then output a notification message to prompt the removal of the obstacle.
[0195] In this specific implementation, if the distance between the space covered by the pose of the actuator when executing the preset command and the outline of the obstacle is less than or equal to the preset distance, then the distance between the actuator of the mobile robot and the obstacle is too close. In order to avoid the obstacle affecting the mobile robot's business operations, a notification message can be output to prompt the removal of the obstacle, so that the staff can remove the obstacle when they receive the notification message.
[0196] If the mobile robot fails to reach its destination and the chassis's moving speed is 0, the obstacle prevents the mobile robot from continuing to perform its tasks along the preset moving path. Therefore, a notification message can be output to prompt the removal of the obstacle, so that when the staff receives the notification message, they can remove the obstacle. After the obstacle is removed, the electronic device can control the mobile robot to continue moving along the preset moving path.
[0197] In summary, by outputting a notification message to remove the obstacle when the mobile robot's actuator is too close to the obstacle, a collision between the mobile robot's actuator and the obstacle can be avoided; and by outputting a notification message to remove the obstacle when the mobile robot slows down to 0 due to the obstacle, the obstacle can be prevented from blocking the mobile robot from performing its work for a long time, thereby improving the mobile robot's work efficiency.
[0198] In some cases, to avoid damage to the actuators of mobile robots, a safe distance threshold for the actuators during operation can be defined based on the type of business operation and the type of actuator, namely the preset execution distance mentioned above.
[0199] Based on this, in one optional implementation, step 13 above, controlling the actuator to execute the preset instruction, may include the following steps 41-42:
[0200] Step 41: If the distance between the space covered by the pose of the actuator when executing the preset command and the outline of the obstacle is greater than the preset execution distance, then control the actuator to execute the preset command;
[0201] Step 42: If the distance between the space covered by the pose of the actuator when executing the preset command and the outline of the obstacle is not greater than the preset execution distance, then control the actuator to stop executing the preset command.
[0202] In this specific implementation, controlling the chassis to move along a preset trajectory at a speed determined based on the correspondence relationship can control the actuator to execute preset commands.
[0203] If the distance between the space covered by the pose of the actuator when executing the preset command and the outline of the obstacle is greater than the preset execution distance, the actuator can be controlled to execute the preset command.
[0204] When the actuator executes a preset command, if the distance between the space covered by the actuator's pose and the outline of the obstacle is not greater than a preset execution distance, the actuator can be controlled to stop executing the preset command to avoid damage. The preset execution distance can be set according to actual needs, for example, it could be 2 meters, 5 meters, etc., all of which are reasonable and are not specifically limited in this embodiment.
[0205] For example, a safe distance threshold S_safe for the execution mechanism can be defined based on the type of the execution mechanism and the type of business task. The control chassis moves along a preset trajectory at a speed determined based on the correspondence. If the distance S_collide between the space covered by the pose of the execution mechanism when executing the preset command and the outline of the obstacle is greater than S_safe, the preset command is output to enable the execution mechanism to execute the preset command normally. If the distance S_collide between the space covered by the pose of the execution mechanism when executing the preset command and the outline of the obstacle is not greater than S_safe, a stop command is output to control the execution mechanism to stop executing the preset command.
[0206] In some cases, the shape of the chassis and / or actuator of a mobile robot may be irregular. In order to accurately determine the chassis space information and motion space information of the mobile robot at each location point, the calculation accuracy requirements are high, which in turn leads to the large amount of computing resources required.
[0207] Based on this, in one optional implementation, the method for determining the chassis outline information in step S102 above may include the following steps 51-52:
[0208] Step 51: Based on the first dimension information of the mobile robot's chassis, determine the first minimum rectangle that projects the outline of the chassis onto the specified plane in the specified plane of the preset coordinate system, and determine the coordinates of the lowest point and the highest point of the chassis outline on the specified coordinate axis of the preset coordinate system that is perpendicular to the specified plane.
[0209] Step 52: In the preset coordinate system, construct a first cuboid with the difference between the coordinates of the highest point and the lowest point of the chassis as its height and the smallest chassis rectangle as its base, and determine the coordinates of each vertex of the first cuboid in the preset coordinate system as the chassis outline information in the preset coordinate system.
[0210] In this specific implementation, based on the first dimension information of the mobile robot's chassis, a first minimum rectangle projecting the outline of the chassis onto a specified plane parallel to the horizontal plane in a preset coordinate system can be determined. Then, the coordinates of the lowest and highest points of the chassis outline are determined on a specified coordinate axis perpendicular to the specified plane in the preset coordinate system. Next, a first cuboid can be constructed in the preset coordinate system with the difference between the highest and lowest points of the chassis as its height and the minimum chassis rectangle as its base. That is, the base of this first cuboid is the first minimum rectangle; the height is the difference between the lowest and highest points of the chassis outline, and on the specified coordinate axis, the lowest point of the height is the lowest point of the chassis, and the highest point of the height is the highest point of the chassis.
[0211] After determining the first cuboid, the coordinates of each vertex of the first cuboid in the preset coordinate system can be determined as the chassis outline information of the chassis in the preset coordinate system.
[0212] The process of constructing the first cuboid described above is the process of constructing the three-dimensional convex bounding box of the chassis outline; and the process of determining the coordinates of each vertex of the first cuboid in the preset coordinate system is the process of describing the three-dimensional convex bounding box. The three-dimensional convex bounding box is composed of the vertex set {V_1,V_2,V_3,…,V_n} of a convex polygon defined in a planar xy coordinate system, and the bottom height (h_bottom) and top height (h_top) of a convex polyhedron defined along the z-axis.
[0213] For example, such as Figure 5 As shown, the preset coordinate system is Figure 5 The xyz coordinate system can be used to determine the first minimum rectangle V_1V_2V_3V_4 that encloses the projection of the mobile robot's chassis onto the xy plane, based on the first dimension information of the mobile robot's chassis. Then, the coordinates of the lowest point h_bottom and the highest point h_top of the chassis are determined on the z plane. Finally, in the xyz coordinate system, a first cuboid is constructed with the difference between h_bottom and h_top as its height and V_1V_2V_3V_4 as its base, serving as the chassis contour information in the xyz coordinate system.
[0214] Correspondingly, optionally, in one specific implementation, the method for determining the spatial contour information in step S102 above may include the following steps 53-55:
[0215] Step 53: Based on the second dimension information of the mobile robot's actuator, the current pose of the mobile robot, and the execution action of the actuator indicated by the preset command, determine the process from the current moment until the mobile robot's actuator completes the execution of the preset command, and the pose coverage space of the actuator;
[0216] Step 54: In a specified plane parallel to the horizontal plane of the preset coordinate system, determine the second minimum rectangle that encloses the projection of the pose coverage space onto the specified plane, and determine the coordinates of the highest point and the lowest point of the pose coverage space on the specified coordinate axis perpendicular to the specified plane of the preset coordinate system.
[0217] Step 55: In the preset coordinate system, construct a second cuboid with the difference between the coordinates of the highest and lowest pose points as its height and the second smallest rectangle as its base, and determine the coordinates of each vertex of the second cuboid in the preset coordinate system. This serves as the spatial contour information of the pose coverage space of the actuator in the preset coordinate system from the current moment until the actuator of the mobile robot completes the preset instruction.
[0218] In this specific implementation, the process from the current moment until the mobile robot's actuator completes the preset instruction can be determined based on the second dimension information of the mobile robot's actuator, the current pose of the mobile robot, and the execution action of the actuator indicated by the preset instruction. The pose coverage space of the actuator is also determined.
[0219] Then, in a specified plane parallel to the horizontal plane of the preset coordinate system, determine the second minimum rectangle that encloses the projection of the pose coverage space onto the specified plane, and determine the coordinates of the highest and lowest points of the pose coverage space on a specified coordinate axis perpendicular to the specified plane of the preset coordinate system.
[0220] Next, in a preset coordinate system, a second cuboid can be constructed with the difference between the coordinates of the highest and lowest pose points as its height, and the second minimum rectangle as its base. That is, the base of the second cuboid is the aforementioned second minimum rectangle; the height value is the difference between the coordinates of the lowest and highest pose points of the chassis outline, and on the specified coordinate axes, the coordinates of the lowest point of the height are the coordinates of the lowest pose point, and the coordinates of the highest point of the height are the coordinates of the highest pose point.
[0221] Furthermore, the coordinates of each vertex of the second cuboid in the preset coordinate system can be determined, which serves as the spatial contour information of the actuator's pose coverage space in the preset coordinate system from the current moment until the actuator of the mobile robot completes the preset instruction.
[0222] Since both the chassis cuboid and the pose cuboid are relatively regular shapes, the first cuboid can represent the space occupied by the chassis outline in a preset coordinate system, and the second cuboid can represent the pose coverage space of the actuator from the current moment until the mobile robot's actuator completes the preset command. This transforms the space occupied by the chassis outline and the pose coverage space into relatively regular spaces. Therefore, the requirements for computational accuracy can be reduced, thereby reducing the computational resources required to determine the chassis outline information and spatial outline information. Furthermore, the first cuboid approximates the space occupied by the mobile robot's chassis outline and the pose coverage space; therefore, the collision detection results obtained using the first and second cuboids are relatively accurate.
[0223] Furthermore, if the mobile robot is composed of multiple parts, it can be divided into multiple parts, and a three-dimensional convex bounding box can be constructed for each part. Then, the coordinates of each vertex of each three-dimensional convex bounding box in a preset coordinate system can be used as the motion space description information of the mobile robot.
[0224] For example, such as Figure 6 As shown, the mobile robot can be divided into three parts: A, B1, and B2, and the three-dimensional convex bounding boxes A_1, B1, and B2 in the preset coordinate system can be obtained respectively.
[0225] The collision detection method for mobile robots provided in this application can be used to control the stopping of mobile robots.
[0226] Below, in conjunction with Figure 7 The process of collision detection and obstacle stopping control for mobile robots is explained. Figure 7 As shown, the process of collision detection and obstacle control for a mobile robot may include the following steps S701-S707.
[0227] S701: Obtain the structural dimensions of the mobile robot;
[0228] S702: Obtain current location information and environmental obstacle perception information;
[0229] S703: Sampling of position points from the current position to the destination along the preset movement trajectory;
[0230] S704: Based on the mobile robot's motion space description information and obstacle contour information, perform collision detection and output the collision detection results;
[0231] S705: Calculate the distance between the current position of the mobile robot and the collision point;
[0232] S706: Optimize the speed of the mobile robot based on the collision distance;
[0233] S707: Controls the movement of the mobile robot, enabling the chassis to slow down and safely stop when encountering obstacles.
[0234] To improve the operational safety of mobile robots, we can first obtain the structural dimensions of the mobile robot, as well as its current positioning information and environmental obstacle perception information.
[0235] Next, along the preset movement trajectory, position points are sampled from the current position to the endpoint of the preset movement path, resulting in multiple position points. Each position point is traversed, and at each position point, the motion space description information of the mobile robot at that position point is determined. Then, based on the mobile robot's motion space description information and the perceived obstacle contour information, collision detection is performed to obtain the collision detection results between the mobile robot and the obstacles, and these results are output.
[0236] Then, the distance between the mobile robot's current position and the collision point is calculated. Based on this distance, the correspondence between the collision distance and the mobile robot's speed is determined, allowing for reasonable speed planning for the robot based on the collision distance. Furthermore, the mobile robot is controlled to move along a preset trajectory at the speed determined by the correspondence, and stops when the distance to the obstacle reaches a preset stopping distance, thus achieving obstacle detection, deceleration, and safe stopping.
[0237] Based on the same inventive concept, and corresponding to the embodiments provided in this application above... Figure 1 The present invention provides a collision detection method for a mobile robot, and also provides a collision detection device for a mobile robot.
[0238] Figure 8 This is a schematic diagram of the structure of a collision detection device for a mobile robot provided in an embodiment of this application, as shown below. Figure 8 As shown, the device may include the following modules:
[0239] The sampling module 810 is used to sample the location points of the path from the current position of the mobile robot to the end point of the preset movement path in the preset movement path of the mobile robot, and obtain multiple location points including the current position and the end point.
[0240] The obstacle contour information acquisition module 820 is used to acquire the obstacle contour information of the obstacle detected by the mobile robot at the current position in a preset coordinate system.
[0241] The motion space description information acquisition module 830 is used to traverse each of the plurality of position points in the direction from the current position to the endpoint, and determine the motion space description information of the mobile robot when it is located at each position point; wherein, the motion space description information includes: the chassis outline information of the mobile robot in the preset coordinate system, and the spatial outline information of the pose coverage space of the actuator in the preset coordinate system from the current moment to the completion of the preset instruction by the actuator of the mobile robot;
[0242] The judgment module 840 is used to determine, when traversing each position point, whether the chassis and the actuator collide with the obstacle based on the obstacle contour information and the motion space description information, and obtain the collision detection result of the mobile robot and the obstacle.
[0243] As can be seen from the above, by applying the solution provided in the embodiments of this application, during the process of controlling the mobile robot to move along a preset movement path, the collision detection results between the mobile robot and the obstacles at each position point can be determined based on the obstacle outline information and the motion space description information of the mobile robot at each position point. In this way, the movement strategy of the mobile robot can be planned based on the above collision detection results, so as to avoid the mobile robot from colliding with the obstacles on the path and improve the safety of the mobile robot during movement.
[0244] Furthermore, since the collision detection results are determined based on obstacle contour information and motion space description information, which includes the chassis contour information of the mobile robot and the spatial contour information of the actuator, the resulting collision detection results comprehensively consider the possibility of collisions between the mobile robot's chassis and / or actuator and obstacles. This avoids collisions between the mobile robot's chassis and obstacles, as well as collisions between the mobile robot's actuator and obstacles while executing preset commands, thereby further improving the safety of the mobile robot during movement.
[0245] Optionally, in one specific implementation, the apparatus further includes:
[0246] The traversal module is used to, when traversing each position point, if the collision detection result indicates that neither the chassis nor the actuator collides with the obstacle, then traverse to the next position point;
[0247] The first control module is used to control the mobile robot to stop moving if the collision detection result indicates that the chassis and / or the actuator collide with the obstacle when traversing each position point, and the position point is the current position.
[0248] The relationship determination module is used to determine the correspondence between the collision distance and the moving speed of the mobile robot based on the distance between the current position and the location point when traversing each location point. If the collision detection result indicates that the chassis and / or the actuator collides with the obstacle, and the location point is a location point other than the current position, then the module controls the chassis to move along the preset moving trajectory at the moving speed determined based on the correspondence, and controls the actuator to execute the preset command. The collision distance is the distance between the location of the mobile robot and the location point.
[0249] Optionally, in one specific implementation, the apparatus further includes:
[0250] The return module is used to determine the new current position of the mobile robot when the chassis is detected to meet the preset movement conditions, and return to the step of sampling the position points of the path from the current position of the mobile robot to the end point of the preset movement path of the mobile robot; wherein, the preset movement conditions include: moving a specified distance, or moving for a specified duration;
[0251] The second control module is used to control the chassis and the actuator to stop moving when the mobile robot is detected to meet any one of a plurality of preset stopping conditions; wherein the preset stopping conditions include: the distance between the space covered by the pose of the actuator when executing the preset command and the outline of the obstacle is less than or equal to a preset distance, the mobile robot moves to the endpoint, and the mobile robot does not move to the endpoint and the moving speed of the chassis is 0.
[0252] Optionally, in one specific implementation, the apparatus further includes:
[0253] The message output module is used to output a notification message prompting the removal of the obstacle if it is detected that the distance between the space covered by the pose of the actuator when executing the preset instruction and the outline of the obstacle is less than or equal to a preset distance, or if the mobile robot has not moved to the endpoint and the moving speed of the chassis is 0.
[0254] Optionally, in one specific implementation, the correspondence between the collision distance and the moving speed of the mobile robot is represented by a curve in a specified two-dimensional coordinate system;
[0255] Wherein, the horizontal axis of the specified two-dimensional coordinate system represents the collision distance, the vertical axis of the specified two-dimensional coordinate system represents the moving speed of the mobile robot, and the horizontal axis of the intersection of the curve and the horizontal axis of the specified two-dimensional coordinate system represents the preset stopping distance; the curve includes multiple curve segments, each curve segment represents a deceleration interval, the slope of each curve segment is the acceleration of the mobile robot within the deceleration interval represented by the curve segment, and within each deceleration interval, the collision distance is positively correlated with the moving speed of the mobile robot;
[0256] The preset stopping distance is: the preset minimum distance between the location of the mobile robot and the location point when the mobile robot stops moving; the acceleration is not greater than the maximum acceleration of the mobile robot and not less than the minimum acceleration of the mobile robot.
[0257] Optionally, in one specific implementation, the relationship determination module is specifically used for:
[0258] If the distance between the space covered by the pose of the actuator when executing the preset instruction and the outline of the obstacle is greater than the preset execution distance, then the actuator is controlled to execute the preset instruction;
[0259] If the distance between the space covered by the pose of the actuator when executing the preset instruction and the outline of the obstacle is not greater than the preset execution distance, then the actuator is controlled to stop executing the preset instruction.
[0260] Optionally, in one specific implementation, the motion space description information acquisition module 830 includes a first determining submodule; the first determining submodule is specifically used for:
[0261] Based on the first dimension information of the chassis of the mobile robot, in a designated plane parallel to the horizontal plane of the preset coordinate system, a first minimum rectangle that projects the outline of the chassis onto the designated plane is determined, and the coordinates of the lowest point and the highest point of the chassis outline are determined on a designated coordinate axis perpendicular to the designated plane of the preset coordinate system.
[0262] In the preset coordinate system, a first cuboid is constructed with the difference between the coordinates of the highest point and the lowest point of the chassis as its height and the smallest chassis rectangle as its base. The coordinates of each vertex of the first cuboid in the preset coordinate system are determined as the chassis outline information of the chassis in the preset coordinate system.
[0263] Optionally, in one specific implementation, the motion space description information acquisition module 830 includes a second determining submodule; the second determining submodule is specifically used for:
[0264] Based on the second dimension information of the mobile robot's actuator, the current pose of the mobile robot, and the execution action of the actuator indicated by the preset command, the process from the current moment to the completion of the preset command by the mobile robot's actuator is determined, and the pose of the actuator covers the space.
[0265] In a designated plane parallel to the horizontal plane of the preset coordinate system, determine the second minimum rectangle that encloses the projection of the pose coverage space onto the designated plane, and determine the coordinates of the highest and lowest points of the pose coverage space on a designated coordinate axis perpendicular to the designated plane of the preset coordinate system.
[0266] In the preset coordinate system, a second cuboid is constructed with the difference between the coordinates of the highest point and the lowest point of the pose as its height and the second smallest rectangle as its base. The coordinates of each vertex of the second cuboid in the preset coordinate system are determined as the process from the current moment until the execution mechanism of the mobile robot completes the execution of the preset instruction. The pose coverage space of the execution mechanism is the spatial contour information in the preset coordinate system.
[0267] This application also provides an electronic device, such as... Figure 9 As shown, it includes:
[0268] Memory 901 is used to store computer programs;
[0269] When the processor 902 executes the program stored in the memory 901, it implements the steps of any of the collision detection methods for mobile robots provided in the embodiments of this application.
[0270] Furthermore, the aforementioned electronic device may also include a communication bus and / or a communication interface, with the processor 902, communication interface, and memory 901 communicating with each other via the communication bus.
[0271] The communication bus mentioned in the above electronic devices can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This communication bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used to represent it in the diagram, but this does not mean that there is only one bus or one type of bus.
[0272] The communication interface is used for communication between the aforementioned electronic devices and other devices.
[0273] The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage device. Optionally, the memory may also be at least one storage device located remotely from the aforementioned processor.
[0274] The processors mentioned above can be general-purpose processors, including central processing units (CPUs), network processors (NPs), etc.; they can also be digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0275] In another embodiment provided in this application, a computer-readable storage medium is also provided, which stores a computer program that, when executed by a processor, implements the steps of the collision detection method for any of the mobile robots described above.
[0276] In another embodiment provided in this application, a computer program product containing instructions is also provided, which, when run on a computer, causes the computer to execute the collision detection method of any of the mobile robots described in the above embodiments.
[0277] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a solid-state drive (SSD), etc.
[0278] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0279] The various embodiments in this specification are described in a related manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the device embodiments, electronic device embodiments, computer-readable storage medium embodiments, and computer program product embodiments are basically similar to the method embodiments, so the descriptions are relatively simple; relevant parts can be referred to the descriptions of the method embodiments.
[0280] The above description is merely a preferred embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application are included within the scope of protection of this application.
Claims
1. A collision detection method for a mobile robot, characterized in that, The method includes: In the preset movement path of the mobile robot, the path from the current position of the mobile robot to the end point of the preset movement path is sampled to obtain multiple position points including the current position and the end point; Obtain the outline information of the obstacle detected by the mobile robot at the current position in a preset coordinate system; Following the direction from the current position to the endpoint, each of the plurality of position points is traversed, and when each position point is reached, the motion space description information of the mobile robot at that position point is determined; wherein, the motion space description information includes: the chassis outline information of the mobile robot in the preset coordinate system, and the spatial outline information of the pose coverage space of the actuator in the preset coordinate system from the current moment until the actuator of the mobile robot completes the execution of the preset command; When traversing each location point, based on the obstacle contour information and the motion space description information, it is determined whether the chassis and the actuator collide with the obstacle when the mobile robot is located at that location point, and the collision detection result of the mobile robot and the obstacle is obtained.
2. The method according to claim 1, characterized in that, The method further includes: When traversing to each location point, perform the following steps: If the collision detection result indicates that neither the chassis nor the actuator collides with the obstacle, then the next position point is traversed. If the collision detection result indicates that the chassis and / or the actuator collide with the obstacle, and the location point is the current position, then control the mobile robot to stop moving; If the collision detection result indicates that the chassis and / or the actuator collide with the obstacle, and the location point is a location point other than the current location, then based on the distance between the current location and the location point, a correspondence between the collision distance and the moving speed of the mobile robot is determined; the chassis is controlled to move along the preset moving path at the moving speed determined based on the correspondence, and the actuator is controlled to execute the preset command; wherein, the collision distance is: the distance between the location of the mobile robot and the location point.
3. The method according to claim 2, characterized in that, The method further includes: When the chassis is detected to meet the preset movement conditions, the new current position of the mobile robot is determined, and the step of sampling the position points of the path from the current position of the mobile robot to the end point of the preset movement path is returned; wherein, the preset movement conditions include: moving a specified distance, or moving for a specified duration; When the mobile robot is detected to meet any of a plurality of preset stopping conditions, the chassis and the actuator are controlled to stop moving; wherein the preset stopping conditions include: the distance between the space covered by the pose of the actuator when executing the preset command and the outline of the obstacle is less than or equal to a preset distance, the mobile robot moves to the endpoint, and the mobile robot does not move to the endpoint and the moving speed of the chassis is 0.
4. The method according to claim 3, characterized in that, The method further includes: If the distance between the space covered by the pose of the actuator when executing the preset command and the outline of the obstacle is less than or equal to a preset distance, or if the mobile robot has not moved to the endpoint and the chassis's moving speed is 0, then a notification message to prompt the removal of the obstacle will be output.
5. The method according to claim 2, characterized in that, The relationship between the collision distance and the moving speed of the mobile robot is represented by a curve in a specified two-dimensional coordinate system; Wherein, the horizontal axis of the specified two-dimensional coordinate system represents the collision distance, the vertical axis of the specified two-dimensional coordinate system represents the moving speed of the mobile robot, and the horizontal axis of the intersection of the curve and the horizontal axis of the specified two-dimensional coordinate system represents the preset stopping distance; the curve includes multiple curve segments, each curve segment represents a deceleration interval, the slope of each curve segment is the acceleration of the mobile robot within the deceleration interval represented by the curve segment, and within each deceleration interval, the collision distance is positively correlated with the moving speed of the mobile robot; The preset stopping distance is: the preset minimum distance between the location of the mobile robot and the location point when the mobile robot stops moving; the acceleration is not greater than the maximum acceleration of the mobile robot and not less than the minimum acceleration of the mobile robot.
6. The method according to claim 2, characterized in that, The control of the actuator to execute the preset instruction includes: If the distance between the space covered by the pose of the actuator when executing the preset instruction and the outline of the obstacle is greater than the preset execution distance, then the actuator is controlled to execute the preset instruction; If the distance between the space covered by the pose of the actuator when executing the preset instruction and the outline of the obstacle is not greater than the preset execution distance, then the actuator is controlled to stop executing the preset instruction.
7. The method according to any one of claims 1-6, characterized in that, The method for determining the chassis outline information includes: Based on the first dimension information of the chassis of the mobile robot, in a designated plane parallel to the horizontal plane of the preset coordinate system, a first minimum rectangle that projects the outline of the chassis onto the designated plane is determined, and the coordinates of the lowest point and the highest point of the chassis outline are determined on a designated coordinate axis perpendicular to the designated plane of the preset coordinate system. In the preset coordinate system, a first cuboid is constructed with the difference between the coordinates of the highest point and the lowest point of the chassis as its height and the first minimum rectangle as its base. The coordinates of each vertex of the first cuboid in the preset coordinate system are determined as the chassis outline information of the chassis in the preset coordinate system.
8. The method according to any one of claims 1-6, characterized in that, The method for determining the spatial contour information includes: Based on the second dimension information of the mobile robot's actuator, the current pose of the mobile robot, and the execution action of the actuator indicated by the preset command, the process from the current moment to the completion of the preset command by the mobile robot's actuator is determined, and the pose of the actuator covers the space. In a designated plane parallel to the horizontal plane of the preset coordinate system, determine the second minimum rectangle that encloses the projection of the pose coverage space onto the designated plane, and determine the coordinates of the highest and lowest points of the pose coverage space on a designated coordinate axis perpendicular to the designated plane of the preset coordinate system. In the preset coordinate system, a second cuboid is constructed with the difference between the coordinates of the highest point and the lowest point of the pose as its height and the second smallest rectangle as its base. The coordinates of each vertex of the second cuboid in the preset coordinate system are determined as the process from the current moment until the execution mechanism of the mobile robot completes the execution of the preset instruction. The pose coverage space of the execution mechanism is the spatial contour information in the preset coordinate system.
9. A collision detection device for a mobile robot, characterized in that, The device includes: The sampling module is used to sample the location points of the path from the current position of the mobile robot to the end point of the preset movement path in the mobile robot's preset movement path, and obtain multiple location points including the current position and the end point. An obstacle contour information acquisition module is used to acquire the obstacle contour information of the obstacle detected by the mobile robot at the current position in a preset coordinate system. The motion space description information acquisition module is used to traverse each of the plurality of position points in the direction from the current position to the endpoint, and determine the motion space description information of the mobile robot when it is located at each position point; wherein, the motion space description information includes: the chassis outline information of the mobile robot in the preset coordinate system, and the spatial outline information of the pose coverage space of the actuator in the preset coordinate system from the current moment to the completion of the preset instruction by the actuator of the mobile robot; The judgment module is used to determine, when traversing each location point, whether the chassis and the actuator collide with the obstacle based on the obstacle contour information and the motion space description information, and obtain the collision detection result between the mobile robot and the obstacle.
10. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor, when executing a program stored in memory, implements the method described in any one of claims 1-8.
11. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the method described in any one of claims 1-8.
Citation Information
Patent Citations
Obstacle-avoiding cleaning robot and robot mechanical arm obstacle-avoiding planning system and method
CN114224226A
Path planning method, device and equipment for forking tray by robot and medium
CN116834002A