A control method and device of a mobile robot and the mobile robot
Patent Information
- Application Number
- CN202211193983.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-28
- Publication Date
- 2026-09-22
- Estimated Expiration
- 2042-09-28
AI Technical Summary
[0004]但是,由用户规划行驶路线,需要额外增加用户工作量,由于用户经验等原因导致行驶路线不是最优行驶路线,移动机器人的控制效果较差
[0014]由以上技术方案可见,本申请实施例中,移动机器人可以自动生成多个动作方案,每个动作方案均用于指示从起始位置点移动到终止位置点的行驶路线,基于每个动作方案对应的属性值从所有动作方案中选取出目标动作方案,并确定目标动作方案对应的目标行驶路线,基于目标行驶路线控制移动机器人从起始位置点移动到终止位置点,从而能够得到最优行驶路线,移动机器人的控制效果较好,且不需要由用户规划行驶路线,不需要额外增加用户工作量。每个动作方案对应的属性值可以是花费总时间、最近障碍物距离、最大偏移距离、动作个数等,从而综合考虑花费总时间、最近障碍物距离、最大偏移距离、动作个数等属性,使移动机器人完成移动的目标行驶路线更加合理。
Smart Images

Figure CN117817651B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of automatic control technology, and in particular to a control method, device and mobile robot for a mobile robot. Background Technology
[0002] In recent years, various types of mobile robots have developed rapidly in terms of technology and market. Mobile robots are automated work devices that rely on their own power and control capabilities to achieve various functions. Mobile robots can be commanded by humans, run pre-programmed programs, and act according to strategies formulated by artificial intelligence. For example, a user can use a manual remote control to control a mobile robot to perform related operations. The manual remote control can wirelessly send operation commands to the mobile robot, and after receiving the operation command, the mobile robot will execute the operation specified in the operation command to complete the relevant function.
[0003] When the mobile robot moves from the starting point to the ending point, the user needs to plan a route for the mobile robot to move from the starting point to the ending point, provide the route to the mobile robot, and then control the mobile robot to move from the starting point to the ending point based on the route.
[0004] However, having users plan the driving route requires additional workload for users, and the driving route may not be the optimal route due to factors such as user experience, resulting in poor control of the mobile robot. Summary of the Invention
[0005] This application provides a control method for a mobile robot, the method comprising:
[0006] Generate K action plans, where K is a positive integer greater than 1; the action plans are used to indicate the travel route of the mobile robot from the starting position point to the ending position point;
[0007] For each action plan, determine the attribute value corresponding to the action plan, and determine the priority value corresponding to the action plan based on the attribute value corresponding to the action plan; based on the priority value corresponding to each action plan, select the target action plan from the K action plans;
[0008] The target driving route is determined based on the target action plan, and the mobile robot is controlled to move from the starting position point to the ending position point based on the target driving route.
[0009] This application provides a control device for a mobile robot, the device comprising:
[0010] A generation module is used to generate K action plans, where K is greater than 1; the action plans are used to indicate the travel route of the mobile robot from the starting position point to the ending position point.
[0011] The determination module is used to determine the attribute value corresponding to each action plan, and determine the priority value corresponding to the action plan based on the attribute value; and select the target action plan from the K action plans based on the priority value corresponding to each action plan.
[0012] The control module is used to determine the target driving route based on the target action plan, and control the mobile robot to move from the starting position point to the ending position point based on the target driving route.
[0013] This application provides a mobile robot, including: a processor and a machine-readable storage medium, wherein the machine-readable storage medium stores machine-executable instructions that can be executed by the processor; the processor is used to execute the machine-executable instructions to implement the control method of the mobile robot according to the embodiments of this application.
[0014] As can be seen from the above technical solutions, in this embodiment, the mobile robot can automatically generate multiple action plans. Each action plan indicates the travel route from the starting point to the ending point. Based on the attribute values corresponding to each action plan, a target action plan is selected from all action plans, and the target travel route corresponding to the target action plan is determined. Based on the target travel route, the mobile robot is controlled to move from the starting point to the ending point, thereby obtaining the optimal travel route. The control effect of the mobile robot is good, and it does not require the user to plan the travel route, thus not increasing the user's workload. The attribute values corresponding to each action plan can be total time spent, distance to the nearest obstacle, maximum offset distance, number of actions, etc., so that the target travel route for the mobile robot to complete the movement is more reasonable by comprehensively considering attributes such as total time spent, distance to the nearest obstacle, maximum offset distance, and number of actions. Attached Figure Description
[0015] 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 of this application or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this application. For those skilled in the art, other drawings can be obtained based on these drawings of the embodiments of this application.
[0016] Figure 1 This is a flowchart illustrating a control method for a mobile robot according to one embodiment of this application;
[0017] Figure 2 This is a flowchart illustrating a control method for a mobile robot according to one embodiment of this application;
[0018] Figures 3A-3E This is a schematic diagram of an action plan in one embodiment of this application;
[0019] Figures 4A-4I This is a schematic diagram illustrating the determination of attribute values in one embodiment of this application;
[0020] Figure 5 This is a schematic diagram of an AD tree in one embodiment of this application;
[0021] Figure 6 This is a schematic diagram of the structure of the control device for a mobile robot according to one embodiment of this application;
[0022] Figure 7 This is a hardware structure diagram of a mobile robot according to one embodiment of this application. Detailed Implementation
[0023] The terminology used in the embodiments of this application is for the purpose of describing particular embodiments only and is not intended to limit the application. The singular forms “a,” “the,” and “the” as used in this application and claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to any and all possible combinations comprising one or more of the associated listed items.
[0024] It should be understood that although the terms first, second, third, etc., may be used to describe various information in embodiments of this application, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" may also be interpreted as "when," "when," or "in response to a determination."
[0025] This application proposes a control method for a mobile robot, which can be applied to mobile robots. See [link to relevant documentation]. Figure 1 The diagram shown is a flowchart of the method, which may include:
[0026] Step 101: Generate K action plans, where K is a positive integer greater than 1; these action plans are used to indicate the route for the mobile robot to move from the starting position to the ending position.
[0027] In one possible implementation, the K action schemes may include, but are not limited to, at least two of the following action schemes: a straight arc action scheme, which indicates reaching the termination point via an arc; a parallel S-shaped arc action scheme, which indicates rotating from the starting point to the termination point and then reaching the termination point via an arc; an orthogonal circular arc action scheme, which indicates the vertical direction of rotating from the starting point to the termination point and then reaching the termination point via an arc; a projection action scheme, which indicates rotating from the starting point to the projection point, reaching the projection point via a straight line, rotating to the termination point, and then reaching the termination point via a straight line; and a diagonal line action scheme, which indicates rotating from the starting point to the line connecting the starting and termination points, reaching the termination point via a straight line, and then rotating to the termination point. Of course, the above are just a few examples, and there is no limitation on these action schemes.
[0028] Step 102: For each action plan, determine the attribute value corresponding to the action plan, and determine the priority value corresponding to the action plan based on the attribute value corresponding to the action plan; based on the priority value corresponding to each action plan, select the target action plan from the K action plans.
[0029] In one possible implementation, the attribute values may include, but are not limited to, at least one of the following: total time spent, distance to the nearest obstacle, maximum offset distance, and number of actions; of course, the above are just a few examples, and there is no limitation on these attribute values. Based on this, determining the attribute values corresponding to the action plan may include, but is not limited to: if the attribute values include at least one of total time spent, distance to the nearest obstacle, and maximum offset distance, when the driving route indicated by the action plan is a straight driving route, the attribute values can be determined based on the straight driving route; when the driving route indicated by the action plan is a curved driving route, a parametric curve corresponding to the curved driving route can be generated, and the attribute values can be determined based on the parametric curve. And / or, if the attribute values include the number of actions, the number of actions can be directly determined based on the action plan.
[0030] For example, determining attribute values based on the parametric curve may include, but is not limited to: if the attribute value includes total time spent, then a first time spent on the straight section of the parametric curve can be determined based on the movement speed; a second time spent on the circular section of the parametric curve can be determined based on the turning radius and angular velocity; and the total time spent can be determined based on the first and second time spent. And / or, if the attribute value includes the distance to the nearest obstacle, then a first distance between the obstacle and the straight section of the parametric curve can be determined; a second distance between the obstacle and the center of the circular section of the parametric curve can be determined; and the distance to the nearest obstacle can be determined based on the first and second distances. And / or, if the attribute value includes the maximum offset distance, then a first deviation value of the straight section can be determined based on the start and end coordinates of the straight section; a second deviation value of the circular section can be determined based on the start and end angles of the circular section; and the maximum offset distance can be determined based on the first and second deviation values.
[0031] In one possible implementation, determining the priority value of the action plan based on the attribute values corresponding to the action plan may include, but is not limited to: determining an initial membership degree between each attribute value and each evaluation domain based on each attribute value corresponding to the action plan; wherein the configured fuzzy domains include multiple evaluation domains. For each evaluation domain, a target membership degree value corresponding to the evaluation domain may be determined based on the initial membership degree between each attribute value and the evaluation domain and the weighted weight value corresponding to each attribute value. The priority value corresponding to the action plan may be determined based on the target membership degree value corresponding to each evaluation domain and the reference score value corresponding to each evaluation domain.
[0032] Step 103: Determine the target driving route based on the target action plan, and control the mobile robot to move from the starting position point to the ending position point based on the target driving route.
[0033] In one possible implementation, after selecting a target action plan from K action plans, if a shelf is placed on the mobile robot and the target action plan corresponds to N rotation actions (N can be a positive integer), then M shelf rotation plans corresponding to the target action plan can be generated, where M can be a power of 2. Each shelf rotation plan can include N shelf actions corresponding to the N rotation actions. The shelf actions can be either the shelf remaining stationary or the shelf moving with the ground, and the N shelf actions in different shelf rotation plans are not completely identical. Then, the cost value corresponding to each shelf rotation plan can be determined, and based on the cost value corresponding to each shelf rotation plan, a target shelf rotation plan can be selected from the M shelf rotation plans (i.e., all shelf rotation plans). Then, when the mobile robot moves from the starting position to the ending position, for each rotation action corresponding to the target action plan, when the mobile robot performs the rotation action, the shelf can be controlled to perform the shelf action corresponding to that rotation action based on the target shelf rotation plan.
[0034] For example, the cost value may include time cost value and kinetic energy cost value. Determining the cost value corresponding to each shelf rotation scheme may include, but is not limited to: determining the deviation angle between the initial posture and the target posture of the shelf, where the initial posture is the posture after the shelf performs N shelf actions in the shelf rotation scheme; determining the time cost value corresponding to the shelf rotation scheme based on the deviation angle, where the smaller the deviation angle, the smaller the time cost value; and determining the kinetic energy cost value based on the sum of the kinetic energy values corresponding to the N shelf actions in the shelf rotation scheme. Wherein, if the shelf action is a stationary shelf relative to the ground, the kinetic energy value corresponding to that shelf action is a first kinetic energy value; if the shelf action is a follow-up shelf action, the kinetic energy value corresponding to that shelf action is a second kinetic energy value, where the first kinetic energy value can be greater than the second kinetic energy value. Based on this, selecting a target shelf rotation scheme from M shelf rotation schemes based on the cost value corresponding to each shelf rotation scheme may include, but is not limited to: determining the L shelf rotation schemes with the smallest time cost value, and selecting the shelf rotation scheme with the smallest kinetic energy cost value from the L shelf rotation schemes as the target shelf rotation scheme.
[0035] As can be seen from the above technical solutions, in this embodiment, the mobile robot can automatically generate multiple action plans. Each action plan indicates the travel route from the starting point to the ending point. Based on the attribute values corresponding to each action plan, a target action plan is selected from all action plans, and the target travel route corresponding to the target action plan is determined. Based on the target travel route, the mobile robot is controlled to move from the starting point to the ending point, thereby obtaining the optimal travel route. The control effect of the mobile robot is good, and it does not require the user to plan the travel route, thus not increasing the user's workload. The attribute values corresponding to each action plan can be total time spent, distance to the nearest obstacle, maximum offset distance, number of actions, etc., so that the target travel route for the mobile robot to complete the movement is more reasonable by comprehensively considering attributes such as total time spent, distance to the nearest obstacle, maximum offset distance, and number of actions.
[0036] The technical solutions described above in the embodiments of this application will be explained below in conjunction with specific application scenarios.
[0037] Mobile robots are automated machines that perform tasks. They rely on their own power and control capabilities to achieve various functions. There are no restrictions on the types of mobile robots. For example, a mobile robot can be a parking robot with vehicle handling capabilities or a cargo handling robot with goods handling capabilities.
[0038] When performing vehicle handling or cargo handling functions, the mobile robot needs to move from the starting point to the ending point. In order for the mobile robot to move from the starting point to the ending point, the user needs to plan a travel route for the mobile robot from the starting point to the ending point, provide the travel route to the mobile robot, and then control the movement of the mobile robot based on the travel route.
[0039] However, when users plan the driving route, it requires additional workload for them. Due to factors such as user experience, the driving route may not be the optimal route, resulting in poor control of the mobile robot.
[0040] To address the aforementioned findings, this application's embodiments design multiple action plans for moving from a starting point to an ending point. Each action plan indicates the travel route from the starting point to the ending point. By combining perception information, positioning information, and map information, the attribute value corresponding to each action plan can be calculated. Based on the attribute value of each action plan, a decision-making method can be used to evaluate each action plan, and then the optimal target action plan is selected from all action plans. The mobile robot then moves based on the target action plan. This approach designs multiple action plans, and when calculating the attribute value of each action plan, it comprehensively considers attributes such as optimal time, obstacle distance, number / coherence of actions, and deviation from the topological geometric path, making the mobile robot's decision-making for completing the movement task more reasonable.
[0041] This application proposes a control method for a mobile robot, which can be applied to mobile robots. See [link to relevant documentation]. Figure 2 The diagram shown is a flowchart of the method, which may include:
[0042] Step 201: Generate K action plans, where K is a positive integer greater than 1; these action plans are used to indicate the route for the mobile robot to move from the starting position to the ending position.
[0043] For example, commonly used actions of mobile robots may include, but are not limited to, rotational motion, linear motion, diagonal motion, and arc motion. Combining these action types, a motion scheme for the mobile robot can be designed. Based on this, the K motion schemes may include, but are not limited to, at least two of the following motion schemes. Of course, the following motion schemes are just a few examples, and this embodiment does not limit the motion scheme.
[0044] For ease of description, the direct arc-based motion plan can be denoted as Motion Plan 1. Motion Plan 1 indicates how to reach the termination point via an arc, i.e., planning an arc directly to the termination point. See also Figure 3A The diagram shows action scheme 1, which indicates that the travel route from the starting point to the ending point is an arc. When the mobile robot reaches the ending point, its posture is the posture of the ending point. For example, the posture of the ending point can be configured empirically and denoted as posture S. During the movement of the mobile robot, it is necessary to change the robot's posture to posture S (i.e., the robot's posture needs to be changed during the movement). Thus, when the mobile robot reaches the ending point, its posture is posture S.
[0045] For ease of description, the motion scheme for the parallel S-shaped arc can be referred to as Motion Scheme 2. Motion Scheme 2 indicates the posture from the starting position to the ending position, and then reaching the ending position directly via the arc. In other words, it first rotates to the posture (angle) of the ending position, and then directly reaches the ending position via the arc. See also... Figure 3B The diagram shows action scheme 2, which indicates the posture from the starting position to the ending position. It indicates that the travel path from the starting position to the ending position is an arc, and the robot's posture at the ending position is the posture of that ending position. For example, if the posture at the ending position is posture S, the robot rotates to posture S at the starting position and maintains posture S throughout its movement. When the robot reaches the ending position, its posture remains posture S.
[0046] For ease of description, the motion scheme for an orthogonal circular arc can be denoted as Motion Scheme 3. Motion Scheme 3 indicates the direction perpendicular to the orientation of the starting position from the ending position, and then reaching the ending position via the arc. That is, first rotate to a direction perpendicular to the orientation (angle) of the ending position, and then directly reach the ending position via the arc. See also Figure 3C The diagram shows action scheme 3. Action scheme 3 indicates that the robot rotates from the starting position to a direction perpendicular to the orientation of the ending position. It indicates that the travel path from the starting position to the ending position is an arc. When the robot reaches the ending position, its orientation is the orientation of the ending position. For example, if the orientation of the ending position is orientation S, the robot rotates from the starting position to a direction perpendicular to orientation S. During the movement, the robot's orientation needs to change to orientation S (i.e., the robot's orientation needs to be changed during the movement, from the direction perpendicular to orientation S to orientation S). Thus, when the robot reaches the ending position, its orientation is orientation S.
[0047] For ease of description, the projection motion scheme can be denoted as Motion Scheme 4. Motion Scheme 4 indicates the posture from the starting position to the projection point, then the posture of moving to the projection point via a straight line and rotating to the ending position, and finally moving to the ending position via a straight line. That is, first calculate the projection point of the straight line formed by the starting position, the ending position, and the posture direction; then, the posture of rotating from the starting position to the projection point, moving to the projection point via a straight line, and finally the posture of rotating from the projection point to the ending position, moving to the ending position via a straight line. See also... Figure 3DThe diagram illustrates action scheme 4. Action scheme 4 indicates the posture from the starting position to the projection point, indicates that the travel path from the starting position to the projection point is a straight line, indicates the posture from the projection point to the ending position, and indicates that the travel path from the projection point to the ending position is a straight line. When the mobile robot reaches the ending position, its posture is the posture of the ending position. For example, if the posture of the ending position is posture S, the mobile robot rotates from the starting position to the projection point, then moves from the starting position to the projection point in a straight line. During this movement, the mobile robot maintains the posture of the projection point. When the mobile robot reaches the projection point, its posture is the posture of the projection point. After reaching the projection point, the mobile robot rotates from the projection point to the ending position posture S, then moves from the projection point to the ending position in a straight line. During this movement, the mobile robot maintains the posture of the ending position posture S. When the mobile robot reaches the ending position, its posture is posture S.
[0048] For ease of description, the motion plan for the diagonal line can be denoted as Motion Plan 5. Motion Plan 5 indicates the posture of rotating from the starting position to the line connecting the starting and ending positions, moving along a straight line to the ending position, and then rotating back to the ending position. That is, first calculate the posture of the line connecting the starting and ending positions, then rotate from the starting position to that line, move along a straight line to the ending position, and finally rotate from the ending position to the ending position. See also... Figure 3E The diagram illustrates action scheme 5. Action scheme 5 indicates the posture of rotating from the starting position point to the connecting line (i.e., the line connecting the starting and ending positions), indicates that the travel path from the starting to the ending position point is a straight line, and indicates the posture of rotating from the ending position point to the ending position point. When the mobile robot reaches the ending position point, its posture is rotated to the posture of the ending position point. For example, if the posture of the ending position point is posture S, the mobile robot rotates from the starting position point to the posture of the connecting line, and then moves from the starting position point to the ending position point along a straight line. During the movement, the mobile robot maintains its posture as the posture of the connecting line. When the mobile robot reaches the ending position point, its posture is the posture of the connecting line. After reaching the ending position point, the mobile robot is rotated to posture S at the ending position point so that its posture is posture S.
[0049] In summary, five action plans can be generated. Of course, the above five action plans are just examples. The number of action plans can be more or less, and there is no limit to this.
[0050] Step 202: For each action plan, determine the corresponding attribute value.
[0051] For example, the attribute values corresponding to the action plan may include, but are not limited to, at least one of the following: total time spent, distance to the nearest obstacle, maximum offset distance, and number of actions; of course, the above are just a few examples, and there is no limitation on these attribute values. In the following process, the above four attribute values will be used as examples for explanation.
[0052] Case 1: When the attribute value includes the total time spent, the total time spent corresponding to the action plan can be determined. For example, when the driving route indicated by the action plan is a straight driving route, the total time spent can be determined based on the straight driving route. When the driving route indicated by the action plan is a curved driving route, a parametric curve corresponding to the curved driving route can be generated, and the total time spent can be determined based on the parametric curve.
[0053] For example, regarding action plan 4, where the indicated travel route is a straight line, the total time for action plan 4 can be determined based on the mobile robot's speed and the length of the straight line. The mobile robot's speed can be a T-shaped motion, i.e., first accelerating, then moving at a constant speed, and then decelerating. See also... Figure 4A The image shows an example of determining the total time spent.
[0054] Similarly, the driving route indicated by action plan 5 is a straight driving route. The total time spent on action plan 5 can be determined based on the mobile robot's moving speed and the length of the straight driving route.
[0055] For example, for motion schemes involving arcs, analytical parametric curves can be used to simulate / approximate the path. These parametric curves can include, but are not limited to, dubins curves, Reeds-Shepp curves, splines / polynomials / Bézier curves, spirals, etc. In the following diagrams, the dubins curve is used as an example; the implementation of other curves is similar.
[0056] For example, regarding action plan 1, where the indicated driving route is an arc, a parametric curve corresponding to this arc can be generated. In other words, a parametric curve is used to simulate this arc. The parametric curve is a shortest path curve composed of arcs and straight lines that satisfies attitude constraints and the minimum turning radius. Therefore, the parametric curve can be decomposed into straight line and arc components. (See [reference needed]). Figure 4B The diagram shows a parametric curve, which can be used as the path for an arc-shaped driving route. A parametric curve can be resolved into a combination of straight lines and circular arcs.
[0057] Based on this, the first time taken for the straight section of the parametric curve can be determined by considering the mobile robot's movement speed and the length of the straight section. For example, the mobile robot's movement speed can be a T-shaped speed, and the first time taken can be determined based on the T-shaped speed.
[0058] The second time taken for the arc portion of the parameterized curve can be determined based on the turning radius and angular velocity of the mobile robot. For example, if the turning radius and angular velocity of the mobile robot, as well as the length of the arc portion of the parameterized curve, are known, the second time taken can be determined. There are no restrictions on this process.
[0059] Then, the total time spent on action plan 1 can be determined based on the first and second time spent, that is, the total time spent can be the sum of the first and second time spent.
[0060] Similarly, since both action plan 2 and action plan 3 indicate curved travel routes, the total time for action plan 2 and the total time for action plan 3 can be determined.
[0061] Scenario 2: When the attribute value includes the nearest obstacle distance (used to represent the closest distance between the driving route and an obstacle), the nearest obstacle distance corresponding to the action plan can be determined. For example, when the driving route indicated by the action plan is a straight driving route, the nearest obstacle distance can be determined based on the straight driving route; when the driving route indicated by the action plan is a curved driving route, a parametric curve corresponding to the curved driving route can be generated, and the nearest obstacle distance can be determined based on the parametric curve.
[0062] For example, regarding action plan 4, the driving route indicated by action plan 4 is a straight driving route. Based on the obstacle list (perception information), the obstacle list can include the position of at least one obstacle. For each obstacle, if the position of the obstacle exceeds the first endpoint of the straight driving route, then the distance between the obstacle and the straight driving route is the distance between the obstacle and the first endpoint. If the position of the obstacle exceeds the second endpoint of the straight driving route, then the distance between the obstacle and the straight driving route is the distance between the obstacle and the second endpoint. If the position of the obstacle does not exceed the first endpoint or the second endpoint of the straight driving route, then the distance between the obstacle and the straight driving route is the perpendicular distance between the obstacle and the straight driving route (i.e., the distance from the point to the line). In summary, the distance between the obstacle and the straight driving route can be obtained.
[0063] Then, based on the distance between each obstacle and the straight-line travel route, the minimum distance can be taken as the nearest obstacle distance for action scheme 4. See [link to relevant documentation]. Figure 4C The image shows an example of determining the distance to the nearest obstacle.
[0064] Similarly, the driving route indicated by action plan 5 is a straight driving route, and the distance to the nearest obstacle corresponding to action plan 5 can be determined based on the position of each obstacle in the obstacle list.
[0065] For example, for action scheme 1, the driving route indicated by action scheme 1 is an arc driving route. A parametric curve corresponding to the arc driving route can be generated, and the parametric curve can be decomposed into a straight line part and a circular arc part. Based on this, a first distance between the obstacle and the straight line part of the parametric curve can be determined, and a second distance between the obstacle and the center of the circular arc part of the parametric curve can be determined. Then, the distance to the nearest obstacle corresponding to action scheme 1 can be determined based on the first distance and the second distance.
[0066] Specifically, based on an obstacle list (perceptual information), this obstacle list may include the position of at least one obstacle. For each obstacle, the first distance between the obstacle and the straight section of the parametric curve can be defined as follows: if the obstacle's position exceeds the first endpoint of the straight section, the first distance is the distance between the obstacle and the first endpoint; if the obstacle's position exceeds the second endpoint of the straight section, the first distance is the distance between the obstacle and the second endpoint; if the obstacle's position does not exceed either the first or second endpoint of the straight section, the first distance is the distance from the point to the line. The second distance between the obstacle and the center of the arc portion of the parametric curve can be defined as follows: if the obstacle's position exceeds the angle range of the arc's starting point, the second distance is the distance between the obstacle and the arc's starting point; if the obstacle's position exceeds the angle range of the arc's ending point, the second distance is the distance between the obstacle and the arc's ending point; if the obstacle's position is within the angle range from the arc's starting point to the ending point, the second distance is the distance between the obstacle and the center of the arc minus the radius.
[0067] In summary, a first distance and a second distance can be obtained. Then, the distance between the obstacle and the curved driving route can be determined based on the first distance and the second distance, such as taking the minimum value of the first distance and the second distance as the distance between the obstacle and the curved driving route. After obtaining the distance between each obstacle and the curved driving route, the minimum distance can be taken as the distance to the nearest obstacle corresponding to action scheme 1.
[0068] Similarly, since the driving routes indicated by action plan 2 and action plan 3 are curved driving routes, the distance to the nearest obstacle corresponding to action plan 2 can be determined, and the distance to the nearest obstacle corresponding to action plan 3 can be determined.
[0069] In one possible implementation, a grid map containing obstacle information can be acquired. For a driving route (such as a straight or curved route) indicated by a driving scheme (such as any driving scheme), the distance between each location point and each obstacle on the driving route can be traversed based on the grid map. Based on the distance between each location point and each obstacle, the minimum distance can be taken as the obstacle distance corresponding to that location point. Based on the obstacle distances corresponding to each location point on the driving route, the minimum obstacle distance can be taken as the nearest obstacle distance corresponding to that driving scheme.
[0070] Case 3: When the attribute value includes the maximum offset distance, the maximum offset distance corresponding to the action plan can be determined. For example, when the driving route indicated by the action plan is a straight driving route, the maximum offset distance is determined based on the straight driving route; when the driving route indicated by the action plan is a curved driving route, a parameterized curve corresponding to the curved driving route is generated, and the maximum offset distance is determined based on the parameterized curve.
[0071] The maximum offset distance is the maximum distance the driving route (such as a straight or curved route) deviates from the topological path. It can be defined as the deviation from the topological path within the rectangle formed by the starting and ending points. (See [reference]). Figure 4D and Figure 4E The image shows an example of deviation from the topological path. Clearly, the driving route indicated by this motion scheme deviates from the rectangle formed by the starting and ending points.
[0072] For example, regarding action plan 4, which indicates a straight driving route, the coordinates of the starting point, the starting point, the ending point, and the termination point are all transformed to the same coordinate system, resulting in the coordinates of the starting point (x1, y1), the termination point (x2, y2), the starting point (x3, y3), and the ending point (x4, y4). Based on this, assuming x1 is less than x2, if x3 is between x1 and x2, it means x3 has not deviated (i.e., the deviation value is 0); if x3 is less than x1, it means x3 has deviated, and the deviation value is x1 - x3; if x3 is greater than x2, it means x3 has deviated, and the deviation value is x3 - x2. Similarly, if x4 is between x1 and x2, it means x4 has not deviated; if x4 is less than x1, it means x4 has deviated, and the deviation value is x1 - x4; if x4 is greater than x2, it means x4 has deviated, and the deviation value is x4 - x2. Furthermore, assuming y1 is less than y2, if y3 is between y1 and y2, it means y3 is not deviated; if y3 is less than y1, it means y3 has deviated, and the deviation value is y1-y3; if y3 is greater than y2, it means y3 has deviated, and the deviation value is y3-y2. Similarly, if y4 is between y1 and y2, it means y4 is not deviated; if y4 is less than y1, it means y4 has deviated, and the deviation value is y1-y4; if y4 is greater than y2, it means y4 has deviated, and the deviation value is y4-y2.
[0073] In summary, the maximum deviation values in the x-direction and y-direction can be obtained. Then, the maximum value between these two values is taken as the maximum offset distance corresponding to action scheme 4. (See also...) Figure 4E The image shows an example of determining the maximum offset distance.
[0074] Similarly, since the driving route indicated by action plan 5 is a straight driving route, the maximum offset distance corresponding to action plan 5 can be determined. The method for determining this maximum offset distance will not be repeated here.
[0075] For example, regarding action plan 1, where the indicated driving route is an arc, a parametric curve corresponding to this arc can be generated. This parametric curve can be decomposed into a straight line portion and a circular arc portion. Based on this, a first deviation value for the straight line portion can be determined using the start and end coordinates of the straight line portion; a second deviation value for the circular arc portion can be determined using the start and end argument angles of the circular arc portion. Then, the maximum offset distance corresponding to action plan 1 can be determined based on these first and second deviation values.
[0076] Specifically, determining the first deviation value of the straight line portion based on the starting and ending coordinates of the parametric curve can be achieved by transforming the coordinates of the starting point, the starting point, the ending point, and the termination point of the straight line portion to the same coordinate system, resulting in the coordinates of the starting point (x1, y1), the ending point (x2, y2), the starting point (x5, y5), and the ending point (x6, y6). If x5 is between x1 and x2, it indicates that x5 has not deviated; if x5 is less than x1, it indicates that x5 has deviated, and the deviation value is x1-x5; if x5 is greater than x2, it indicates that x5 has deviated, and the deviation value is x5-x2. Similarly, if x6 is between x1 and x2, it indicates that x6 has not deviated; if x6 is less than x1, it indicates that x6 has deviated, and the deviation value is x1-x6; if x6 is greater than x2, it indicates that x6 has deviated, and the deviation value is x6-x2. If y5 is between y1 and y2, it means y5 is not deviated. If y5 is less than y1, it means y5 has deviated, and the deviation value is y1-y5. If y5 is greater than y2, it means y5 has deviated, and the deviation value is y5-y2. Similarly, if y6 is between y1 and y2, it means y6 is not deviated. If y6 is less than y1, it means y6 has deviated, and the deviation value is y1-y6. If y6 is greater than y2, it means y6 has deviated, and the deviation value is y6-y2. In summary, the maximum deviation values in the x-direction and y-direction can be obtained. The maximum value between these two values is taken as the first deviation value.
[0077] Specifically, determining the second deviation value of the arc portion based on the starting and ending argument angles of the arc portion of the parametric curve can refer to: solving the x-domain and y-domain corresponding to the starting argument angle in the polar coordinate system, assuming the x-domain is [x7, x8] and the y-domain is [y7, y8]; and solving the x-domain and y-domain corresponding to the ending argument angle in the polar coordinate system, assuming the x-domain is [x9, x10] and the y-domain is [y9, y10].
[0078] If both x7 and x8 are between x1 and x2, it indicates that the x-direction of the starting argument is not deviated. If x7 is less than x1, it indicates that the x-direction of the starting argument is deviated, and the deviation value is x1-x7. If x8 is greater than x2, it indicates that the x-direction of the starting argument is deviated, and the deviation value is x8-x2. If both x9 and x10 are between x1 and x2, it indicates that the x-direction of the ending argument is not deviated. If x9 is less than x1, it indicates that the x-direction of the ending argument is deviated, and the deviation value is x1-x9. If x10 is greater than x2, it indicates that the x-direction of the ending argument is deviated, and the deviation value is x10-x2.
[0079] If both y7 and y8 are between y1 and y2, it indicates that the y-direction of the starting argument is not deviated. If y7 is less than y1, it indicates that the y-direction of the starting argument is deviated, and the deviation value is y1-y7. If y8 is greater than y2, it indicates that the y-direction of the starting argument is deviated, and the deviation value is y8-y2. If both y9 and y10 are between y1 and y2, it indicates that the y-direction of the ending argument is not deviated. If y9 is less than y1, it indicates that the y-direction of the ending argument is deviated, and the deviation value is y1-y9. If y10 is greater than y2, it indicates that the y-direction of the ending argument is deviated, and the deviation value is y10-y2.
[0080] In summary, the maximum deviation values in the x-direction and y-direction can be obtained. The maximum value between the maximum deviation values in the x-direction and y-direction is taken as the second deviation value.
[0081] Then, the maximum offset distance corresponding to action scheme 1 is determined based on the first deviation value and the second deviation value, such as taking the maximum value of the first deviation value and the second deviation value as the maximum offset distance corresponding to action scheme 1.
[0082] Similarly, since the driving routes indicated by action scheme 2 and action scheme 3 are curved driving routes, the maximum offset distance corresponding to action scheme 2 can be determined, and the maximum offset distance corresponding to action scheme 3 can also be determined.
[0083] In one possible implementation, the parametric curve may contain arcs with large central angles. Therefore, when determining the starting and ending arguments of the arc portion of the parametric curve, the starting point can be determined based on whether it is a left or right turn. Then, the angle change range is added and unified to [-2π, 2π] to obtain the starting and ending arguments of the arc portion. Subsequently, the correct x and y ranges of the starting and ending arguments can be solved.
[0084] Scenario 4: When the attribute value includes the number of actions, the number of actions can be directly determined based on the action plan. For example, each rotational motion of the mobile robot represents one action, each linear motion of the mobile robot represents one action, each diagonal motion of the mobile robot represents one action, and each arc motion of the mobile robot represents one action, thus enabling the determination of the number of actions corresponding to the action plan.
[0085] For example, Action Plan 1 indicates reaching the endpoint via an arc; therefore, Action Plan 1 has 1 action. Action Plan 2 indicates rotating from the starting position to the endpoint and then reaching the endpoint via an arc; therefore, Action Plan 2 has 2 actions. Action Plan 3 indicates rotating from the starting position to the endpoint in the vertical direction and then reaching the endpoint via an arc; therefore, Action Plan 3 has 2 actions. Action Plan 4 indicates rotating from the starting position to the projection point, reaching the projection point via a straight line, rotating from the projection point to the endpoint, and then reaching the endpoint via a straight line; therefore, Action Plan 4 has 4 actions. See also... Figure 4F As shown, four actions are corresponding to action scheme 4. Action scheme 5 is used to indicate the posture of rotating from the starting position point to the connecting posture, reaching the ending position point through the straight line, and rotating to the ending position point. Therefore, the number of actions corresponding to action scheme 5 is 3.
[0086] In summary, the number of actions corresponding to each action plan is a fixed value. Once the action plan is determined, the number of actions corresponding to that action plan is also determined. Therefore, the number of actions corresponding to the action plan can be determined directly. When some actions do not need to be performed, the number of actions can be reduced accordingly. For example, if the action is already within the accuracy range of the projection point, or if the rotation angle required for the rotation action is less than the accuracy range, the number of actions can be reduced. This embodiment does not restrict the process of reducing the number of actions.
[0087] In one possible implementation, symmetry can be considered when generating the parametric curve corresponding to the curved travel path. For example, the parametric curve can only simulate forward movement; in some cases, backward movement is the optimal solution for the curved path, for example, see [reference needed]. Figure 4G The pose shown is the optimal backward pose. Given the poses of the starting and ending positions, a more optimal pose can be planned. Figure 4H The path shown is called the original parametric curve. Since a parametric curve cannot be reversed, the attitudes of both the starting and ending points can be reversed to obtain an optimal parametric curve path, i.e., achieving optimality in a symmetric problem. See [link to documentation]. Figure 4I The image shows an example of a symmetric parameterized curve.
[0088] Step 203: For each of the K action schemes, based on each attribute value corresponding to the action scheme, determine the initial membership value between the attribute value and each evaluation domain.
[0089] In one possible implementation, a fuzzy domain can be pre-configured, which may include multiple evaluation domains. For example, the fuzzy domain may include n evaluation domains, and the value of n can be configured empirically without limitation. For instance, if the value of n is 7, the fuzzy domain may include 7 evaluation domains, which can be denoted as {very low, low, lower, medium, higher, high, very high}. Of course, the above is just an example of 7 evaluation domains and is not a limitation.
[0090] For each action plan, taking action plan 1 as an example, based on each attribute value corresponding to action plan 1, the initial membership value between that attribute value and each evaluation domain can be determined. For instance, assuming action plan 1 corresponds to attribute values t1 and t2, and the above 7 evaluation domains are sequentially denoted as evaluation domain V1 to evaluation domain V7, then the initial membership value S1 between attribute value t1 and evaluation domain V1 can be determined, the initial membership value S2 between attribute value t1 and evaluation domain V2 can be determined, and so on, until the initial membership value S14 between attribute value t2 and evaluation domain V7 is determined, thus obtaining 14 initial membership values.
[0091] To determine the initial membership degree between an attribute value and the evaluation domain, a membership function can be pre-configured. The input to the membership function is the attribute value and the evaluation domain, and the output is the initial membership degree. There are no restrictions on this membership function; it can be configured based on experience. Based on this, the attribute value and the evaluation domain can be substituted into the membership function to obtain the initial membership degree between the attribute value and the evaluation domain.
[0092] For example, before substituting the attribute values and evaluation domain into the membership function, the attribute values can be normalized. For instance, attribute values may include total time spent, distance to the nearest obstacle, maximum offset distance, and number of actions. When the attribute value is total time spent, since actions with longer total time spent are generally worse, the reciprocal of the total time spent can be taken as the attribute value. Substituting the attribute value and evaluation domain into the membership function yields the initial membership value corresponding to the total time spent. When the attribute value is distance to the nearest obstacle, since actions with longer distances to the nearest obstacle are generally better, the nearest obstacle distance can be kept constant and taken as the attribute value. Substituting the attribute value and evaluation domain into the membership function yields the initial membership value corresponding to the nearest obstacle distance. When the attribute value is the maximum offset distance, since a larger maximum offset distance indicates a worse action plan, we can take the inverse of the maximum offset distance and use the inverse maximum offset distance as the attribute value. Substituting this attribute value and the evaluation domain into the membership function yields the initial membership value corresponding to the maximum offset distance. Similarly, when the attribute value is the number of actions, since a larger number of actions indicates a worse action plan, we can take the reciprocal of the number of actions and use the reciprocal number of actions as the attribute value. Substituting this attribute value and the evaluation domain into the membership function yields the initial membership value corresponding to the number of actions. In summary, we can obtain the initial membership values corresponding to the total time spent, the distance to the nearest obstacle, the maximum offset distance, and the number of actions.
[0093] Step 204: For each evaluation domain, based on the initial membership degree between each attribute value and the evaluation domain and the weighted weight value corresponding to each attribute value, determine the target membership degree value corresponding to the evaluation domain.
[0094] For example, for evaluation domain V1, the target membership value for evaluation domain V1 can be determined based on the initial membership value S1 between attribute value t1 and evaluation domain V1, the weighted weight value corresponding to attribute value t1, the initial membership value S8 between attribute value t2 and evaluation domain V1, and the weighted weight value corresponding to attribute value t2. Similarly, the target membership values for evaluation domains V2 to V7 can be determined.
[0095] For example, the following formula can be used to determine the target membership value corresponding to the evaluation domain:
[0096] B j =(a1×R) 1j )⊕(a2×R 2j )⊕…⊕(a m ×R mj )
[0097] In the above formula, B jLet a1 represent the membership objective value corresponding to the j-th evaluation domain, and let R represent the weighted weight value corresponding to the first attribute value. 1j R represents the initial membership value between the first attribute value and the j-th evaluation domain, a2 represents the weighted weight value corresponding to the second attribute value, and R represents the initial membership value between the first attribute value and the j-th evaluation domain. 2j This represents the initial membership degree between the second attribute value and the j-th evaluation domain, and so on, a m R represents the weighted weight value corresponding to the m-th attribute value. mj This represents the initial membership degree between the m-th attribute value and the j-th evaluation domain. Here, m can be the total number of attribute values, or all weighted weight values (e.g., a1, a2, ..., a...). m The sum of 1 is 1.
[0098] Step 205: Based on the membership target value corresponding to each evaluation domain and the reference score value corresponding to each evaluation domain, determine the priority value corresponding to the action plan.
[0099] For example, for each action plan, taking action plan 1 as an example, the membership target value corresponding to each evaluation domain can be obtained. For each evaluation domain, a reference score can be assigned. The reference score for each evaluation domain can be configured based on experience and is not restricted. For example, for the above 7 evaluation domains {very low, low, relatively low, medium, relatively high, high, very high}, the reference scores for these evaluation domains can be {0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7}. That is, the reference score for evaluation domain V1 is 0.1, the reference score for evaluation domain V2 is 0.2, and so on. Of course, the above are just examples of reference scores and are not restricted.
[0100] Based on the membership target value and the reference score for each evaluation domain, the priority value for action plan 1 can be determined. For example, the priority value for action plan 1 can be determined using the following formula. Of course, the following formula is just an example and is not a limitation.
[0101] N k =B1×s 1 ⊕B2×s 2 ⊕…⊕B7×s 7
[0102] In the above formula, N k Let B1 represent the priority value corresponding to the k-th action plan, and B1 represent the membership objective value corresponding to the 1st evaluation domain. 1 B1 represents the reference score corresponding to the first evaluation domain, B2 represents the membership target value corresponding to the second evaluation domain, and s represents the reference score corresponding to the first evaluation domain. 2B7 represents the reference score corresponding to the second evaluation domain, and so on. B7 represents the membership target value corresponding to the seventh evaluation domain. 7 This represents the reference score value corresponding to the 7th evaluation domain. In summary, the priority value corresponding to the action plan can be obtained.
[0103] For each action plan, the priority value corresponding to that action plan can be obtained, such as the priority value corresponding to action plan 1, action plan 2, action plan 3, action plan 4, and action plan 5.
[0104] Step 206: Based on the priority value corresponding to each action plan, select the target action plan from the K action plans. For example, select the action plan with the highest priority value as the target action plan.
[0105] Step 207: Determine the target driving route based on the target action plan, and control the mobile robot to move from the starting position point to the ending position point based on the target driving route, thus completing the movement task.
[0106] For example, since the motion plan is used to indicate the travel route from the starting point to the ending point, a target travel route can be determined based on the target motion plan, and the mobile robot can be controlled to move from the starting point to the ending point based on the target travel route. Assuming the target motion plan is motion plan 5, based on the target travel route, the mobile robot is controlled to rotate to the posture of the line connecting the starting point and the ending point at the starting point. Then, the mobile robot is controlled to reach the ending point by traveling in a straight line. Finally, the mobile robot is controlled to rotate to the posture of the ending point at the ending point.
[0107] In one possible implementation, if the mobile robot carries a shelf, i.e., the mobile robot is used to transport the shelf, then after selecting the target motion plan, the following steps can also be performed:
[0108] Step S11: If the target action scheme corresponds to N rotation actions, where N can be a positive integer, then generate M shelf rotation schemes corresponding to the target action scheme, where M can be a power of 2. Each shelf rotation scheme can include N shelf actions corresponding to the N rotation actions. The shelf actions can be either the shelf remaining stationary on the ground or the shelf moving with the ground. The N shelf actions in different shelf rotation schemes are not completely the same.
[0109] For example, assuming the target motion scheme is motion scheme 5, then the target motion scheme can correspond to two rotational motions: rotating from the starting position to the connecting line posture is one rotational motion, and rotating from the ending position to the ending position posture is another rotational motion. Assuming the target motion scheme is motion scheme 4, then the target motion scheme can correspond to two rotational motions: rotating from the starting position to the projection point posture is one rotational motion, rotating from the projection point to the ending position posture is another rotational motion, and so on.
[0110] When the target motion scheme corresponds to N rotation actions, M shelf rotation schemes can be generated, where M is a power of 2. See [reference needed]. Figure 5 As shown, an AD (Angle-Decide) tree represents M shelf rotation schemes. Each shelf rotation scheme can include N shelf actions corresponding to N rotation actions. A shelf action can be either a stationary shelf relative to the ground or a moving shelf relative to the ground. For example, for the first rotation action, the shelf action can be either a stationary shelf relative to the ground (denoted as W1) or a moving shelf relative to the ground (denoted as W2). For the second rotation action, the shelf action under W1 can be either a stationary shelf relative to the ground (denoted as W11) or a moving shelf relative to the ground (denoted as W12), and the shelf action under W2 can be either a stationary shelf relative to the ground (denoted as W21) or a moving shelf relative to the ground (denoted as W22). For the third rotation, the shelf movement under W11 can be either the shelf remaining stationary on the ground (denoted as W111) or the shelf moving (denoted as W112). The shelf movement under W12 can be either the shelf remaining stationary on the ground (denoted as W121) or the shelf moving (denoted as W122). The shelf movement under W21 can be either the shelf remaining stationary on the ground (denoted as W211) or the shelf moving (denoted as W212). The shelf movement under W22 can be either the shelf remaining stationary on the ground (denoted as W221) or the shelf moving (denoted as W222), and so on.
[0111] Obviously, when the target action scheme corresponds to N rotation actions, 2 to the power of N shelf rotation schemes can be generated. For example, if the N rotation actions are 2 rotation actions, then 4 shelf rotation schemes can be generated. Shelf rotation scheme 1 includes W1 (shelf stationary on the ground) corresponding to the first rotation action and W11 (shelf stationary on the ground) corresponding to the second rotation action; Shelf rotation scheme 2 includes W1 (shelf stationary on the ground) corresponding to the first rotation action and W12 (shelf moving) corresponding to the second rotation action; Shelf rotation scheme 3 includes W2 (shelf moving) corresponding to the first rotation action and W21 (shelf stationary on the ground) corresponding to the second rotation action; Shelf rotation scheme 4 includes W2 (shelf moving) corresponding to the first rotation action and W24 (shelf moving) corresponding to the second rotation action.
[0112] In the above embodiments, shelf actions are divided into two types: shelf stationary and shelf following. In motion schemes where the mobile robot does not rotate, the shelf only needs to follow. In motion schemes where the mobile robot rotates, it is necessary to decide the shelf action. In this embodiment, a tree-like decision structure can be used to determine the optimal shelf action, called an AD tree structure. Obviously, when the target motion scheme corresponds to N rotation actions, a tree structure can be constructed. Figure 5 The diagram shows a total of 2 N+1 In an AD tree with -1 nodes, each rotation produces two results depending on the chosen rotation type: each non-leaf node contains two child nodes, and for a 2... N+1 An AD tree with -1 node corresponds to 2^N shelf rotation schemes.
[0113] In this context, "shelf stationary relative to the ground" can mean that the mobile robot keeps the shelf stationary relative to the ground while rotating, with the robot itself completing the rotational motion. In this case, additional energy is required to keep the shelf stationary. "Shelf following" can mean that the mobile robot keeps the shelf stationary relative to it while rotating, with the shelf rotating at the same speed as the robot, i.e., the shelf rotates along with the robot's body. In this case, no additional energy is required to keep the shelf following.
[0114] For example, the AD tree can also be pruned according to specific action attributes and actual requirements. For instance, when the target action scheme is action scheme 4, and the action is a diagonal line after the second rotation, if the diagonal line does not allow the shelf and the mobile robot to be non-axial, the relevant nodes can be pruned. This process will not be described in detail here.
[0115] Step S12: Determine the cost corresponding to each shelf rotation scheme.
[0116] For example, the cost value may include time cost value and / or kinetic energy cost value. To determine the time cost value, the following method can be used: determine the deviation angle between the initial posture and the target posture of the shelf. The initial posture is the posture after the shelf performs N shelf actions in the shelf rotation scheme, and the target posture is a pre-configured posture, which is the final posture of the shelf at the termination position. Based on this deviation angle, determine the time cost value corresponding to the shelf rotation scheme. The smaller the deviation angle, the smaller the time cost value.
[0117] For example, for each shelf rotation scheme, taking shelf rotation scheme 1 as an example, assuming that shelf rotation scheme 1 includes two shelf actions, denoted as shelf action 11 and shelf action 12, the shelf is controlled to execute shelf action 11 during the first rotation action, and the shelf is controlled to execute shelf action 12 during the second rotation action. In this way, the posture after executing the two shelf actions is recorded as the initial posture. Since the target posture is a pre-configured posture, the deviation angle between the initial posture and the target posture can be determined.
[0118] For example, a mapping relationship between the deviation angle and the time value can be pre-configured. For this mapping relationship, the smaller the deviation angle, the smaller the time value, and the larger the deviation angle, the larger the time value. Based on this, after obtaining the deviation angle between the initial attitude and the target attitude, the time value corresponding to the deviation angle can be obtained by querying the mapping relationship, that is, the time value corresponding to shelf rotation scheme 1. In other words, the time value corresponding to each shelf rotation scheme can be obtained.
[0119] To determine the kinetic energy value, the following method can be used: the kinetic energy value is determined based on the sum of the kinetic energy values corresponding to N shelf actions in the shelf rotation scheme; wherein, if the shelf action is that the shelf is stationary relative to the ground, the kinetic energy value corresponding to the shelf action is the first kinetic energy value, and if the shelf action is that the shelf moves, the kinetic energy value corresponding to the shelf action is the second kinetic energy value, and the first kinetic energy value can be greater than the second kinetic energy value.
[0120] For example, for a shelf to remain stationary, additional energy is required to keep it stationary. However, for a shelf to move, no additional energy is required. Therefore, the first kinetic energy value corresponding to a shelf that remains stationary can be greater than the second kinetic energy value corresponding to a shelf that moves.
[0121] For example, for each shelf rotation scheme, taking shelf rotation scheme 1 as an example, assuming that shelf rotation scheme 1 includes shelf action 11 and shelf action 12, if shelf action 11 is that the shelf is stationary relative to the ground, then shelf action 11 corresponds to the first kinetic energy value. If shelf action 12 is that the shelf is stationary relative to the ground, then shelf action 12 corresponds to the first kinetic energy value. Therefore, the kinetic energy cost value corresponding to shelf rotation scheme 1 is the sum of the first kinetic energy value and the first kinetic energy value. In other words, the kinetic energy cost value corresponding to each shelf rotation scheme can be obtained.
[0122] Step S13: Based on the cost value corresponding to each shelf rotation scheme, select the target shelf rotation scheme from all shelf rotation schemes. For example, determine the L shelf rotation schemes with the minimum time cost value, and select the shelf rotation scheme with the minimum kinetic energy cost value from the L shelf rotation schemes as the target shelf rotation scheme.
[0123] For example, after obtaining the time value and kinetic energy value corresponding to each shelf rotation scheme, based on the time value corresponding to each shelf rotation scheme, the L shelf rotation schemes with the smallest time value are determined. If the L shelf rotation schemes are a single shelf rotation scheme, then this shelf rotation scheme is selected as the target shelf rotation scheme. If the L shelf rotation schemes are at least two shelf rotation schemes, then the shelf rotation scheme with the smallest kinetic energy value is selected from the L shelf rotation schemes as the target shelf rotation scheme.
[0124] Step S14: When the mobile robot moves from the starting position to the ending position, for each rotation action corresponding to the target action scheme, when the mobile robot performs the rotation action, the shelf can be controlled to perform the shelf action corresponding to the rotation action based on the target shelf rotation scheme.
[0125] For example, for the first rotation action corresponding to the target action plan, the shelf is controlled to perform the shelf action corresponding to the first rotation action based on the target shelf rotation plan, and so on.
[0126] As can be seen from the above technical solutions, the embodiments of this application can obtain the optimal driving route, the control effect of the mobile robot is better, and the user does not need to plan the driving route, thus not increasing the user's workload. The attribute values corresponding to each action plan can be total time, distance to the nearest obstacle, maximum offset distance, number of actions, etc., so as to comprehensively consider the attributes such as total time, distance to the nearest obstacle, maximum offset distance, and number of actions, making the target driving route of the mobile robot more reasonable. By searching for the optimal shelf action through a tree-like decision structure, the efficiency of the mobile robot in carrying shelves can be effectively improved. For the decision of shelf movement during shelf operation, the tree-like decision structure is used to make the optimal decision. The corresponding optimal indicators are the energy consumption and deviation angle error of the shelf movement, so that the mobile robot can achieve the highest efficiency as a whole while saving energy and reducing energy consumption.
[0127] Based on the same concept as the above method, this application proposes a control device for a mobile robot, see [link]. Figure 6 The diagram shown is a structural schematic of the device, which includes:
[0128] The generation module 61 is used to generate K action plans, where K is greater than 1; the action plans are used to indicate the travel route of the mobile robot from the starting position point to the ending position point.
[0129] The determining module 62 is used to determine the attribute value corresponding to each action plan, and determine the priority value corresponding to the action plan based on the attribute value; and select the target action plan from the K action plans based on the priority value corresponding to each action plan.
[0130] The control module 63 is used to determine the target driving route based on the target action plan, and control the mobile robot to move from the starting position point to the ending position point based on the target driving route.
[0131] For example, the K action schemes include at least two of the following action schemes: a straight arc action scheme, which indicates reaching the termination point via an arc; a parallel S-shaped arc action scheme, which indicates rotating from the starting point to the termination point and then reaching the termination point via an arc; an orthogonal circular arc action scheme, which indicates the vertical direction of rotating from the starting point to the termination point and then reaching the termination point via an arc; a projection action scheme, which indicates rotating from the starting point to the projection point, reaching the projection point via a straight line, rotating to the termination point, and then reaching the termination point via a straight line; and a diagonal line action scheme, which indicates rotating from the starting point to the line connecting the starting and termination points, reaching the termination point via a straight line, and then rotating to the termination point.
[0132] For example, the attribute value includes at least one of the following: total time spent, distance to the nearest obstacle, maximum offset distance, and number of actions; when determining the attribute value corresponding to the action plan, the determining module 62 is specifically used to: if the attribute value includes at least one of total time spent, distance to the nearest obstacle, and maximum offset distance, determine the attribute value based on the straight driving route indicated by the action plan; if the driving route indicated by the action plan is an arc driving route, generate a parameterized curve corresponding to the arc driving route, and determine the attribute value based on the parameterized curve; and / or, if the attribute value includes the number of actions, determine the number of actions based on the action plan.
[0133] For example, when determining the attribute value based on the parameterized curve, the determining module 62 is specifically used to: if the attribute value includes total time spent, determine a first time spent on the straight section of the parameterized curve based on the movement speed, and determine a second time spent on the arc section of the parameterized curve based on the turning radius and angular velocity; determine the total time spent based on the first time spent and the second time spent; and / or, if the attribute value includes the distance to the nearest obstacle, determine a first distance between the obstacle and the straight section of the parameterized curve, and determine a second distance between the obstacle and the center of the arc section of the parameterized curve; determine the distance to the nearest obstacle based on the first distance and the second distance; and / or, if the attribute value includes the maximum offset distance, determine a first deviation value of the straight section based on the starting coordinates and ending coordinates of the straight section of the parameterized curve; determine a second deviation value of the arc section based on the starting argument angle and ending argument angle of the arc section of the parameterized curve; determine the maximum offset distance based on the first deviation value and the second deviation value.
[0134] For example, when determining the priority value of the action plan based on the attribute value corresponding to the action plan, the determining module 62 is specifically used to: determine an initial membership value between each attribute value corresponding to the action plan and each evaluation domain; wherein, the configured fuzzy domain includes multiple evaluation domains; for each evaluation domain, determine a target membership value corresponding to the evaluation domain based on the initial membership value between each attribute value corresponding to the action plan and the evaluation domain and the weighted weight value corresponding to each attribute value; and determine the priority value corresponding to the action plan based on the target membership value corresponding to each evaluation domain and the reference score value corresponding to each evaluation domain.
[0135] For example, the determining module 62 is further configured to generate M shelf rotation schemes corresponding to the target action scheme if the mobile robot places the shelf and the target action scheme corresponds to N rotation actions, where M is 2 to the power of N; each shelf rotation scheme includes N shelf actions corresponding to the N rotation actions, where the shelf actions are either the shelf is stationary or the shelf moves with the ground, and the N shelf actions in different shelf rotation schemes are not completely the same; determine the cost value corresponding to each shelf rotation scheme; and select a target shelf rotation scheme from the M shelf rotation schemes based on the cost value corresponding to each shelf rotation scheme; the control module is further configured to, when the mobile robot moves from the starting position point to the ending position point, control the shelf to perform the shelf action corresponding to each rotation action corresponding to the target action scheme based on the target shelf rotation scheme when the mobile robot performs the rotation action.
[0136] For example, the cost value includes time cost value and kinetic energy cost value; when determining the cost value corresponding to each shelf rotation scheme, the determining module 62 is specifically used to: determine the deviation angle between the initial posture of the shelf and the target posture of the shelf, wherein the initial posture is the posture after the shelf performs N shelf actions in the shelf rotation scheme; determine the time cost value corresponding to the shelf rotation scheme based on the deviation angle, wherein the smaller the deviation angle, the smaller the time cost value; determine the kinetic energy cost value based on the sum of the kinetic energy values corresponding to the N shelf actions in the shelf rotation scheme; wherein, if the shelf action is that the shelf is stationary relative to the ground, it corresponds to a first kinetic energy value, and if the shelf action is that the shelf moves, it corresponds to a second kinetic energy value, wherein the first kinetic energy value is greater than the second kinetic energy value; when the determining module selects a target shelf rotation scheme from the M shelf rotation schemes based on the cost value corresponding to each shelf rotation scheme, it is specifically used to: determine the L shelf rotation schemes with the smallest time cost value, where L is a positive integer, and select the shelf rotation scheme with the smallest kinetic energy cost value from the L shelf rotation schemes as the target shelf rotation scheme.
[0137] Based on the same concept as the methods described above, this application proposes a mobile robot, see [link to relevant documentation]. Figure 7 As shown, the mobile robot may include a processor 71 and a machine-readable storage medium 72, the machine-readable storage medium 72 storing machine-executable instructions that can be executed by the processor 71; the processor 71 is used to execute the machine-executable instructions to implement the mobile robot control method disclosed in the above example of this application.
[0138] Based on the same concept as the above method, this application also provides a machine-readable storage medium storing a plurality of computer instructions, which, when executed by a processor, can implement the mobile robot control method disclosed in the above examples of this application.
[0139] The aforementioned machine-readable storage medium can be any electronic, magnetic, optical, or other physical storage device that can contain or store information, such as executable instructions, data, etc. For example, machine-readable storage media can be: RAM (Random Access Memory), volatile memory, non-volatile memory, flash memory, storage drives (such as hard disk drives), solid-state drives, any type of storage disk (such as optical discs, DVDs, etc.), or similar storage media, or combinations thereof.
[0140] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer, which can take the form of a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email sending and receiving device, game console, tablet computer, wearable device, or any combination of these devices.
[0141] For ease of description, the above devices are described separately by function as various units. Of course, in implementing this application, the functions of each unit can be implemented in one or more software and / or hardware.
[0142] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, embodiments of this application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0143] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0144] Furthermore, these computer program instructions can also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in the process. Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0145] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0146] The above description is merely an embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principle of this application should be included within the scope of the claims of this application.
Claims
1. A control method for a mobile robot, characterized in that, The method includes: Generate K action plans, where K is a positive integer greater than 1; the action plans are used to indicate the travel route of the mobile robot from the starting position point to the ending position point; For each action plan, determine the attribute value corresponding to the action plan, and determine the priority value corresponding to the action plan based on the attribute value corresponding to the action plan; based on the priority value corresponding to each action plan, select the target action plan from the K action plans; The target driving route is determined based on the target action plan, and the mobile robot is controlled to move from the starting position point to the ending position point based on the target driving route. When the mobile robot moves from the starting position to the ending position, and when the mobile robot performs the rotation action corresponding to the target action scheme, the shelf is controlled to perform the shelf action corresponding to the rotation action based on the target shelf rotation scheme; wherein, if the mobile robot places the shelf and the target action scheme corresponds to N rotation actions, then M shelf rotation schemes are generated, and the shelf rotation scheme includes N shelf actions corresponding to the N rotation actions; based on the cost value corresponding to each shelf rotation scheme, the target shelf rotation scheme is selected from the M shelf rotation schemes.
2. The method according to claim 1, characterized in that, The K action schemes include at least two of the following action schemes: A motion plan for reaching the endpoint via an arc; The motion scheme of the parallel S-shaped arc is used to indicate the posture of rotating from the starting position point to the ending position point, and then reaching the ending position point through the arc. The motion scheme of the orthogonal circular arc is used to indicate the vertical direction of the posture from the starting position point to the ending position point, and then reach the ending position point through the arc. The projection motion scheme is used to indicate the posture of rotating from the starting position point to the projection point, the posture of reaching the projection point by a straight line and rotating to the ending position point, and the posture of reaching the ending position point by a straight line. The motion scheme of the diagonal line is used to indicate the posture of rotating from the starting position point to the line connecting the starting position point and the ending position point, and the posture of reaching the ending position point by a straight line and rotating to the ending position point.
3. The method according to claim 2, characterized in that, The attribute values include at least one of the following: total time spent, distance to the nearest obstacle, maximum offset distance, and number of actions; Determining the attribute values corresponding to the action plan includes: If the attribute value includes at least one of total time spent, distance to the nearest obstacle, and maximum offset distance, the attribute value is determined based on the straight driving route indicated by the action plan when the driving route indicated by the action plan is a straight driving route; if the driving route indicated by the action plan is a curved driving route, a parameterized curve corresponding to the curved driving route is generated, and the attribute value is determined based on the parameterized curve; if the attribute value includes the number of actions, the number of actions is determined based on the action plan.
4. The method according to claim 3, characterized in that, Determining the attribute value based on the parameterized curve includes: If the attribute value includes the total time spent, then a first time spent on the straight portion of the parametric curve is determined based on the movement speed, and a second time spent on the circular portion of the parametric curve is determined based on the turning radius and angular velocity; the total time spent is determined based on the first and second time spent; and / or, If the attribute value includes the distance to the nearest obstacle, then a first distance is determined between the obstacle and the straight section of the parametric curve, and a second distance is determined between the obstacle and the center of the circular section of the parametric curve; the distance to the nearest obstacle is determined based on the first and second distances; and / or, If the attribute value includes the maximum offset distance, then based on the start coordinates and end coordinates of the straight line portion of the parameterized curve, a first deviation value of the straight line portion is determined; based on the start argument angle and end argument angle of the arc portion of the parameterized curve, a second deviation value of the arc portion is determined; and based on the first deviation value and the second deviation value, the maximum offset distance is determined.
5. The method according to claim 1, characterized in that, Determining the priority value of the action plan based on the attribute value of the action plan includes: Based on each attribute value corresponding to the action scheme, determine the initial membership degree between the attribute value and each evaluation domain; wherein, the configured fuzzy domain includes multiple evaluation domains; For each evaluation domain, based on the initial membership degree between each attribute value and the evaluation domain and the weighted weight value corresponding to each attribute value, the target membership degree value corresponding to the evaluation domain is determined; Based on the membership target value corresponding to each evaluation domain and the reference score value corresponding to each evaluation domain, the priority value corresponding to the action plan is determined.
6. The method according to any one of claims 1-5, characterized in that, M is 2 to the power of N; where, in each rack rotation scheme, the rack movement is either the rack is stationary relative to the ground or the rack moves with the ground, and the N rack movements in different rack rotation schemes are not exactly the same.
7. The method according to claim 6, characterized in that, The cost-benefit ratio includes time cost-benefit and kinetic energy cost-benefit; determining the cost-benefit ratio corresponding to each shelf rotation scheme includes: Determine the deviation angle between the initial posture and the target posture of the shelf, wherein the initial posture is the posture after the shelf performs N shelf actions in the shelf rotation scheme; determine the time value corresponding to the shelf rotation scheme based on the deviation angle, and the smaller the deviation angle, the smaller the time value; The kinetic energy value is determined by the sum of the kinetic energy values corresponding to N shelf actions in the shelf rotation scheme; wherein, if the shelf action is that the shelf is stationary relative to the ground, it corresponds to the first kinetic energy value, and if the shelf action is that the shelf moves with the ground, it corresponds to the second kinetic energy value, and the first kinetic energy value is greater than the second kinetic energy value. Based on the cost value corresponding to each shelf rotation scheme, a target shelf rotation scheme is selected from the M shelf rotation schemes, including: determining the L shelf rotation schemes with the minimum time cost value, and selecting the shelf rotation scheme with the minimum kinetic energy cost value from the L shelf rotation schemes as the target shelf rotation scheme.
8. A control device for a mobile robot, characterized in that, The device includes: A generation module is used to generate K action plans, where K is greater than 1; the action plans are used to indicate the travel route of the mobile robot from the starting position point to the ending position point. The determination module is used to determine the attribute value corresponding to each action plan, and determine the priority value corresponding to the action plan based on the attribute value; and select the target action plan from the K action plans based on the priority value corresponding to each action plan. The control module is used to determine the target driving route based on the target action plan, and control the mobile robot to move from the starting position point to the ending position point based on the target driving route; The determining module is further configured to: if the mobile robot places the shelf and the target action scheme corresponds to N rotation actions, generate M shelf rotation schemes, each shelf rotation scheme including N shelf actions corresponding to the N rotation actions; select a target shelf rotation scheme from the M shelf rotation schemes based on the cost value corresponding to each shelf rotation scheme; and control the shelf to perform the shelf action corresponding to the rotation action based on the target shelf rotation scheme when the mobile robot moves from the starting position point to the ending position point and when the mobile robot performs the rotation action corresponding to the target action scheme.
9. The apparatus according to claim 8, Its features are, in, The K action schemes include at least two of the following action schemes: a direct arc-shaped action scheme, which is used to indicate reaching the termination point via an arc; The motion schemes are as follows: Parallel S-shaped arc: This scheme indicates the posture from the starting point to the ending point, then reaching the ending point via an arc; Orthogonal circular arc: This scheme indicates the vertical direction of the posture from the starting point to the ending point, then reaching the ending point via an arc; Projection: This scheme indicates the posture from the starting point to the projection point, reaching the projection point via a straight line and then rotating to the ending point, finally reaching the ending point via a straight line; Diagonal line: This scheme indicates the posture from the starting point to the line connecting the starting and ending points, reaching the ending point via a straight line and then rotating to the ending point. The attribute values include at least one of the following: total time spent, distance to the nearest obstacle, maximum offset distance, and number of actions. Specifically, when determining the attribute values corresponding to the action plan, the determining module is used to: if the attribute values include at least one of total time spent, distance to the nearest obstacle, and maximum offset distance, determine the attribute values based on the straight-line driving route indicated by the action plan; if the driving route indicated by the action plan is a curved driving route, generate a parameterized curve corresponding to the curved driving route and determine the attribute values based on the parameterized curve; if the attribute values include the number of actions, determine the number of actions based on the action plan. Specifically, when the determining module determines the attribute value based on the parametric curve, it is used to: if the attribute value includes total time spent, determine a first time spent on the straight section of the parametric curve based on the movement speed, and a second time spent on the circular section of the parametric curve based on the turning radius and angular velocity; determine the total time spent based on the first time spent and the second time spent; and / or, if the attribute value includes the distance to the nearest obstacle, determine a first distance between the obstacle and the straight section of the parametric curve, and a second distance between the obstacle and the center of the circular section of the parametric curve; determine the distance to the nearest obstacle based on the first distance and the second distance; and / or, if the attribute value includes the maximum offset distance, determine a first deviation value of the straight section based on the start coordinates and end coordinates of the straight section of the parametric curve; determine a second deviation value of the circular section based on the start argument angle and end argument angle of the circular section of the parametric curve; and determine the maximum offset distance based on the first deviation value and the second deviation value. Specifically, when the determining module determines the priority value of the action plan based on the attribute values corresponding to the action plan, it is used to: determine an initial membership value between each attribute value corresponding to the action plan and each evaluation domain; wherein the configured fuzzy domains include multiple evaluation domains; for each evaluation domain, determine a target membership value corresponding to the evaluation domain based on the initial membership value between each attribute value corresponding to the action plan and the evaluation domain, and the weighted weight value corresponding to each attribute value; and determine the priority value corresponding to the action plan based on the target membership value corresponding to each evaluation domain and the reference score value corresponding to each evaluation domain. Where M is 2 to the power of N; where, in each rack rotation scheme, the rack movement is either the rack is stationary relative to the ground or the rack moves with the ground, and the N rack movements in different rack rotation schemes are not exactly the same; The cost value includes time cost value and kinetic energy cost value. When determining the cost value corresponding to each shelf rotation scheme, the determining module specifically performs the following: determining the deviation angle between the initial posture and the target posture of the shelf, where the initial posture is the posture after the shelf performs N shelf actions in the shelf rotation scheme; determining the time cost value corresponding to the shelf rotation scheme based on the deviation angle, where a smaller deviation angle results in a smaller time cost value; and determining the kinetic energy cost value based on the sum of the kinetic energy values corresponding to the N shelf actions in the shelf rotation scheme, where if the shelf action is a stationary shelf relative to the ground, it corresponds to a first kinetic energy value; if the shelf action is a follow-up shelf action, it corresponds to a second kinetic energy value, where the first kinetic energy value is greater than the second kinetic energy value. When selecting a target shelf rotation scheme from the M shelf rotation schemes based on the cost value corresponding to each shelf rotation scheme, the determining module specifically performs the following: determining the L shelf rotation schemes with the smallest time cost value, where L is a positive integer, and selecting the shelf rotation scheme with the smallest kinetic energy cost value from the L shelf rotation schemes as the target shelf rotation scheme.
10. A mobile robot, characterized in that, include: A processor and a machine-readable storage medium, the machine-readable storage medium storing machine-executable instructions that can be executed by the processor; The processor is configured to execute machine-executable instructions to implement the method according to any one of claims 1-7.
Citation Information
Patent Citations
Path planning system for mobile robot
KR1020120098152A