Obstacle avoidance system and real-time obstacle avoidance method for mobile manipulator

By using a dual embedded hardware platform architecture, obstacle avoidance data is processed in real time and the driving route is corrected, which solves the problem of untimely robot response, improves the obstacle avoidance performance and reliability of the robot in industrial scenarios, and meets the safety and reliability requirements of the production line.

WO2025256383A1PCT designated stage Publication Date: 2025-12-18YAOSHI ROBOTICS (SHANGHAI) CO LTD +1
View PDF 12 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/096737
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-14
Filing Date
2025-05-23
Publication Date
2025-12-18

AI Technical Summary

Technical Problem

Existing robot control platforms based on the x86 architecture have poor real-time performance, resulting in untimely responses from robots in high-speed travel and complex dynamic scenarios, posing a risk of collisions, and failing to meet the production cycle and operational requirements of industrial production lines.

Method used

The system adopts a dual embedded hardware platform architecture. The first embedded platform is used to process the obstacle avoidance algorithm in real time, generate obstacle avoidance data, and send it directly to the second embedded platform to execute instructions, thereby improving the response speed. At the same time, the robot control platform generates decision data based on all sensor data, corrects the driving route, and improves obstacle avoidance reliability and response speed.

Benefits of technology

It improves the robot's obstacle avoidance performance and reliability in high-speed driving and complex scenarios, meets the safety and reliability requirements in industrial scenarios, and reduces the risk of collision.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025096737_18122025_PF_FP_ABST
    Figure CN2025096737_18122025_PF_FP_ABST
Patent Text Reader

Abstract

An obstacle avoidance system and real-time obstacle avoidance method for a mobile manipulator. A first embedded platform is used for acquiring first sensing data which is outputted by a sensor and comprises obstacle feature data, and executing a real-time obstacle avoidance algorithm when acquiring the first sensing data so as to generate obstacle avoidance data; a mobile manipulator control platform is used for acquiring all sensing data output by the sensor and the obstacle avoidance data, so as to execute the overall control function of a mobile manipulator and generate decision data; and a second embedded platform is used for immediately executing a mobile manipulator motion control algorithm when receiving the obstacle avoidance data so as to complete, on the basis of the obstacle avoidance data, action command outputting required for obstacle avoidance, so that a motor used for executing motion actions in the mobile manipulator executes action commands to complete real-time obstacle avoidance, and executing the mobile manipulator motion control algorithm when receiving the decision data so as to drive, on the basis of the decision data, the motor to adjust the motion actions. Therefore, the obstacle avoidance reliability and obstacle avoidance response speed of mobile manipulators are improved, and the requirements of industrial scenarios are met.
Need to check novelty before this filing date? Find Prior Art

Description

Mobile operation robot obstacle avoidance system and real-time obstacle avoidance method TECHNICAL FIELD

[0001] The present application relates to the technical field of mobile robot obstacle avoidance, in particular to a mobile operation robot obstacle avoidance system and a real-time obstacle avoidance method. BACKGROUND

[0002] Mobile robots are applied to industrial manufacturing scenarios, and their driving behavior is subject to the conditions of the production line. Only robots that meet the production rhythm requirements and operation requirements of the production line can be successfully applied to such scenarios.

[0003] However, in general, the robot control platform is based on the x86 platform structure, which has poor real-time performance. After the robot sensor data is input, complex and time-consuming operations are required to obtain the perception results, so that the robot control platform can make decisions accordingly. This process not only causes the robot core controller to be short of computing resources, but also causes the robot response speed, obstacle identification, and obstacle avoidance operation to be not timely in the case of high-speed driving of the robot, which may cause the robot to collide or fail to avoid obstacles, thereby causing losses and affecting industrial production.

[0004] Therefore, a new robot real-time obstacle avoidance scheme is needed. SUMMARY

[0005] Therefore, the embodiments of the present application provide a mobile operation robot obstacle avoidance system and a real-time obstacle avoidance method, so that the mobile operation robot can be applied to an industrial manufacturing scenario and meet the production rhythm requirements and operation requirements of the production line.

[0006] The embodiments of the present application provide the following technical solutions:

[0007] The embodiments of the present application provide a robot obstacle avoidance system, which comprises:

[0008] The first embedded platform, the second embedded platform, and the robot control platform, the first embedded platform is in communication connection with the robot control platform and the second embedded platform respectively, the first embedded platform is used for executing a real-time obstacle avoidance algorithm and generating obstacle avoidance data, the robot control platform is used for executing a robot overall control function and generating decision data, and the second embedded platform is used for executing a robot motion control algorithm according to the obstacle avoidance data and the decision data, so that the robot executes a motion action;

[0009] The first embedded platform is configured to acquire first sensing data output by the sensor, the first sensing data including obstacle feature data, and execute a real-time obstacle avoidance algorithm to generate obstacle avoidance data when acquiring the first sensing data; the robot control platform is configured to acquire all sensing data output by the sensor and the obstacle avoidance data, the all sensing data including the first sensing data and other sensing data except the first sensing data, and generate decision data after acquiring the all sensing data and the obstacle avoidance data; and the second embedded platform is configured to execute a robot motion control algorithm immediately after receiving the obstacle avoidance data to output action instructions required for completing obstacle avoidance according to the obstacle avoidance data, so that a motor for executing motion actions in the robot executes the action instructions to complete real-time obstacle avoidance, and execute the robot motion control algorithm after receiving the decision data to drive the motor to perform motion action adjustment according to the decision data.

[0010] The embodiments of the present specification also provide a robot real-time obstacle avoidance method, the robot real-time obstacle avoidance method comprising:

[0011] If the first embedded platform determines that the robot is in an emergency obstacle avoidance state with the obstacle according to the first sensing data, the first embedded platform generates obstacle avoidance data in the detection range of the robot to transmit emergency avoidance instructions or deceleration instructions to the second embedded platform, so as to control the motor driver through the second embedded platform to make the robot avoid or decelerate; wherein the first sensing data includes obstacle feature data, and the obstacle feature data includes obstacle contour edge data and distance information data of the obstacle;

[0012] The running state between the robot and the obstacle is determined according to the tangent direction along the contour edge of the obstacle detected by the sensor during dynamic planning of the robot, the distance between the tangent of the edge of the obstacle on both sides and the origin of the robot sensor and the angle between the tangent of the edge of the obstacle on both sides and the robot are detected respectively to determine that the robot is in an emergency obstacle avoidance state or a normal running obstacle avoidance state, so as to execute obstacle avoidance decision.

[0013] Compared with the prior art, the above at least one technical solution adopted by the embodiments of the present specification can achieve at least the following beneficial effects:

[0014] The application utilizes the strong real-time characteristics of the embedded hardware platform, adopts the proposed real-time obstacle avoidance method (algorithm strategy), generates real-time obstacle avoidance information, and directly sends the real-time obstacle avoidance information to the second embedded platform through the first embedded platform to immediately execute instructions, thereby improving the dynamic obstacle avoidance performance of the robot and enhancing safety; and the real-time obstacle avoidance information generated by the first embedded platform is transmitted to the robot control platform, which can still provide a basis for the navigation trajectory planning of the robot, and the decision data generated by the robot control platform is sent to the second embedded platform to timely correct the driving route, thereby improving the obstacle avoidance reliability and response speed of the robot; thereby meeting the requirements of high safety and high reliability of the robot in the industrial scene of high-speed walking and high-speed operation. BRIEF DESCRIPTION OF DRAWINGS

[0015] In order to more clearly illustrate the technical solutions of the embodiments of the application, the following will briefly introduce the drawings needed to be used in the embodiments. Obviously, the drawings in the following description are only some embodiments of the application, and for those skilled in the art, other drawings can also be obtained without creative labor on the basis of these drawings.

[0016] Fig. 1 is a hardware platform schematic diagram of a mobile working robot obstacle avoidance system provided by the application;

[0017] Fig. 2 is a sensor signal data transmission channel schematic diagram provided by the application;

[0018] Fig. 3 is a scene diagram of a sensor captured obstacle profile tangent detection method provided by the application;

[0019] Fig. 4 is a real-time obstacle profile tangent detection and processing scene diagram provided by the application;

[0020] Fig. 5 is a flowchart of a mobile working robot real-time obstacle avoidance method provided by the application;

[0021] Fig. 6 is a schematic diagram for judging the distance and number of obstacles provided by the application;

[0022] Fig. 7 is a schematic diagram for judging the driving direction of a mobile working robot provided by the application. DETAILED DESCRIPTION

[0023] The embodiments of the application will be described in detail below with reference to the drawings.

[0024] The forgoing descriptions of embodiments of the present application have been presented for the purpose of illustration and description. They are not intended to be exhaustive or to limit the application to the precise forms disclosed. Various modifications and variations are possible in light of the above teachings. It is noted that, as used in the specification, the word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Thus, any implementation described as exemplary is not necessarily to be construed as preferred or advantageous over other implementations. Moreover, the terms "first," "second," "third," etc. are used herein to describe various embodiments. However, the embodiments should not be limited by these terms. These terms are only used to distinguish one implementation from another. For example, a first instance of a particular feature is described, however, the scope of the application would include the second instance of the feature as well. The terms "first," "second," "third," and the like can denote different aspects or embodiments or features of the application, but do not need to.

[0025] It is to be understood that the embodiments described herein are merely exemplary of the application made more specific by the appended claims. Other embodiments of the application emanating from the teachings herein without departing from the spirit and scope of the application are considered within the scope of the application.

[0026] It is also to be understood that the above description is only illustrative of the application and that modifications and other embodiments of the application will become apparent to those skilled in the art without departing from the spirit and scope of the application. Accordingly, the legal scope of the application will be determined only by the narrowest legal limitations necessarily inherent in the language of the appended claims.

[0027] In addition, in the following description, numerous specific details are provided for a thorough understanding of the examples. One skilled in the relevant art will recognize, however, that the application can be practiced without one or more of the specific details, or with other methods, components, materials, and so forth.

[0028] Mobile working robots are applied in industrial manufacturing scenarios, and their driving behaviors are restricted by the conditions of the industrial production line. Only robots that meet the production rhythm requirements and work requirements of the production line can be successfully applied to such scenarios.

[0029] However, it is obvious that the reliability and performance of mobile working robots in such scenarios cannot meet the requirements of robots applied to industrial manufacturing scenarios.

[0030] Typically, robot control platforms are based on the x86 platform architecture and are not real-time systems. After the robot receives sensor data, complex and time-consuming calculations are required to obtain the perception results so that the robot control platform can make decisions. This process not only strains the computing resources of the robot's core controller, but also causes delays in robot response speed, obstacle recognition, and obstacle avoidance operations when the robot is moving at high speeds. This can lead to collisions or obstacle avoidance failures, resulting in losses and impacting industrial production.

[0031] The inventors discovered that such scenarios place high demands on the reliability and performance of robots. Specifically:

[0032] Robots need to have high travel speeds to meet the cycle time requirements of the production line. For example, if the material transfer cycle time on the production line is too slow, the robot's travel speed will not be sufficient.

[0033] Robots need to have rapid reaction capabilities, such as quick obstacle avoidance and the ability to plan their routes in advance, especially the ability to dynamically plan and adjust their routes. This is because production workshops often present a complex and dynamic work environment involving equipment, people, and mobile devices. Mobile robots operating in such environments, while maintaining high speeds, require high obstacle avoidance response speeds, as successful obstacle avoidance or timely obstacle avoidance responses directly impacts production safety.

[0034] Therefore, a system or method is needed to quickly identify and make decisions about obstacles, so that robots can respond to obstacle situations in a timely, rapid and reliable manner when traveling at high speeds in complex and dynamically changing scenarios, especially avoiding sudden obstacles, in order to ensure sufficient safety.

[0035] Against this background, this application proposes a real-time obstacle avoidance system and method for mobile robots, which is simple and effective.

[0036] Based on this, the embodiment of the present specification proposes a new scheme for robot obstacle avoidance: taking advantage of the strong real-time characteristics of the embedded hardware platform, using the proposed real-time obstacle avoidance method (algorithm strategy), real-time obstacle avoidance information is generated, and the real-time obstacle avoidance information is sent directly to the second embedded platform through the first embedded platform to execute the instructions immediately, improving the dynamic obstacle avoidance performance of the robot and improving the safety; and the real-time obstacle avoidance information generated by the first embedded platform is transmitted to the robot control platform, which can still provide the basis for the navigation trajectory planning of the robot, and the decision data generated by the robot control platform is sent to the second embedded platform to correct the driving route in time, improve the reliability and response speed of the robot obstacle avoidance; so as to meet the requirements of high safety and high reliability of the robot in the industrial scene, high-speed walking and high-speed operation of the robot in the scene.

[0037] The technical solutions provided by the embodiments of the present application are described below with reference to the accompanying drawings.

[0038] Fig. 1 is a hardware platform of the present application, specifically an “x86 + dual embedded hardware” platform. The x86 platform (i.e. the robot control platform) runs the robot operating system and the robot control system. The first embedded hardware platform (corresponding to the first embedded platform) performs real-time obstacle avoidance algorithm processing, which is fast and real-time. The first embedded hardware platform communicates with the x86 platform; shared RAM or data bus communication. (That is, the first embedded platform communicates with the robot control platform through RAM or data bus)

[0039] The first embedded hardware platform communicates with the second embedded platform (which executes robot motion control algorithm processing).

[0040] Specifically, the robot obstacle avoidance system includes a first embedded platform, a second embedded platform and a robot control platform.

[0041] The first embedded platform is connected in communication with the robot control platform and the second embedded platform, and specifically transmits data through a communication bus, SPI (Serial Peripheral Interface, serial peripheral interface) communication. The first embedded platform is used to execute real-time obstacle avoidance algorithm and generate obstacle avoidance data, the robot control platform is used to execute robot perception, navigation, decision and other system overall control functions, and generate decision data, and the second embedded platform is used to execute robot motion control algorithm according to the obstacle avoidance data and the decision data, so that the robot executes motion action.

[0042] The first embedded platform is configured to acquire first sensor output data, the first sensor output data comprising obstacle feature data, and execute a real-time obstacle avoidance algorithm to generate obstacle avoidance data when acquiring the first sensor output data; the robot control platform is configured to acquire all sensor output data and the obstacle avoidance data, the all sensor output data comprising the first sensor output data and other sensor output data other than the first sensor output data, and generate decision data after acquiring the all sensor output data and the obstacle avoidance data; the second embedded platform is configured to execute a robot motion control algorithm to output action instructions required for obstacle avoidance according to the obstacle avoidance data immediately after receiving the obstacle avoidance data, so that a motor for executing motion actions in the robot executes the action instructions to complete real-time obstacle avoidance, and execute the robot motion control algorithm to drive the motor to adjust motion actions according to the decision data after receiving the decision data. The all sensor output data further comprises obstacle shape, obstacle contour and obstacle distance.

[0043] As shown in FIG. 2, the sensor can be a laser radar, or a binocular camera, or both; or can be other types of sensors or combinations, such as an ultrasonic sensor.

[0044] After the sensor captures obstacle information, the sensor transmits data to the first embedded platform and the x86 platform respectively through a sensor communication interface, such as Ethernet or CameraLink (a serial communication protocol for machine vision application field).

[0045] After the first embedded platform and the x86 platform receive the sensor data, corresponding processing is performed; however, due to different data processing capabilities of the two platforms, the processing methods are also different.

[0046] The first embedded platform simultaneously sends the processing result to the x86 platform and the second embedded platform.

[0047] The second embedded platform simultaneously receives the processing result from the x86 platform and the processing result from the first embedded platform.

[0048] Specifically, the first embedded platform is composed of a DSP and an FPGA array, the DSP performs mathematical calculation and processing tasks of real-time information data; the FPGA array is composed of multiple FPGA chips for simultaneous parallel calculation, and utilizes the parallel data processing capability of the FPGA to process feature data from the sensor in real time, thereby improving real-time performance.

[0049] The second embedded platform is composed of a DSP core system and an industrial communication bus system, and is specially used for processing and analyzing motion control data from the first embedded platform and the x86 controller platform, and converting the motion control data into recognizable communication data instructions of a mobile robot wheel hub motor driver, a mechanical arm joint driver, etc. for issuing to relevant executing mechanisms to execute motion control. The industrial communication bus is generally a CanOpen and EtherCat bus.

[0050] The processing result of the first embedded platform is more real-time and faster in response speed than the processing result of the x86, and a comprehensive judgment is made according to the rapid identification of obstacles, the distance from the robot, the speed of the robot, the travel route of the robot, etc. whether to perform deceleration avoidance operation, and the direct instruction is sent to the second embedded platform, which will immediately execute the instruction to improve safety; at the same time, the x86 platform receives the instruction and performs corresponding processing; such as changing the current robot motion trajectory or motion speed; therefore, the obstacle avoidance instruction of the first embedded platform is the first priority or the highest priority because it has the fastest reaction capability. Before the processing result of the x86 platform is generated, the first embedded platform has already had a processing result. In this way, the problem of slow obstacle avoidance response and even avoidance not in time during high-speed travel of the robot, which may cause collision risk and even safety problem, can be solved due to large calculation amount of the x86 platform and slow response speed.

[0051] During travel of the robot, the sensor continuously detects obstacle conditions in the travel direction.

[0052] The obstacle data detected by the sensor includes shape, contour, distance, etc. of the obstacle, and different sizes of data are sent for processing according to the calculation processing capability of different hardware platforms.

[0053] The first embedded platform and the second embedded platform transmit data through a communication bus, such as SPI communication.

[0054] The first embedded platform is faster in response speed than the robot control platform.

[0055] The obstacle avoidance data generated by the first embedded platform is faster in processing speed and higher in real-time obstacle avoidance level than the decision data generated by the robot control platform.

[0056] The x86 platform has strong calculation capability and low real-time performance, and processes all sensor signals.

[0057] The first embedded platform is only suitable for processing data with high real-time performance, and thus, it does not receive all the data from the sensor, but only processes data with strong obstacle features, such as obstacle contour edge data, i.e., data detected by the sensor along the tangent direction of the obstacle contour edge, and most importantly, distance information, such as the distance between the robot sensor O point and the edge A point and B point on both sides of the obstacle, and the included angle β.

[0058] According to this, although the first embedded hardware platform does not input all the information data about the obstacle detected by the sensor, but only receives data in the tangent direction of the obstacle edge, the data still has strong features, and can represent the distance and size information of the obstacle, and after processing by the embedded CPU, it can still provide a basis for the navigation trajectory planning of the robot. Of course, it can also output the fastest result to provide a basis for the robot obstacle avoidance operation.

[0059] In addition, on the one hand, the robot obtains the tangent distance of the front obstacle contour and the included angle, and on the other hand, the detection data within a certain angle range, such as the α1 and α2 angle range in FIG. 3, is still obtained. The two sets of data will be provided to the robot x86 platform for calculation and decision-making, so as to control the robot to drive in which angle direction to avoid the front obstacle. Generally, under the premise that the decision-making system does not have a second obstacle in the two angle ranges, it tends to control the robot to drive to the side of the larger angle range.

[0060] It should be noted that the tangent detection method, processing, and decision-making shown in FIG. 3 are continuously performed, or dynamically performed, during the driving of the robot. The robot continuously detects and judges and processes during driving, which is a dynamic process.

[0061] In some embodiments, the first embedded platform processes obstacle feature data (such as strong obstacle feature data) in the sensor data to obtain obstacle avoidance data, the obstacle feature data including obstacle contour edge data and distance information data of the obstacle; the first embedded platform transmits the obstacle avoidance data to the robot control platform, so that the robot control platform makes a robot obstacle avoidance decision; and the robot control platform generates decision data according to all the sensor data and the obstacle avoidance data, wherein the all the sensor data further includes obstacle shape, obstacle contour, and obstacle distance. The obstacle avoidance decision includes enabling the robot to have the function of judging in advance whether there is a subsequent obstacle on the driving direction or the planned route based on the existing sensor data (such as the obstacle avoidance data and the all the sensor data), and if there is, dynamically adjusting the driving route in advance to avoid the area where the continuous obstacle appears.

[0062] In some embodiments, the first embedded platform identifies that the obstacle 1 is a moving obstacle and suddenly appears in the detection range of the robot during high-speed driving, and then determines that it is high risk according to the decision algorithm, and sends an emergency avoidance instruction or a speed reduction instruction (i.e. a priority obstacle avoidance instruction) to the second embedded platform to directly control the robot to avoid or stop to reduce the risk of collision.

[0063] In some embodiments, the first embedded platform transmits the generated obstacle avoidance data to the robot control platform, determines the decision data corresponding to the obstacle and the robot navigation route planning by the robot control platform, and outputs a normal operation obstacle avoidance instruction (including but not limited to changing the driving route, adjusting the driving direction, and driving according to the original set route, etc.) to the second embedded platform to ensure that the robot operates in real time to avoid obstacles.

[0064] The application adopts the architecture design idea of two embedded platforms + control platform, extracts the key feature data in the sensor data (not all sensor data) representing the main features of the obstacle from the sensor data, processes the feature data in the first embedded platform (only using feature data is to adapt to the computing power of the first embedded platform, faster and more real-time, the first embedded platform processes and sends control instructions directly to the second embedded platform to execute the instructions immediately, improves the dynamic obstacle avoidance performance of the robot and improves the safety; the real-time obstacle avoidance information based on the first embedded platform is transmitted to the robot control platform, so that the robot control platform can process all sensor data and obtain more comprehensive obstacle avoidance information to make decisions, which is sent to the second embedded platform as more complete information data than the first embedded platform, to further correct the robot obstacle avoidance behavior and improve the reliability and response speed of the robot obstacle avoidance; thereby meeting the high safety and high reliability requirements of the robot high-speed walking and high-speed operation in industrial scenarios.

[0065] In addition, the traditional method of judging the distance between the robot and the obstacle to determine the distance of the obstacle has the problem that the shape of the obstacle is often irregular, and when the sensor scans the obstacle, a large amount of distance information will be received, which comes from the surface of the obstacle facing the robot, and then the robot control system needs to process the large amount of distance information to obtain the information that best indicates the accurate distance.

[0066] The present application greatly reduces the amount of collected sensor data, and is more conducive to the processing of the embedded platform. The entire sensor data of the obstacle (including all distance information of the surface) is sent to the robot controller platform for processing, because the controller platform is often based on an industrial computer and has powerful data processing capabilities, and is not "afraid" of all data from the sensor.

[0067] Specifically, the present application proposes an obstacle profile tangent obstacle avoidance judgment method, which has three technical levels:

[0068] 1. When any obstacle is in front of the robot sensor, the sensor does not need to judge the shape of the obstacle, but only needs to judge the "visual" angle size formed by the profile tangent to obtain the most valuable obstacle data, so as to obtain key and useful data from a large amount of sensor data for processing; 2. The judgment of the distance of the obstacle is also based on the distance between the profile tangent of the obstacle and the robot sensor to judge the distance between the robot and the obstacle. A large amount of useless or invalid distance data from the surface of the obstacle to the robot (the surface can have recesses, protrusions, and irregularities) can be discarded. The present application is completely unrelated to the shape of the obstacle, and only cares about the profile tangent and the distance information at the tangent. It is equivalent to extracting only effective key information data, reducing the processing amount of sensor data, and thereby saving computing resources. 3. The method of detecting whether there is another obstacle in the outward expansion angle range based on the profile tangent is conducive to the robot to dynamically and quickly judge the obstacle and dynamically adjust the driving route during driving. It is more reliable than the traditional method of simply judging the distance from the obstacle, because it is a judgment idea of whether there is an obstacle in the "field of view" range, while the traditional method of judging the distance is a thought of whether there is an obstacle in front and how far away the obstacle is.

[0069] In combination with the above embodiment, the present application provides a robot real-time obstacle avoidance method. Specifically, the robot real-time obstacle avoidance method comprises: determining, by a first embedded platform, that a robot and an obstacle are in an emergency obstacle avoidance state according to first sensor data, and then generating obstacle avoidance data in the detection range of the robot as a transmission emergency avoidance instruction or a speed reduction instruction to a second embedded platform, so as to control the motor driver by the second embedded platform to make the robot avoid or slow down; wherein the first sensor data includes obstacle feature data, and the obstacle feature data includes obstacle profile edge data.

[0070] The robot determines the running state between the robot and the obstacle according to the tangent direction of the obstacle profile edge detected by the sensor during dynamic running of the robot, respectively detects the distance between the tangent of the edge of the two sides of the obstacle and the origin of the robot sensor and the angle between the tangent of the two sides of the edge and the robot to determine that the robot and the obstacle are in an emergency obstacle avoidance state or a normal running obstacle avoidance state, to execute the obstacle avoidance decision. As shown in Fig. 3, the robot continues to run dynamically, and the application detects the tangent edge of the obstacle profile to determine whether there is an obstacle in front of the robot. As described in detail above, this will not be repeated here. Further, the walking route is dynamically adjusted to execute the robot obstacle avoidance decision.

[0071] The obstacle avoidance data has a faster decision data processing speed relative to the robot control platform and a higher real-time obstacle avoidance level. The obstacle avoidance data can be directly transmitted from the first embedded platform to the second embedded platform, such as making a comprehensive judgment on whether to slow down and avoid operation according to the rapid identification of the obstacle, the distance from the robot, the speed of the robot, the running route of the robot, etc. The second embedded platform will immediately execute the instruction to improve safety. On the other hand, the obstacle avoidance data processed by the first embedded platform can still provide a basis for the navigation trajectory planning of the robot. That is, the obstacle avoidance data processed by the first embedded platform is transmitted to the robot control platform as intermediate data with higher real-time performance and faster response speed to provide a basis for the navigation trajectory planning of the robot.

[0072] The priority obstacle avoidance instruction includes but is not limited to an emergency avoidance instruction or a deceleration stop instruction. In the emergency obstacle avoidance state, if the obstacle 1 is a moving obstacle and suddenly appears in the detection range of the robot during high-speed running of the robot, the first embedded platform will identify it and determine it as high risk according to the decision algorithm, and send an emergency avoidance instruction or a deceleration instruction to the second embedded platform to directly control the robot to avoid or decelerate to stop, thereby reducing the risk of collision.

[0073] The appearance of the moving obstacle includes that the robot changes from no obstacle to suddenly appear an obstacle, or the robot faces a distant obstacle, and then another obstacle suddenly appears at a closer distance from the robot.

[0074] In some embodiments, the first embedded platform transmits the generated obstacle avoidance data to the robot control platform, the robot control platform determines the decision data corresponding to the obstacle and the robot navigation route planning, and then the robot control platform outputs normal operation obstacle avoidance instructions to the second embedded platform to ensure that the robot operates in real time to avoid obstacles. The normal operation obstacle avoidance instructions include but are not limited to changing the driving route, adjusting the driving direction, and driving according to the original set route. The corresponding decision data in the navigation route planning process includes but is not limited to driving according to the original set route, changing the driving route, and changing the driving direction, i.e., after slightly modifying the driving route, continuing to drive according to the original set route.

[0075] In some embodiments, if the first embedded platform determines that the robot encounters an obstacle that changes from no obstacle to a first obstacle, or that the robot encounters an obstacle that changes from one obstacle to a first obstacle and a second obstacle according to the obstacle feature data, it is determined that the robot is in an emergency obstacle avoidance state with the obstacle; the first obstacle is closer to the robot than the second obstacle.

[0076] In some embodiments, if the first embedded platform determines that the robot encounters two obstacles according to the tangent data of the robot and the obstacle, and determines that there is a profile tangent of another obstacle in the first detection angle range on the side of the first obstacle, and there is no profile tangent of another obstacle in the second detection angle range on the other side of the first obstacle, wherein the first detection angle is smaller than the second detection angle; the first embedded platform determines that the first obstacle avoidance data is that there is a second obstacle in the direction of the first detection angle, but there is no second obstacle in the direction of the second detection angle, and transmits the first obstacle avoidance data to the robot control platform; the robot control platform obtains a dynamic correction driving track according to the first obstacle avoidance data. Wherein each detection angle in the embodiments of the present specification is within the detection range of the robot sensor.

[0077] In combination with FIG. 3, as shown in FIG. 4, the robot knows the starting point and the final target point, and has planned a driving route.

[0078] However, during driving, obstacle 1 and obstacle 2 exist in turn. In combination with FIG. 5, first, obstacle 1 is detected, and according to the detected tangent data such as OA and OB, and the sensing data within the extended angle range a1 and a2, it is found that within the detection angle range a1, another obstacle profile tangent is detected, causing the a1 angle range to be smaller than the a2 angle range. Therefore, the first embedded platform calculates and obtains the result that there is a second obstacle in the right front of the robot in the driving direction of the robot, and no second obstacle is found in the left front; the result is sent to the x86 hardware platform robot controller as the basis for dynamic correction driving track. Therefore, when the robot encounters obstacle 1, the driving track is dynamically adjusted.

[0079] In addition, if the obstacle 1 is a moving obstacle and suddenly appears in the detection range of the robot during high-speed driving, the first embedded platform identifies it, and according to the decision algorithm, it can be determined as high risk, and an emergency avoidance instruction or a speed reduction instruction is sent to the second embedded platform to directly control the robot to emergency avoid or stop to reduce the risk of collision.

[0080] The above processing method enables the robot to determine whether there is a subsequent obstacle in the driving direction or the planned route based on existing sensing data, and if there is, the driving route is dynamically adjusted in advance to avoid the area where the continuous obstacle appears.

[0081] Specifically, the robot control platform obtains a dynamically corrected driving trajectory according to the first obstacle avoidance data.

[0082] As shown in FIG. 5, even after the x86 platform decision calculation, it is considered that the angle difference between a1 and a2 is within a certain allowable range, and the original driving path of the robot will not be greatly corrected; but the driving path will be dynamically adjusted slightly to let the robot avoid the obstacle 1 and continue to drive along the original route. When continuing to drive, the obstacle 2 becomes the closest direct obstacle (located on the planned route of the robot), and the x86 platform makes a decision calculation according to whether there are other obstacles in front. Alternatively, during driving, part of the obstacle 2 is on the original planned route, but it does not affect the main route of the robot, and the x86 platform will dynamically adjust the driving route slightly to enable the robot to pass by the obstacle 2 smoothly. Otherwise, the robot control platform will correct the original driving route of the robot to a dynamically adjusted driving route according to the first priority processing data as shown in FIG. 4. Among them, the first obstacle refers to the closest obstacle to the robot; the second obstacle refers to other obstacles detected by the robot within the extension angle range.

[0083] That is, the robot control platform determines that the robot runs according to the preset driving route when encountering each obstacle according to the first obstacle avoidance data, but adjusts the robot from the first driving direction to the corrected second driving direction, wherein the second driving direction is corrected relatively small with respect to the first driving direction to enable the robot to continue driving along the preset driving route after avoiding the obstacle; or the robot runs to encounter each obstacle, and the robot control platform determines that the robot continues to run according to the preset driving route; wherein each obstacle includes the first obstacle or at least one second obstacle.

[0084] In some embodiments, the first embedded platform detects at least one obstacle within the detection range of the robot, and determines the distance from the robot to the tangent line of each obstacle; if the robot faces a first obstacle and obtains a first distance and a second distance of the tangent lines on both sides, and determines whether there is a tangent line of another obstacle within the extended angle range of the third detection angle and the fourth detection angle corresponding to the two sides of the obstacle; if the tangent line of the other obstacle corresponds to a third distance or a fourth distance, it is determined that there is a second obstacle; wherein the third distance or the fourth distance is greater than the first distance and the second distance corresponding to the first obstacle respectively.

[0085] As shown in FIG. 6, in the first embedded platform, the robot determines the distance of the obstacles by mutual judgment of the distance of the tangent line of the obstacle (the distance between the position of the sensor O and the position of the tangent point of the obstacle). As shown in FIG. 6, LA, LB, and LC. When the robot determines that LA and LB are the distances of the two sides of the same obstacle, the distance of the tangent point of the other obstacle within the extended angle range, such as LC, can be used as a criterion for determining whether obstacle 2 is a second obstacle.

[0086] In some embodiments, if the first embedded platform determines that the robot faces an obstacle according to the obstacle contour edge data, and the second driving angle corresponding to the second position of the robot is greater than the first driving angle corresponding to the first position, the robot control platform determines that the robot runs according to the preset driving route.

[0087] Wherein the first driving angle or the second driving angle represents the side of the obstacle facing the robot, and the corresponding first position or second position is driven respectively, the angle between the tangent line of the side corresponding to the first position of the robot and the driving axis of the robot is the first driving angle, and the angle between the tangent line of the side corresponding to the second position of the robot and the driving axis of the robot is the second driving angle.

[0088] Wherein, the driving axis of the robot is represented as the axis between the first position and the second position of the robot when the robot is located at the first position and the second position respectively.

[0089] Wherein, the second position of the robot is a straight line relative to the first position, and the second position is closer to the robot relative to the first position.

[0090] The robot judges the situation of the front obstacle in real time during driving to determine whether the navigation adjustment strategy is appropriate.

[0091] As shown in FIG. 7, assuming that the robot is driving, the robot determines the angle of pose adjustment and verifies whether the result of pose adjustment is appropriate by comparing the relevant data at two positions, position 1 and position 2. For the convenience of description, it is assumed that the direction of the robot does not change during driving, i.e., the robot drives in a straight line. In fact, during driving of the robot, the driving path changes in real time, and the robot does not always drive in a straight line, but can often adjust the angle and drive. However, from the perspective of real-time control, the two adjacent positions of the robot during driving can be considered to be straight driving when the distance between the two positions is close to a certain extent, such as position 1 and position 2 in FIG. 7, i.e., the driving angle of the robot does not change, and the robot drives in a straight line. The axis between the two positions of the robot is set as the KX line. Then, for the same obstacle, the included angle between the tangent on the side of the obstacle and the KX line is θ1 and θ2 respectively when the robot is at the two positions.

[0092] When θ2 > θ1, the robot is driving in a direction away from or avoiding the obstacle. Meanwhile, the angle θ2 can also be compared with other included angles before, and the trend of the included angle can also be used to determine whether the obstacle avoidance decision of the robot is appropriate, thereby serving as one of the methods for verifying the control effect.

[0093] The application utilizes the strong real-time characteristics of the embedded hardware platform, adopts the proposed real-time obstacle avoidance method (algorithm strategy), generates obstacle avoidance information in real time, improves the dynamic obstacle avoidance performance of the robot, and timely corrects the driving route. In addition, the application improves the reliability and response speed of the robot in obstacle avoidance, thereby meeting the requirements of high safety and high reliability of the robot in the industrial scene of high-speed walking and high-speed operation of the robot.

[0094] The same or similar parts among the various embodiments in the specification can be referred to each other, and each embodiment focuses on the difference from other embodiments. In particular, for the product embodiment described later, since it corresponds to the method, the description is relatively simple, and the relevant part can be referred to the part of the system embodiment.

[0095] The above merely illustrates the specific implementation of the application, but the protection scope of the application is not limited to this. Any person skilled in the art can easily think of changes or replacements within the technical range disclosed in the application, which should be covered in the protection scope of the application. Therefore, the protection scope of the application should be subject to the protection scope of the claims.

Claims

1. A robot obstacle avoidance system, characterized by, The application relates to a robot control system, which comprises a first embedded platform, a second embedded platform and a robot control platform, the first embedded platform is communicatively connected with the robot control platform and the second embedded platform, the first embedded platform is used for executing a real-time obstacle avoidance algorithm and generating obstacle avoidance data, the robot control platform is used for executing a robot overall control function and generating decision data, and the second embedded platform is used for executing a robot motion control algorithm according to the obstacle avoidance data and the decision data so that the robot executes a motion action. The first embedded platform is used for acquiring first sensor output data, the first sensor output data comprises obstacle characteristic data, and the first embedded platform executes the real-time obstacle avoidance algorithm to generate the obstacle avoidance data when the first sensor output data is acquired; the robot control platform is used for acquiring all sensor output data and the obstacle avoidance data, the all sensor output data comprises the first sensor output data and other sensor output data except the first sensor output data, and the robot control platform generates the decision data after the all sensor output data and the obstacle avoidance data are acquired; the second embedded platform is used for executing the robot motion control algorithm immediately after the obstacle avoidance data is received so as to output action instructions required for obstacle avoidance according to the obstacle avoidance data, and the motor used for executing the motion action in the robot executes the action instructions to complete the real-time obstacle avoidance, and the second embedded platform executes the robot motion control algorithm after the decision data is received so as to drive the motor to adjust the motion action according to the decision data. The first embedded platform is composed of a DSP and an FPGA array, the DSP performs mathematical calculation and processing tasks of real-time information data, the FPGA array is composed of multiple FPGA chips which perform simultaneous parallel calculation, the parallel data processing capacity of the FPGA is used for processing characteristic data from sensors in real time so as to improve real-time performance.

2. The robotic obstacle avoidance system of claim 1, wherein, The second embedded platform is composed of a DSP core system and an industrial communication bus system, and is specially used for processing and analyzing motion control data from the first embedded platform and the robot control platform, and converting the motion control data into communication data instructions corresponding to a mobile action robot wheel hub motor driver and a mechanical arm joint driver to be issued so that relevant executing mechanisms execute motion control; the industrial communication bus comprises a CanOpen and an EtherCat bus. The first embedded platform and the second embedded platform interact data through communication. The obstacle avoidance data generated by the first embedded platform has higher processing speed and higher real-time obstacle avoidance level than the decision data generated by the robot control platform. When the robot is in an emergency obstacle avoidance state, the first embedded platform directly transmits the generated obstacle avoidance data to the second embedded platform so that the second embedded platform outputs priority obstacle avoidance instructions to make the robot execute real-time obstacle avoidance.

3. The robotic obstacle avoidance system of claim 1, wherein, The first embedded platform transmits the generated obstacle avoidance data to the robot control platform, the robot control platform determines decision data corresponding to obstacle avoidance and robot navigation route planning, and outputs normal operation obstacle avoidance instructions to the second embedded platform so as to ensure that the robot executes real-time obstacle avoidance operation.

4. The robotic obstacle avoidance system of claim 1, wherein, ​ 5. The robotic obstacle avoidance system of claim 1, wherein, The first embedded platform communicates with the robot control platform through RAM or a data bus; The sensor is connected with the first embedded platform and the robot control platform through Ethernet or CameraLink respectively to realize data transmission; The robot control platform is an x86 architecture system; The sensor includes at least one of a laser radar and a binocular camera, or is a preset type sensor and a combination of preset type sensors.

6. A robot real-time obstacle avoidance method, characterized by, The robot real-time obstacle avoidance method is applied to the robot obstacle avoidance system in any one of claims 1-5, and the robot real-time obstacle avoidance method comprises: If the first embedded platform determines that the robot and the obstacle are in an emergency obstacle avoidance state according to the first sensing data, the first embedded platform generates obstacle avoidance data in the detection range of the robot to transmit an emergency avoidance instruction or a speed reduction instruction to the second embedded platform, so that the second embedded platform controls the motor driver to make the robot avoid or slow down; wherein the first sensing data includes obstacle feature data, and the obstacle feature data includes obstacle contour edge data and distance information data of the obstacle. During the dynamic movement of the robot, the running state between the robot and the obstacle is determined according to the tangent direction along the contour edge of the obstacle detected by the sensor, the distance between the tangent of the edges on both sides of the obstacle and the origin of the robot sensor is detected, and the angle between the tangents of the edges on both sides of the obstacle and the robot is determined to determine whether the robot and the obstacle are in an emergency obstacle avoidance state or a normal running obstacle avoidance state, so as to execute an obstacle avoidance decision.

7. The robot real-time obstacle avoidance method of claim 6, wherein, The robot real-time obstacle avoidance method further comprises: The first embedded platform transmits the generated obstacle avoidance data to the robot control platform, and the robot control platform determines decision data corresponding to the obstacle and the robot navigation route planning, and then outputs a normal running obstacle avoidance instruction to the second embedded platform to ensure that the robot runs in real time while avoiding obstacles.

8. The robot real-time obstacle avoidance method of claim 6, wherein, The robot real-time obstacle avoidance method further comprises: If the first embedded platform determines that the robot encounters two obstacles according to the tangent data of the robot and the obstacle, and determines that there is a contour tangent of another obstacle in a first detection angle range on one side of a first obstacle, and there is no contour tangent of other obstacles in a second detection angle on the other side of the first obstacle, wherein the first detection angle is smaller than the second detection angle; The first embedded platform determines that the first obstacle avoidance data is that there is a second obstacle in the direction of the first detection angle, but there is no second obstacle in the direction of the second detection angle, and transmits the first obstacle avoidance data to the robot control platform; The robot control platform obtains a dynamically corrected driving track according to the first obstacle avoidance data; If the first embedded platform determines that the obstacle encountered by the robot changes from no obstacle to a first obstacle according to the obstacle feature data, or the obstacle encountered by the robot changes from one obstacle to a first obstacle and a second obstacle, it is determined that the robot and the obstacle are in an emergency obstacle avoidance state; the first obstacle is closer to the robot than the second obstacle.

9. The robot real-time obstacle avoidance method of claim 8, wherein, The robot real-time obstacle avoidance method further comprises: The robot control platform determines that each detection angle corresponding to each obstacle is within the preset range according to the first obstacle avoidance data, and determines that the robot runs according to the preset driving route when encountering each obstacle, but adjusts the robot from the first driving direction to the second driving direction after correction, wherein the second driving direction is corrected relatively small with respect to the first driving direction, so as to meet the robot to continue driving along the preset driving route after avoiding the obstacle; Or, the robot runs to encounter each obstacle, and the robot control platform determines that the robot continues to run according to the preset driving route; wherein each obstacle includes a first obstacle or at least one second obstacle.

10. The robot real-time obstacle avoidance method of claim 8, wherein, The real-time obstacle avoidance method of the robot further comprises: If the first embedded platform detects at least one obstacle within the detection range of the robot, the distance from the robot to the tangent of each obstacle is determined to determine the distance of each obstacle relative to the robot; If the robot faces the first obstacle and obtains the first distance and the second distance of the two tangent lines, respectively, and determines whether there is a tangent line of other obstacles in the third detection angle and the fourth detection angle corresponding to the two sides of the obstacle; If the tangent line of the other obstacle exists corresponding to the third distance or the fourth distance, it is determined that there is a second obstacle; wherein the third distance or the fourth distance is greater than the first distance and the second distance corresponding to the first obstacle, respectively; And / or, if the first embedded platform determines that the robot faces an obstacle according to the obstacle contour edge data, and the second driving angle corresponding to the second position of the robot is greater than the first driving angle corresponding to the first position according to the robot running, the robot control platform determines that the robot runs according to the preset driving route; wherein the first driving angle or the second driving angle represents one side of the robot facing the obstacle, and respectively drives to the first position or the second position corresponding to the side, the first driving angle is the angle between the tangent line of the side corresponding to the first position of the robot and the robot driving axis, and the second driving angle is the angle between the tangent line of the side corresponding to the second position of the robot and the robot driving axis; wherein the robot driving axis represents the axis between the first position and the second position of the robot when the robot is respectively located at the first position and the second position; Wherein, the robot runs in a straight line from the second position to the first position, and the distance from the second position to the robot is closer than the distance from the first position to the robot.

Citation Information

Patent Citations

  • Distributed multi-sensor mobile robot system

    CN101612733A

  • Robot autonomous obstacle avoidance moving control method based on distance vectors

    CN104460666A

  • ROS-based intelligent wheelchair with autonomous navigation function

    CN107450556A

  • Multiple sensor fused all-weather high-speed unmanned vehicle detection and obstacle avoidance system

    CN107977004A

  • Novel robot intelligent obstacle avoidance system

    CN108268036A