Mobile robot, controller, and control method of mobile robot
Patent Information
- Application Number
- CN202610552598.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2025-04-30
- Filing Date
- 2026-04-24
- Publication Date
- 2026-08-18
AI Technical Summary
然而,无人车在运行过程中,由于环境复杂性(如障碍物干扰、路径阻塞、光线变化等)以及设备本身的定位误差,可能发生偏离预设路线的情况
[0003] Accordingly, this application proposes a mobile robot, a controller, and a control method for the mobile robot to solve the above problems.
Smart Images

Figure CN122593260A_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of artificial intelligence, specifically relating to a mobile robot, a controller, and a control method for the mobile robot. Background Technology
[0002] With the development of intelligent technologies, unmanned vehicles (such as AGVs and autonomous vehicles) have been widely used in logistics, industrial production, and urban transportation. However, during operation, unmanned vehicles may deviate from their preset routes due to environmental complexity (such as obstacle interference, path congestion, and changes in lighting) and positioning errors inherent in the equipment itself. If these deviations cannot be effectively handled, the unmanned vehicle may be unable to complete its task, resulting in low operational efficiency, or it may cause collisions with personnel, leading to risks such as personal injury and property damage. Summary of the Invention
[0003] Accordingly, this application proposes a mobile robot, a controller, and a control method for the mobile robot to solve the above problems.
[0004] In some embodiments, a mobile robot is proposed. The mobile robot includes a processor. The processor is configured to execute program instructions to perform the following steps: when it is determined that the mobile robot has deviated from a preset path, determine the return point closest to the mobile robot on the preset path; generate a temporary path based on the return point; and drive the mobile robot to return to the preset path according to the temporary path.
[0005] In some embodiments, the processor is further configured to perform the following steps: in response to the mobile robot deviating from the preset path, drive the display device to display a return interaction interface; and based on the user's interaction with the return interaction interface, determine the return point that is closest to the mobile robot on the preset path.
[0006] In some embodiments, the processor is also configured to perform the following step: storing the previous movement task in memory.
[0007] In some embodiments, the processor is further configured to perform the following steps: in response to the mobile robot returning to the preset path, drive the display device to display a task interaction interface; and based on user input to the task interaction interface, load the previous movement task from the memory and drive the mobile robot to execute the previous movement task.
[0008] In some embodiments, the processor is further configured to perform the following steps: updating the regression point and generating a new temporary path based on the user's interaction with the regression interface.
[0009] In some embodiments, generating the temporary path based on the regression point includes: receiving the current pose of the mobile robot sensed by a sensor, and determining a starting point based on the current pose; and selectively setting waypoints based on the starting point and the regression point to generate the temporary path.
[0010] In some embodiments, selectively setting the waypoints based on the origin and the return point to generate the temporary path includes: not setting the waypoints when there are no obstacles between the origin and the return point.
[0011] In some embodiments, selectively setting the waypoints based on the starting point and the return point to generate the temporary path further includes setting at least one waypoint when there is an obstacle between the starting point and the return point.
[0012] In some embodiments, each of the at least one waypoints may be represented as a function of two-dimensional coordinates and the body orientation angle of the mobile robot.
[0013] In some embodiments, the at least one waypoint includes an adjacent first waypoint and a second waypoint, wherein the first waypoint is denoted as (x1, y1, θ1) and the second waypoint is denoted as (x2, y2, θ2), and satisfies the following relationships: x2=x1+Rsin(θ2-θ1), y2=y1+R(1-cos(θ2-θ1)); where R is the turning radius of the mobile robot, (x1,y1) are the two-dimensional coordinates of the first waypoint, θ1 is the body orientation angle of the mobile robot at the first waypoint, (x2,y2) are the two-dimensional coordinates of the second waypoint, and θ2 is the body orientation angle of the mobile robot at the second waypoint.
[0014] In some embodiments, selectively setting the waypoints based on the origin and the return point to generate the temporary path further includes generating multiple candidate paths between the origin and the return point.
[0015] In some embodiments, selectively setting the waypoints based on the starting point and the return point to generate the temporary path further includes setting a state space boundary, wherein the state space boundary includes the starting point and the return point.
[0016] In some embodiments, selectively setting the waypoints based on the starting point and the regression point to generate the temporary path further includes: evaluating the plurality of candidate paths to score the plurality of candidate paths; and determining, based on the scores of the plurality of candidate paths, whether any of the plurality of candidate paths meets a preset optimization objective.
[0017] In some embodiments, selectively setting the waypoints based on the starting point and the regression point to generate the temporary path further includes: reducing the target turning radius in response to the fact that none of the multiple candidate paths meet the preset optimization target; determining whether the target turning radius is greater than the minimum turning radius; and selecting the candidate path with the highest score from the multiple candidate paths as the temporary path in response to the fact that the target turning radius is less than the minimum turning radius.
[0018] In some embodiments, selectively setting the waypoints based on the starting point and the regression point to generate the temporary path further includes: in response to at least one of the plurality of candidate paths satisfying the preset optimization objective, selecting the candidate path that satisfies the preset optimization objective as the temporary path.
[0019] In some embodiments, selectively setting the waypoints based on the starting point and the return point to generate the temporary path further includes: in response to the target turning radius being greater than the minimum turning radius, generating multiple candidate paths again based on the starting point and the return point.
[0020] In some embodiments, the multiple candidate paths are evaluated to score the multiple candidate paths, including: scoring the multiple candidate paths based on whether the candidate path causes the mobile robot to switch from forward to backward, whether the candidate path includes an S-shaped route, the magnitude of the path curvature of the candidate path, and the length of the candidate path.
[0021] In some embodiments, driving the mobile robot to return to the preset path according to the temporary path includes: adjusting the speed of the mobile robot when moving on the temporary path according to a seven-segment speed planning algorithm; and adjusting the forward sight distance of the mobile robot according to the curvature of the temporary path and the speed of the mobile robot.
[0022] In some embodiments, a controller is provided, which includes a processor. The processor is configured to execute program instructions to perform the following steps: when it is determined that a mobile robot has deviated from a preset path, determining a return point that is closest to the mobile robot on the preset path; generating a temporary path based on the return point; and driving the mobile robot to return to the preset path according to the temporary path.
[0023] In some embodiments, a control method for a mobile robot is provided, comprising: when it is determined that the mobile robot deviates from a preset path, determining a return point that is closest to the mobile robot on the preset path; generating a temporary path based on the return point; and driving the mobile robot to return to the preset path according to the temporary path. Attached Figure Description
[0024] The accompanying drawings are provided to further illustrate the present application and form part of the specification. They are used together with the following detailed description to explain the present application, but do not constitute a limitation thereof. In the drawings: Figure 1A A block diagram illustrating a mobile robot according to an embodiment of this application.
[0025] Figure 1B A schematic diagram illustrating the application of a mobile robot according to an embodiment of this application in a warehouse.
[0026] Figure 2 A flowchart illustrating the first part of a control method according to an embodiment of this application.
[0027] Figure 3A A schematic diagram illustrating a mobile robot deviating from a preset path according to an embodiment of this application.
[0028] Figure 3B This is a schematic diagram illustrating a return-to-interaction interface displayed by a display device according to an embodiment of this application.
[0029] Figure 3C A schematic diagram illustrating the determination of regression points according to an embodiment of this application.
[0030] Figure 3D A schematic diagram illustrating the generation of a temporary path according to an embodiment of this application.
[0031] Figure 4 The method flow of step 104 according to an embodiment of this application is demonstrated.
[0032] Figure 5A A schematic diagram illustrating the replacement of regression points according to an embodiment of this application.
[0033] Figure 5B A schematic diagram illustrating the generation of a temporary path based on a newly selected regression point according to an embodiment of this application.
[0034] Figure 6 This document demonstrates a method flow based on an embodiment of the present application.
[0035] Figure 7A A schematic diagram illustrating the determination of the starting point and the focus according to an embodiment of this application.
[0036] Figure 7B A schematic diagram illustrating the generation of candidate paths according to an embodiment of this application.
[0037] Figure 7C A schematic diagram illustrating a return to a preset path according to an embodiment of this application.
[0038] Figure 8 A schematic diagram illustrating the adjustment of the forward-looking distance of a mobile robot according to an embodiment of this application.
[0039] Figure 9 A flowchart illustrating the first part of a control method according to another embodiment of this application.
[0040] Figure 10 A flowchart illustrating the second part of a control method according to an embodiment of this application.
[0041] Figure 11 This is a schematic diagram illustrating a task interaction interface displayed by a display device according to an embodiment of this application.
[0042] Figure 12 This demonstrates a temporary path based on another embodiment of this application.
[0043] Figure 13 A schematic diagram illustrating a controller according to an embodiment of this application. Detailed Implementation
[0044] The following disclosure provides various implementations or examples that can be used to achieve different features of this disclosure. Specific examples of components and configurations described below are for simplification purposes. It is understood that these descriptions are illustrative only and are not intended to limit the scope of this disclosure. For example, in the following description, forming a first feature on or over a second feature may include, in some embodiments, the first and second features being in direct contact with each other; and may also include, in some embodiments, additional components being formed between the first and second features, such that the first and second features may not be in direct contact. Furthermore, component symbols and / or reference numerals may be reused in multiple embodiments of this disclosure. Such reuse is for the purpose of brevity and clarity and does not in itself represent a relationship between the different embodiments and / or configurations discussed.
[0045] Furthermore, the use of spatially relative terms, such as "below," "below," "lower than," "above," "above," and similar terms, may be for the convenience of describing the relationship between one component or feature depicted in the figure and one or more other components or features. These spatially relative terms, in addition to the orientation shown in the figure, also encompass various different orientations of the device during use or operation. The device may be placed in other orientations (e.g., rotated 90 degrees or in other orientations), and these spatially relative descriptive terms should be interpreted accordingly.
[0046] While the numerical ranges and parameters used to define the broader scope of this application are approximate values, the relevant values in the specific embodiments have been presented as precisely as possible. However, any value inevitably contains standard deviations due to individual test methods. Here, "approximately" generally means that the actual value is within plus or minus 10%, 5%, 1%, or 0.5% of a particular value or range. Alternatively, the term "approximately" means that the actual value falls within the acceptable standard error of the average value, as determined by those skilled in the art to which this application pertains. It is understood that, except for experimental examples, or unless expressly stated otherwise, all ranges, quantities, values, and percentages used herein (e.g., to describe material usage, duration, temperature, operating conditions, quantity ratios, and the like) are modified with "approximately". Therefore, unless otherwise stated, the numerical parameters disclosed in this specification and the accompanying claims are approximate values and are subject to change as needed. At a minimum, these numerical parameters should be understood as the indicated significant digits and values obtained by applying general rounding. In this context, a range of values is expressed as a distance from one endpoint to the other or between the two endpoints; unless otherwise stated, all ranges of values herein include the endpoints.
[0047] Unmanned vehicles (such as AGVs and autonomous vehicles) are widely used in intelligent logistics and automated warehousing, enabling the autonomous handling and retrieval of goods without human drivers. Unmanned vehicles are typically equipped with sensors, navigation systems, and processors to ensure efficient and safe operation. With the rapid growth of modern logistics demands, unmanned vehicles have become an important tool for improving operational efficiency and reducing labor costs.
[0048] In some embodiments, when the autonomous vehicle deviates from the preset route, the user needs to manually draw a return route to guide the vehicle back. However, this method requires the autonomous vehicle's interactive interface (such as a touchscreen) to have high precision; otherwise, factors such as the size of the user's finger or the pressure applied during touch can cause path errors. Furthermore, if the path planning accuracy is insufficient, the autonomous vehicle may fail to accurately return to the preset route. Moreover, this technology is also highly dependent on the user's operational skills and judgment. If the user is unfamiliar with the system or operates it improperly, they may be unable to accurately determine the autonomous vehicle's position and direction, ultimately leading to correction failure or more serious consequences. Additionally, in complex or dynamically changing environments (such as those with numerous obstacles or significant lighting variations), the user may also find it difficult to accurately determine and draw a suitable path.
[0049] In some embodiments, when the autonomous vehicle deviates from the preset route, it relies on external markers such as QR codes or RFID tags deployed in the environment to determine the geometric relationship between the vehicle's current pose and its initial pose, and to generate a speed for returning to the original route. However, if these markers are damaged, obstructed, or lost, it may affect the positioning accuracy of the autonomous vehicle. Furthermore, this approach does not consider changes in the environment or the possibility of obstacles causing collisions between the autonomous vehicle and these obstacles.
[0050] Figure 1A This is a block diagram illustrating a mobile robot 30 according to an embodiment of this application. In some embodiments, the mobile robot 30 includes a memory 31, a display device 32, a sensor 33, and a processor 34. In some embodiments, the processor 34 is operatively coupled to the memory 31, the display device 32, and the sensor 33. In some embodiments, the processor 34 works in conjunction with the memory 31, the display device 32, and the sensor 33 to implement the control method proposed in this application. In some embodiments, the processor 34 can be an integrated element. The processor 34 can be composed of multiple control units / processing units. The processor 34 can be used to load data information from the memory 31. The processor 34 can store data information in the memory 31. The processor 34 can receive and process user input (such as touch operation) to the display device 32 or data sensed by the sensor 33. It should be noted that this application does not limit the processor 34 to be implemented in hardware, software, or a combination of hardware and software.
[0051] In some embodiments, the memory 31 can be an integrated element. The memory 31 can be considered as consisting of multiple storage units. Information, such as, but not limited to, point cloud paths, poses, keyframes, and other data, can be stored in different storage units or in the same storage unit. In some embodiments, the display device 32 can be a touch screen. In some embodiments, the sensor 33 is an integrated element. The sensor 33 can be considered as consisting of multiple sensor elements. In some embodiments, the sensor 33 can include common sensor elements such as 3D LiDAR, odometer, gyroscope, and accelerometer.
[0052] Figure 1A The mobile robot 30 in this embodiment refers to a robot capable of moving autonomously or in a controlled manner within its environment. Common forms of the mobile robot 30 include: Automated Guided Vehicles (AGVs), Autonomous Mobile Robots (AMRs), humanoid robots, etc. The mobile robot 30 may also include other forms such as robotic vacuum cleaners. Specifically, the mobile robot 30 can also be an unmanned vehicle used in warehouses, such as an unmanned forklift. (Reference) Figure 1B , Figure 1BThis diagram illustrates a mobile robot 30 applied in a warehouse according to an embodiment of this application. The mobile robot 30 can retrieve goods from the warehouse area according to instructions and accurately place them in designated locations. Furthermore, with the cooperation of sensors 33 and a processor 34, it achieves real-time dynamic path planning based on data, avoiding collisions and improving operational efficiency. It should be noted that... Figure 1B The demonstrated mobile robot 30 is merely illustrative and not the sole limitation of this application. Furthermore, the mobile robot 30 is not limited to applications in autonomous vehicles. In other embodiments, the mobile robot 30 can be any intelligent mobile device. In subsequent embodiments, it will be referred to as... Figure 1A The mobile robot 30 shown is an example.
[0053] Figure 2 A flowchart illustrating the first part of a control method 10 according to an embodiment of this application is provided. This application is not limited to strictly adhering to the method if substantially the same results can be obtained. Figure 2 The process steps shown are executed accordingly. Control method 10 can be applied to... Figure 1A The mobile robot 30 is shown. In some embodiments, the steps of the control method 10 may be performed by different control units / processing units in the processor 34 or by the same control unit / processing unit. In some embodiments, the control method 10 may include steps 101, 102, 103, 104, and 105.
[0054] In some embodiments, step 101 may involve the processor 34 determining whether the mobile robot 30 has deviated from the preset path; if so, proceeding to step 102; otherwise, returning to step 101. In some embodiments, step 102 may involve the processor 34 driving the display device 32 to display the return interaction interface. In some embodiments, step 103 may involve the processor 34 determining the return point closest to the preset path and the mobile robot 30 based on the user's input to the return interaction interface. In some embodiments, step 104 may involve the processor 34 generating a temporary path based on the return point. In some embodiments, step 105 may involve the processor 34 driving the mobile robot 30 to return to the preset path according to the temporary path.
[0055] For step 101, please refer to... Figure 3A , Figure 3A This diagram illustrates a mobile robot 30 deviating from a preset path according to an embodiment of this application. In some embodiments, the mobile robot 30 may deviate from the preset path YL (represented by a solid line in the figure) due to obstacle interference, path blockage, changes in lighting, or positioning errors of the device itself, and thus enter an off-path PL (represented by a dashed line in the figure).
[0056] For step 102, please refer to... Figure 3B , Figure 3B This illustration demonstrates a schematic diagram of a return interaction interface T32 displayed by a display device 32 according to an embodiment of this application. In some embodiments, the return interaction interface T32 may include a warning message T32P and an interaction option T32M. In some embodiments, the warning message T32P informs the user that the mobile robot 30 has deviated from the preset path YL. In some embodiments, the interaction option T32M receives user interaction with the interaction option T32M, the interaction indicating whether the mobile robot 30 should return to the preset path YL. In some embodiments, the interaction option T32M may include "Yes" or "No" button options. In some embodiments, the interaction is a user click operation on the interaction option T32M.
[0057] In some embodiments, when the processor 34 determines that the mobile robot 30 has deviated from the preset path YL, it simultaneously stores the previously executed movement task on the preset path YL in the memory 31. When the mobile robot 30 returns to the preset path YL, the processor 34 reads the previous movement task and drives the mobile robot 30 to complete the movement task.
[0058] For step 103, please refer to... Figure 3C , Figure 3C This diagram illustrates the determination of a regression point TP according to an embodiment of this application. In some embodiments, after the user operates the regression interaction interface T32, the processor 34 determines a point on the preset path YL that is closest to the mobile robot 30 as the regression point TP. In some embodiments, the processor 34 can use 3DSLAM technology to obtain the current pose of the mobile robot 30, calculate the point on the preset path YL that is closest to the mobile robot 30, and use that point as the regression point TP. In some embodiments, the user can also directly select a point as the regression point TP by performing a point selection operation on the preset path YL through the regression interaction interface T32.
[0059] For step 104, please refer to... Figure 3D , Figure 3D This diagram illustrates the generation of a temporary path LL according to an embodiment of this application. In some embodiments, after determining the regression point TP, the processor 34 generates a temporary path LL based on the regression point TP. A detailed description of the generation of the temporary path LL can be found at the same time. Figure 3D and Figure 4 , Figure 4 This document demonstrates a method flow for step 104 according to an embodiment of this application. While the same results may be obtained substantially, this application is not limited to strictly adhering to the method described herein. Figure 4 The process steps shown are executed. In some embodiments, step 104 may include steps 1041 and 1042.
[0060] In some embodiments, step 1041 may involve the processor 34 receiving the current pose of the mobile robot 30 sensed by the sensor 33 and using the current pose as a starting point. In some embodiments, step 1042 may involve the processor 34 selectively setting waypoints based on the starting point and the return point TP, wherein the waypoints are used to avoid obstacles on the temporary path LL.
[0061] Understandably, when there are no obstacles between the starting point and the return point TP, the processor 34 can directly generate a temporary path LL without setting any waypoints. When there are obstacles between the starting point and the return point TP, the processor 34 sets at least one (or more) waypoints to generate a temporary path LL that avoids the obstacles. Those skilled in the art should understand that the specific number of waypoints will be set according to the number and density of obstacles and factors such as route optimization of the mobile robot 30. Figure 3D One embodiment uses processor 34 to set multiple waypoints n1-n4 to avoid obstacle ZI, thereby generating a temporary path LL as an example. In some embodiments, waypoints n1-n4 can also be represented as functions of two-dimensional coordinates and the body's orientation angle.
[0062] For the relationship between waypoints, please refer to... Figure 12 . Figure 12 This demonstrates a temporary path XL according to another embodiment of this application. In a two-dimensional plane unfolded along the X-axis and Y-axis, the temporary path XL starts at point S and ends at point G, passing through points A1 to A9. Taking points A7 and A8 as examples, point A7 has two-dimensional coordinates (x, y, ...) on the two-dimensional plane. A7 ,y A7 The path point A8 has two-dimensional coordinates (x, y) on a two-dimensional plane. A8 , y A8 When the mobile robot travels along the temporary path XL to point A7, the angle between the robot's orientation and the X-axis is θ7. When the mobile robot travels along the temporary path XL to point A8, the angle between the robot's orientation and the X-axis is θ8. At this time, the adjacent point A7 and point A8 satisfy the following relationship: x A8 =x A7 +Rsin(θ8-θ7), y A8 =y A7 +R(1-cos(θ8-θ7)); Where R is the turning radius of the mobile robot. Similarly, the above relationship can be satisfied for any two adjacent path points (such as A1 and A2, A2 and A3, and so on).
[0063] Refer again Figure 3DTaking adjacent waypoints n1 and n2 as examples, waypoint n1 can be represented as (x1, y1, θ1), and waypoint n2 can be represented as (x2, y2, θ2), where (x1, y1) and (x2, y2) are the coordinates of waypoints n1 and n2 in two-dimensional space, respectively. θ1 is the orientation angle of the mobile robot 30 at waypoint n1, and θ2 is the orientation angle of the mobile robot 30 at waypoint n2. Understandably, when the mobile robot 30 is an unmanned vehicle, θ1 is the vehicle's front-facing angle at waypoint n1, and θ2 is the vehicle's front-facing angle at waypoint n2. In some embodiments, the functions of adjacent waypoints n1 and n2 can satisfy x2 = x1 + Rsin(θ2 - θ1) and y2 = y1 + R(1 - cos(θ2 - θ1)). Understandably, adjacent waypoints n2 and n3, and waypoints n3 and n4 can also satisfy relation (1). The temporary path LL is determined by setting waypoints n1-n4 using the above relation.
[0064] In other embodiments, after the processor 34 generates a temporary path LL based on the regression point TP, the user can still change the regression point TP to generate a new temporary path LL. (See reference...) Figure 5A , Figure 5A This diagram illustrates a method for changing the return point TP according to an embodiment of this application. In some embodiments, when the user decides to change the return point TP, the display device 32 re-displays the return interaction interface T32 for the user to interact with. In some embodiments, the return interaction interface T32 may include a prompt word B32P and an interactive block B32M. In some embodiments, the prompt word B32P prompts the user to reselect the return point. In some embodiments, the interactive block B32M receives user interaction with the interactive block B32M, the interaction indicating a new return point. In some embodiments, the interactive block B32M may display a preset path YL and the current return point TP. In some embodiments, the interaction is a click operation on the interactive block B32M, whereby the new return point is determined by clicking on the preset path YL displayed in the interactive block B32M.
[0065] Figure 5B This diagram illustrates the generation of a temporary path LL' based on a newly selected return point TP' according to an embodiment of this application. In some embodiments, after a user interacts with the return interface T32 to select a new return point TP', the processor 34 generates a new temporary path LL' based on the pose of the return point TP'. In some embodiments, the processor 34 sets multiple waypoints n1'-n4' based on the current pose of the mobile robot 30 and the pose of the return point TP' to avoid obstacles ZI, thereby generating the temporary path LL'.
[0066] For a detailed explanation of step 1042, please refer to [link / reference]. Figure 6 , Figure 6 This document demonstrates a method flow for step 1042 according to an embodiment of this application. While the same results may be obtained substantially, this application is not limited to strictly adhering to this method. Figure 6 The process steps shown are executed. In some embodiments, step 1042 may include steps 21, 22, 23, 24, 25, 26, 27, 28, and 29.
[0067] In some embodiments, step 21 may involve the processor 34 initializing the turning radius of the mobile robot 30. In some embodiments, step 22 may involve the processor 34 setting a state space boundary, where the state space boundary defines the movable range of the mobile robot 30. The state space boundary includes a starting point and a return point TP. For example, the state space may be the entire warehouse, and the state space boundary is the area within the warehouse, thereby limiting the mobile robot 30 to move only within the warehouse area. In some embodiments, step 23 may involve the processor 34 generating multiple candidate paths between the starting point and the ending point. In some embodiments, the processor 34 can generate multiple candidate paths based on the current pose of the mobile robot 30 and the pose of the return point TP. In some embodiments, the multiple candidate paths may be generated based on the turning radius R of the mobile robot 30.
[0068] In some embodiments, step 24 may involve processor 34 evaluating multiple candidate paths to score them. In some embodiments, step 25 may involve processor 34 determining whether any of the multiple candidate paths meets a preset optimization objective; if so, proceed to step 29; otherwise, proceed to step 26. In some embodiments, step 26 may involve processor 34 reducing the target turning radius. In some embodiments, step 27 may involve processor 34 determining whether the target turning radius is greater than the minimum turning radius; if so, proceed to step 23; otherwise, proceed to step 28. In some embodiments, step 28 may involve processor 34 selecting the candidate path with the highest score from the multiple candidate paths as a temporary path LL. In some embodiments, step 29 may involve processor 34 generating the temporary path LL.
[0069] Please also refer to Figure 6 , Figure 7A as well as Figure 7B .like Figure 7A As shown, processor 34 uses the current position of mobile robot 30 as the starting point PA and the position of the return point TP as the ending point PB. Next, processor 34 sets the turning radius R of mobile robot 30. Then, as... Figure 7BAs shown, processor 34 generates candidate paths L1, L2, L3, and L4 that satisfy the turning radius R between the starting point PA and the ending point PB. Then, processor 34 scores the candidate paths L1, L2, L3, and L4.
[0070] In some embodiments, the processor 34 evaluates whether each candidate path would cause the mobile robot 30 to change direction from forward to backward, whether each candidate path includes an S-shaped route that causes the mobile robot 30 to twist, the magnitude of the path curvature of each candidate path, and the length of each candidate path. In some embodiments, the processor 34 assigns corresponding weights to the above factors and calculates a score for each candidate path based on its actual situation and corresponding weight. In some embodiments, the processor 34 presets a score as a preset optimization target.
[0071] In some embodiments, each candidate path can be scored according to the following formula: score = W_d is_change_direction + W_c kappa_change + W_k kappa + W_l normalized_path_len; Here, `change_direction` indicates whether a change in driving mode is needed (from forward driving to reverse driving, or vice versa; its value can be 0 or 1; it is 1 when the driving mode is changed, otherwise it is 0); `kappa_change` indicates that if an S-shaped arc path exists (e.g., a left-turn arc followed by a right-turn arc), `kappa_change` is the sum of the absolute values of the curvatures of the two arcs. For example, if the curvature of the first left-turn arc is k1 and the curvature of the second arc is k2, then `kappa_change = |k1| + |k2|`; `kappa` represents the absolute value of the maximum curvature of the arcs in the path (it is 0 if no arc exists); `normalized_path_len` is equal to the path length divided by the Euclidean distance (i.e., the straight-line distance) from the starting point PA to the ending point PB; `W_d`, `W_c`, `W_k`, and `W_l` represent the penalty weights for each item. These values are defaulted to negative numbers; the smaller the value, the greater the penalty and the lower the final score.
[0072] In some embodiments, the preset optimization target G_s can be set to -100. When any candidate path (such as candidate path L2) has a score higher than the preset optimization target G_s, candidate path L2 satisfies the preset optimization target. The processor 34 generates a temporary path LL based on candidate path L2.
[0073] In some embodiments, if the scores of candidate paths L1, L2, L3, and L4 are all below a preset optimization target, the processor 34 will reduce the turning radius of the mobile robot 30. If the adjusted turning radius is still greater than the preset minimum turning radius, the processor 34 will regenerate multiple candidate paths between the starting point PA and the ending point PB, and score them again. If the adjusted turning radius is less than the preset minimum turning radius, the processor 34 will generate a temporary path LL based on the candidate path with the highest score (such as candidate path L2).
[0074] Next, as Figure 7C As shown, after the temporary path LL is generated, the processor 34 drives the mobile robot 30 to move along the temporary path LL to return to the preset path YL. While the mobile robot 30 moves on the temporary path LL, the processor 34 adjusts the mobile robot 30's speed along the temporary path LL. In some embodiments, the processor 34 adjusts the speed of the mobile robot 30 according to a seven-segment speed planning algorithm, making the acceleration curve generated by the mobile robot 30 smooth, avoiding discontinuous acceleration, and reducing stress and vibration effects on the transmission chain and load.
[0075] When the mobile robot 30 moves on the temporary path LL, the processor 34 employs a path tracking and control strategy combining fuzzy logic and pure tracking, assigning a corresponding forward look-ahead distance based on the curvature of the temporary path LL and the speed of the mobile robot 30. In some embodiments, the processor 34 can adjust the forward look-ahead distance of the mobile robot 30 according to the curvature and speed relationship listed in Table 1 below.
[0076] Table 1 refer to Figure 8 , Figure 8 This diagram illustrates the adjustment of the forward-looking distance of a mobile robot 30 according to an embodiment of this application. In some embodiments, the forward-looking distance Ld of the mobile robot 30 is the trajectory point corresponding to the first cumulative distance point along the reference trajectory R1 that is less than the forward-looking distance Ld, calculated by the mobile robot based on its current pose (x_real, y_real, v_real) during movement. This point is the forward-looking point. The forward-looking distance Ld corresponds to the straight-line distance from the current position to this forward-looking point. The forward-looking distance Ld affects the motion stability and trajectory tracking accuracy of the mobile robot 30. Figure 8 In the diagram, curve R1 is the reference trajectory, and arrow FA indicates the current direction of movement of the mobile robot 30. The direction angle can be adjusted... To gradually approximate the reference trajectory R1, where the orientation angle This refers to the angle by which the mobile robot 30 needs to turn to track the reference trajectory; that is, the angle between the current direction of movement of the mobile robot 30 and the direction of the reference trajectory. L is the wheelbase of the mobile robot 30. The wheelbase L and the heading angle... The relationship between path curvature and path curvature can be expressed as R = L / tan( From this relationship, it can be seen that the longer the wheelbase L, the larger the minimum turning radius R of the mobile robot 30, the lower the steering flexibility, but the higher the motion stability. The shorter the wheelbase L, the smaller the turning radius R of the mobile robot 30, but the less stable it is at high speeds.
[0077] When the forward sight distance Ld is short, the mobile robot 30 has high sensitivity to trajectory tracking and can quickly adjust to approach the target reference trajectory R1, but this may lead to unstable movement and oscillations in the mobile robot 30. When the forward sight distance Ld is long, the movement of the mobile robot 30 is smoother and the turning changes are gentler, but this may reduce the trajectory tracking accuracy, especially at sharp turns. The processor 34 can improve tracking accuracy and maintain motion stability by adjusting the forward sight distance Ld of the mobile robot 30 through the curvature and velocity relationship listed in Table 1 above.
[0078] In some embodiments, when the rudder angle issued by the processor 34 differs from the actual rudder angle by more than 30 degrees, the processor 34 drives the mobile robot 30 to decelerate at a certain rate until the rudder angle is in place. In some embodiments, the deceleration formula is: v_input = v_last_input - v_decelerate, where v_input represents the speed issued in the current cycle, v_last_input represents the speed issued in the previous cycle, and v_decelerate represents the calibrated deceleration.
[0079] In Table 1, when the curvature of the route is large (e.g., large positive / large negative curvature in the table) and the vehicle speed is high (e.g., large positive / large negative speed in the table), the adjustment value for the forward sight distance of the mobile robot 30 is "medium". This means that when the mobile robot 30 faces a sharp bend ahead and its current speed is slow, the forward sight distance needs to be shorter, and it needs to focus on the road conditions in the immediate vicinity. In Table 1, when the route is close to a straight line (i.e., zero curvature in the table) and the vehicle speed is slow (i.e., zero speed in the table), the adjustment value for the forward sight distance of the mobile robot 30 is "medium". This means that when the route is straight and the mobile robot 30's speed is slow, the mobile robot 30 can plan its next path and actions in advance.
[0080] Figure 9 A flowchart illustrating the first part of a control method 10 according to another embodiment of this application is provided. This application is not limited to strictly adhering to the method if substantially the same results can be obtained. Figure 9The process steps shown are executed. In some embodiments, the control method 10 may include steps 101, 102', 104, and 105. Figure 9 The method and process shown are the same as Figure 2 The difference in the method flow shown lies in step 102', therefore, Figure 9 Examples and Figure 2 The parts that are the same as those in the embodiments will not be described again.
[0081] In some embodiments, step 102' may be performed by processor 34 determining the return point closest to the mobile robot 30 along the preset path. Figure 9 In this embodiment, when the processor 34 determines in step 101 that the mobile robot 30 has deviated from the preset path, the processor 34 can directly determine the return point that is closest to the mobile robot 30 on the preset path, without driving the display device 32 to display the return interaction interface to interact with the user, and then continue to execute the control method 10 in steps 104 and 105.
[0082] Figure 10 A flowchart illustrating the second part of a control method 10 according to an embodiment of this application is provided. This application is not limited to strictly adhering to the method if substantially the same results can be obtained. Figure 10 The process steps shown are executed. The second part of control method 10 continues. Figure 2 or Figure 9 Step 105 is executed as shown. In some embodiments, the control method 10 may further include steps 106 and 107.
[0083] In some embodiments, step 106 may involve the processor 34 driving the display device 32 to display the task interaction interface. In some embodiments, step 107 may involve the processor 34 loading a previously moved task from the memory 31 and driving the mobile robot 30 to execute the previously moved task.
[0084] For step 106, please refer to... Figure 11 , Figure 11This illustration demonstrates a schematic diagram of a task interaction interface C32 displayed by a display device 32 according to an embodiment of this application. In some embodiments, the task interaction interface C32 may include a prompt word C32P and an interaction option C32M. In some embodiments, the prompt word C32P informs the user that the mobile robot 30 has returned to the preset path YL. In some embodiments, the interaction option C32M is used to receive user interaction with the interaction option C32M, the interaction being used to instruct the mobile robot 30 to continue performing the previous movement task. In some embodiments, the interaction option C32M may include a "yes" or "no" option button. In some embodiments, the interaction is a click operation on the interaction option C32M. After receiving user interaction with the task interaction interface C32, the processor 34 drives the mobile robot 30 to continue performing the previous movement task.
[0085] The control method 10 proposed in this application can first locate the mobile robot 30 using 3DSLAM, without requiring external identifiers such as QR codes or RFID. Furthermore, the control method 10 does not rely on the user's operating skills or judgment; even if the user is unfamiliar with the system principles, they can guide the mobile robot 30 back to the preset path YL through simple point-and-click operations. Additionally, the control method 10 takes environmental obstacles into account when planning the temporary path LL, avoiding collisions between the mobile robot 30 and obstacles and improving safety. Moreover, when the mobile robot 30 moves on the temporary path LL, the control method 10 uses a seven-segment speed planning algorithm to adjust the speed of the mobile robot 30, and simultaneously adjusts the forward sight distance of the mobile robot 30 based on the curvature of the temporary path LL and the speed of the mobile robot 30, greatly reducing the stress and vibration effects on the transmission chain and load, and improving the motion stability of the mobile robot 30.
[0086] Figure 13 A schematic diagram illustrating a controller 60 according to an embodiment of this application is shown. In some embodiments, the controller 60 includes a memory 61 and a processor 64. In some embodiments, the memory 61 and the processor 64 are connected to... Figure 1A The memory 31 and processor 34 are identical in the embodiments. In some embodiments, when the controller 60 is applied to a mobile device (e.g., but not limited to a mobile robot), the processor 64 can coordinate with the mobile device's display and sensor components to execute control method 10 so that the mobile device can immediately return to the path if it deviates from a preset path. In some embodiments, the controller 60 can be a plug-and-play device. In some embodiments, the controller 60 can be connected to the mobile device via wired or wireless means.
[0087] As used herein, the terms “approximately,” “substantially,” “essentially,” and “about” are used to describe and account for small variations. When used in conjunction with an event or situation, the terms may refer to examples where the event or situation occurs precisely or very approximately. As used herein with respect to a given value or range, the term “about” generally means within ±10%, ±5%, ±1%, or ±0.5% of the given value or range. A range may be expressed herein as from one endpoint to another or between two endpoints. Unless otherwise specified, all ranges disclosed herein include endpoints. The term “substantially coplanar” may refer to two surfaces located along the same plane within a few micrometers (µm), for example, within 10µm, 5µm, 1µm, or 0.5µm along the same plane. When referring to “substantially” identical numerical values or characteristics, the term may refer to values within ±10%, ±5%, ±1%, or ±0.5% of the average of said values.
[0088] As used herein, the terms “approximately,” “substantially,” “essentially,” and “about” are used to describe and explain small variations. When used in conjunction with an event or situation, the terms may refer to examples where the event or situation occurred precisely or where it occurred very approximately. For example, when used in conjunction with a numerical value, the terms may refer to a range of variation less than or equal to ±10% of the numerical value, such as less than or equal to ±5%, less than or equal to ±4%, less than or equal to ±3%, less than or equal to ±2%, less than or equal to ±1%, less than or equal to ±0.5%, less than or equal to ±0.1%, or less than or equal to ±0.05%. For example, if the difference between two numerical values is less than or equal to ±10% of the average of the values (e.g., less than or equal to ±5%, less than or equal to ±4%, less than or equal to ±3%, less than or equal to ±2%, less than or equal to ±1%, less than or equal to ±0.5%, less than or equal to ±0.1%, or less than or equal to ±0.05%), then the two numerical values may be considered “substantially” or “about” the same. For example, "essentially parallel" can refer to an angular variation of less than or equal to ±10° relative to 0°, such as less than or equal to ±5°, less than or equal to ±4°, less than or equal to ±3°, less than or equal to ±2°, less than or equal to ±1°, less than or equal to ±0.5°, less than or equal to ±0.1°, or less than or equal to ±0.05°. Similarly, "essentially perpendicular" can refer to an angular variation of less than or equal to ±10° relative to 90°, such as less than or equal to ±5°, less than or equal to ±4°, less than or equal to ±3°, less than or equal to ±2°, less than or equal to ±1°, less than or equal to ±0.5°, less than or equal to ±0.1°, or less than or equal to ±0.05°.
[0089] For example, if the displacement between two surfaces is equal to or less than 5 µm, equal to or less than 2 µm, equal to or less than 1 µm, or equal to or less than 0.5 µm, then the two surfaces can be considered coplanar or substantially coplanar. If the displacement between any two points on a surface relative to a plane is equal to or less than 5 µm, equal to or less than 2 µm, equal to or less than 1 µm, or equal to or less than 0.5 µm, then the surface can be considered planar or substantially planar.
[0090] As used herein, unless the context clearly indicates otherwise, the singular terms “a / an” and “the” may include plural indicators. In the description of some embodiments, a component provided “on” or “above” another component may cover the case where the preceding component is directly on the following component (e.g., in physical contact with the following component), and the case where one or more intermediate components are located between the preceding and following components.
[0091] As used herein, for ease of description, spatial relative terms such as “below,” “under,” “lower,” “above,” “upper,” “lower,” “left,” “right,” etc., may be used to describe the relationship between one component or feature and another component or feature as illustrated in the figures. In addition to the orientations depicted in the figures, spatial relative terms are intended to cover different orientations of the device in use or operation. The device may be oriented in other ways (rotated 90 degrees or in other orientations), and the spatial relative descriptors used herein shall be interpreted accordingly. It should be understood that when a component is referred to as “connected to” or “coupled to” another component, it may be directly connected to or coupled to said other component, or there may be an intermediate component.
[0092] The foregoing outlines several embodiments and detailed features of this disclosure. The embodiments described in this disclosure can readily serve as the basis for designing or modifying other processes and structures for performing the same or similar purposes and / or obtaining the same or similar advantages of the embodiments introduced herein. These equivalent constructions do not depart from the spirit and scope of this disclosure and various changes, substitutions, and modifications can be made without departing from the spirit and scope of this disclosure.
Claims
1. A mobile robot, characterized in that, Includes a processor, the processor being configured to execute program instructions to perform the following steps: When it is determined that the mobile robot has deviated from the preset path, the regression point that is closest to the mobile robot on the preset path is determined; Based on the regression point, a temporary path is generated, including: Receive the current pose of the mobile robot sensed by the sensors, and determine the starting point based on the current pose; and Selectively setting waypoints based on the origin and the return point to generate the temporary path includes: Generate multiple candidate paths between the starting point and the regression point; Select one of the multiple candidate paths as the temporary path; and Drive the mobile robot to return to the preset path according to the temporary path.
2. The mobile robot according to claim 1, characterized in that, The processor is also used to perform the following steps: In response to the mobile robot deviating from the preset path, the display device is driven to display the return interaction interface; and Based on the user's interaction with the regression interface, the regression point closest to the mobile robot along the preset path is determined.
3. The mobile robot according to claim 1, characterized in that, The processor is also used to perform the following steps: Store the previous movement task in memory.
4. The mobile robot according to claim 3, characterized in that, The processor is also used to perform the following steps: In response to the mobile robot returning to the preset path, the display device is driven to display the task interaction interface; and Based on the user's input to the task interaction interface, the previous movement task is loaded from the memory, and the mobile robot is driven to execute the previous movement task.
5. The mobile robot according to claim 2, characterized in that, The processor is also used to perform the following steps: Based on the user's interaction with the regression interface, the regression point is updated and a new temporary path is generated.
6. The mobile robot according to claim 1, characterized in that, Selectively setting the waypoints based on the origin and the return point to generate the temporary path includes: When there are no obstacles between the starting point and the return point, no path point is set.
7. The mobile robot according to claim 6, characterized in that, Selectively setting the waypoints based on the starting point and the return point to generate the temporary path further includes: When there is an obstacle between the starting point and the return point, at least one waypoint shall be set.
8. The mobile robot according to claim 7, characterized in that, Each of the at least one waypoints is represented as a function of two-dimensional coordinates and the orientation angle of the mobile robot.
9. The mobile robot according to claim 8, characterized in that, The at least one path includes adjacent first path points and second path points, wherein the first path point is denoted as (x1, y1, θ1), the second path point is denoted as (x2, y2, θ2), and the first path point and the second path point satisfy the following relationship: x2=x1+Rsin(θ2-θ1), y2=y1+R(1-cos(θ2-θ1)); Where R is the turning radius of the mobile robot, (x1, y1) are the two-dimensional coordinates of the first path point, θ1 is the body orientation angle of the mobile robot at the first path point, (x2, y2) are the two-dimensional coordinates of the second path point, and θ2 is the body orientation angle of the mobile robot at the second path point.
10. The mobile robot according to claim 1, characterized in that, Selectively setting the waypoints based on the starting point and the return point to generate the temporary path further includes: Define a state space boundary, wherein the state space boundary includes the starting point and the regression point.
11. The mobile robot according to claim 1, characterized in that, Selectively setting the waypoints based on the starting point and the return point to generate the temporary path further includes: Evaluate the multiple candidate paths to score them; and Based on the scores of the multiple candidate paths, it is determined whether at least one of the multiple candidate paths meets the preset target.
12. The mobile robot according to claim 11, characterized in that, Selectively setting the waypoints based on the starting point and the return point to generate the temporary path further includes: In response to the fact that none of the multiple candidate paths meet the preset target, the target turning radius is reduced; Determine whether the target turning radius is greater than the minimum turning radius; and In response to the target turning radius being less than the minimum turning radius, the candidate path with the highest score is selected from the plurality of candidate paths as the temporary path.
13. The mobile robot according to claim 12, characterized in that, Selectively setting the waypoints based on the starting point and the return point to generate the temporary path further includes: In response to at least one of the multiple candidate paths satisfying the preset objective, a candidate path that satisfies the preset objective is selected as the temporary path.
14. The mobile robot according to claim 9, characterized in that, Selectively setting the waypoints based on the starting point and the return point to generate the temporary path further includes: In response to the target turning radius being greater than the minimum turning radius, multiple candidate paths are generated again based on the starting point and the regression point.
15. The mobile robot according to claim 11, characterized in that, Evaluating the multiple candidate paths to score them includes: Each candidate path is scored based on whether it causes the mobile robot to switch from forward to backward, whether it includes an S-shaped route, the curvature of the candidate path, and the length of the candidate path.
16. The mobile robot according to claim 1, characterized in that, Driving the mobile robot to return to the preset path according to the temporary path includes: The speed of the mobile robot is adjusted according to the seven-segment speed planning algorithm when moving along the temporary path; and The forward-looking distance of the mobile robot is adjusted based on the curvature of the temporary path and the speed of the mobile robot.
17. A controller, characterized in that, Includes a processor, the processor being configured to execute program instructions to perform the following steps: When it is determined that the mobile robot has deviated from the preset path, the regression point that is closest to the mobile robot on the preset path is determined; Based on the regression point, a temporary path is generated, including: Receive the current pose of the mobile robot sensed by the sensors, and determine the starting point based on the current pose; and Selectively setting waypoints based on the origin and the return point to generate the temporary path includes: Generate multiple candidate paths between the starting point and the regression point; Select one of the multiple candidate paths as the temporary path; and Drive the mobile robot to return to the preset path according to the temporary path.
18. A control method for a mobile robot, characterized in that, include: When it is determined that the mobile robot has deviated from the preset path, the regression point that is closest to the mobile robot on the preset path is determined; Based on the regression point, a temporary path is generated, including: Receive the current pose of the mobile robot sensed by the sensors, and determine the starting point based on the current pose; and Selectively setting waypoints based on the origin and the return point to generate the temporary path includes: Generate multiple candidate paths between the starting point and the regression point; Select one of the multiple candidate paths as the temporary path; and Drive the mobile robot to return to the preset path according to the temporary path.