A robot and a motion control method and device thereof
By constructing a composite concentration field and planning motion vectors, the problems of low efficiency and collision risk in performing tasks in complex environments by existing robots are solved, and fast and effective task execution and obstacle avoidance capabilities are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-30
- Publication Date
- 2026-04-07
AI Technical Summary
Existing single-sensor robots and collaborative robots struggle to perform tasks quickly and effectively in complex and changing environments, and are prone to encountering obstacles, resulting in low task execution efficiency.
By constructing a composite concentration field, the sensor detection module acquires the obstacle locations and task locations in the task area in real time. Combined with the robot's current location, a target circular area is constructed, the first and second motion vectors are determined, and the optimal path is planned to avoid obstacles and quickly reach the task location.
It improves the task execution efficiency of collaborative robots, effectively avoids collision risks, and enhances the system's autonomous operation and anti-interference capabilities in complex environments.
Smart Images

Figure CN119407771B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of collaborative robot technology, and in particular to a robot and its motion control method and device. Background Technology
[0002] With the rapid development of robotics technology, especially the increasing demand for multi-task execution in complex environments, robot systems are gradually evolving from single-sensor and monolithic robot models towards multi-sensor integration and multi-robot collaboration. In many application scenarios, such as disaster search and rescue, industrial automation, agricultural monitoring, and environmental detection, when tasks involve multiple variables, a single robot cannot quickly and effectively handle the required target operations due to the excessive number and complexity of task variables. In other words, traditional single-sensor robots, due to their limited perception and processing capabilities, are ill-suited for these tasks.
[0003] In existing collaborative robots, their flexibility is insufficient when dealing with complex and ever-changing task environments. In particular, they cannot effectively and quickly reach the target point to perform task operations when facing some obstacles. Therefore, existing technologies suffer from low task execution efficiency and are prone to hitting obstacles. Summary of the Invention
[0004] This application provides a robot and its motion control method and apparatus to solve one or more technical problems existing in the prior art, and at least provide a beneficial option or create conditions.
[0005] Other features and advantages of this application will become apparent from the following detailed description, or may be learned in part from practice of this application.
[0006] According to one aspect of the embodiments of this application, a motion control method for a robot is provided, the method being executed on the robot, the method comprising:
[0007] S110, Obtain the task area and the task points within the task area according to the preset task information;
[0008] S120, Real-time acquisition of obstacle locations within the task area;
[0009] S130, construct a composite concentration field corresponding to the task area based on the task location and the obstacle location, wherein each location in the composite concentration field corresponds to a concentration value;
[0010] S140, obtain the current position of the robot in the composite concentration field, and construct a target circular area with the current position as the center and a preset step size as the radius;
[0011] S150, obtain the first target point with the maximum concentration value within the target circular area, and determine the first motion vector of the robot based on the first target point;
[0012] S160, acquire the motion information of each collaborative robot within the task area, and determine the second motion vector of the robot based on the motion information;
[0013] S170, based on the first motion vector and the second motion vector, determine the target motion vector of the robot, and control the robot to move to the second target point corresponding to the target motion vector;
[0014] S180, if the second target point does not coincide with the task point, repeat steps S110-S170 until the second target point coincides with the task point;
[0015] In the composite concentration field, the closer a point is to the task location, the higher its concentration value; the closer a point is to the obstacle, the lower its concentration value.
[0016] In one embodiment of this application, based on the foregoing scheme, when both the task location and the obstacle location are obtainable, the concentration value can be calculated by the following method:
[0017] Obtain the first distance information between any test point and the task point, and the second distance information between the test point and the obstacle point;
[0018] The concentration value of the test point is determined based on the first distance information and the second distance information;
[0019] The concentration value can be calculated using the following formula:
[0020]
[0021] In the formula, The concentration value is... The first activation function is related to the first distance information. The second activation function is associated with the second distance information; This is the first distance information. This is the second distance information. These are the control parameters for the first activation function. is the control parameter of the second activation function, and k is the adjustment factor of the first activation function or the second activation function.
[0022] In one embodiment of this application, based on the foregoing scheme, determining the robot's second motion vector based on the motion information includes:
[0023] Based on the motion information, the robot determines each obstacle avoidance motion vector to avoid each of the cooperative robots;
[0024] The second motion vector is obtained by superimposing gradients from each of the obstacle avoidance motion vectors.
[0025] In one embodiment of this application, based on the foregoing scheme, determining the target motion vector of the robot based on the first motion vector and the second motion vector includes:
[0026] The first motion vector and the second motion vector are superimposed to obtain the target motion vector.
[0027] In one embodiment of this application, based on the foregoing scheme, if the task location is obtained but the obstacle location is not obtained, the concentration value can be calculated using the following formula:
[0028]
[0029] In the formula, This refers to the first distance information between the point to be measured and the task point. The first activation function is related to the first distance information. Here, k is the control parameter of the first activation function, and k is the adjustment factor of the first activation function. The concentration value is mentioned above.
[0030] In one embodiment of this application, based on the foregoing scheme, if the obstacle location is obtained but the task location is not obtained, the concentration value can be calculated using the following formula:
[0031]
[0032] In the formula, This refers to the second distance information between the obstacle location and the task location. The second activation function is related to the second distance information. Here, k is the control parameter of the second activation function, and k is the adjustment factor of the second activation function. The concentration value is mentioned above.
[0033] In one embodiment of this application, based on the aforementioned scheme, if neither the obstacle point nor the task point is obtained, the concentration value of any of the test points is 0; wherein, when the concentration value of any of the test points is 0, the first target point can be any point within the circular area.
[0034] In one embodiment of this application, based on the foregoing scheme, the task location carries a first task identifier, and the robot and each of the collaborative robots carry a second task identifier; the real-time acquisition of obstacle locations within the task area includes:
[0035] If there is an object exceeding the preset size within the task area that does not carry the first task identifier or a collaborative robot carrying the second task identifier, then the object is determined to be an obstacle, and the obstacle location is determined based on the location of the obstacle.
[0036] According to one aspect of the embodiments of this application, a motion control device for a robot is provided, the device being applied to a robot, the device comprising:
[0037] The first acquisition unit is used to acquire the task area and the task points within the task area according to preset task information.
[0038] The second acquisition unit is used to acquire the location of obstacles within the task area in real time;
[0039] A construction unit is used to construct a composite concentration field corresponding to the task area based on the task points and the obstacle points, wherein each point in the composite concentration field corresponds to a concentration value;
[0040] The third acquisition unit is used to acquire the current position of the robot in the composite concentration field, and construct a target circular area with the current position as the center and a preset step size as the radius.
[0041] The fourth acquisition unit is used to acquire the first target point with the maximum concentration value within the target circular area, and to determine the first motion vector of the robot based on the first target point.
[0042] The fifth acquisition unit is used to acquire motion information of each collaborative robot within the task area, and determine the second motion vector of the robot based on the motion information;
[0043] A first control unit is configured to determine the target motion vector of the robot based on the first motion vector and the second motion vector, and control the robot to move to a second target point corresponding to the target motion vector;
[0044] The second control unit is used to repeat the above steps if the second target point does not coincide with the task point, until the second target point coincides with the task point.
[0045] In the composite concentration field, the closer a point is to the task location, the higher its concentration value; the closer a point is to the obstacle, the lower its concentration value.
[0046] According to one aspect of the embodiments of this application, a robot is provided, the robot including a sensor detection module, a task progress feedback module, and a motion control module: the motion control module is used to execute the motion control method of the robot described in the above embodiments, the robot including: the sensor detection module, used to acquire various detection data of the robot in a task area; the task progress feedback module, used to monitor the task execution information of the robot in the task area in real time, and periodically feed back the task execution information to a terminal device; the motion control module, used to analyze and process the acquired detection data in order to perform motion control on the robot body.
[0047] The beneficial effects of this application are as follows: This application constructs a composite concentration field by using the task points within the task area in the preset task information and the detected obstacle points within the task area. In the composite concentration field, each point has a corresponding concentration value. In the constructed composite concentration field, the closer the point is to the task point, the higher its concentration value, and the closer the point is to the obstacle point, the lower its concentration value. Based on this linear relationship, the task points and obstacle points can be effectively distinguished, the optimal path to the task point can be quickly planned, and the efficiency of task execution can be effectively improved.
[0048] Furthermore, the robot's optimal direction of travel, or first motion vector, is determined by the robot's current position and the surrounding area, i.e., the target circular area. In a group of collaborative robots, multiple other collaborative robots move simultaneously within the task area. Therefore, it is also necessary to avoid collisions based on the motion information of each collaborative robot, thus obtaining the planned second motion vector.
[0049] By combining the first and second motion vectors, the optimal travel path, i.e. the target motion vector, can be obtained. By controlling the robot to move to the second target point corresponding to the target motion vector, the robot has performed optimal route planning at the current point. If the second target point does not coincide with the task point, the above steps are repeated continuously to move closer to the task point while avoiding obstacles, eventually enabling the robot to reach the task point and perform subsequent task operations.
[0050] This application comprehensively considers both obstacles and the risk of collision caused by other collaborative robots. It can plan the optimal path to the task location in the application scenario of collaborative robots in groups. While avoiding the risk of collision, it can quickly reach the task location to carry out the tasks in the preset task information, thereby improving the efficiency of robot group collaboration. Attached Figure Description
[0051] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly explained below. Obviously, the described drawings are only a part of the embodiments of this application, and not all of them. Those skilled in the art can obtain other design schemes and drawings based on these drawings without creative effort.
[0052] Figure 1 This is a flowchart illustrating a robot motion control method according to an embodiment of this application;
[0053] Figure 2 This is a schematic diagram of the hardware structure of a robot according to an embodiment of this application;
[0054] Figure 3 This is a block diagram of a motion control device for a robot according to an embodiment of this application;
[0055] Figure 4 This is a schematic diagram of a composite concentration field according to an embodiment of this application;
[0056] Figure 5 This is a schematic diagram of the target circular region according to an embodiment of this application. Detailed Implementation
[0057] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided to make this application more comprehensive and complete, and to fully convey the concept of the exemplary embodiments to those skilled in the art.
[0058] Furthermore, the described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. Numerous specific details are provided in the following description to give a thorough understanding of embodiments of this application. However, those skilled in the art will recognize that the technical solutions of this application can be practiced without one or more of the specific details, or other methods, components, apparatuses, steps, etc., can be employed. In other instances, well-known methods, apparatuses, implementations, or operations are not shown or described in detail to avoid obscuring various aspects of this application.
[0059] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller node devices.
[0060] The flowcharts shown in the accompanying drawings are merely illustrative and do not necessarily include all content and operations / steps, nor do they necessarily have to be performed in the described order. For example, some operations / steps can be broken down, while others can be combined or partially combined; therefore, the actual execution order may change depending on the specific circumstances.
[0061] It should be noted that "multiple" in this article refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects have an "or" relationship.
[0062] The following is a detailed description of the hardware of the robot according to embodiments of this application:
[0063] According to one aspect of the embodiments of this application, a robot is provided, the robot including a sensor detection module, a task progress feedback module, and a motion control module: the motion control module is used in the motion control method of the robot described in the embodiments of this application, the robot comprising:
[0064] The sensor detection module is used to acquire various detection data of the robot within the task area;
[0065] The task progress feedback module is used to monitor the task execution information of the robot in the task area in real time, and periodically feed back the task execution information to the terminal device.
[0066] The motion control module is used to analyze and process the acquired detection data in order to perform motion control on the robot body.
[0067] First, existing robots have the following drawbacks: they rely too heavily on simulation environments. Most current solutions are tested in simulated environments, such as using the Gazebo simulation platform. While simulation can help developers quickly verify system design and control algorithms, in real-world environments, especially when facing uncertainties, sensor noise, and communication delays, the performance in the simulation environment is difficult to fully reproduce.
[0068] Hardware configuration limitations: Many existing solutions use fixed-configuration sensors and hardware control units, which cannot be flexibly adjusted according to task requirements. This limits the system's adaptability to different tasks and makes modular expansion difficult. Furthermore, due to the limited computing power of the hardware system, the real-time performance of the algorithm is often constrained, hindering efficient processing of sensor data and rapid decision-making.
[0069] This application aims to address the limitations of existing collaborative robots in performing tasks in complex environments, particularly the poor performance of single-sensor and fixed-configuration robots in complex and changing environments. By incorporating multiple types of sensors—specifically, the sensor detection module mentioned in the embodiments of this application—it is possible to accurately and quickly perceive changes in the environment, enhancing the robot's understanding of its surroundings and enabling it to perform more diverse tasks.
[0070] Furthermore, this application utilizes a collaborative mechanism of swarm motion to allow multiple robots to engage in efficient information exchange and cooperation during task execution, thereby completing complex tasks that a single robot cannot accomplish independently, thus improving the efficiency and success rate of task execution.
[0071] This application utilizes a modular design, allowing users to flexibly add or replace individual sensors in the sensor detection module according to task requirements, greatly improving the adaptability and customizability of the robot system. Simultaneously, the modular design facilitates the maintenance and upgrades of the robot system, ensuring its long-term application in various task scenarios.
[0072] Of particular note is that this application possesses strong anti-interference capabilities, enabling it to complete predetermined tasks solely through the vehicle's own sensors and the algorithms built into its motion control module, even in environments with no or limited communication. This design allows the vehicle to continue performing tasks even when communication is interrupted or without external support, ensuring stable system operation under extreme conditions. This aligns with the design principles of swarm robots and demonstrates strong autonomy and anti-interference capabilities.
[0073] Therefore, this application not only overcomes the shortcomings of existing technologies in terms of flexibility and real-time performance, but also enhances the system's autonomous operation capability in complex environments, especially in environments with limited communication, ensuring the system's robustness and task completion capability.
[0074] Hardware design framework of robot system, such as Figure 2 As shown, through multiple sensors, the robot can accurately perceive its surrounding environment and its own state, and dynamically adjust itself according to task requirements (preset task information in this embodiment) to cope with complex and ever-changing working environments. The main components of the system are as follows:
[0075] 1. Motion Control Module: The robot can be demonstrated using a modular vehicle. The robot's main structure includes components such as the body, wheels, encoder motors, etc. The encoder motors control the movement of the vehicle through pulse signals. The core component of the motion control module is an STM32F103C8T6 microcontroller, which processes and executes low-level instructions. This controller receives information from sensor feedback and adjusts the vehicle's speed and direction according to a predetermined motion strategy (i.e., the robot motion control method proposed in this application embodiment) to ensure the smooth execution of the task.
[0076] Controller and Processor: The core control of the entire system consists of an STM32F103C8T6 microcontroller and a Raspberry Pi Zero 2 W. The STM32F103C8T6 is responsible for collecting sensor data and low-level control, mainly used to control motor movement and data transmission. The Raspberry Pi Zero 2 W acts as the system's main processor, running complex swarm algorithms and coordinating the collaborative work between multiple robot vehicles. As the robot's brain, the processor supervises the coordinated actions of the entire system through task and motion strategy calculations, ensuring efficient collaboration of the vehicles in a multi-tasking environment.
[0077] 2. Sensor detection module ( Figure 2 (Autonomous Configuration Modules): To adapt to different task requirements, the robot can be flexibly equipped with various sensors. These sensors can not only collect data on the robot's surrounding environment but also monitor its own status. Integrated sensors include a nine-axis attitude sensor, a TOF (Time of Flight) ranging module, and a flame detection module. These modules help the robot accurately detect surrounding obstacles, fire sources, and distances, among other key information. In addition, the robot is equipped with a monocular camera to provide image input, which, combined with multi-sensor data fusion technology, further enhances its ability to perceive and understand the environment.
[0078] 3. Task Progress Feedback Module: The robot cars exchange position data through the UWB wireless positioning system to ensure that the robot cars maintain accurate relative positions in group tasks. Each robot car will report its direction of travel and task progress on the travel path. In complex group tasks, users can coordinate the cooperation of multiple robot cars through the task execution information received by the terminal device.
[0079] Even under conditions of limited or interrupted communication, the robotic vehicle can continue to monitor its surroundings and dynamically adjust its task strategy using its own sensors, such as attitude sensors, TOF ranging modules, and cameras. For example, the vehicle can perceive obstacles and adjust its path using cameras and ranging modules, or continue to perform actions according to previous task plans, demonstrating the system's advantages in terms of anti-interference and autonomy.
[0080] Overall, the robot vehicle system proposed in this application has strong adaptability, flexibility and anti-interference ability, and can ensure task execution capability in various complex environments through multi-sensor fusion and dynamic adjustment.
[0081] The implementation details of the technical solutions in the embodiments of this application are described in detail below:
[0082] According to one aspect of the embodiments of this application, a motion control method for a robot is provided. Figure 1 The flowchart illustrates a motion control method for a robot according to an embodiment of this application. The method is executed on the robot and includes at least steps S110 to S180, which are described in detail below:
[0083] S110: Obtain the task area and the task points within the task area according to the preset task information.
[0084] Specifically, users can configure task information according to actual needs. Users can set the task area that the robot needs to perform and the task points that the robot needs to reach within the task area. The task area contains task points with task identifiers. In another implementation, the robot can be placed directly into the task area without being informed of the task points in advance. In this case, the robot can explore and plan its path step by step according to the steps S120-S170 below, thereby discovering the task points and gradually approaching them, and finally taking autonomous action to complete the assigned task information.
[0085] There can be one or more task points. In a collaborative robot group, each robot may receive different or the same task information. For example, in a cargo handling scenario, if there is only one large item, then there is one task point, and each robot can be assigned the same task information, meaning they can work together to move the item to the target location. However, if there are multiple items to be moved in the task area, multiple robots can be grouped to handle them separately. In this case, the task information assigned to different groups of robots will be different.
[0086] S120, real-time acquisition of obstacle locations within the task area.
[0087] Specifically, obstacle locations refer to the positions of obstacles. Before executing a task, the robot first detects in real time whether there are obstacles in the task area. If there are, it uses sensors such as a ranging module to detect the position and distance of the obstacle. However, obstacles may move, meaning that the obstacle location may change due to external forces, such as an animal touching the obstacle, or a person moving the obstacle. In this case, the obstacle location in the task area can be obtained at preset intervals. Step S120 is repeated through step S180, which continuously updates the obstacle location, providing strong support for the robot's path planning during obstacle avoidance.
[0088] In one embodiment of this application, the task location carries a first task identifier, and the robot and each of the collaborative robots carry a second task identifier; the real-time acquisition of obstacle locations within the task area includes:
[0089] If there is an object exceeding the preset size within the task area that does not carry the first task identifier or a collaborative robot carrying the second task identifier, then the object is determined to be an obstacle, and the obstacle location is determined based on the location of the obstacle.
[0090] Specifically, each task point is marked in the preset task information, and each task point has a first task identifier. After recognizing the first task identifier, the robot will not determine that the point with the first task identifier is an obstacle point. At the same time, the preset task information will also mark the current robot and each collaborating robot with a second task identifier, that is, the second task identifier indicates that the point belongs to a collaborating robot. The preset size can be set according to actual needs. In the embodiments of this application, the preset size can be one-quarter of the robot's volume. That is, if the size of an object exceeds one-quarter of the current robot's volume, it will pose a risk of obstructing the current robot's movement.
[0091] S130, construct a composite concentration field corresponding to the task area based on the task location and the obstacle location, wherein each location in the composite concentration field corresponds to a concentration value.
[0092] Specifically, such as Figure 4 As shown, Figure 4 This is a schematic diagram of the constructed composite concentration field, where concentration is the vertical axis, i.e., the z-axis in the three-dimensional coordinate system, representing the concentration value; Pattern represents the obstacle avoidance mode. It should be noted that... Figure 4The circular obstacle avoidance mode shown is only one implementation method; other obstacle avoidance modes can also be used for effective obstacle avoidance. Target is the task location, which can be determined through... Figure 4 The concentration field in the green plane increases as it gets closer to the task location, and the concentration value at the task location is the maximum value of the entire composite concentration field. Figure 4 The plane formed by the x-axis and y-axis is the ground, representing the coordinate points on the ground.
[0093] Robots represents robots, and Obstacle represents obstacles. Figure 4 As can be seen, there are two obstacles. The closer to the obstacle, the lower the concentration value. The concentration value at the obstacle point is the minimum value. Therefore, in subsequent path planning, the robot plans the path step by step using each preset step size. Each time, the target point with the maximum concentration value in the target circular area is used as the first motion vector for the path planning. This avoids touching the obstacles corresponding to the obstacle points and only moves step by step towards the task point with the maximum concentration value to quickly reach the task point.
[0094] In one embodiment of this application, when both the task location and the obstacle location are obtainable, the concentration value can be calculated using the following method:
[0095] Obtain the first distance information between any test point and the task point, and the second distance information between the test point and the obstacle point;
[0096] The concentration value of the test point is determined based on the first distance information and the second distance information;
[0097] The concentration value can be calculated using the following formula:
[0098]
[0099] In the formula, The concentration value is... The first activation function is related to the first distance information. The second activation function is associated with the second distance information; This is the first distance information. This is the second distance information. These are the control parameters for the first activation function. Here, k is the control parameter of the second activation function, and k is the adjustment factor of either the first or second activation function.
[0100] Specifically, the robot can calculate the concentration value of the current test point by using the first distance information between the test point and the task point and the second distance information between the test point and the obstacle point. The test point can be any point in the composite concentration field, that is, all points in the composite concentration field can have their concentration values calculated in this way.
[0101] In one embodiment of this application, if the task location is obtained but the obstacle location is not obtained, the concentration value can be calculated using the following formula:
[0102]
[0103] In the formula, This refers to the first distance information between the point to be measured and the task point. The first activation function is related to the first distance information. Here, k is the control parameter of the first activation function, and k is the adjustment factor of the first activation function. The concentration value is mentioned above.
[0104] Specifically, if the obstacle points are not obtained, that is, there are no obstacles in the current task area, the travel path can be planned directly by finding the shortest distance between the two points. This path is used as the first motion vector and combined with the subsequent second motion vector to obtain the final target motion vector, so that the planned travel path is the optimal path.
[0105] In one embodiment of this application, if the obstacle location is obtained but the task location is not obtained, the concentration value can be calculated using the following formula:
[0106]
[0107] In the formula, This refers to the second distance information between the obstacle location and the task location. The second activation function is related to the second distance information. Here, k is the control parameter of the second activation function, and k is the adjustment factor of the second activation function. The concentration value is mentioned above.
[0108] Specifically, if the task location is not identified, the item at that location may have already been moved by other collaborative robots. In this case, the user may not have stopped the robots' movements within the task area in time, and the robots will continue to move within that area. Since there are still obstacle locations within this area, the robots can use the minimum concentration value of these obstacle locations to plan their movement towards the point with the maximum concentration value within the target circular area, thus avoiding obstacles. Simultaneously, they can use the second motion vector to avoid other collaborative robots, preventing collisions. Once the user stops the task information, the robots will stop moving, and the task will be completed.
[0109] In one embodiment of this application, if neither the obstacle point nor the task point is obtained, the concentration value of any of the test points is 0; wherein, when the concentration value of any of the test points is 0, the first target point can be any point within the circular area.
[0110] If the task location is not obtained, it means that the task may have been completed, but the user has not stopped the task information. At the same time, if the obstacle location is not obtained, it means that the obstacle has also been removed. At this time, the concentration value of all points in the task area is 0, which means that the robot can freely plan its direction of travel as the first motion vector. It only needs to use the second motion vector to avoid collisions between robots.
[0111] S140, obtain the current position of the robot in the composite concentration field, and construct a target circular area with the current position as the center and a preset step size as the radius.
[0112] Specifically, it can be like Figure 5 As shown, Figure 5 For the constructed target circular area, the blue arrows in eight directions represent the preset step size and the planned direction of travel. The concentration values of the points pointed to by the eight blue arrows are compared, and the point with the largest concentration value is selected as the first target point. The first motion vector can then be obtained based on the first target point and the current point.
[0113] S150, obtain the first target point with the maximum concentration value within the target circular area, and determine the first motion vector of the robot based on the first target point.
[0114] Specifically, the concentration values of the eight points indicated by the blue arrows are compared, and the point with the highest concentration value is selected as the first target point. Then, the first motion vector is obtained based on the first target point and the current point. This first motion vector determines the current planned direction of travel. The concentration value at the obstacle point can be calculated using the above formula. By comparing the robot's current point with the concentration values of its eight surrounding points, the first target point with the highest concentration is selected as the planned direction of travel for the next moment, thus achieving effective obstacle avoidance. It should be noted that... Figure 5 The eight arrows shown are merely one example in this embodiment. directional arrows with arbitrary values such as 16 or 32 can also be used, as long as they can locate the first target point with the highest concentration value.
[0115] S160, acquire the motion information of each collaborative robot within the task area, and determine the second motion vector of the robot based on the motion information.
[0116] Specifically, the motion information of each collaborative robot within the task area can be obtained through a monocular camera, a ranging module, and a position information interaction module. By determining the travel state of each collaborative robot, collisions between robots are prevented. Therefore, the planned avoidance path is used as the second motion vector, which is also a factor in obstacle avoidance. Combining the obstacle avoidance factor of the first motion vector, the optimal obstacle avoidance and most efficient travel path can be obtained.
[0117] In one embodiment of this application, determining the robot's second motion vector based on the motion information includes:
[0118] Based on the motion information, the robot determines each obstacle avoidance motion vector to avoid each of the cooperative robots;
[0119] The second motion vector is obtained by superimposing gradients from each of the obstacle avoidance motion vectors.
[0120] Specifically, the second motion vector can be calculated using the following formula:
[0121] (1)
[0122] (2)
[0123] in, This represents the number of neighboring robots around the i-th robot. This indicates the direction of the velocity of the i-th robot as it dodges the j-th robot. and Let i and j represent the positions of the i-th and j-th robots, respectively. Let represent the second motion vector of the i-th robot when it avoids a neighboring robot at time t. Therefore, by superimposing the gradients of the motion vectors when avoiding the robot, we can obtain the second motion vector of the robot when it avoids other robots.
[0124] S170, based on the first motion vector and the second motion vector, determine the target motion vector of the robot, and control the robot to move to the second target point corresponding to the target motion vector.
[0125] In one embodiment of this application, determining the target motion vector of the robot based on the first motion vector and the second motion vector includes:
[0126] The first motion vector and the second motion vector are superimposed to obtain the target motion vector.
[0127] Specifically, the target motion vector can be calculated in the following way:
[0128]
[0129] in, The second motion vector, The first motion vector is used as the basis for obtaining the comprehensive target motion vector by superimposing the directions of the vectors. The robot is then controlled to move to the second target point corresponding to the target motion vector, and then the next round of path planning steps, namely steps S110-S170, is performed again. In this way, the robot continuously moves closer to the task point, achieving fast and effective obstacle avoidance and task execution.
[0130] S180, if the second target point does not coincide with the task point, repeat steps S110-S170 until the second target point coincides with the task point;
[0131] In the composite concentration field, the closer a point is to the task location, the higher its concentration value; the closer a point is to the obstacle, the lower its concentration value.
[0132] Specifically, if the second target point does not coincide with the task point, that is, after the robot has traveled according to the planned target running vector at the current moment, it has not reached the task point, then by continuously repeating steps S110-S170, S110-S170 can be regarded as a small part of the path planning. By continuously forming the overall path planning based on the path planning of small areas, the robot's task execution efficiency can be improved when facing complex and ever-changing environments.
[0133] It should be noted that the embodiments of this application can also be applied to application scenarios with no communication or communication rejection. After the robot inputs preset task information, it can acquire various detection data within the task area without interacting with the user's terminal device, simply through the robot's internal motion control module, sensor detection module (including attitude sensors, ranging modules, etc.). Simultaneously, through the controller and processor in its motion control module combined with the built-in algorithm (i.e., the control strategy corresponding to the motion control method in the embodiments of this application), it can effectively avoid obstacles and quickly reach the task location. Therefore, this application can greatly improve the task execution efficiency of collaborative robots and effectively avoid the risk of collisions.
[0134] Figure 3 This is a block diagram of a robot motion control device 300 according to an embodiment of this application. The robot motion control device 300 according to one embodiment of this application is applied to a robot and includes: a first acquisition unit 301, a second acquisition unit 302, a construction unit 303, a third acquisition unit 304, a fourth acquisition unit 305, a fifth acquisition unit 306, a first control unit 307, and a second control unit 308.
[0135] The first acquisition unit 301 is used to acquire the task area and the task points within the task area according to preset task information.
[0136] The second acquisition unit 302 is used to acquire the location of obstacles within the task area in real time.
[0137] The construction unit 303 is used to construct a composite concentration field corresponding to the task area based on the task points and the obstacle points, wherein each point in the composite concentration field corresponds to a concentration value.
[0138] The third acquisition unit 304 is used to acquire the current position of the robot in the composite concentration field, and construct a target circular area with the current position as the center and a preset step size as the radius.
[0139] The fourth acquisition unit 305 is used to acquire the first target point with the maximum concentration value within the target circular area, and to determine the first motion vector of the robot based on the first target point.
[0140] The fifth acquisition unit 306 is used to acquire motion information of each collaborative robot within the task area and determine the second motion vector of the robot based on the motion information.
[0141] The first control unit 307 is used to determine the target motion vector of the robot based on the first motion vector and the second motion vector, and control the robot to move to the second target point corresponding to the target motion vector.
[0142] The second control unit 308 is used to repeat the above steps if the second target point does not coincide with the task point until the second target point coincides with the task point.
[0143] In the composite concentration field, the closer a point is to the task location, the higher its concentration value; the closer a point is to the obstacle, the lower its concentration value.
[0144] In another aspect, this application also provides a computer-readable storage medium storing a program product capable of implementing the methods provided above in this specification. In some possible implementations, various aspects of this application may also be implemented as a program product comprising program code that, when run on a terminal device, causes the terminal device to perform the steps described in the "Embodiment Methods" section of this specification according to various exemplary embodiments of this application.
[0145] The program product for implementing the above-described method according to the embodiments of this application may employ a portable compact disc read-only memory (CD-ROM) and include program code, and may run on a terminal device, such as a personal computer. However, the program product of this application is not limited thereto. In this document, the readable storage medium may be any tangible medium containing or storing a program that may be used by or in conjunction with an instruction execution system, apparatus, or device.
[0146] The program product may employ any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0147] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium, capable of sending, propagating, or transmitting programs for use by or in conjunction with an instruction execution system, apparatus, or device.
[0148] The program code contained on the readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.
[0149] Program code for performing the operations of this application can be written in any combination of one or more programming languages, including object-oriented programming languages such as Java and C++, and conventional procedural programming languages such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's computing device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0150] Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, terminal device, or network device, etc.) to execute the methods according to the embodiments of this application.
[0151] Furthermore, the above figures are merely illustrative of the processes included in the method according to exemplary embodiments of this application, and are not intended to be limiting. It is readily understood that the processes shown in the above figures do not indicate or limit the temporal order of these processes. Additionally, it is readily understood that these processes may be executed synchronously or asynchronously, for example, in multiple modules.
[0152] It should be understood that this application is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.
Claims
1. A motion control method for a robot, characterized in that, The method is performed on a robot, and the method includes: S110, Obtain the task area and the task points within the task area according to the preset task information; S120, Real-time acquisition of obstacle locations within the task area; S130, construct a composite concentration field corresponding to the task area based on the task location and the obstacle location, wherein each location in the composite concentration field corresponds to a concentration value; S140, obtain the current position of the robot in the composite concentration field, and construct a target circular area with the current position as the center and a preset step size as the radius; S150, obtain the first target point with the maximum concentration value within the target circular area, and determine the first motion vector of the robot based on the first target point; S160, acquire the motion information of each collaborative robot within the task area, and determine the second motion vector of the robot based on the motion information; S170, based on the first motion vector and the second motion vector, determine the target motion vector of the robot, and control the robot to move to the second target point corresponding to the target motion vector; S180, if the second target point does not coincide with the task point, repeat steps S110-S170 until the second target point coincides with the task point; In the composite concentration field, the closer a point is to the task location, the higher its concentration value; the closer a point is to the obstacle, the lower its concentration value. Where both the task location and the obstacle location are obtainable, the concentration value can be calculated using the following method: Obtain the first distance information between any test point and the task point, and the second distance information between the test point and the obstacle point; The concentration value of the test point is determined based on the first distance information and the second distance information; The concentration value can be calculated using the following formula: In the formula, The concentration value is... The first activation function is related to the first distance information. The second activation function is associated with the second distance information; This is the first distance information. This is the second distance information. These are the control parameters for the first activation function. is the control parameter of the second activation function, and k is the adjustment factor of the first activation function or the second activation function.
2. The motion control method for a robot according to claim 1, characterized in that, Determining the robot's second motion vector based on the motion information includes: Based on the motion information, the robot determines each obstacle avoidance motion vector to avoid each of the cooperative robots; The second motion vector is obtained by superimposing gradients from each of the obstacle avoidance motion vectors.
3. The motion control method for a robot according to claim 2, characterized in that, Determining the target motion vector of the robot based on the first motion vector and the second motion vector includes: The first motion vector and the second motion vector are superimposed to obtain the target motion vector.
4. The motion control method for a robot according to claim 1, characterized in that, If the task location is obtained but the obstacle location is not obtained, the concentration value can be calculated using the following formula: In the formula, This refers to the first distance information between the point to be measured and the task point. The first activation function is related to the first distance information. Here, k is the control parameter of the first activation function, and k is the adjustment factor of the first activation function. The concentration value is mentioned above.
5. The motion control method for a robot according to claim 1, characterized in that, If the obstacle location is obtained but the task location is not, the concentration value can be calculated using the following formula: In the formula, This refers to the second distance information between the obstacle location and the task location. The second activation function is related to the second distance information. Here, k is the control parameter of the second activation function, and k is the adjustment factor of the second activation function. The concentration value is mentioned above.
6. The motion control method for a robot according to claim 1, characterized in that, If neither the obstacle point nor the task point is obtained, the concentration value of any of the test points is 0; wherein, when the concentration value of any of the test points is 0, the first target point can be any point within the circular area.
7. The motion control method for a robot according to claim 3, characterized in that, The task location carries a first task identifier, and the robot and each of the collaborative robots carry a second task identifier. The real-time acquisition of obstacle locations within the task area includes: If there is an object exceeding the preset size within the task area that does not carry the first task identifier or a collaborative robot carrying the second task identifier, then the object is determined to be an obstacle, and the obstacle location is determined based on the location of the obstacle.
8. A motion control device for a robot, characterized in that, The device is used in a robot, and the device includes: The first acquisition unit is used to acquire the task area and the task points within the task area according to preset task information. The second acquisition unit is used to acquire the location of obstacles within the task area in real time; A construction unit is used to construct a composite concentration field corresponding to the task area based on the task points and the obstacle points, wherein each point in the composite concentration field corresponds to a concentration value; The third acquisition unit is used to acquire the current position of the robot in the composite concentration field, and construct a target circular area with the current position as the center and a preset step size as the radius. The fourth acquisition unit is used to acquire the first target point with the maximum concentration value within the target circular area, and to determine the first motion vector of the robot based on the first target point. The fifth acquisition unit is used to acquire motion information of each collaborative robot within the task area, and determine the second motion vector of the robot based on the motion information; A first control unit is configured to determine the target motion vector of the robot based on the first motion vector and the second motion vector, and control the robot to move to a second target point corresponding to the target motion vector; The second control unit is used to repeat the above steps if the second target point does not coincide with the task point, until the second target point coincides with the task point. In the composite concentration field, the closer a point is to the task location, the higher its concentration value; the closer a point is to the obstacle, the lower its concentration value. Where both the task location and the obstacle location are obtainable, the concentration value can be calculated using the following method: Obtain the first distance information between any test point and the task point, and the second distance information between the test point and the obstacle point; The concentration value of the test point is determined based on the first distance information and the second distance information; The concentration value can be calculated using the following formula: In the formula, The concentration value is... The first activation function is related to the first distance information. The second activation function is associated with the second distance information; This is the first distance information. This is the second distance information. These are the control parameters for the first activation function. is the control parameter of the second activation function, and k is the adjustment factor of the first activation function or the second activation function.
9. A robot, characterized in that, The robot includes a sensor detection module, a task progress feedback module, and a motion control module; the motion control module is used to execute the motion control method of the robot according to any one of claims 1-7, and the robot includes: The sensor detection module is used to acquire various detection data of the robot within the task area; The task progress feedback module is used to monitor the task execution information of the robot in the task area in real time, and periodically feed back the task execution information to the terminal device. The motion control module is used to analyze and process the acquired detection data in order to control the motion of the robot body.
Citation Information
Patent Citations
Dynamic window approach using optimal reciprocal collision avoidance cost-critic
CN111511620A
Path planning and task allocation method and device, service equipment and storage medium
CN115268434A