Robot control system based on behavior model, application method and electronic device

By using a behavior model-based robot control system, combined with data processing from multiple sensors and modules, the robot was able to automatically avoid obstacles in complex environments, improving its obstacle avoidance capabilities and mobility, and solving the obstacle avoidance problem in open factory environments with many moving obstacles.

CN119960453BActive Publication Date: 2025-11-18SINOCHEM INFORMATION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510116053.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-01-24
Publication Date
2025-11-18
Estimated Expiration
2045-01-24

AI Technical Summary

Technical Problem

Existing robots struggle to achieve effective automatic obstacle avoidance in open factory environments with numerous moving obstacles, especially in complex environments where path obstruction can lead to undefined behaviors.

Method used

A behavior-based robot control system is adopted, which combines a collision module, a low-level obstacle avoidance module, a high-level obstacle avoidance module, and a decision center module. Data is collected through collision sensors, accelerometers, laser rangefinders, and cameras to generate voting data for the drive motors and steering motors, and to make comprehensive decisions to achieve obstacle avoidance.

Benefits of technology

It improves the robot's obstacle avoidance ability and mobility in complex environments, reduces the risk of collisions, and ensures that the robot can safely and flexibly avoid obstacles in open factory environments with many moving obstacles.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119960453B_ABST
    Figure CN119960453B_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure disclose a robot control system based on a behavior model, an application method and an electronic device. A specific embodiment of the method comprises: the robot control system based on the behavior model comprises a collision module, a low-level obstacle avoidance module, a high-level obstacle avoidance module, a decision hub module, a driving motor and a steering motor. The decision hub module integrates the voting data of the collision module, the low-level obstacle avoidance module and the high-level obstacle avoidance module, assists the robot to make a more reasonable global obstacle avoidance decision, coordinates the actions of the driving motor and the steering motor, improves the overall obstacle avoidance ability and movement efficiency of the robot in a complex environment, and solves the problem of how the robot realizes automatic obstacle avoidance in an open environment with many moving obstacles.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of this disclosure relate to the field of robotics, and more specifically to robot control systems, application methods, and electronic devices based on behavior models. Background Technology

[0002] With the development of artificial intelligence technology, advancements in robotics engineering, and reductions in production costs, inspection robots have begun to be used in smart factories in recent years. These robots can replace humans in automated inspections of factory areas, improving efficiency while quickly and accurately completing a large number of simple, repetitive tasks. Due to the complexity of many factory areas and the precision of equipment and facilities, automatic obstacle avoidance is a crucial function for robots. However, most current robots adopt a task-driven perception-thinking-action model, which involves acquiring information about the surrounding environment through sensors such as cameras, determining the location of obstacles through visual recognition or electromagnetic wave positioning devices, and then deciding how to avoid the obstacles before transmitting the decision to actuators such as motors. This type of model has the advantages of high efficiency and high specificity, but it is easily affected by interference due to insufficient robustness in more complex environments.

[0003] Currently, some specialized robots designed for specific environments use optical or lidar scanning to scan their work environment and store the surrounding terrain map in order to make higher-level decisions. This design is very suitable for equipment such as sweeping robots that operate in fixed and complex environments for a long time. However, in open factory environments with many moving obstacles, this type of model is difficult to leverage its advantages and is prone to undefined behavior due to blocked paths. Summary of the Invention

[0004] In view of this, embodiments of the present disclosure provide a robot control system, application method, and electronic device based on a behavior model to solve the problem of how robots can automatically avoid obstacles in open factory environments with many moving obstacles.

[0005] A first aspect of this disclosure provides a robot control system based on a behavior model. The behavior model-based robot control system includes: a collision module, a low-level obstacle avoidance module, a high-level obstacle avoidance module, a decision-making center module, a transmission motor, and a steering motor; wherein...

[0006] The aforementioned collision module is equipped with at least two collision sensors and at least one accelerometer. The collision module reads the signal data collected by the collision sensors and the acceleration data collected by the accelerometer, and outputs collision voting data for the drive motor and the steering motor based on the signal data and acceleration data. The aforementioned low-level obstacle avoidance module is equipped with at least one laser rangefinder. The aforementioned remote operation platform reads the depth map data collected by the laser rangefinder and outputs first obstacle avoidance voting data for the drive motor and the steering motor based on the depth map data. The aforementioned high-level obstacle avoidance module is equipped with at least one camera. The high-level obstacle avoidance module reads the image data collected by the camera and outputs collision voting data for the drive motor based on the image data. The decision center module generates drive motor voting result data based on the drive motor collision voting data, the drive motor first obstacle avoidance voting data, and the drive motor second obstacle avoidance voting data; it also generates steering motor voting result data based on the steering motor collision voting data, the steering motor first obstacle avoidance voting data, and the steering motor second obstacle avoidance voting data, and sends the drive motor voting result data to the drive motor and the steering motor. The drive motor is used to power the robot based on the drive motor voting result data; the steering motor is used to control the robot's direction based on the steering motor voting result data.

[0007] In some embodiments, the collision module includes: a collision sensor reading unit for reading signal data collected by the collision sensor; an accelerometer reading unit for reading acceleration data collected by the accelerometer; a collision judgment unit for generating a collision judgment result for the robot based on a preset signal threshold, a preset acceleration threshold, the signal data, and the acceleration data; and a collision output unit for generating and outputting drive motor collision voting data and steering motor collision voting data based on the collision judgment result.

[0008] In some embodiments, the collision output unit includes: a collision-not-occurred output subunit, configured to generate collision voting data for the drive motor that maintains the robot's current power and collision voting data for the steering motor that maintains the robot's current direction when the collision judgment result is detected as no collision has occurred; and a collision-occurred output subunit, configured to generate collision voting data for the drive motor that changes the robot's current power and collision voting data for the steering motor that changes the robot's current direction when the collision judgment result is detected as a collision has occurred.

[0009] In some embodiments, the aforementioned low-level obstacle avoidance module includes: a laser rangefinder reading unit, used to read depth map data collected by the laser rangefinder; an obstacle detection unit, used to perform spot detection on the depth map data to obtain spot information data, the spot information data including the position information, area information and depth information of each spot; an obstacle determination unit, used to generate an obstacle determination result based on a preset depth threshold and the spot information data; and a first obstacle avoidance output unit, used to generate and output first obstacle avoidance voting data for the drive motor and first obstacle avoidance voting data for the steering motor based on the obstacle determination result.

[0010] In some embodiments, the high-level obstacle avoidance module includes: an image reading unit for reading image data acquired by the camera; an image recognition unit for inputting the image data into a real-time object detector to obtain recognition bounding boxes and confidence data, wherein the recognition bounding boxes and confidence data correspond one-to-one; an association unit for obtaining the coordinates of the center point of each recognition bounding box and the coordinates of the center point of each spot, and based on the coordinates of the center point of the bounding box and the center point of the spot, assigning each recognition bounding box to each spot to obtain obstacle depth information, wherein one recognition bounding box and its corresponding spot together correspond to one obstacle; a calculation unit for calculating the angle data from each obstacle to the robot based on the obstacle depth information; and a second obstacle avoidance output unit for generating and outputting second obstacle avoidance voting data for the drive motor and second obstacle avoidance voting data for the steering motor based on the angle data from each obstacle to the robot.

[0011] In some embodiments, the decision-making central module includes: a drive motor decision module, configured to linearly superimpose the drive motor collision voting data, the drive motor first obstacle avoidance voting data, and the drive motor second obstacle avoidance voting data based on preset weighting weights to generate drive motor voting result data; a steering motor decision module, configured to linearly superimpose the steering motor collision voting data, the steering motor first obstacle avoidance voting data, and the steering motor second obstacle avoidance voting data based on preset weighting weights to generate steering motor voting result data; a drive motor sending module, configured to send the drive motor voting result data to the drive motor; and a steering motor sending module, configured to send the steering motor voting result data to the steering motor.

[0012] A second aspect of this disclosure provides an application method for a behavior model-based robot control system, applied to a behavior model-based robot control system, the system comprising: a collision module, a low-level obstacle avoidance module, a high-level obstacle avoidance module, a decision center module, a drive motor, and a steering motor; the application method comprising: reading signal data collected by a collision sensor and acceleration data collected by an accelerometer, and outputting drive motor collision voting data and steering motor collision voting data based on the signal data and acceleration data; reading depth map data collected by a laser rangefinder, and outputting drive motor first obstacle avoidance voting data and steering motor first obstacle avoidance voting data based on the depth map data; The system reads image data captured by the camera and outputs second obstacle avoidance voting data for the drive motor and second obstacle avoidance voting data for the steering motor based on the image data. It generates drive motor voting result data based on the drive motor collision voting data, the drive motor first obstacle avoidance voting data, and the drive motor second obstacle avoidance voting data. It also generates steering motor voting result data based on the steering motor collision voting data, the steering motor first obstacle avoidance voting data, and the steering motor second obstacle avoidance voting data. The system controls the drive motors to power the robot based on the drive motor voting result data and controls the steering motors to directionally control the robot based on the steering motor voting result data.

[0013] In some embodiments, the above-mentioned reading of signal data collected by the collision sensor and acceleration data collected by the accelerometer, and outputting drive motor collision voting data and steering motor collision voting data based on the signal data and acceleration data, includes: reading the signal data collected by the collision sensor; reading the acceleration data collected by the accelerometer; generating a collision judgment result of the robot based on a preset signal threshold, a preset acceleration threshold, the signal data and the acceleration data; and generating and outputting drive motor collision voting data and steering motor collision voting data based on the collision judgment result.

[0014] A third aspect of this disclosure provides an electronic device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the method described above.

[0015] A fourth aspect of this disclosure provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the above-described method.

[0016] One embodiment of the above-described embodiments of this disclosure has the following beneficial effects: Firstly, by reading signal data collected by the collision sensor and acceleration data collected by the accelerometer, the embodiments of this disclosure output collision voting data for the drive motor and collision voting data for the steering motor based on specific judgment logic. When a collision is detected, a reverse command is output to the drive motor and a steering command is output to the steering motor, guiding the robot to quickly escape the collision hazard. This accurately determines whether a collision has occurred, allowing for timely and effective countermeasures to protect the robot hardware from collision damage and ensure the safe operation of the robot in complex environments. Secondly, by reading the collected depth map data, obstacle identification techniques are used. Based on the obstacle's position and depth information, first obstacle avoidance voting data for the drive motor and first obstacle avoidance voting data for the steering motor are calculated and output, thereby guiding the robot to avoid nearby obstacles. This effectively detects nearby obstacles, enabling the robot to make timely obstacle avoidance actions such as steering within a close range, greatly improving the robot's reaction capability to sudden obstacles at close range and reducing the risk of collision. Finally, by reading image data collected by the camera, obstacles are detected using a real-time object detector. The detection results are correlated with depth map data to calculate and output the second obstacle avoidance voting data for the drive motors and the steering motors, providing a decision-making basis for the robot's global obstacle avoidance. From a more macroscopic perspective, mid-range obstacles are identified and analyzed, obstacle avoidance paths are planned in advance, and the robot is assisted in making more reasonable global obstacle avoidance decisions, improving its overall obstacle avoidance capability and movement efficiency in complex environments. Then, the voting data from various modules are integrated to make a comprehensive and optimal decision, coordinating the actions of the drive motors and steering motors to ensure that the robot's obstacle avoidance actions are smooth, efficient, and reasonable, avoiding decision conflicts or irrational decisions caused by isolated information from different modules. Finally, the drive motors, based on the instructions from the decision-making center module, provide power to the robot, precisely controlling its forward and backward movements to ensure that the robot can move along the planned path and complete obstacle avoidance actions. The steering motors, based on the instructions from the decision-making center module, precisely control the robot's steering actions, enabling the robot to flexibly avoid obstacles and accurately adjust its direction of travel, ensuring the robot's maneuverability and obstacle avoidance flexibility in complex environments. This solves the problem of how to achieve automatic obstacle avoidance for robots in open factory environments with many moving obstacles. Attached Figure Description

[0017] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic, and elements are not necessarily drawn to scale.

[0018] Figure 1 This is a schematic diagram of the structure of a behavior model-based robot control system according to some embodiments of the present disclosure;

[0019] Figure 2 This is a flowchart illustrating some embodiments of the application method of the behavior model-based robot control system according to this disclosure;

[0020] Figure 3 This is a schematic diagram of the structure of an electronic device suitable for implementing some embodiments of the present disclosure. Detailed Implementation

[0021] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, so as to provide a thorough understanding of the embodiments of this disclosure. However, those skilled in the art will understand that this disclosure may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this disclosure with unnecessary detail.

[0022] A robot control system, application method, and electronic device based on a behavior model according to embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings.

[0023] Figure 1 This is a schematic diagram of the structure of a behavior model-based robot control system according to some embodiments of the present disclosure.

[0024] like Figure 1As shown, the behavior model-based robot control system includes: a remote operating platform, a robot device, and a container; wherein, it comprises a collision module, a low-level obstacle avoidance module, a high-level obstacle avoidance module, a decision center module, drive motors, and steering motors; wherein, the collision module is equipped with at least two collision sensors and at least one accelerometer, and is used to read the signal data collected by the collision sensors and the acceleration data collected by the accelerometer, and output collision voting data for the drive motors and collision voting data for the steering motors based on the signal data and the acceleration data; the low-level obstacle avoidance module is equipped with at least one laser rangefinder, and the remote operating platform is used to read the depth map data collected by the laser rangefinder, and output first obstacle avoidance voting data for the drive motors and first obstacle avoidance voting data for the steering motors based on the depth map data; the high-level obstacle avoidance module is equipped with at least one camera. The aforementioned high-level obstacle avoidance module is used to read the image data collected by the aforementioned camera, and output the second obstacle avoidance voting data of the drive motor and the second obstacle avoidance voting data of the steering motor based on the aforementioned image data; the aforementioned decision center module is used to generate drive motor voting result data based on the aforementioned drive motor collision voting data, the aforementioned drive motor first obstacle avoidance voting data, and the aforementioned drive motor second obstacle avoidance voting data, and to generate steering motor voting result data based on the aforementioned steering motor collision voting data, the aforementioned steering motor first obstacle avoidance voting data, and the aforementioned steering motor second obstacle avoidance voting data, and to send the drive motor voting result data to the drive motor and the steering motor voting result data to the steering motor; the aforementioned drive motor is used to power drive the robot based on the aforementioned drive motor voting result data; the aforementioned steering motor is used to directionally control the robot based on the aforementioned steering motor voting result data.

[0025] Specifically, during robot operation, each module operates independently of the others. The system operates at a pre-set time t. r The system periodically reads the return values ​​from each sensor and transmits them to the corresponding modules. After calculation, each module "votes" on the appropriate values ​​for the drive motor and steering motor. Each module outputs a Gaussian distribution for the drive motor and steering motor, represented by the expected value μ and standard deviation σ, indicating that the module believes the system should take the following values ​​for any real value x: The probability of x is considered and written into the motor. Subsequently, the decision-making center "counts" the support levels from each module. Specifically, for each type of motor, the decision-making center performs a weighted linear superposition of the Gaussian distributions from all modules to obtain a new Gaussian distribution. It's important to note that each module can cast a "yes" or "no" vote for a certain action, representing whether the module believes the robot should or should not perform that action. The difference between these two votes lies in the positive or negative weights of the Gaussian distributions in the linear superposition: "yes" votes have positive coefficients, and "no" votes have negative coefficients. Finally, the decision-making center takes the maximum expected value of this Gaussian distribution and writes it into the motor as the final result.

[0026] In some alternative embodiments, the collision module includes:

[0027] The collision sensor reading unit is used to read the signal data collected by the aforementioned collision sensor.

[0028] Specifically, the robot is equipped with two or more collision sensors, which are located on the left and right sides in front of the robot. These sensors return a high signal when the robot is subjected to a collision force, and a low signal otherwise.

[0029] The accelerometer reading unit is used to read the acceleration data collected by the accelerometer.

[0030] Specifically, the robot is equipped with an accelerometer. This type of sensor detects its current acceleration, returns a value of 0 with a small error when moving at a constant speed, and returns the acceleration in the x, y, and z directions in digital form when the speed changes.

[0031] The collision determination unit is used to generate a collision determination result for the robot based on a preset signal threshold, a preset acceleration threshold, the aforementioned signal data, and the aforementioned acceleration data.

[0032] Specifically, if the collision sensor reading is greater than the preset signal threshold b1, and the accelerometer reading in one of the x or y directions is greater than the preset acceleration threshold a1, then a collision is determined to have occurred; otherwise, a collision is determined to have not occurred.

[0033] The collision output unit is used to generate and output collision voting data for the drive motor and the steering motor based on the collision judgment results.

[0034] In some embodiments, the collision output unit includes:

[0035] The "No Collision Output Subunit" is used to generate collision voting data for the drive motors that maintain the robot's current power and collision voting data for the steering motors that maintain the robot's current direction when the collision judgment result is no collision.

[0036] Specifically, if no collision occurs, the collision module will vote in favor with high support, outputting a distribution whose μ value matches the current motor value and whose σ value is small, indicating support for maintaining the status quo. In this case, the output value is as follows:

[0037] B d (μ,σ,p)=(M d , σ 1d ,1)

[0038] B s (μ,σ,p)=(M s , σ 1s ,1)

[0039] Among them B d B s M represents the output values ​​for the drive motor and the steering motor, respectively. d M s σ represents the current values ​​of the drive motor and the steering motor, respectively. 1d ,σ 1s It is a constant, where 1 represents a vote in favor.

[0040] The collision occurrence output subunit is used to generate collision voting data for the drive motor that changes the robot's current power and collision voting data for the steering motor that changes the robot's current direction when a collision is detected and the collision judgment result is that a collision has occurred.

[0041] Specifically, if a collision occurs, the collision module will strongly approve the action by outputting a negative value μ to the drive motor. Based on the difference between the readings of the left and right sensors, it determines whether the μ output to the steering motor should be positive or negative, thus approving the reversal and steering maneuver. In this case, the collision module outputs a very small σ to increase the probability that this action overrides other actions. After reversing and steering, the robot leaves the obstacle, the collision sensor readings return to zero, and the collision action ends. The output values ​​in this case are as follows:

[0042] B d (μ,σ,p)=(μ 2d σ 2d ,1)

[0043]

[0044] Among them, B d B s These are the output values ​​for the drive motor and the steering motor, respectively, μ 2d ,μ 2s ,σ 2d ,σ 2s b is a constant l ,b r These are the return values ​​from the left and right sensors, respectively. 1 represents a vote in favor.

[0045] In some alternative embodiments, the aforementioned low-level obstacle avoidance module includes:

[0046] The laser rangefinder reading unit is used to read the depth map data collected by the laser rangefinder.

[0047] Specifically, the robot is equipped with one or more laser rangefinders positioned directly in front of it. The laser rangefinders return readings in the form of depth maps; that is, at any given time, the sensor returns a two-dimensional array where each element's value corresponds to the depth reading at the corresponding pixel location on the depth map. It's important to note that in specific examples, to ensure proper robot operation, the laser rangefinders need to cover at least a certain field of view; the specific value depends on the task and environment.

[0048] The obstacle detection unit is used to perform spot detection on the aforementioned depth map data to obtain spot information data, which includes the location information, area information, and depth information of each spot.

[0049] Specifically, for the depth map returned by the laser rangefinder, the low-level obstacle avoidance module uses a spot detection technique (to detect all spots in the depth map and store the position, area, and depth information of these spots).

[0050] The obstacle determination unit is used to generate obstacle determination results based on a preset depth threshold and speckle information data.

[0051] Specifically, the average depth of each spot is sequentially checked to see if it is less than a preset threshold d1, and each spot with a "yes" result is identified as an obstacle.

[0052] The first obstacle avoidance output unit is used to generate and output the first obstacle avoidance voting data of the transmission motor and the first obstacle avoidance voting data of the steering motor based on the above obstacle determination results.

[0053] Specifically, for each obstacle, the low-level obstacle avoidance module casts a vote of approval by proposing a Gaussian distribution. The sign of μ is opposite to the obstacle's x-coordinate (i.e., if the obstacle is on the left side of the depth map, the robot needs to turn right, and the proposed μ is positive, and vice versa). The absolute value of μ is inversely proportional to the distance of the obstacle's x-coordinate from the center of the image (i.e., the closer the obstacle is to the center, the larger the required turning angle, and vice versa). Furthermore, the value of σ is inversely proportional to the average distance between the obstacle and the robot (i.e., the closer the obstacle is, the stronger the robot's support for the turn). The low-level obstacle avoidance module first uses a Gaussian mixture model to calculate the weighted average distribution for all obstacles, and then passes this distribution to the decision center. After turning, the obstacle moves away from the robot's expected trajectory, and the vote output by the low-level obstacle avoidance module tends to be a distribution where μ is consistent with the current value and σ is small, i.e., "maintain the status quo." In this case, the output value is as follows:

[0054] B d (μ,σ,p)=(M d , σ 3d ,1)

[0055]

[0056] Among them B d B s These are the output values ​​for the drive motor and the steering motor, respectively, μ 3s ,σ 3d ,σ 3s x is a constant obs ,x mid , where x and y are the x-coordinates of the obstacle's center point and the depth map's center point, respectively, and d is the average depth of the obstacle. 1 represents a vote in favor.

[0057] In some alternative embodiments, the above-mentioned high-rise obstacle avoidance module includes:

[0058] The image reading unit is used to read the image data captured by the aforementioned camera.

[0059] Specifically, the robot is equipped with one or more cameras positioned directly in front of it. The cameras return readings in the form of images, containing at least the RGB channels. That is, at any given time, the sensor returns a 3×w×h matrix, where w and h represent the width and height of the camera's resolution, respectively. For each pair of (w,h), the matrix returns the intensity values ​​of the R, G, and B channels for the corresponding pixel at that location. It is important to note that in specific examples, to ensure the robot's proper operation, the cameras need to cover a certain field of view; the specific value depends on the task and environment.

[0060] The image recognition unit is used to input the above image data into the real-time object detector to obtain the recognition bounding box and confidence data, and the recognition bounding box and confidence data are in one-to-one correspondence.

[0061] Specifically, in this concrete example, given the real-time performance and reaction speed requirements of the automated obstacle avoidance robot, the YOLOv8 object recognition model was chosen. The model was trained on a dataset obtained through manual control and photography in a factory environment using the same model of robot base and camera. Elements such as pedestrians, bicycles, electric vehicles, motor vehicles, curbs, and trees in the dataset were labeled. The high-level obstacle avoidance module inputs the images returned by the camera into the YOLOv8 model for detection and outputs a series of bounding boxes along with their corresponding labels and confidence scores.

[0062] The association unit is used to obtain the coordinates of the center point of each recognition rectangle and the center point of each spot. Based on the above center point coordinates of the rectangle and the spot, each recognition rectangle is matched with each spot to obtain the obstacle depth information. One recognition rectangle and its corresponding spot together correspond to one obstacle.

[0063] Specifically, for each rectangle, its center point is taken, the Euclidean distance between that point and the center point of each spot in the depth map is calculated, and the rectangle is associated with the spot with the smallest distance to it, thus achieving a simple one-to-one correspondence.

[0064] The calculation unit is used to calculate the angle data between each obstacle and the robot based on the aforementioned obstacle depth information.

[0065] Specifically, the high-level obstacle avoidance module takes depth map spots corresponding to each obstacle and calculates their average depth value d. Then, it calculates the angle between the obstacle and the robot, using the following formula:

[0066]

[0067] Where θ is the angle between the obstacle and the robot, x is the horizontal distance between the center point of the obstacle's rectangle and the center point of the image, w is the width of the camera resolution, and F is the camera's field of view.

[0068] The second obstacle avoidance output unit is used to generate and output the second obstacle avoidance voting data of the transmission motor and the second obstacle avoidance voting data of the steering motor based on the angle data between each obstacle and the robot.

[0069] Specifically, for each obstacle's angle θ, the higher-level obstacle avoidance module disapproves of the steering motor, with μ being the angle θ and σ being inversely proportional to the obstacle's average depth d (i.e., the closer the obstacle, the stronger the robot's steering support). Unlike the lower-level obstacle avoidance module, the higher-level module is not a temporary reaction at a local scale, but rather a simple path planning mechanism. The purpose of the two obstacle avoidance modules is to assist each other and play a dominant role in different distance ranges. In this case, for obstacle i, the output value is as follows:

[0070] B d (μ,σ,p)=(M d , σ 4d ,1)

[0071]

[0072] Among them B d B s These are the output values ​​for the drive motor and the steering motor, respectively, σ 4d ,σ 4s θ is a constant. i The angle between the obstacles, This represents the average depth of the obstacle. 1 represents a vote in favor, and -1 represents a vote against.

[0073] In some alternative embodiments, the decision-making central module includes:

[0074] The drive motor decision module is used to linearly superimpose the drive motor collision voting data, the drive motor first obstacle avoidance voting data, and the drive motor second obstacle avoidance voting data based on preset weighting weights to generate drive motor voting result data.

[0075] Specifically, for the voting scheme (B) output by modules 1, 2, ... i d1 B s1 ),(B d2 B s2 ),...(B di B si The decision center performs the following calculations to obtain the final Gaussian distribution:

[0076]

[0077] Where c dx ,c sx It is a constant. Subsequently, the decision center calculates the highest expected value of this division and inputs this value as the result into the drive motor and steering motor. Where B... d This refers to the output value of the drive motor.

[0078] The steering motor decision module is used to linearly superimpose the aforementioned steering motor collision voting data, the aforementioned steering motor first obstacle avoidance voting data, and the aforementioned steering motor second obstacle avoidance voting data based on preset weighting weights to generate steering motor voting result data.

[0079] Specifically, for the voting scheme (B) output by modules 1, 2, ... i d1 B s1 ),(B d2 B s2 ),...(B di B si The decision center performs the following calculations to obtain the final Gaussian distribution:

[0080]

[0081] Among them, B s This refers to the output values ​​of the drive motor and the steering motor.

[0082] The drive motor transmitting module is used to send the drive motor voting result data to the drive motor.

[0083] Specifically, the drive motor receives the voting result data from the drive motors, converts it into actual power output, drives the robot's wheels and other power components, and realizes the robot's linear motion.

[0084] The steering motor transmitting module is used to send the above-mentioned steering motor voting result data to the steering motor.

[0085] Specifically, the steering motor receives the steering motor voting result data, converts it into corresponding torque and angle control, drives the robot's steering mechanism, and realizes the robot's steering operation.

[0086] Figure 2 This is a flowchart illustrating the application method of a robot control system based on a behavior model provided in this embodiment. Figure 2 The application method of behavior model-based robot control system can be derived from Figure 1 The computing device 101 performs the operation. For example... Figure 2 As shown, the application method of this behavior model-based robot control system includes the following steps:

[0087] Step S201: Read the signal data collected by the collision sensor and the acceleration data collected by the accelerometer, and output the drive motor collision voting data and the steering motor collision voting data based on the above signal data and the above acceleration data.

[0088] Step S201 includes:

[0089] Read the signal data collected by the aforementioned collision sensors;

[0090] Read the acceleration data collected by the accelerometer above;

[0091] The collision judgment result of the robot is generated based on the preset signal threshold, the preset acceleration threshold, the above signal data, and the above acceleration data;

[0092] Based on the collision judgment results, generate and output drive motor collision voting data and steering motor collision voting data;

[0093] When a collision is detected and the collision determination result is no collision, collision voting data for the drive motor that maintains the robot's current power and collision voting data for the steering motor that maintains the robot's current direction are generated.

[0094] When a collision is detected and the collision determination result is that a collision has occurred, collision voting data for the drive motor that changes the robot's current power and collision voting data for the steering motor that changes the robot's current direction are generated.

[0095] Step S202: Read the depth map data collected by the laser rangefinder, and output the first obstacle avoidance voting data of the transmission motor and the first obstacle avoidance voting data of the steering motor based on the depth map data.

[0096] Step S202 includes:

[0097] Read the depth map data collected by the laser rangefinder;

[0098] Spot detection is performed on the above depth map data to obtain spot information data, which includes the location information, area information and depth information of each spot.

[0099] Obstacle determination results are generated based on preset depth thresholds and speckle information data;

[0100] Based on the above obstacle determination results, the first obstacle avoidance voting data of the transmission motor and the first obstacle avoidance voting data of the steering motor are generated and output.

[0101] Step S203: Read the image data collected by the camera, and output the second obstacle avoidance voting data of the transmission motor and the second obstacle avoidance voting data of the steering motor based on the above image data.

[0102] Specifically, step S203 includes:

[0103] Read the image data captured by the aforementioned camera;

[0104] The above image data is input into the real-time object detector to obtain the recognition bounding boxes and confidence data. The recognition bounding boxes and confidence data are in one-to-one correspondence.

[0105] Obtain the center point coordinates of each recognition rectangle and the center point coordinates of each spot. Based on the above center point coordinates, match each recognition rectangle with each spot to obtain the obstacle depth information. One recognition rectangle and its corresponding spot together correspond to one obstacle.

[0106] Based on the obstacle depth information mentioned above, the angle data between each obstacle and the robot is calculated;

[0107] Based on the angle data between each obstacle and the robot, the second obstacle avoidance voting data for the transmission motor and the second obstacle avoidance voting data for the steering motor are generated and output.

[0108] Step S204: Generate transmission motor voting result data based on the aforementioned transmission motor collision voting data, the aforementioned transmission motor first obstacle avoidance voting data, and the aforementioned transmission motor second obstacle avoidance voting data; generate steering motor voting result data based on the aforementioned steering motor collision voting data, the aforementioned steering motor first obstacle avoidance voting data, and the aforementioned steering motor second obstacle avoidance voting data.

[0109] Specifically, step S204 includes:

[0110] Based on a preset weighted average, the aforementioned drive motor collision voting data, the aforementioned drive motor first obstacle avoidance voting data, and the aforementioned drive motor second obstacle avoidance voting data are linearly superimposed to generate drive motor voting result data.

[0111] Based on a preset weighted average, the aforementioned steering motor collision voting data, the aforementioned steering motor first obstacle avoidance voting data, and the aforementioned steering motor second obstacle avoidance voting data are linearly superimposed to generate steering motor voting result data.

[0112] Send the voting results data of the drive motor to the drive motor.

[0113] The above steering motor voting results data are sent to the steering motor.

[0114] Step S205: Control the aforementioned transmission motors to drive the robot based on the voting result data of the aforementioned transmission motors.

[0115] Step S206: Control the steering motor to perform directional control on the robot based on the steering motor voting result data.

[0116] One embodiment of the above-described embodiments of this disclosure has the following beneficial effects: Firstly, by reading signal data collected by the collision sensor and acceleration data collected by the accelerometer, the embodiments of this disclosure output collision voting data for the drive motor and collision voting data for the steering motor based on specific judgment logic. When a collision is detected, a reverse command is output to the drive motor and a steering command is output to the steering motor, guiding the robot to quickly escape the collision hazard. This accurately determines whether a collision has occurred, allowing for timely and effective countermeasures to protect the robot hardware from collision damage and ensure the safe operation of the robot in complex environments. Secondly, by reading the collected depth map data, obstacle identification techniques are used. Based on the obstacle's position and depth information, first obstacle avoidance voting data for the drive motor and first obstacle avoidance voting data for the steering motor are calculated and output, thereby guiding the robot to avoid nearby obstacles. This effectively detects nearby obstacles, enabling the robot to make timely obstacle avoidance actions such as steering within a close range, greatly improving the robot's reaction capability to sudden obstacles at close range and reducing the risk of collision. Finally, by reading image data collected by the camera, obstacles are detected using a real-time object detector. The detection results are correlated with depth map data to calculate and output the second obstacle avoidance voting data for the drive motors and the steering motors, providing a decision-making basis for the robot's global obstacle avoidance. From a more macroscopic perspective, mid-range obstacles are identified and analyzed, obstacle avoidance paths are planned in advance, and the robot is assisted in making more reasonable global obstacle avoidance decisions, improving its overall obstacle avoidance capability and movement efficiency in complex environments. Then, the voting data from various modules are integrated to make a comprehensive and optimal decision, coordinating the actions of the drive motors and steering motors to ensure that the robot's obstacle avoidance actions are smooth, efficient, and reasonable, avoiding decision conflicts or irrational decisions caused by isolated information from different modules. Finally, the drive motors, based on the instructions from the decision-making center module, provide power to the robot, precisely controlling its forward and backward movements to ensure that the robot can move along the planned path and complete obstacle avoidance actions. The steering motors, based on the instructions from the decision-making center module, precisely control the robot's steering actions, enabling the robot to flexibly avoid obstacles and accurately adjust its direction of travel, ensuring the robot's maneuverability and obstacle avoidance flexibility in complex environments. This solves the problem of how to achieve automatic obstacle avoidance for robots in open factory environments with many moving obstacles.

[0117] All of the above-mentioned optional technical solutions can be combined in any way to form the optional embodiments of this application, and will not be described in detail here.

[0118] The following are embodiments of the apparatus disclosed herein, which can be used to execute embodiments of the method disclosed herein. For details not disclosed in the apparatus embodiments of this disclosure, please refer to the embodiments of the method disclosed herein.

[0119] Figure 3 This is a schematic diagram of the computer device 3 provided in an embodiment of this disclosure. Figure 3 As shown, the computer device 3 in this embodiment includes a processor 301, a memory 302, and a computer program 303 stored in the memory 302 and executable on the processor 301. When the processor 301 executes the computer program 303, it implements the steps in the various method embodiments described above. Alternatively, when the processor 301 executes the computer program 303, it implements the functions of each module / unit in the various device embodiments described above.

[0120] Exemplarily, computer program 303 may be divided into one or more modules / units, which are stored in memory 302 and executed by processor 301 to perform the present disclosure. The one or more modules / units may be a series of computer program instruction segments capable of performing a specific function, which describe the execution process of computer program 303 in computer device 3.

[0121] Computer device 3 can be a desktop computer, laptop, handheld computer, cloud server, or other similar computer device. Computer device 3 may include, but is not limited to, processor 301 and memory 302. Those skilled in the art will understand that... Figure 3 This is merely an example of computer device 3 and does not constitute a limitation on computer device 3. It may include more or fewer components than shown, or combine certain components, or different components. For example, computer device may also include input / output devices, network access devices, buses, etc.

[0122] Processor 301 can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor.

[0123] The memory 302 can be an internal storage unit of the computer device 3, such as a hard disk or RAM of the computer device 3. The memory 302 can also be an external storage device of the computer device 3, such as a plug-in hard disk, Smart Media Card (SMC), Secure Digital (SD) card, or Flash Card equipped on the computer device 3. Furthermore, the memory 302 can include both internal and external storage units of the computer device 3. The memory 302 is used to store computer programs and other programs and data required by the computer device. The memory 302 can also be used to temporarily store data that has been output or will be output.

[0124] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0125] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0126] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this disclosure.

[0127] In the embodiments provided in this disclosure, it should be understood that the disclosed apparatus / computer devices and methods can be implemented in other ways. For example, the apparatus / computer device embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. Multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0128] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0129] Furthermore, the functional units in the various embodiments of this disclosure can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0130] If an integrated module / unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program may include computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. A computer-readable medium may include: any entity or device capable of carrying computer program code, recording media, USB flash drives, portable hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content included in a computer-readable medium may be appropriately added to or subtracted according to the requirements of legislation and patent practice in a jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable media may not include electrical carrier signals and telecommunication signals.

[0131] The above embodiments are only used to illustrate the technical solutions of this disclosure, and are not intended to limit it. Although this disclosure has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this disclosure, and should all be included within the protection scope of this disclosure.

Claims

1. A robot control system based on a behavior model, characterized in that, A behavior-based robot control system includes: a collision module, a low-level obstacle avoidance module, a high-level obstacle avoidance module, a decision-making center module, drive motors, and steering motors; among which, The collision module is equipped with at least two collision sensors and at least one accelerometer. The collision module is used to read the signal data collected by the collision sensors and the acceleration data collected by the accelerometer, and output the drive motor collision voting data and the steering motor collision voting data based on the signal data and the acceleration data. The low-level obstacle avoidance module is equipped with at least one laser rangefinder. The remote operation platform is used to read the depth map data collected by the laser rangefinder and output the first obstacle avoidance voting data of the transmission motor and the first obstacle avoidance voting data of the steering motor based on the depth map data. The high-rise obstacle avoidance module is equipped with at least one camera. The high-rise obstacle avoidance module is used to read the image data collected by the camera and output the second obstacle avoidance voting data of the transmission motor and the second obstacle avoidance voting data of the steering motor based on the image data. The decision center module is used to generate transmission motor voting result data based on the transmission motor collision voting data, the transmission motor first obstacle avoidance voting data, and the transmission motor second obstacle avoidance voting data; generate steering motor voting result data based on the steering motor collision voting data, the steering motor first obstacle avoidance voting data, and the steering motor second obstacle avoidance voting data; and send the transmission motor voting result data to the transmission motor and the steering motor voting result data to the steering motor. The drive motor is used to power the robot based on the voting result data of the drive motor. The steering motor is used to control the robot's direction based on the steering motor voting result data.

2. The robot control system based on a behavior model according to claim 1, characterized in that, The collision module includes: A collision sensor reading unit is used to read the signal data collected by the collision sensor; An accelerometer reading unit is used to read the acceleration data collected by the accelerometer. The collision determination unit is used to generate a collision determination result for the robot based on a preset signal threshold, a preset acceleration threshold, the signal data, and the acceleration data. The collision output unit is used to generate and output collision voting data for the drive motor and the steering motor based on the collision judgment results.

3. The robot control system based on a behavior model according to claim 2, characterized in that, The collision output unit includes: The collision-not-occurred output subunit is used to generate collision voting data for the drive motors that maintain the robot's current power and collision voting data for the steering motors that maintain the robot's current direction when the collision judgment result is that no collision has occurred. The collision occurrence output subunit is used to generate collision voting data for the drive motor that changes the robot's current power and collision voting data for the steering motor that changes the robot's current direction when a collision is detected and the collision judgment result is that a collision has occurred.

4. The robot control system based on a behavior model according to claim 3, characterized in that, The low-level obstacle avoidance module includes: A laser rangefinder reading unit is used to read the depth map data collected by the laser rangefinder; An obstacle detection unit is used to perform spot detection on the depth map data to obtain spot information data, which includes the position information, area information and depth information of each spot. The obstacle determination unit is used to generate obstacle determination results based on a preset depth threshold and speckle information data; The first obstacle avoidance output unit is used to generate and output the first obstacle avoidance voting data of the transmission motor and the first obstacle avoidance voting data of the steering motor based on the obstacle determination result.

5. The robot control system based on a behavior model according to claim 4, characterized in that, The high-rise obstacle avoidance module includes: The image reading unit is used to read the image data captured by the camera; The image recognition unit is used to input the image data into the real-time object detector to obtain recognition bounding boxes and confidence data, wherein the recognition bounding boxes and confidence data are in one-to-one correspondence. The association unit is used to obtain the center point coordinates of each recognition rectangle and the center point coordinates of each spot. Based on the center point coordinates of the rectangle and the center point coordinates of the spot, each recognition rectangle is matched with each spot to obtain the obstacle depth information. One recognition rectangle and its corresponding spot together correspond to one obstacle. The calculation unit is used to calculate the angle data between each obstacle and the robot based on the obstacle depth information; The second obstacle avoidance output unit is used to generate and output the second obstacle avoidance voting data of the transmission motor and the second obstacle avoidance voting data of the steering motor based on the angle data between each obstacle and the robot.

6. The robot control system based on a behavior model according to claim 5, characterized in that, The decision-making central module includes: The drive motor decision module is used to linearly superimpose the drive motor collision voting data, the drive motor first obstacle avoidance voting data, and the drive motor second obstacle avoidance voting data based on preset weights to generate drive motor voting result data. The steering motor decision module is used to linearly superimpose the steering motor collision voting data, the steering motor first obstacle avoidance voting data, and the steering motor second obstacle avoidance voting data based on preset weights to generate steering motor voting result data. The drive motor transmitting module is used to send the drive motor voting result data to the drive motor. The steering motor transmitting module is used to send the steering motor voting result data to the steering motor.

7. An application method for a behavior model-based robot control system, applied to a behavior model-based robot control system, the system comprising: The application method includes: a collision module, a low-level obstacle avoidance module, a high-level obstacle avoidance module, a decision center module, a transmission motor, and a steering motor. Read the signal data collected by the collision sensor and the acceleration data collected by the accelerometer, and output the drive motor collision voting data and the steering motor collision voting data based on the signal data and the acceleration data; Read the depth map data collected by the laser rangefinder, and output the first obstacle avoidance voting data of the transmission motor and the first obstacle avoidance voting data of the steering motor based on the depth map data; Read the image data captured by the camera, and output the second obstacle avoidance voting data of the transmission motor and the second obstacle avoidance voting data of the steering motor based on the image data; Based on the collision voting data of the transmission motor, the first obstacle avoidance voting data of the transmission motor, and the second obstacle avoidance voting data of the transmission motor, voting result data of the transmission motor is generated; based on the collision voting data of the steering motor, the first obstacle avoidance voting data of the steering motor, and the second obstacle avoidance voting data of the steering motor, voting result data of the steering motor is generated. The drive motor is controlled to power the robot based on the voting result data of the drive motor. The robot's direction is controlled by the steering motor based on the voting result data of the steering motor.

8. The application method of the robot control system based on the behavior model according to claim 7, characterized in that, The process of reading signal data collected by the collision sensor and acceleration data collected by the accelerometer, and outputting drive motor collision voting data and steering motor collision voting data based on the signal data and acceleration data, includes: Read the signal data collected by the collision sensor; Read the acceleration data collected by the accelerometer; The collision judgment result of the robot is generated based on the preset signal threshold, the preset acceleration threshold, the signal data, and the acceleration data; Based on the collision judgment results, generate and output collision voting data for the drive motor and the steering motor.

9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the steps of the method as described in claims 7-8.

10. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method as described in claims 7-8.

Citation Information

Patent Citations

  • Automatic driving obstacle avoidance system and method based on machine vision

    CN117037115A

  • Obstacle avoidance method and apparatus for sweeper, and storage medium and electronic apparatus

    WO2023071773A1