Local planning method and device in wheel-foot robot navigation and electronic equipment
Through local planning methods, global path points are obtained and sparse, and the motion mode is switched to in-place tread steering or straight line rolling forward, which solves the calculation complexity and speed coupling problems of the wheel-foot robot navigation algorithm, and achieves more efficient navigation.
Patent Information
- Application Number
- CN202510652013.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-20
- Publication Date
- 2025-08-22
AI Technical Summary
The existing wheel-foot-robot navigation algorithm has high real-time calculation complexity, large parameters adjustment, high threshold for early reinforcement learning training, and the linear velocity and angular velocity are deeply coupled, which is not suitable for the movement mode of wheel-foot-robots.
The local planning method is adopted to obtain multiple global path points and perform sparse processing to obtain the inflection point and the final target point, and switch the motion mode to in-situ tread steering or straight line rolling forward, decoupling the linear velocity and angular velocity, reducing the computational complexity and improving adaptability.
The angular velocity and linear velocity of the wheel foot robot are decoupled, the motion mode switching is reduced, and the response capability is improved in a dynamic environment, ensuring that the robot reaches the target point smoothly, safely and efficiently.
Smart Images

Figure CN120523192A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present invention relate to the field of robot navigation technology, and specifically to a local planning method, device and electronic equipment for wheeled robot navigation. Background Art
[0002] In the field of robotic navigation, wheeled robots, legged robots, and wheel-legged robots each possess unique navigation planning technologies. These technologies are specifically designed and optimized for their different motion characteristics and application scenarios. Wheeled robots rely on rolling wheels to move forward in a straight line, so their navigation planning typically focuses on path smoothness and efficiency to achieve high-speed movement on flat surfaces. Legged robots mimic the walking style of animals, and their navigation planning requires consideration of how to adapt to complex and changing terrain, such as uneven ground or stairs, through coordinated leg movements. Wheel-legged robots, on the other hand, combine the characteristics of wheeled and legged robots, allowing for navigation planning that combines the efficiency of wheeled locomotion with the flexibility and adaptability of legged walking, making them of great research value.
[0003] Currently, in navigation planning, local planning techniques, based on the global path points solved by global planning, further consider the robot's motion / dynamics, obstacle avoidance requirements, and other factors. Current local planning algorithms for robot navigation include the Dynamic Window Approach (DWA), Time Elastic Band (TEB), and reinforcement learning. On the one hand, these algorithms have high real-time computational complexity and require a large number of parameters to adjust. Furthermore, reinforcement learning requires a high initial training threshold, which poses generalization issues. On the other hand, the linear and angular velocities solved by these algorithms are deeply coupled, meaning that the velocity information at the same moment includes both linear and angular velocities, making them unsuitable for the locomotion of wheeled robots. Summary of the Invention
[0004] The embodiments of the present invention provide a local planning method, device and electronic equipment for wheeled robot navigation, which solve the problems of high real-time calculation complexity and large parameter adjustment of algorithms such as DWA, TEB and reinforcement learning, high initial training threshold and generalization of reinforcement learning; at the same time, it solves the technical problem that the linear velocity and angular velocity solved by these algorithms are deeply coupled, that is, the velocity information at the same time contains both linear velocity and angular velocity, which is not suitable for the movement mode of wheeled robots.
[0005] In a first aspect, an embodiment of the present invention provides a local planning method for navigation of a wheeled robot, comprising:
[0006] Get multiple global waypoints in wheel-legged robot navigation;
[0007] Performing a sparse processing on the multiple global path points to obtain multiple inflection points and a final target point;
[0008] Traversing the plurality of inflection points and the final target point, while traversing the plurality of inflection points and the final target point:
[0009] When the wheeled robot reaches the current inflection point, the movement mode of the wheeled robot at the current inflection point is switched to the in-place stepping steering mode. In the in-place stepping steering mode, the wheeled robot is turned at the target angular velocity until the angle difference between the heading angle of the wheeled robot at the current inflection point and the path direction of the line connecting the current inflection point to the temporary target point is less than or equal to the target preset angle threshold, and the temporary target point is the next inflection point or the final target point to be reached by the wheeled robot; the movement mode of the wheeled robot at the current inflection point is switched to the straight-line rolling forward mode. In the straight-line rolling forward mode, the wheeled robot is advanced at the target linear velocity until the first distance to the temporary target point is less than or equal to the target preset distance threshold;
[0010] When the wheeled robot reaches the final target point, the difference between the heading angle of the wheeled robot and the heading angle of the final target point is adjusted to be less than or equal to a target preset angle threshold.
[0011] In one possible implementation, obtaining multiple global path points in the wheeled-legged robot navigation includes:
[0012] Acquire multiple global path points in the wheeled-foot robot navigation for a preset number of times within a first time window period;
[0013] The performing a sparse processing on the multiple global path points to obtain multiple inflection points and a final target point includes:
[0014] Within a second time window period, a plurality of global path points in one of the preset times of wheeled-legged robot navigation are subjected to sparse processing to obtain a plurality of turning points and a final target point, and the second time window period is greater than the first time window period.
[0015] In a possible implementation, within the second time window period, performing a sparse processing on multiple global path points in one of the preset number of wheeled robot navigations to obtain multiple inflection points and a final target point includes:
[0016] Determining a starting point and a final destination point from a plurality of global path points in one of the wheeled-legged robot navigations during the preset number of times within a second time window period;
[0017] Determining the starting point as an inflection point;
[0018] Traversing the multiple global path points, while traversing the multiple global path points:
[0019] Determine a first abscissa difference and a first ordinate difference between the ith global pathpoint and the (i-1)th global pathpoint, and a second abscissa difference and a second ordinate difference between the (i+1)th global pathpoint and the ith global pathpoint, where i is an integer greater than or equal to 2;
[0020] If the first horizontal coordinate difference is not equal to the second horizontal coordinate difference or the first vertical coordinate difference is not equal to the second vertical coordinate difference, the i-th global path point is determined to be an inflection point, and the multiple inflection points are obtained.
[0021] In one possible implementation, the method further includes:
[0022] Determine a second distance between the position of the wheeled robot and a target inflection point or a final target point, wherein the target inflection point is a next inflection point to the last inflection point reached by the wheeled robot;
[0023] If the second distance is greater than a preset distance, determining the target inflection point or the final target point as a temporary target point;
[0024] Otherwise, determining a third distance between the position of the wheeled robot and the next inflection point of the target inflection point, and if the third distance is greater than a preset distance, determining the next inflection point of the target inflection point as a temporary target point;
[0025] And so on, until the temporary target point is determined.
[0026] In a possible implementation, the target angular velocity includes: a first angular velocity, a second angular velocity, ..., an Mth angular velocity, and an M+1th angular velocity, where M is an integer greater than or equal to 1;
[0027] When the wheeled robot reaches the current inflection point, the movement mode of the wheeled robot at the current inflection point is switched to the in-place turning mode, and in the in-place turning mode, the wheeled robot is turned at a target angular velocity until the angle difference between the heading angle of the wheeled robot at the current inflection point and the path direction of the line connecting the current inflection point to the temporary target point is less than or equal to the target preset angle threshold, including:
[0028] When the wheeled robot reaches the current inflection point, the movement mode of the wheeled robot at the current inflection point is switched to an in-place turning mode, wherein in the in-place turning mode, if the angle difference between the heading angle at the current inflection point and the path direction of the line connecting the current inflection point to the temporary target point is greater than a first preset angle threshold, the wheeled robot rotates at the first angular velocity;
[0029] If the angle difference between the heading angle of the wheeled robot at the current inflection point and the path direction of the line connecting the current inflection point to the temporary target point is less than or equal to the first preset angle threshold and greater than the second preset angle threshold, the wheeled robot rotates at the second angular velocity;
[0030] By analogy, if the angular difference between the heading angle of the wheeled robot at the current turning point and the path direction of the line connecting the current turning point to the temporary target point is less than or equal to the Mth preset angle threshold, and greater than the M+1th preset angle threshold, the wheeled robot rotates at the M+1th angular velocity until the angular difference between the heading angle of the wheeled robot at the current turning point and the path direction of the line connecting the current turning point to the temporary target point is less than or equal to the target preset angle threshold, the first angular velocity is greater than the second angular velocity, and so on, the Mth angular velocity is greater than the M+1th angular velocity.
[0031] In one possible implementation, the method further includes:
[0032] When the distance between the wheeled robot and the temporary target point is less than a first threshold, switching the movement mode of the wheeled robot at the current position to the in-place turning mode, wherein in the in-place turning mode, if the angular difference between the heading angle of the wheeled robot at the current position and the path direction of the line connecting the current position to the temporary target point is greater than a first preset angle threshold, the wheeled robot rotates at the first angular velocity, and the first threshold is less than the distance between the current inflection point and the temporary target point;
[0033] If the angle difference between the heading angle of the wheeled robot at the current position and the path direction of the line connecting the current position to the temporary target point is less than or equal to the first preset angle threshold and greater than the second preset angle threshold, the wheeled robot rotates at the second angular velocity;
[0034] By analogy, if the angle difference between the heading angle of the wheeled robot at the current position and the path direction of the line connecting the current position to the temporary target point is less than or equal to the Mth preset angle threshold, and greater than the M+1th preset angle threshold, it rotates at the M+1th angular velocity until the angle difference with the temporary target point is less than or equal to the target preset angle threshold.
[0035] In a possible implementation, the target linear velocity includes: a first linear velocity, a second linear velocity, ..., an Nth linear velocity, and an N+1th linear velocity, where N is an integer greater than or equal to 1;
[0036] The step of switching the motion mode of the wheeled robot at the current inflection point to a straight-line rolling forward mode, and causing the wheeled robot to advance at a target linear velocity in the straight-line rolling forward mode until a first distance from the temporary target point is less than or equal to a target preset distance threshold, includes:
[0037] Switching the motion mode of the wheeled robot at the current inflection point to a straight-line rolling forward mode, wherein in the straight-line rolling forward mode, if a first distance between the position of the wheeled robot and the temporary target point is greater than a first preset distance threshold, the wheeled robot moves forward at the first linear velocity;
[0038] If the first distance between the position of the wheeled robot and the temporary target point is less than or equal to the first preset distance threshold and greater than the second preset distance threshold, moving forward at the second linear speed;
[0039] By analogy, if the first distance between the position of the wheeled robot and the temporary target point is less than or equal to the Nth preset distance threshold and greater than the N+1th preset distance threshold, it moves forward at the N+1th linear speed until the first distance to the temporary target point is less than or equal to the target preset distance threshold, the first linear speed is greater than the second linear speed, and so on, the Nth linear speed is greater than the N+1th linear speed.
[0040] In a second aspect, an embodiment of the present invention provides a local planning device for wheeled robot navigation, comprising:
[0041] The acquisition module is used to obtain multiple global path points in the navigation of the wheeled robot;
[0042] A sparse processing module, configured to perform sparse processing on the plurality of global path points to obtain a plurality of inflection points and a final target point;
[0043] A traversal module is used to traverse the multiple inflection points and the final target point, and when traversing the multiple inflection points and the final target point:
[0044] When the wheeled robot reaches the current inflection point, the movement mode of the wheeled robot at the current inflection point is switched to the in-place stepping steering mode. In the in-place stepping steering mode, the wheeled robot is turned at the target angular velocity until the angle difference between the heading angle of the wheeled robot at the current inflection point and the path direction of the line connecting the current inflection point to the temporary target point is less than or equal to the target preset angle threshold, and the temporary target point is the next inflection point or the final target point to be reached by the wheeled robot; the movement mode of the wheeled robot at the current inflection point is switched to the straight-line rolling forward mode. In the straight-line rolling forward mode, the wheeled robot is advanced at the target linear velocity until the first distance to the temporary target point is less than or equal to the target preset distance threshold;
[0045] When the wheeled robot reaches the final target point, the difference between the heading angle of the wheeled robot and the heading angle of the final target point is adjusted to be less than or equal to a target preset angle threshold.
[0046] In a possible implementation, the acquisition module is specifically used to acquire a plurality of global path points in the navigation of the wheeled-foot robot for a preset number of times within a first time window period;
[0047] The sparse processing module is specifically used to perform sparse processing on multiple global path points in one of the preset times of wheeled robot navigation within a second time window period to obtain multiple turning points and final target points, and the second time window period is greater than the first time window period.
[0048] In one possible implementation, the sparsification processing module is specifically used to determine the starting point and the final target point from multiple global path points in one of the preset times of wheeled robot navigation within a second time window period; determine the starting point as an inflection point; traverse the multiple global path points, and when traversing the multiple global path points: determine the first horizontal coordinate difference and the first vertical coordinate difference between the i-th global path point and the i-1th global path point, and the second horizontal coordinate difference and the second vertical coordinate difference between the i+1th global path point and the i-th global path point, where i is an integer greater than or equal to 2; if the first horizontal coordinate difference is not equal to the second horizontal coordinate difference or the first vertical coordinate difference is not equal to the second vertical coordinate difference, then determine the i-th global path point as an inflection point, and obtain the multiple inflection points.
[0049] In one possible implementation, the device also includes a determination module for determining a second distance between the position of the wheeled robot and the target inflection point or the final target point, where the target inflection point is the next inflection point of the last inflection point that the wheeled robot has reached; if the second distance is greater than a preset distance, the target inflection point or the final target point is determined to be a temporary target point; otherwise, a third distance between the position of the wheeled robot and the next inflection point of the target inflection point is determined; if the third distance is greater than the preset distance, the next inflection point of the target inflection point is determined to be a temporary target point; and so on, until a temporary target point is determined.
[0050] In a possible implementation, the target angular velocity includes: a first angular velocity, a second angular velocity, ..., an Mth angular velocity, and an M+1th angular velocity, where M is an integer greater than or equal to 1.
[0051] The traversal module is specifically used to switch the movement mode of the wheeled robot at the current turning point to the in-place turning mode when the wheeled robot reaches the current turning point. In the in-place turning mode, if the angle difference between the heading angle of the wheeled robot at the current turning point and the path direction of the line connecting the current turning point to the temporary target point is greater than a first preset angle threshold, the wheeled robot rotates at the first angular velocity; if the angle difference between the heading angle of the wheeled robot at the current turning point and the path direction of the line connecting the current turning point to the temporary target point is less than or equal to the first preset angle threshold, and is greater than a second preset angle threshold, rotate at the second angular velocity; by analogy, if the angular difference between the heading angle of the wheeled robot at the current inflection point and the path direction of the line connecting the current inflection point to the temporary target point is less than or equal to the Mth preset angle threshold, and greater than the M+1th preset angle threshold, rotate at the M+1th angular velocity until the angular difference between the heading angle of the wheeled robot at the current inflection point and the path direction of the line connecting the current inflection point to the temporary target point is less than or equal to the target preset angle threshold, the first angular velocity is greater than the second angular velocity, and by analogy, the Mth angular velocity is greater than the M+1th angular velocity.
[0052] In one possible implementation, the device further includes a motion mode switching module, which is used to switch the motion mode of the wheeled robot at the current position to an in-place turning mode when the distance between the wheeled robot and the temporary target point is less than a first threshold. In the in-place turning mode, if the angular difference between the heading angle of the wheeled robot at the current position and the path direction of the line connecting the current position to the temporary target point is greater than a first preset angle threshold, the wheeled robot rotates at the first angular velocity, and the first threshold is less than the distance between the current inflection point and the temporary target point; if the angular difference between the heading angle of the wheeled robot at the current position and the path direction of the line connecting the current position to the temporary target point is less than or equal to the first preset angle threshold and greater than a second preset angle threshold, the wheeled robot rotates at the second angular velocity; and so on, if the angular difference between the heading angle of the wheeled robot at the current position and the path direction of the line connecting the current position to the temporary target point is less than or equal to the Mth preset angle threshold and greater than the M+1th preset angle threshold, the wheeled robot rotates at the M+1th angular velocity until the angular difference with the path direction of the line connecting the current inflection point to the temporary target point is less than or equal to the target preset angle threshold.
[0053] In a possible implementation, the target linear velocity includes: a first linear velocity, a second linear velocity, ..., an Nth linear velocity, and an N+1th linear velocity, where N is an integer greater than or equal to 1.
[0054] The traversal module is specifically used to switch the movement mode of the wheeled robot at the current inflection point to a straight-line rolling forward mode. In the straight-line rolling forward mode, if the first distance between the position of the wheeled robot and the temporary target point is greater than the first preset distance threshold, the robot moves forward at the first linear speed; if the first distance between the position of the wheeled robot and the temporary target point is less than or equal to the first preset distance threshold and greater than the second preset distance threshold, the robot moves forward at the second linear speed; and so on, if the first distance between the position of the wheeled robot and the temporary target point is less than or equal to the Nth preset distance threshold and greater than the N+1th preset distance threshold, the robot moves forward at the N+1th linear speed until the first distance to the temporary target point is less than or equal to the target preset distance threshold, the first linear speed is greater than the second linear speed, and so on, the Nth linear speed is greater than the N+1th linear speed.
[0055] In a third aspect, an embodiment of the present invention provides an electronic device, including:
[0056] A memory and a processor, wherein the processor and the memory communicate with each other via a bus; the memory stores program instructions that can be executed by the processor, and the processor calls the program instructions to execute the method described in the first aspect and each step in various possible implementations.
[0057] In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method described in the first aspect and each step in various possible implementations.
[0058] In a fifth aspect, an embodiment of the present invention provides a computer program product comprising instructions, which, when run on a computer, enables the computer to execute the various steps in the method and various possible implementations described in the first aspect.
[0059] The embodiments of the present invention disclose the following technical effects:
[0060] 1) The embodiment of the present invention realizes the decoupling of the angular velocity and linear velocity of the wheel-legged robot;
[0061] 2) The embodiment of the present invention performs sparse processing on the global path points to obtain multiple inflection points and the final target point, thereby reducing computational complexity and enabling the robot to switch between the two motion modes of linear rolling forward and stepping and turning in place as little as possible. This is beneficial for reducing body oscillation and improving the ability to respond to dynamic environments, thereby reaching the final target point smoothly, safely and efficiently.
[0062] Of course, any product implementing the present invention does not necessarily need to achieve all of the advantages described above at the same time. BRIEF DESCRIPTION OF THE DRAWINGS
[0063] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following is a brief introduction to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0064] Figure 1 A diagram of a system architecture applicable to an embodiment of the present invention;
[0065] Figure 2 A schematic flow chart of a local planning method for wheeled-legged robot navigation provided by an embodiment of the present invention;
[0066] Figure 3 A schematic diagram of obtaining multiple inflection points and a final target point provided by an embodiment of the present invention;
[0067] Figure 4 A schematic diagram of global path points after sparse processing provided by an embodiment of the present invention;
[0068] Figure 5 A schematic diagram of updating a temporary target point provided by an embodiment of the present invention;
[0069] Figure 6 A schematic diagram of determining the linear velocity of a wheeled robot according to the distance dis2 from a current position point to a temporary target point provided by an embodiment of the present invention;
[0070] Figure 7 A schematic flow chart of a local planning method for wheeled-legged robot navigation provided by an embodiment of the present invention;
[0071] Figure 8 A schematic block diagram of a local planning device for wheeled-legged robot navigation provided by an embodiment of the present invention;
[0072] Figure 9 A schematic block diagram of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0073] To make the objectives, technical solutions, and advantages of the embodiments of the present invention more clear, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. All other embodiments obtained by ordinary technicians in this field based on the embodiments of the present invention without making any creative efforts shall fall within the scope of protection of the present invention.
[0074] The terms used in the embodiments of the present invention are only for the purpose of describing specific embodiments and are not intended to limit the present invention. The singular forms "a", "an", "the" and "the" used in the embodiments of the present invention and the appended claims are also intended to include plural forms unless the context clearly indicates otherwise.
[0075] It should be understood that the term "and / or" as used herein is merely a description of the relationship between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can represent: A exists alone, A and B exist simultaneously, or B exists alone. Furthermore, the character " / " in this document generally indicates that the associated objects are in an "or" relationship.
[0076] The word "if," as used herein, may be interpreted as "at the time of" or "when" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrases "if it is determined" or "if monitoring (stated condition or event)" may be interpreted as "when it is determined" or "in response to determining" or "when detecting (stated condition or event)" or "in response to detecting (stated condition or event)," depending on the context.
[0077] Currently, in navigation planning, local planning techniques, based on the global path points solved by global planning, further consider the robot's motion / dynamics, obstacle avoidance requirements, and other factors. Current local planning algorithms for robot navigation include the Dynamic Window Approach (DWA), Time Elastic Band (TEB), and reinforcement learning. On the one hand, these algorithms have high real-time computational complexity and require a large number of parameters to adjust. Furthermore, reinforcement learning requires a high initial training threshold, which poses generalization issues. On the other hand, the linear and angular velocities solved by these algorithms are deeply coupled, meaning that the velocity information at the same moment includes both linear and angular velocities, making them unsuitable for the locomotion of wheeled robots.
[0078] In view of this, the embodiment of the present invention provides a new idea. In order to facilitate the understanding of the present application, the system architecture based on the embodiment of the present invention is first described. Figure 1 An exemplary system architecture to which embodiments of the present invention may be applied is shown. Figure 1 As shown in , the system architecture may include a terminal device and a local planning device for wheeled-legged robot navigation located on the server side.
[0079] Terminal devices may include, but are not limited to, smart mobile terminals, smart home devices, wearable devices, and personal computers (PCs). Smart mobile terminals may include mobile phones, tablets, laptops, PDAs (Personal Digital Assistants), and internet-connected cars. Smart home devices may include smart TVs and smart refrigerators. Wearable devices may include smart watches, smart glasses, virtual reality devices, augmented reality devices, and mixed reality devices (i.e., devices that support both virtual reality and augmented reality).
[0080] The local planning device in the wheeled-legged robot navigation can use the local planning method in the wheeled-legged robot navigation provided in the embodiment of the present invention to perform local planning in the wheeled-legged robot navigation.
[0081] The local planning device in the wheeled robot navigation can be set up in a single server, or in a server group consisting of multiple servers, or in a cloud server. A cloud server, also known as a cloud computing server or cloud host, is a host product in the cloud computing service system to solve the problems of difficult management and weak service scalability in traditional physical hosts and virtual private servers (VPS). Figure 1 In addition to the shown architecture, the local planning device in the wheeled-legged robot navigation can also be set on a computer terminal with strong computing power.
[0082] First, it should be noted that the present invention designs a local planning scheme based on the decoupling of linear and angular velocities. This scheme, while adapting to the specific motion characteristics of wheeled robots, which at any given moment only have either linear velocity for forward movement or angular velocity for turning, also reduces the complexity of the navigation planning algorithm, minimizing the need for the robot to switch between linear rolling and stationary turning (as frequent switching between motion modes can cause body oscillation and the time required for switching reduces its responsiveness to dynamic environments). This allows the robot to more smoothly, safely, and efficiently track the global path and reach the final destination. Specifically, obstacles are first puffed on the costmap. Then, local planning is performed on the global path points obtained using the Theta* global planning technique, tailored to the wheeled robot's flexible motion. The global path points are first thinned to obtain multiple inflection points (including the starting point) and the final destination. Upon reaching an inflection point, the robot performs stationary turning, then switches to linear rolling mode to the next temporary destination, and so on, until the final destination is reached. Taking into account the dynamic changes of the task scenario, the temporary target point that needs to be reached is updated according to the changes in conditions (if the temporary target point has been reached, the next temporary target point to be reached is updated; if the cost map changes due to obstacles or unstable scanning, the global path point changes, and the temporary target point to be reached needs to be updated at this time). A parameterized piecewise function is designed based on the distance from the current position to the temporary target point, and the angular velocity and linear velocity are dynamically adjusted to enable the robot to reach the final target point safely, smoothly and efficiently.
[0083] Figure 2 A flowchart of a local planning method for wheeled robot navigation provided by an embodiment of the present invention is provided. The method can be Figure 1 The local planning device in the wheeled robot navigation of the system shown is executed. Figure 2 As shown in , the method may include the following steps:
[0084] Step 201: Acquire multiple global path points in the wheeled-legged robot navigation.
[0085] Step 202: Perform sparse processing on multiple global path points to obtain multiple inflection points and a final target point.
[0086] Step 203: traverse multiple turning points and final target points. When traversing multiple turning points and final target points: when the wheel-foot robot reaches the current turning point, switch the movement mode of the wheel-foot robot at the current turning point to the in-place stepping steering mode. In the in-place stepping steering mode, make the wheel-foot robot turn at the target angular velocity until the angle difference between the heading angle of the wheel-foot robot at the current turning point and the path direction of the line connecting the current turning point to the temporary target point is less than or equal to the target preset angle threshold, and the temporary target point is the next turning point or final target point to be reached by the wheel-foot robot; switch the movement mode of the wheel-foot robot at the current turning point to the straight-line rolling forward mode. In the straight-line rolling forward mode, make the wheel-foot robot advance at the target linear velocity until the first distance to the temporary target point is less than or equal to the target preset distance threshold; when the wheel-foot robot reaches the final target point, adjust the difference between the heading angle of the wheel-foot robot and the heading angle of the final target point to be less than or equal to the target preset angle threshold.
[0087] The following describes in detail each step in the above process and the effects that can be further produced in conjunction with the embodiments of the present invention.
[0088] First, the above step 201, i.e., “obtaining multiple global path points in wheeled-legged robot navigation”, is described in detail in conjunction with an embodiment of the present invention.
[0089] First, it's important to note that wheeled robots use a linear rolling motion when moving forward and a stationary stepping motion when turning. This locomotion mode combines the efficiency of wheeled locomotion with the flexibility and adaptability of legged locomotion, adapting to a variety of complex scenarios and road conditions. Therefore, local planning requires comprehensive consideration of the switching and coordination between these two locomotion modes to achieve optimal navigation performance in changing environments.
[0090] It should also be noted that path planning in wheeled robot navigation is generally divided into two parts: global planning and local planning. Global planning involves planning the overall path based on a given target location and a global map. The wheeled robot is approximated as a point mass model and an algorithm based on the Theta* algorithm (a search-based algorithm improved upon the A* algorithm) or sampling is used to calculate the optimal path from the wheeled robot to the target location, which serves as the robot's global path. The Theta* algorithm is a search-based algorithm improved upon the A* algorithm. It can reduce invalid path turning points, straighten the path, and prevent the robot from moving against obstacles. This algorithm significantly reduces the complexity of local planning algorithm design and the difficulty of tracking, and also facilitates smooth robot movement. Local planning often follows global planning. It involves planning the path that the wheeled robot should travel within each cycle based on map information and any obstacles that may appear near the wheeled robot at any time, ensuring that it conforms to the optimal path as much as possible. The linear and angular velocities within the driving cycle are also calculated to avoid collisions with dynamically appearing obstacles.
[0091] In an embodiment of the present invention, obstacles in a wheeled robot's navigation are puffed on a costmap. After the obstacles are puffed, multiple global path points in the wheeled robot's global planning are determined. A local planning device in the wheeled robot's navigation can obtain multiple global path points. As a possible implementation, the local planning device in the wheeled robot's navigation can obtain multiple global path points in the wheeled robot's navigation a preset number of times within a first time window period.
[0092] The above step 202, i.e., "performing a sparse process on multiple global path points to obtain multiple inflection points and a final target point", is described in detail below in conjunction with an embodiment of the present invention.
[0093] In the embodiment of the present invention, considering that the global path points obtained by the Theta* algorithm are still relatively large, and there are many equally spaced global path points on the same straight line, these global path points are evenly distributed on the same straight line, which are redundant global path points for local planning and are unnecessary. Therefore, Figure 3 As shown in FIG, multiple global path points are thinned out to obtain multiple inflection points and the final target point.
[0094] As a possible implementation method, within a second time window period, multiple global path points in one of the preset times of wheeled-legged robot navigation are sparsely processed to obtain multiple turning points and final target points, and the second time window period is greater than the first time window period.
[0095] As a possible implementation method, within the second time window period, a plurality of global path points in one of the preset number of wheeled robot navigations are subjected to sparse processing, and a plurality of inflection points and a final target point are obtained by the following steps:
[0096] First, within a second time window period, determining a starting point and a final target point from a plurality of global path points in one of the preset number of wheeled-legged robot navigations;
[0097] Secondly, determine the starting point as the inflection point;
[0098] Then, traverse multiple global path points. When traversing multiple global path points:
[0099] Determine a first horizontal coordinate difference and a first vertical coordinate difference between the i-th global path point and the i-1th global path point, as well as a second horizontal coordinate difference and a second vertical coordinate difference between the i+1th global path point and the i-th global path point, where i is an integer greater than or equal to 2; if the first horizontal coordinate difference is not equal to the second horizontal coordinate difference or the first vertical coordinate difference is not equal to the second vertical coordinate difference, determine that the i-th global path point is an inflection point, and obtain multiple inflection points.
[0100] For example, Figure 3 As shown, point i-1 is the first global path point i-1, point i is the first global path point i, point i+1 is the first global path point i+1. Calculate point i and point i-1 The first horizontal axis difference is recorded as And the first ordinate difference, recorded as Calculate point i+1 and point i The second horizontal axis difference is recorded as And the second ordinate difference, recorded as in, point i-1 The horizontal axis, point i The horizontal axis, point i+1 The horizontal axis, point i-1 The vertical coordinate, point i The vertical coordinate, point i+1 If △x1=△x2 and △y1=△y2, then determine point i-1 、point i and point i+1 On the same line, filter out points i If △x1≠△x2 or △y1≠△y2, then determine point i If i is an inflection point, add it to the array. Increase the value of i by 1 and continue calculating the horizontal and vertical coordinate differences of the first two global path points and the horizontal and vertical coordinate differences of the last two global path points among the three adjacent global path points. Continue processing global path points in this way until i represents the second-to-last global path point. Then, add the last global path point to the array, and the resulting new array is the multiple inflection points and the final target point.
[0101] For example, Figure 4 As shown in the figure, after the sparse processing, only the inflection point (as shown in the figure inflectionpoint) (including the starting point (as shown in the figure start)) and the final target point (as shown in the figure goal) are retained, and the global path points with equal intervals on the same straight line are removed, which simplifies the subsequent calculation complexity.
[0102] The following describes in detail the above step 203 in conjunction with an embodiment of the present invention, namely, "traversing multiple turning points and the final target point, when traversing multiple turning points and the final target point: when the wheel-foot robot reaches the current turning point, switching the movement mode of the wheel-foot robot at the current turning point to the in-place stepping steering mode, in the in-place stepping steering mode, making the wheel-foot robot turn at the target angular velocity until the angle difference between the heading angle of the wheel-foot robot at the current turning point and the path direction of the line connecting the current turning point to the temporary target point is less than or equal to the target preset angle threshold, and the temporary target point is the next turning point or the final target point to be reached by the wheel-foot robot; switching the movement mode of the wheel-foot robot at the current turning point to the straight-line rolling forward mode, in the straight-line rolling forward mode, making the wheel-foot robot advance at the target linear velocity until the first distance to the temporary target point is less than or equal to the target preset distance threshold; when the wheel-foot robot reaches the final target point, adjusting the difference between the heading angle of the wheel-foot robot and the heading angle of the final target point to be less than or equal to the target preset angle threshold."
[0103] First of all, it should be noted that during local planning, a temporary target point is set starting from the starting point of the global path point after the sparse processing. When the distance between the position of the wheeled robot and the temporary target point is less than a second threshold, it is considered that the temporary target point has been reached, and the temporary target point is updated to the next inflection point. The temporary target point can be determined by the following steps: determining the second distance between the position of the wheeled robot and the target inflection point or the final target point, the target inflection point being the next inflection point of the last inflection point that the wheeled robot has reached; if the second distance is greater than the preset distance, then the target inflection point or the final target point is determined to be the temporary target point; otherwise, determining the third distance between the position of the wheeled robot and the next inflection point of the target inflection point, if the third distance is greater than the preset distance, then determining the next inflection point of the target inflection point as the temporary target point; and so on, until the temporary target point is determined.
[0104] For example, Figure 5As shown, robot represents the current position of the wheeled robot, and threshold1 is the set threshold boundary. In a certain task planning, it is assumed that the global path points after sparse processing are points a, b, c, and d in sequence, and the current robot needs to update the temporary target point. The update strategy of the embodiment of the present invention is to check the distance dis1 between the current global path point (i.e., points a, b, c, and d) and the position of the wheeled robot in sequence. If the distance dis1 is less than or equal to threshold1, it can be considered that the wheeled robot has reached the global path point, and the global path point is filtered (if the global path point is the final target point, the heading angle of the wheeled robot is adjusted to make it have the same direction as the final target point). Traverse the next global path point, calculate the distance dis1 between the new global path point and the position of the wheeled robot, until dis1>threshold1, and set the current global path point as the next temporary target point to be reached by the wheeled robot. The three points a, b, and c in the figure do not meet the conditions, and point d is the next temporary target point to be reached by the robot.
[0105] Taking into account the dynamic changes of the mission scenario, during the local planning process, the temporary target point that needs to be reached is updated according to the changes in conditions (such as encountering obstacles).
[0106] After reaching the new temporary target point, the wheeled robot's heading angle is adjusted (when the wheeled robot turns, a segmented angular velocity function can be designed based on the angular difference between the heading angle and the path direction of the line connecting the current turning point to the temporary target point. When the angular difference is large, the wheeled robot steps at a higher angular velocity; when the angular difference is small, the wheeled robot steps at a lower angular velocity). This ensures that the heading angle aligns with the path direction of the line connecting the current turning point to the temporary target point. The wheeled robot's linear velocity is then issued (similarly, when the wheeled robot moves forward, a segmented linear velocity function can be designed based on the distance dis2), controlling the wheeled robot to roll forward toward the current temporary target point.
[0107] Specifically, in an embodiment of the present invention, by traversing multiple turning points and the final target point, the following is achieved when traversing multiple turning points and the final target point: when the wheel-foot robot reaches the current turning point, the movement mode of the wheel-foot robot at the current turning point is switched to the in-place stepping turning mode, and in the in-place stepping turning mode, the wheel-foot robot is turned at the target angular velocity until the angle difference between the heading angle of the wheel-foot robot at the current turning point and the path direction of the line connecting the current turning point to the temporary target point is less than or equal to the target preset angle threshold, and the temporary target point is the next turning point or the final target point to be reached by the wheel-foot robot; the movement mode of the wheel-foot robot at the current turning point is switched to the straight-line rolling forward mode, and in the straight-line rolling forward mode, the wheel-foot robot is advanced at the target linear velocity until the first distance to the temporary target point is less than or equal to the target preset distance threshold; when the wheel-foot robot reaches the final target point, the difference between the heading angle of the wheel-foot robot and the heading angle of the final target point is adjusted to be less than or equal to the target preset angle threshold.
[0108] First, the following is explained in detail: "When the wheeled robot reaches the current turning point, the movement mode of the wheeled robot at the current turning point is switched to the in-place turning mode. In the in-place turning mode, the wheeled robot is turned at the target angular velocity until the angle difference between the heading angle of the wheeled robot at the current turning point and the path direction of the line connecting the current turning point to the temporary target point is less than or equal to the target preset angle threshold."
[0109] As a possible implementation, the target angular velocity includes: a first angular velocity, a second angular velocity, ..., an Mth angular velocity, and an M+1th angular velocity, where M is an integer greater than or equal to 1. When the wheeled robot reaches the current turning point, the motion mode of the wheeled robot at the current turning point is switched to an in-place turning mode. In the in-place turning mode, the wheeled robot is turned at the target angular velocity until the angular difference between the heading angle of the wheeled robot at the current turning point and the path direction of the line connecting the current turning point to the temporary target point is less than or equal to a target preset angle threshold. This is achieved by the following steps:
[0110] When the wheeled robot reaches the current turning point, the movement mode of the wheeled robot at the current turning point is switched to the in-place turning mode. In the in-place turning mode, if the angle difference between the heading angle of the wheeled robot at the current turning point and the path direction of the line connecting the current turning point to the temporary target point is greater than a first preset angle threshold, the wheeled robot rotates at a first angular velocity;
[0111] During the process of the wheeled robot rotating at the first angular velocity, if it is detected that the angle difference between the heading angle of the wheeled robot at the current turning point and the path direction of the line connecting the current turning point to the temporary target point is less than or equal to the first preset angle threshold and greater than the second preset angle threshold, the wheeled robot rotates at the second angular velocity;
[0112] By analogy, if the angular difference between the heading angle of the wheeled robot at the current turning point and the path direction of the line connecting the current turning point to the temporary target point is less than or equal to the Mth preset angle threshold and greater than the M+1th preset angle threshold, the wheeled robot rotates at the M+1th angular velocity until the angular difference between the heading angle of the wheeled robot at the current turning point and the path direction of the line connecting the current turning point to the temporary target point is less than or equal to the target preset angle threshold, the first angular velocity is greater than the second angular velocity, and so on, the Mth angular velocity is greater than the M+1th angular velocity.
[0113] As a possible implementation, when the distance between the wheeled robot and the temporary target point is less than a first threshold, the movement mode of the wheeled robot at the current position is switched to an in-place turning mode. In the in-place turning mode, if the angle difference between the heading angle at the current position and the path direction of the line connecting the current position to the temporary target point is greater than a first preset angle threshold, the wheeled robot rotates at a first angular velocity, and the first threshold is less than the distance between the current inflection point and the temporary target point.
[0114] If the angle difference between the heading angle of the wheeled robot at the current position and the path direction of the line connecting the current position to the temporary target point is less than or equal to the first preset angle threshold and greater than the second preset angle threshold, the wheeled robot rotates at the second angular velocity;
[0115] By analogy, if the angle difference between the heading angle of the wheeled robot at the current position and the path direction of the line connecting the current position to the temporary target point is less than or equal to the Mth preset angle threshold, and greater than the M+1th preset angle threshold, it rotates at the M+1th angular velocity until the angle difference with the path direction of the line connecting the current position to the temporary target point is less than or equal to the target preset angle threshold.
[0116] For example, the angular velocity ω z The piecewise function is as follows:
[0117]
[0118] Secondly, a detailed explanation is given on "switching the movement mode of the wheeled robot at the current turning point to the straight-line rolling forward mode, and in the straight-line rolling forward mode, making the wheeled robot move forward at the target linear speed until the first distance to the temporary target point is less than or equal to the target preset distance threshold."
[0119] As a possible implementation manner, the target linear velocity includes: a first linear velocity, a second linear velocity, ..., an Nth linear velocity, and an N+1th linear velocity, where N is an integer greater than or equal to 1;
[0120] Switching the motion mode of the wheeled robot at the current turning point to the straight-line rolling forward mode, and in the straight-line rolling forward mode, making the wheeled robot move forward at the target linear velocity until the first distance to the temporary target point is less than or equal to the target preset distance threshold can be achieved by the following steps:
[0121] Switching the motion mode of the wheeled robot at the current turning point to a straight-line rolling forward mode, wherein in the straight-line rolling forward mode, if a first distance between the wheeled robot and the temporary target point is greater than a first preset distance threshold, the wheeled robot moves forward at a first linear velocity;
[0122] When the wheeled robot moves forward at the first linear velocity, if it is detected that a first distance between the wheeled robot and the temporary target point is less than or equal to a first preset distance threshold and greater than a second preset distance threshold, the wheeled robot moves forward at the second linear velocity;
[0123] By analogy, if the first distance between the wheeled robot and the temporary target point is less than or equal to the Nth preset distance threshold and greater than the N+1th preset distance threshold, it moves forward at the N+1th linear speed until the first distance to the temporary target point is less than or equal to the target preset distance threshold, the first linear speed is greater than the second linear speed, and so on, the Nth linear speed is greater than the N+1th linear speed.
[0124] For example, the linear velocity V x The piecewise function is as follows:
[0125]
[0126] For example, Figure 6As shown in the figure, robot represents the current position of the wheeled robot, temporary goal represents the temporary goal, dis2 represents the distance between the wheeled robot's current position and the temporary goal, θ represents the cumulative directional error that may occur during the wheeled robot's forward movement, and threshold2 and threshold3 are two different threshold boundaries. The first threshold mentioned above is threshold3, and the second threshold is threshold2. During the entire local planning process, the wheeled robot determines its linear velocity in segments based on the distance dis2 from the current position to the temporary goal. The threshold boundaries are set and the segmentation process is performed. Initially, when dis2 > threshold3, the wheeled robot has not left the current turning point and is considered to be at the current turning point. The wheeled robot's motion mode is switched to the stationary turning mode. The wheeled robot adjusts its heading angle once to align with the path direction of the line connecting the current turning point to the temporary goal point. After the adjustment, the wheeled robot rolls forward in a straight line. When threshold3 >= dis2 > threshold2, the wheeled robot is considered to be close to the temporary goal point. In order to eliminate the cumulative direction error θ that may be generated during the forward movement of the wheeled robot, at the moment when the dis2 value just enters the threshold3 range, the movement mode of the wheeled robot is switched to the in-place stepping and turning mode, and then the heading angle is continuously adjusted. After the adjustment, it faces the temporary target point and slowly rolls to the temporary target point at a smaller linear speed. When threshold2>=dis2, it is considered that the wheeled robot has reached the temporary target point, and the linear speed is 0 at this time. If the temporary target point is the final target point, the movement mode of the wheeled robot is switched to the in-place stepping and turning mode, and the difference between the heading angle of the wheeled robot and the heading angle of the final target point is adjusted to be less than or equal to the target preset angle threshold. In other words, when the wheeled robot reaches the final target point, the wheeled robot performs the final round of heading angle adjustment. Exemplarily, the linear velocity piecewise function is as follows:
[0127]
[0128] It should be noted that parameters can be adjusted based on scene changes and as the wheeled robot's performance is continuously optimized, such as distance thresholds threshold1, threshold2, and threshold3. Regarding speed, a linear velocity curve can be interpolated based on the distance between the wheeled robot's current turning point and the temporary target point to achieve smoother motion. Similarly, when solving for angular velocity, an angular velocity curve can be interpolated based on the difference in heading angle between the wheeled robot's current turning point and the temporary target point.
[0129] It can be understood that when the wheeled robot reaches the final target point, the difference between the heading angle of the wheeled robot and the heading angle of the final target point is adjusted to be less than or equal to the target preset angle threshold.
[0130] From the above content, it can be seen that the embodiments of the present invention achieve the decoupling of the angular velocity and linear velocity of the wheeled robot; the global path points are sparsely processed to obtain multiple inflection points and the final target point, which reduces the computational complexity, and at the same time enables the robot to switch between the two motion modes of linear rolling forward and stepping in place as little as possible, which is beneficial to reducing the oscillation of the fuselage and improving the ability to respond to dynamic environments, so as to reach the final target point smoothly, safely and efficiently.
[0131] Based on the same concept as the above method embodiment, the embodiment of the present invention also provides a local planning method for wheeled robot navigation. Figure 7 As shown, the method includes the following steps:
[0132] Step 701: Acquire multiple global path points.
[0133] In the embodiment of the present invention, the specific implementation process of step 701 refers to step 201 and will not be repeated here.
[0134] Step 702: Perform sparse processing on multiple global path points to obtain multiple inflection points and a final target point.
[0135] In the embodiment of the present invention, the specific implementation process of step 702 refers to step 202 and will not be repeated here.
[0136] Step 703: Update the current temporary target point.
[0137] In an embodiment of the present invention, the temporary target point can be determined by the following steps: determining the second distance between the position of the wheeled robot and the target inflection point or the final target point, where the target inflection point is the next inflection point of the last inflection point that the wheeled robot has reached; if the second distance is greater than the preset distance, then the target inflection point or the final target point is determined to be the temporary target point; otherwise, determining the third distance between the position of the wheeled robot and the next inflection point of the target inflection point, if the third distance is greater than the preset distance, then determining the next inflection point of the target inflection point to be the temporary target point; and so on, until the temporary target point is determined.
[0138] Step 704: Determine the distance dis2 between the wheeled robot and the temporary target point.
[0139] Step 705, determine whether dis2 is less than or equal to threshold2, if so, jump to step 717; if greater, jump to step 706.
[0140] In the embodiment of the present invention, if it is determined that dis2 is less than or equal to threshold2, it means that the wheeled robot has reached the temporary target point, and the linear velocity is 0 at this time.
[0141] Step 706, determine whether dis2 is less than or equal to threshold3, if so, jump to step 712; if greater, jump to step 707.
[0142] In the embodiment of the present invention, when threshold3>=dis2>threshold2, it is considered that the wheeled robot is close to the temporary target point.
[0143] Step 707 , whether begin_to_path is true, if not, jump to step 708 , if so, jump to step 711 .
[0144] In the embodiment of the present invention, when dis2>threshold3, it represents that the wheeled robot is at the current turning point position.
[0145] In this embodiment of the present invention, whether the Boolean value begin_to_path is true indicates whether the angle difference between the wheeled robot's heading angle at the current turning point and the path direction of the line connecting the current turning point to the temporary target point is greater than the target preset angle threshold. If so, the process jumps to step 708; if less than or equal to the target, the process jumps to step 710. A true value for begin_to_path indicates that the angle difference is less than or equal to the target preset angle threshold. A false value for begin_to_path indicates that the angle difference is greater than the target preset angle threshold.
[0146] Step 708: Adjust the heading angle.
[0147] Step 709 , whether the angle difference between the heading angle and the path direction of the line connecting the current turning point to the temporary target point is less than or equal to the target preset angle threshold, if it is less than or equal, jump to step 710 , otherwise continue to step 708 .
[0148] Step 710: Assign begin_to_path to true.
[0149] In the embodiment of the present invention, since begin_to_path is true, which means that the angle difference is less than or equal to the target preset angle threshold, step 711 is executed at this time.
[0150] Step 711: switch to the linear rolling forward mode and execute step 704 in real time.
[0151] In the embodiment of the present invention, after the motion mode of the wheeled robot is switched to the linear rolling forward mode, the wheeled robot begins to roll forward in a linear manner, and its linear velocity piecewise function is as follows:
[0152]
[0153] Step 712: Is near_to_path true? If not, jump to step 713; otherwise, jump to step 716.
[0154] In this embodiment of the present invention, whether the Boolean value near_to_path is true indicates whether the angular difference between the heading angle of the wheeled robot when approaching the temporary target point and the path direction of the line connecting the current turning point to the temporary target point is greater than the target preset angle threshold. If so, the process jumps to step 713; if less than or equal to the target preset angle threshold, the process jumps to step 715. If near_to_path is true, the angular difference is less than or equal to the target preset angle threshold. If near_to_path is false, the angular difference is greater than the target preset angle threshold.
[0155] Step 713: Adjust the heading angle.
[0156] Step 714: Check whether the angle difference between the heading angle and the path direction of the line from the current turning point to the temporary target point is less than the target preset angle threshold. If so, jump to step 715; otherwise, continue adjusting the heading angle.
[0157] Step 715: assign near_to_path to true.
[0158] In the embodiment of the present invention, since near_to_path is true, which means that the angle difference is less than or equal to the target preset angle threshold, step 716 is executed.
[0159] Step 716: switch to the straight-line rolling forward mode and execute step 704 in real time.
[0160] In the embodiment of the present invention, after the motion mode of the wheeled robot is switched to the linear rolling forward mode, the wheeled robot begins to roll forward in a linear manner, and its linear velocity piecewise function is as follows:
[0161]
[0162] Step 717, determine whether it is the final target point, if so, jump to step 718, otherwise jump to step 703.
[0163] In an embodiment of the present invention, if the temporary target point is the final target point, the wheeled robot performs a final round of heading angle adjustment so that the difference between the heading angle of the wheeled robot and the heading angle of the final target point is less than or equal to the target preset angle threshold.
[0164] Step 718, adjust the heading angle.
[0165] According to an embodiment of another aspect, a local planning device for navigation of a wheeled-legged robot is provided. Figure 8 A schematic block diagram of a local planning device for navigation of a wheeled robot according to an embodiment is shown. The device can be arranged at Figure 1 The server side of the architecture shown in Figure 1. Figure 8 As shown, the device 800 may include: an acquisition module 801 , a sparse processing module 802 and a traversal module 803 .
[0166] The main functions of each component unit are as follows:
[0167] The acquisition module is used to obtain multiple global path points in the navigation of the wheeled robot;
[0168] A sparse processing module, configured to perform sparse processing on the plurality of global path points to obtain a plurality of inflection points and a final target point;
[0169] A traversal module is used to traverse the multiple inflection points and the final target point, and when traversing the multiple inflection points and the final target point:
[0170] When the wheeled robot reaches the current inflection point, the movement mode of the wheeled robot at the current inflection point is switched to the in-place stepping steering mode. In the in-place stepping steering mode, the wheeled robot is turned at the target angular velocity until the angle difference between the heading angle of the wheeled robot at the current inflection point and the path direction of the line connecting the current inflection point to the temporary target point is less than or equal to the target preset angle threshold, and the temporary target point is the next inflection point or the final target point to be reached by the wheeled robot; the movement mode of the wheeled robot at the current inflection point is switched to the straight-line rolling forward mode. In the straight-line rolling forward mode, the wheeled robot is advanced at the target linear velocity until the first distance to the temporary target point is less than or equal to the target preset distance threshold;
[0171] When the wheeled robot reaches the final target point, the difference between the heading angle of the wheeled robot and the heading angle of the final target point is adjusted to be less than or equal to a target preset angle threshold.
[0172] In a possible implementation, the acquisition module 801 is specifically configured to acquire a plurality of global path points in navigation of the wheeled-legged robot for a preset number of times within a first time window period;
[0173] The sparse processing module 802 is specifically used to perform sparse processing on multiple global path points in one of the preset times of wheeled robot navigation within a second time window period to obtain multiple turning points and final target points, and the second time window period is greater than the first time window period.
[0174] In one possible implementation, the sparsification processing module 802 is specifically used to determine the starting point and the final target point from multiple global path points in one of the preset times of wheeled robot navigation within a second time window period; determine the starting point as an inflection point; traverse the multiple global path points, and when traversing the multiple global path points: determine the first horizontal coordinate difference and the first vertical coordinate difference between the i-th global path point and the i-1th global path point, and the second horizontal coordinate difference and the second vertical coordinate difference between the i+1th global path point and the i-th global path point, where i is an integer greater than or equal to 2; if the first horizontal coordinate difference is not equal to the second horizontal coordinate difference or the first vertical coordinate difference is not equal to the second vertical coordinate difference, then determine the i-th global path point as an inflection point, and obtain the multiple inflection points.
[0175] In one possible implementation, the device 800 also includes a determination module for determining a second distance between the position of the wheeled robot and the target inflection point or the final target point, where the target inflection point is the next inflection point of the last inflection point that the wheeled robot has reached; if the second distance is greater than the preset distance, the target inflection point or the final target point is determined to be a temporary target point; otherwise, the third distance between the position of the wheeled robot and the next inflection point of the target inflection point is determined; if the third distance is greater than the preset distance, the next inflection point of the target inflection point is determined to be a temporary target point; and so on, until a temporary target point is determined.
[0176] In a possible implementation, the target angular velocity includes: a first angular velocity, a second angular velocity, ..., an Mth angular velocity, and an M+1th angular velocity, where M is an integer greater than or equal to 1.
[0177] The traversal module 803 is specifically used to switch the movement mode of the wheeled robot at the current turning point to the in-place stepping steering mode when the wheeled robot reaches the current turning point. In the in-place stepping steering mode, if the angle difference between the heading angle of the wheeled robot at the current turning point and the path direction of the line connecting the current turning point to the temporary target point is greater than a first preset angle threshold, the wheeled robot rotates at the first angular velocity; if the angle difference between the heading angle of the wheeled robot at the current turning point and the path direction of the line connecting the current turning point to the temporary target point is less than or equal to the first preset angle threshold, and is greater than a second preset angle threshold, the wheeled robot rotates at the first angular velocity. angle threshold, rotate at the second angular velocity; and so on, if the angular difference between the heading angle of the wheeled robot at the current inflection point and the path direction of the line connecting the current inflection point to the temporary target point is less than or equal to the Mth preset angle threshold, and is greater than the M+1th preset angle threshold, rotate at the M+1th angular velocity until the angular difference between the heading angle of the wheeled robot at the current inflection point and the path direction of the line connecting the current inflection point to the temporary target point is less than or equal to the target preset angle threshold, the first angular velocity is greater than the second angular velocity, and so on, the Mth angular velocity is greater than the M+1th angular velocity.
[0178] In one possible implementation, the device 800 also includes a motion mode switching module, which is used to switch the motion mode of the wheeled robot at the current position to an in-place turning mode when the distance between the wheeled robot and the temporary target point is less than a first threshold. In the in-place turning mode, if the angular difference between the heading angle of the wheeled robot at the current position and the path direction of the line connecting the current position to the temporary target point is greater than a first preset angle threshold, the wheeled robot rotates at the first angular velocity, and the first threshold is less than the distance between the current inflection point and the temporary target point; if the angular difference between the heading angle of the wheeled robot at the current position and the path direction of the line connecting the current position to the temporary target point is less than or equal to the first preset angle threshold and greater than a second preset angle threshold, the wheeled robot rotates at the second angular velocity; and so on, if the angular difference between the heading angle of the wheeled robot at the current position and the path direction of the line connecting the current position to the temporary target point is less than or equal to the Mth preset angle threshold and greater than the M+1th preset angle threshold, the wheeled robot rotates at the M+1th angular velocity until the angular difference with the path direction of the line connecting the current position to the temporary target point is less than or equal to the target preset angle threshold.
[0179] In a possible implementation, the target linear velocity includes: a first linear velocity, a second linear velocity, ..., an Nth linear velocity, and an N+1th linear velocity, where N is an integer greater than or equal to 1.
[0180] The traversal module 803 is specifically used to switch the movement mode of the wheeled robot at the current inflection point to a straight-line rolling forward mode. In the straight-line rolling forward mode, if the first distance between the position of the wheeled robot and the temporary target point is greater than the first preset distance threshold, the robot moves forward at the first linear speed; if the first distance between the position of the wheeled robot and the temporary target point is less than or equal to the first preset distance threshold and greater than the second preset distance threshold, the robot moves forward at the second linear speed; and so on, if the first distance between the position of the wheeled robot and the temporary target point is less than or equal to the Nth preset distance threshold and greater than the N+1th preset distance threshold, the robot moves forward at the N+1th linear speed until the first distance to the temporary target point is less than or equal to the target preset distance threshold, the first linear speed is greater than the second linear speed, and so on, the Nth linear speed is greater than the N+1th linear speed.
[0181] Each embodiment in this specification is described in a progressive manner. The same or similar parts between the embodiments can be referred to each other. Each embodiment focuses on the differences from other embodiments. In particular, for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple. For the relevant parts, refer to the partial description of the method embodiment. The device embodiment described above is only exemplary, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. A person of ordinary skill in the art can understand and implement it without making any creative efforts.
[0182] In addition, an embodiment of the present invention further provides a computer-readable storage medium on which a computer program is stored. When the program is executed by a processor, the steps of any one of the methods in the aforementioned method embodiments are implemented.
[0183] And an electronic device comprising:
[0184] one or more processors; and
[0185] A memory associated with the one or more processors, the memory being used to store program instructions, wherein the program instructions, when read and executed by the one or more processors, execute the steps of any one of the method embodiments described above.
[0186] An embodiment of the present invention further provides a computer program product, comprising a computer program, which implements the steps of any one of the methods described in the aforementioned method embodiments when executed by a processor.
[0187] in, Figure 9 The electronic device architecture is shown as an example, and may include a processor 910, a video display adapter 911, a disk drive 912, an input / output interface 913, a network interface 914, and a memory 920. The processor 910, the video display adapter 911, the disk drive 912, the input / output interface 913, the network interface 914, and the memory 920 may be communicatively connected via a communication bus 930.
[0188] The processor 910 may be implemented as a general-purpose CPU, a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and may be used to execute relevant programs to implement the technical solutions provided by the embodiments of the present invention.
[0189] The memory 920 can be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 920 can store an operating system 921 for controlling the operation of the electronic device 900, and a basic input and output system (BIOS) 922 for controlling the low-level operations of the electronic device 900. In addition, a web browser 923, a data storage management system 924, and a local planning device 925 in the navigation of a wheeled robot, etc. can also be stored. The local planning device 925 in the navigation of the wheeled robot mentioned above can be an application program that specifically implements the operations of the aforementioned steps in the embodiment of the present invention. In short, when the technical solution provided by the embodiment of the present invention is implemented by software or firmware, the relevant program code is stored in the memory 920 and is called and executed by the processor 910.
[0190] The input / output interface 913 is used to connect an input / output module to implement information input and output. The input / output module can be configured as a component in the device (not shown in the figure) or can be externally connected to the device to provide corresponding functions. Among them, input devices may include a keyboard, mouse, touch screen, microphone, various sensors, etc., and output devices may include a display, speaker, vibrator, indicator light, etc.
[0191] The network interface 914 is used to connect to a communication module (not shown) to enable communication between the device and other devices. The communication module can communicate via a wired method (such as USB, network cable, etc.) or a wireless method (such as mobile network, WiFi, Bluetooth, etc.).
[0192] The bus 930 comprises a pathway for transmitting information between the various components of the device (eg, the processor 910 , the video display adapter 911 , the disk drive 912 , the input / output interface 913 , the network interface 914 , and the memory 920 ).
[0193] It should be noted that although the above device only shows the processor 910, video display adapter 911, disk drive 912, input / output interface 913, network interface 914, memory 920, bus 930, etc., in a specific implementation, the device may also include other components necessary for normal operation. In addition, it will be understood by those skilled in the art that the above device may also include only the components necessary to implement the solution of the present application, and does not necessarily include all the components shown in the figure.
[0194] Through the description of the above embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus a necessary general hardware platform, or of course, by hardware. Based on this understanding, the essence of the above technical solution or the part that contributes to the existing technology can be embodied in the form of a software product. The computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a magnetic disk, an optical disk, etc., and includes a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or certain parts of the embodiments.
[0195] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the embodiments of the present invention, rather than to limit them. Although the embodiments of the present invention have been described in detail with reference to the above embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the above embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.
Claims
1. A local planning method for wheeled robot navigation, characterized in that: include: Get multiple global waypoints in wheel-legged robot navigation; Performing a sparse processing on the multiple global path points to obtain multiple inflection points and a final target point; Traversing the plurality of inflection points and the final target point, while traversing the plurality of inflection points and the final target point: When the wheeled robot reaches the current inflection point, the movement mode of the wheeled robot at the current inflection point is switched to the in-place turning mode. In the in-place turning mode, the wheeled robot is turned at a target angular velocity until the angle difference between the heading angle of the wheeled robot at the current inflection point and the path direction of the line connecting the current inflection point to the temporary target point is less than or equal to the target preset angle threshold, and the temporary target point is the next inflection point or final target point to be reached by the wheeled robot; Switching the motion mode of the wheeled robot at the current inflection point to a straight-line rolling forward mode, and in the straight-line rolling forward mode, causing the wheeled robot to move forward at a target linear velocity until a first distance to the temporary target point is less than or equal to a target preset distance threshold; When the wheeled robot reaches the final target point, the difference between the heading angle of the wheeled robot and the heading angle of the final target point is adjusted to be less than or equal to a target preset angle threshold.
2. The method according to claim 1, characterized in that The step of obtaining multiple global path points in the wheeled-legged robot navigation includes: Acquire multiple global path points in the wheeled-foot robot navigation for a preset number of times within a first time window period; The performing a sparse processing on the multiple global path points to obtain multiple inflection points and a final target point includes: Within a second time window period, a plurality of global path points in one of the preset times of wheeled-legged robot navigation are subjected to sparse processing to obtain a plurality of turning points and a final target point, and the second time window period is greater than the first time window period.
3. The method according to claim 2, characterized in that The method further comprises: performing a sparse processing on a plurality of global path points in one of the preset times of navigation of the wheeled-legged robot within the second time window period to obtain a plurality of inflection points and a final target point, comprising: Determining a starting point and a final destination point from a plurality of global path points in one of the wheeled-legged robot navigations during the preset number of times within a second time window period; Determining the starting point as an inflection point; Traversing the multiple global path points, while traversing the multiple global path points: Determine a first abscissa difference and a first ordinate difference between the ith global pathpoint and the (i-1)th global pathpoint, and a second abscissa difference and a second ordinate difference between the (i+1)th global pathpoint and the ith global pathpoint, where i is an integer greater than or equal to 2; If the first horizontal coordinate difference is not equal to the second horizontal coordinate difference or the first vertical coordinate difference is not equal to the second vertical coordinate difference, the i-th global path point is determined to be an inflection point, and the multiple inflection points are obtained.
4. The method according to claim 1, wherein The method further comprises: Determine a second distance between the position of the wheeled robot and a target inflection point or a final target point, wherein the target inflection point is a next inflection point to the last inflection point reached by the wheeled robot; If the second distance is greater than a preset distance, determining the target inflection point or the final target point as a temporary target point; Otherwise, determining a third distance between the position of the wheeled robot and the next inflection point of the target inflection point, and if the third distance is greater than a preset distance, determining the next inflection point of the target inflection point as a temporary target point; And so on, until the temporary target point is determined.
5. The method according to claim 1, characterized in that The target angular velocity includes: a first angular velocity, a second angular velocity, ..., an Mth angular velocity, and an M+1th angular velocity, where M is an integer greater than or equal to 1; When the wheeled robot reaches the current inflection point, the movement mode of the wheeled robot at the current inflection point is switched to the in-place turning mode, and in the in-place turning mode, the wheeled robot is turned at a target angular velocity until the angle difference between the heading angle of the wheeled robot at the current inflection point and the path direction of the line connecting the current inflection point to the temporary target point is less than or equal to the target preset angle threshold, including: When the wheeled robot reaches the current inflection point, the movement mode of the wheeled robot at the current inflection point is switched to an in-place turning mode, wherein in the in-place turning mode, if the angle difference between the heading angle at the current inflection point and the path direction of the line connecting the current inflection point to the temporary target point is greater than a first preset angle threshold, the wheeled robot rotates at the first angular velocity; If the angle difference between the heading angle of the wheeled robot at the current inflection point and the path direction of the line connecting the current inflection point to the temporary target point is less than or equal to the first preset angle threshold and greater than the second preset angle threshold, the wheeled robot rotates at the second angular velocity; By analogy, if the angular difference between the heading angle of the wheeled robot at the current turning point and the path direction of the line connecting the current turning point to the temporary target point is less than or equal to the Mth preset angle threshold, and greater than the M+1th preset angle threshold, the wheeled robot rotates at the M+1th angular velocity until the angular difference between the heading angle of the wheeled robot at the current turning point and the path direction of the line connecting the current turning point to the temporary target point is less than or equal to the target preset angle threshold, the first angular velocity is greater than the second angular velocity, and so on, the Mth angular velocity is greater than the M+1th angular velocity.
6. The method according to claim 5, characterized in that The method further comprises: When the distance between the wheeled robot and the temporary target point is less than a first threshold, switching the movement mode of the wheeled robot at the current position to the in-place turning mode, wherein in the in-place turning mode, if the angular difference between the heading angle of the wheeled robot at the current position and the path direction of the line connecting the current position to the temporary target point is greater than a first preset angle threshold, the wheeled robot rotates at the first angular velocity, and the first threshold is less than the distance between the current inflection point and the temporary target point; If the angle difference between the heading angle of the wheeled robot at the current position and the path direction of the line connecting the current position to the temporary target point is less than or equal to the first preset angle threshold and greater than the second preset angle threshold, the wheeled robot rotates at the second angular velocity; By analogy, if the angle difference between the heading angle of the wheeled robot at the current position and the path direction of the line connecting the current position to the temporary target point is less than or equal to the Mth preset angle threshold, and greater than the M+1th preset angle threshold, it rotates at the M+1th angular velocity until the angle difference with the path direction of the line connecting the current inflection point to the temporary target point is less than or equal to the target preset angle threshold.
7. The method according to claim 1, characterized in that The target linear velocity includes: a first linear velocity, a second linear velocity, ..., an Nth linear velocity, and an N+1th linear velocity, where N is an integer greater than or equal to 1; The step of switching the motion mode of the wheeled robot at the current inflection point to a straight-line rolling forward mode, and causing the wheeled robot to advance at a target linear velocity in the straight-line rolling forward mode until a first distance from the temporary target point is less than or equal to a target preset distance threshold, includes: Switching the motion mode of the wheeled robot at the current inflection point to a straight-line rolling forward mode, wherein in the straight-line rolling forward mode, if a first distance between the position of the wheeled robot and the temporary target point is greater than a first preset distance threshold, the wheeled robot moves forward at the first linear velocity; If the first distance between the position of the wheeled robot and the temporary target point is less than or equal to the first preset distance threshold and greater than the second preset distance threshold, moving forward at the second linear speed; By analogy, if the first distance between the position of the wheeled robot and the temporary target point is less than or equal to the Nth preset distance threshold and greater than the N+1th preset distance threshold, it moves forward at the N+1th linear speed until the first distance to the temporary target point is less than or equal to the target preset distance threshold, the first linear speed is greater than the second linear speed, and so on, the Nth linear speed is greater than the N+1th linear speed.
8. A local planning device for wheeled robot navigation, characterized in that: include: The acquisition module is used to obtain multiple global path points in the navigation of the wheeled robot; A sparse processing module, configured to perform sparse processing on the plurality of global path points to obtain a plurality of inflection points and a final target point; A traversal module is used to traverse the multiple inflection points and the final target point, and when traversing the multiple inflection points and the final target point: When the wheeled robot reaches the current inflection point, the movement mode of the wheeled robot at the current inflection point is switched to the in-place turning mode. In the in-place turning mode, the wheeled robot is turned at a target angular velocity until the angle difference between the heading angle of the wheeled robot at the current inflection point and the path direction of the line connecting the current inflection point to the temporary target point is less than or equal to the target preset angle threshold, and the temporary target point is the next inflection point or final target point to be reached by the wheeled robot; Switching the motion mode of the wheeled robot at the current inflection point to a straight-line rolling forward mode, and in the straight-line rolling forward mode, causing the wheeled robot to move forward at a target linear velocity until a first distance to the temporary target point is less than or equal to a target preset distance threshold; When the wheeled robot reaches the final target point, the difference between the heading angle of the wheeled robot and the heading angle of the final target point is adjusted to be less than or equal to a target preset angle threshold.
9. An electronic device, characterized in that: include: A memory and a processor, wherein the processor and the memory communicate with each other via a bus; The memory stores program instructions that can be executed by the processor, and the processor can execute the method according to any one of claims 1 to 7 by calling the program instructions.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.
