Robot and motion control method and device thereof
By building a composite concentration field and planning the optimal motion path, the problems of low task execution efficiency and difficulty in avoiding obstacles in complex environments are solved, and efficient and safe task execution is achieved.
Patent Information
- Application Number
- CN202411527520.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-30
- Publication Date
- 2025-02-11
- Estimated Expiration
- 2044-10-30
AI Technical Summary
Existing group collaborative robots are inefficient in tasks in complex environments and are difficult to effectively avoid collisions between obstacles and collaborative robots.
By building a composite concentration field, the concentration value of each point is calculated using the distance information of the task point and the obstacle point, and then the optimal motion path of the robot in the task area is planned, the obstacles are avoided and the coordination is coordinated with other robots. obstacle avoidance movement.
It improves the efficiency of task execution of robots in complex environments, ensures that they can quickly and safely reach task locations under obstacle avoidance and collaboration, and reduces the risk of task execution.
Smart Images

Figure CN119407771A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of group collaborative robots, and in particular to a robot and a motion control method and device thereof. Background Art
[0002] With the rapid development of robotics technology, especially the increasing demand for performing multiple tasks in complex environments, robotic systems have gradually evolved from a single sensor and single robot mode to multi-sensor integration and multi-robot collaboration. In many application scenarios, such as disaster search and rescue, industrial automation, agricultural monitoring, environmental detection, etc. When a task involves multiple variables, a single robot cannot quickly and effectively handle the target operations required in the task due to too many and too heavy task variables. In other words, traditional single-sensor robots are difficult to perform these tasks due to their limitations in perception and processing capabilities.
[0003] However, existing swarm collaborative robots lack flexibility when dealing with complex and changing task environments, especially when facing obstacles, they are unable to effectively and quickly reach the target point to perform task operations. Therefore, the existing technology has the problems of low efficiency in task execution and easy to touch obstacles. Summary of the invention
[0004] The present application provides a robot and a motion control method and device thereof to solve one or more technical problems existing in the prior art and at least provide a beneficial choice or create conditions.
[0005] Other features and advantages of the present application will become apparent from the following detailed description, or may be learned in part by the practice of the present application.
[0006] According to one aspect of an embodiment of the present application, a motion control method of a robot is provided, the method being executed on the robot, the method comprising: S110, acquiring a task area and task points within the task area according to preset task information; S120, obtaining the obstacle points in the task area in real time; S130, constructing a composite concentration field corresponding to the task area based on the task point and the obstacle point, wherein each point in the composite concentration field corresponds to a concentration value; S140, obtaining the current position of the robot in the composite concentration field, and constructing a target circular area with the current position as the center and a preset step length as the radius; S150, acquiring a first target point position in the target circular area where the concentration value is the maximum, and determining a first motion vector of the robot based on the first target point position; S160, acquiring motion information of each collaborative robot in the task area, and determining a second motion vector of the robot based on the motion information; S170, determining a target motion vector of the robot based on the first motion vector and the second motion vector, and controlling the robot to move to a second target point corresponding to the target motion vector; S180, if the second target point does not coincide with the task point, repeating steps S110-S170 until the second target point coincides with the task point; Among them, in the composite concentration field, the closer the point is to the task point, the greater its concentration value; the closer the point is to the obstacle, the smaller its concentration value.
[0007] In one embodiment of the present application, based on the above solution, when both the task point and the obstacle point can be obtained, the concentration value can be calculated by the following method: Acquire first distance information between any point to be measured and the task point and second distance information between the point to be measured and the obstacle point; Determine the concentration value of the point to be measured based on the first distance information and the second distance information; The concentration value can be calculated by the following formula:
[0008] In the formula, is the concentration value, is a first activation function related to the first distance information, is a second activation function related to the second distance information; is the first distance information, is the distance information, is the control parameter of the first activation function, is the control parameter of the activation function, is a regulation factor of the first activation function or the second activation function.
[0009] In one embodiment of the present application, based on the above solution, determining the second motion vector of the robot based on the motion information includes: Determine, based on the motion information, each obstacle avoidance motion vector of the robot when avoiding each of the collaborative robots; Gradient superposition is performed on each of the obstacle avoidance motion vectors to obtain the second motion vector.
[0010] In one embodiment of the present application, based on the above solution, 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 vector-superimposed to obtain the target motion vector.
[0011] In one embodiment of the present application, based on the above solution, if the task point is obtained and the obstacle point is not obtained, the concentration value can be calculated by the following formula:
[0012] In the formula, is the first distance information between the point to be measured and the task point, is a first activation function related to the first distance information, is the control parameter of the first activation function, is the adjustment factor of the first activation function, is the concentration value.
[0013] In one embodiment of the present application, based on the above solution, if the obstacle point is obtained but the task point is not obtained, the concentration value can be calculated by the following formula:
[0014] In the formula, is the second distance information between the obstacle point and the task point, is a second activation function associated with the second distance information, is the control parameter of the second activation function, is the adjustment factor of the second activation function, is the concentration value.
[0015] In one embodiment of the present application, based on the aforementioned scheme, if the obstacle point is not obtained and the task point is not obtained, the concentration value of any of the points to be measured is 0; wherein, when the concentration value of any of the points to be measured is 0, the first target point may be any point within the circular area.
[0016] In one embodiment of the present application, based on the above solution, the task point carries a first task identifier, and the robot and each of the collaborative robots carry a second task identifier; the real-time acquisition of the obstacle point in the task area includes: If there is an object exceeding a preset size and not carrying the first task identifier or a collaborative robot carrying the second task identifier in the task area, the object is determined to be an obstacle, and the obstacle point is determined based on the location of the obstacle.
[0017] According to one aspect of an embodiment of the present application, a motion control device for a robot is provided, the device being applied to the robot, the device comprising: A first acquisition unit is used to acquire a task area and a task point in the task area according to preset task information; A second acquisition unit, used for acquiring the obstacle points in the mission area in real time; A construction unit, configured to construct a composite concentration field corresponding to the task area based on the task point and the obstacle point, wherein each point in the composite concentration field corresponds to a concentration value; A 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 length as the radius; A fourth acquisition unit, configured to acquire a first target point having a maximum concentration value in the target circular area, and determine a first motion vector of the robot based on the first target point; a fifth acquisition unit, configured to acquire motion information of each collaborative robot in the task area, and determine a second motion vector of the robot based on the motion information; a first control unit, configured to determine a 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; a second control unit, configured 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; Among them, in the composite concentration field, the closer the point is to the task point, the greater its concentration value; the closer the point is to the obstacle, the smaller its concentration value.
[0018] According to one aspect of an embodiment of the present application, a robot is provided, comprising 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 embodiment, and the robot comprises: the sensor detection module, which is used to obtain various detection data of the robot in the task area; the task progress feedback module, which is used to monitor the task execution information of the robot in the task area in real time, and periodically feedback the task execution information to a terminal device; the motion control module, which is used to analyze and process the acquired detection data so as to control the motion of the robot body.
[0019] The beneficial effect of the present application is: the present application constructs a composite concentration field through the task points in the task area in the preset task information and the obstacle points in the task area detected. Each point in the composite concentration field has a corresponding concentration value. In the constructed composite concentration field, the closer the point is to the task point, the higher the concentration value is, and the closer the point is to the obstacle point, the lower the concentration value is. According to this linear relationship, the task point and the obstacle point 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.
[0020] Furthermore, the optimal direction of travel of the robot, i.e., the first motion vector, is determined by the current position of the robot and the area near the current position, i.e., the target circular area. In a group of collaborative robots, there are multiple other collaborative robots moving in the task area at the same time, so it is also necessary to avoid collisions based on the motion information of each collaborative robot, thereby obtaining the planned second motion vector.
[0021] By combining the first motion vector and the second motion vector, the best travel path, that is, the target motion vector, can be comprehensively obtained. By controlling the robot to move to the second target point corresponding to the target motion vector, the optimal route planning is performed for the robot at the current point. If the second target point does not coincide with the task point, by continuously repeating the above steps, the robot continuously approaches the task point while avoiding obstacles, and finally reaches the task point to perform subsequent task operations.
[0022] This application comprehensively considers two factors: obstacles and collision risks caused by other collaborative robots. It can plan the optimal path to the task point in the application scenario of group collaborative robots. While avoiding the risk of collision, it can quickly reach the task point to carry out the tasks in the preset task information, thereby improving the group collaboration efficiency of robots. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following is a brief description of the drawings required for use in the description of the embodiments. Obviously, the drawings described are only part of the embodiments of the present application, not all of the embodiments, and those skilled in the art can also obtain other design solutions and drawings based on these drawings without creative work.
[0024] Figure 1 is a flow chart of a robot motion control method according to an embodiment of the present application; Figure 2 A schematic diagram of the hardware structure of a robot according to an embodiment of the present application; Figure 3 is a block diagram of a motion control device for a robot according to an embodiment of the present application; Figure 4 is a schematic diagram of a composite concentration field according to an embodiment of the present application; Figure 5 Schematic diagram of a target circular area according to an embodiment of the present application. DETAILED DESCRIPTION
[0025] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in a variety of forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this application will be more comprehensive and complete and fully convey the concept of the example embodiments to those skilled in the art.
[0026] In addition, described feature, structure or characteristic can be combined in one or more embodiments in any suitable manner. In the following description, many specific details are provided to provide a full understanding of the embodiments of the present application. However, those skilled in the art will appreciate that the technical scheme of the present application can be put into practice without one or more of the specific details, or other methods, components, devices, steps, etc. can be adopted. In other cases, known methods, devices, realizations or operations are not shown or described in detail to avoid blurring the various aspects of the application.
[0027] 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 may be implemented in software form, or in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or micro-control node devices.
[0028] The flowcharts shown in the accompanying drawings are only exemplary and do not necessarily include all the contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps can be decomposed, and some operations / steps can be combined or partially combined, so the actual execution order may change according to actual conditions.
[0029] It should be noted that the "multiple" mentioned in this article refers to two or more. "And / or" describes the association relationship of the associated objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the associated objects before and after are in an "or" relationship.
[0030] The following is a detailed introduction to the hardware of the robot in the embodiment of the present application: According to one aspect of an embodiment of the present application, a robot is provided, the robot comprising 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 embodiment of the present application, the robot comprising: The sensor detection module is used to obtain various detection data of the robot in 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 so as to control the motion of the robot body. First, the existing robots have the following shortcomings: Over-reliance on simulation environments: Existing technical solutions are mostly tested in simulation environments, such as using the Gazebo simulation platform. Although simulation can help developers quickly verify the design and control algorithms of the system, in the actual environment, especially in the face of uncertainty, sensor noise, communication delays and other issues, it is difficult to fully reproduce the performance in the simulation environment.
[0031] Limitations of hardware configuration: Many existing solutions use fixed-configuration sensors and hardware control units that cannot be flexibly adjusted according to task requirements. This limits the system's adaptability to different tasks and makes it difficult to achieve modular expansion. In addition, due to the limited computing power of the hardware system, the real-time performance of the algorithm is often restricted, making it impossible to efficiently process sensor data and make decisions quickly.
[0032] This application aims to solve the limitations of existing group collaborative robots in executing tasks in complex environments, especially the problem that single sensors and fixed configuration robots perform poorly when dealing with complex and changing environments. By setting up multiple types of sensors, that is, the sensor detection module mentioned in the embodiment of this application, it is possible to accurately and quickly perceive changes in the environment, improve the ability to understand the environment, and enable it to perform more diverse tasks.
[0033] In addition, the present application uses a collaborative mechanism of cluster motion to allow multiple vehicles to efficiently exchange information and cooperate during task execution, thereby completing complex tasks that a single robot cannot complete independently, thereby improving the efficiency and success rate of task execution.
[0034] This application uses a modular design to allow 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. At the same time, the modular design facilitates the maintenance and upgrade of the robot system, ensuring its long-term application in different task scenarios.
[0035] It is particularly worth mentioning that this application has strong anti-interference ability, and can complete the predetermined task only by relying on the sensors of the car itself and the built-in algorithm of the motion control module in an environment without communication or limited communication. Through this design, the car can continue to perform tasks in the case of communication denial or without external support, ensuring the stable operation of the system under extreme conditions, in line with the design concept of cluster robots, and has strong autonomy and anti-interference ability.
[0036] Therefore, the present application not only overcomes the deficiencies of the prior art in terms of flexibility and real-time performance, but also enhances the system's ability to operate autonomously in complex environments, especially in environments with limited communication, thereby ensuring the system's robustness and task completion capabilities.
[0037] The hardware design framework of the robot system is as follows Figure 2 As shown, through a variety of sensors, the robot can accurately perceive the surrounding environment and its own state, and dynamically adjust according to task requirements (preset task information in the embodiment of this application) to cope with complex and changing working environments. The main components of the system are as follows: 1. Motion control module: The robot can be demonstrated with a modular car. The main structure of the robot includes components such as the body, wheels, and encoder motors. The encoder motor controls the movement of the car through pulse signals. The core component of the motion control module is a microcontroller of the STM32F103C8T6 model, which processes and executes the underlying instructions. The controller receives information fed back by the sensor and adjusts the speed and direction of the car according to a predetermined motion strategy (i.e., the motion control method of the robot proposed in the embodiment of the present application) to ensure the smooth execution of the task.
[0038] Controller and processor: The control core of the entire system is composed of an STM32F103C8T6 microcontroller and a RaspberryPi Zero 2 W. The STM32F103C8T6 is responsible for the collection and underlying control of sensor data, and is mainly used to control the movement of motors and the transmission of data. The Raspberry Pi Zero 2 W acts as the main processor of the system, running complex swarm algorithms and coordinating the collaborative work between multiple robot cars. As the brain of the robot, the processor supervises the coordinated actions of the entire system by calculating tasks and motion strategies, ensuring efficient collaboration of the cars in a multi-tasking environment.
[0039] 2. Sensor detection module ( Figure 2 Autonomous matching modules in the robot): In order to adapt to different mission requirements, the robot can be flexibly equipped with a variety of sensors. These sensors can not only collect data about the robot's surrounding environment, but also monitor its own status. The integrated sensors include a nine-axis attitude sensor, a TOF (Time of Flight) ranging module, and a flame perception module. These modules can help the robot accurately detect key information such as surrounding obstacles, fire sources, and distances. In addition, the robot is also equipped with a monocular camera to provide image input, combined with multi-sensor data fusion technology to further enhance its ability to perceive and understand the environment.
[0040] 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, and each robot car will report its direction of travel and task processing progress during the travel path. In complex group tasks, users can coordinate the collaboration of multiple robot cars through the task execution information received by the terminal device.
[0041] Even when communication is limited or interrupted, the robot car can continue to monitor the surrounding environment and dynamically adjust the task strategy through its own sensors, such as attitude sensors, TOF ranging modules and cameras. For example, the car can sense obstacles and adjust the path through the camera and ranging module, or continue to perform actions according to the previous task plan, demonstrating the system's advantages in anti-interference and autonomy.
[0042] In general, the robot car system proposed in the embodiment of the present application has strong adaptability, flexibility and anti-interference ability, and can ensure the ability to execute tasks in various complex environments through multi-sensor fusion and dynamic adjustment.
[0043] The implementation details of the technical solution of the embodiment of the present application are described in detail below: According to one aspect of an embodiment of the present application, a motion control method for a robot is provided. Figure 1 This is a flow chart of a motion control method of a robot according to an embodiment of the present application. The method is executed on the robot. The method includes at least steps S110 to S180, which are described in detail as follows: S110, acquiring a task area and task points within the task area according to preset task information.
[0044] Specifically, the user can configure the task information according to actual needs. The user can set the task area that the robot needs to perform and the task point that the robot needs to reach in the task area. The task area contains task points with task identifiers. In another implementation, the robot can be placed directly in the task area without informing the robot of the task point in advance. At this time, the robot can gradually explore and plan the path of each step according to the following steps S120-S170, so as to find the task point in the gradual exploration and gradually approach the task point, and finally take autonomous actions to complete the assigned task information.
[0045] There can be one or more task points. In a group of collaborative robots, each robot may receive different task information or the same task information. For example, in a task scenario where there is only one large item, there is one task point. In this case, each robot can be assigned the same task information, that is, they can jointly carry the item to the target location. If there are multiple items to be carried in the task area, multiple robots can be grouped to carry them separately. In this case, robots in different groups will be assigned different task information.
[0046] S120, obtaining the obstacle points in the mission area in real time.
[0047] Specifically, the obstacle point is the location of the obstacle. Before the robot performs a task, it will first detect in real time whether there is an obstacle in the task area. If there is, the obstacle's location and distance will be detected through sensors such as the distance measurement module. However, the obstacle may be moving, that is, there may be external factors, such as animals touching the obstacle, causing the obstacle point to change, or the obstacle may be moved manually, causing the obstacle point to change, etc. At this time, the obstacle point in the task area can be obtained at intervals of a preset time, and step S120 is repeated through step S180, that is, the obstacle point is continuously updated, which provides strong support for the subsequent planning path of the robot when avoiding obstacles.
[0048] In one embodiment of the present application, the task point carries a first task identifier, and the robot and each of the collaborative robots carry a second task identifier; and the real-time acquisition of obstacle points in the task area includes: If there is an object exceeding a preset size and not carrying the first task identifier or a collaborative robot carrying the second task identifier in the task area, the object is determined to be an obstacle, and the obstacle point is determined based on the location of the obstacle.
[0049] Specifically, that is, in the preset task information, each task point has been marked, and the task point has a first task identifier. After the robot recognizes the first task identifier, it 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 collaborative robot with a second task identifier, that is, through the second task identifier, it can be known that the point is a collaborative robot. The preset size can be set according to actual needs. In an embodiment of the present application, the preset size can be specifically one-quarter of the volume of the robot, that is, if the size of an object exceeds one-quarter of the current robot, then it will cause a risk of obstruction to the movement of the current robot.
[0050] S130: constructing a composite concentration field corresponding to the task area based on the task point and the obstacle point, wherein each point in the composite concentration field corresponds to a concentration value.
[0051] Specifically, Figure 4 As shown, Figure 4 The schematic diagram of the constructed composite concentration field, where concentration is the ordinate, i.e. the z-axis in the three-dimensional coordinate system, representing the concentration value; Pattern is the obstacle avoidance mode. It should be noted that Figure 4The arc obstacle avoidance mode shown is only one implementation method, and other obstacle avoidance modes can also be used to effectively avoid obstacles. Figure 4 The concentration field in the middle green plane has a higher concentration value as it approaches the task point. The concentration value at the task point 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, which represent the coordinate points of the ground respectively.
[0052] Robots stands for robots, Obstacle stands for obstacles, Figure 4 It can be seen that there are two obstacles, and the closer to the obstacle point, the lower the concentration value, and the concentration value of the obstacle point is the minimum. Therefore, when performing path planning later, through each preset step of the robot, that is, planning the travel path step by step, each time the target point with the maximum concentration value in the target circular area is used as the first motion vector of the travel planning, so as to avoid touching the obstacle corresponding to the obstacle point, and only approach the task point with the maximum concentration step by step to quickly reach the task point.
[0053] In one embodiment of the present application, when both the task point and the obstacle point can be obtained, the concentration value can be calculated by the following method: Acquire first distance information between any point to be measured and the task point and second distance information between the point to be measured and the obstacle point; Determine the concentration value of the point to be measured based on the first distance information and the second distance information; The concentration value can be calculated by the following formula:
[0054] In the formula, is the concentration value, is a first activation function related to the first distance information, is a second activation function related to the second distance information; is the first distance information, is the distance information, is the control parameter of the first activation function, is the control parameter of the activation function, is a regulation factor of the first activation function or the second activation function.
[0055] Specifically, the robot can calculate the concentration value of the current point to be measured through the first distance information between the point to be measured and the task point and the second distance information between the point to be measured and the obstacle point, where the point to be measured can be any point in the composite concentration field, that is, all points in the composite concentration field can calculate their concentration values in this way.
[0056] In one embodiment of the present application, if the task point is obtained and the obstacle point is not obtained, the concentration value can be calculated by the following formula:
[0057] In the formula, is the first distance information between the point to be measured and the task point, is a first activation function related to the first distance information, is the control parameter of the first activation function, is the adjustment factor of the first activation function, is the concentration value.
[0058] Specifically, if the obstacle point is not obtained, that is, there is no obstacle in the current task area, the travel path can be planned directly by the shortest distance between two points, and it is used as the first motion vector to combine with the subsequent second motion vector for comprehensive calculation to obtain the final target motion vector, so that the planned travel path is the optimal path.
[0059] In one embodiment of the present application, if the obstacle point is obtained but the task point is not obtained, the concentration value can be calculated by the following formula:
[0060] In the formula, is the second distance information between the obstacle point and the task point, is a second activation function associated with the second distance information, is the control parameter of the second activation function, is the adjustment factor of the second activation function, is the concentration value.
[0061] Specifically, if the task point is not obtained, the items at the task point may have been moved by other collaborative robots. In this case, the user may not stop the movement of each robot in the task area in time, and each robot will continue to move in the task area. If there are still obstacle points in the area, the robot can continue to plan to move to the point with the maximum concentration in the target circular area by using the minimum concentration value of these obstacle points to stay away from obstacles, and at the same time combine the second motion vector to avoid other collaborative robots, so as to prevent the robot from colliding. After the user stops the task information, the robot can stop moving and the task is completed.
[0062] In one embodiment of the present application, if the obstacle point is not obtained and the task point is not obtained, the concentration value of any of the points to be measured is 0; wherein, when the concentration value of any of the points to be measured is 0, the first target point may be any point within the circular area.
[0063] If the task point is not obtained, it means that the task may be completed, but the user still does not stop the task information. At the same time, if the obstacle point is not obtained, it means that the obstacle is also removed. At this time, the concentration value of all points in the task area is 0, that is, the robot can plan the direction of travel at will. As the first motion vector, it only needs to use the second motion vector to avoid collisions between robots.
[0064] S140, obtaining the current position of the robot in the composite concentration field, and constructing a target circular area with the current position as the center and a preset step length as the radius.
[0065] Specifically, Figure 5 As shown, Figure 5 The target circular area is constructed, and the blue arrows in eight directions are the preset step sizes and the planned travel directions. Then the concentration values of the points pointed by the eight blue arrows are compared, and the point with the largest concentration value is selected as the first target point. Then, the first motion vector can be obtained based on the first target point and the current point.
[0066] S150, obtaining a first target point with a maximum concentration value in the target circular area, and determining a first motion vector of the robot based on the first target point.
[0067] Specifically, compare the concentration values of the points pointed by the eight blue arrows, and select the point with the largest concentration value as the first target point. Then, the first motion vector can be obtained based on the first target point and the current point. The current planned direction of travel can be obtained through the first motion vector. The above formula can be used to calculate the concentration value at the obstacle point. By comparing the concentration values of the current point of the robot and the 8 points around it, the first target point with the highest concentration is selected as the planned direction of travel at the next moment to achieve effective avoidance of obstacles. It should be noted that Figure 5 The eight arrows shown are only an example in the embodiment, and direction arrows of any values such as 16, 32, etc. can also be divided, as long as the first target point with the largest concentration value can be found.
[0068] S160, obtaining motion information of each collaborative robot in the task area, and determining a second motion vector of the robot based on the motion information.
[0069] Specifically, the motion information of each collaborative robot in the task area can be obtained through a monocular camera, a distance measurement module, and a position information interaction module. By determining the travel state of each collaborative robot, it is ensured that there is no collision between robots. Therefore, the planned path to avoid is used as the second motion vector, which is also a consideration for obstacle avoidance. Combined with the obstacle avoidance factor of the first motion vector, the optimal obstacle avoidance and most efficient travel path can be obtained comprehensively.
[0070] In one embodiment of the present application, determining the second motion vector of the robot based on the motion information includes: Determine, based on the motion information, each obstacle avoidance motion vector of the robot when avoiding each of the collaborative robots; Gradient superposition is performed on each of the obstacle avoidance motion vectors to obtain the second motion vector.
[0071] Specifically, the second motion vector may be calculated using the following formula: (1) (2) in, Indicates The number of neighboring robots around a robot, Indicates The robot is avoiding The velocity direction of the robot. and Respectively expressed as The robot position and The spatial position of a robot. Respectively represent The second motion vector of a robot when avoiding a neighboring robot at time t, therefore, by performing gradient superposition on the motion vectors during avoidance, the second motion vector of the robot when avoiding other robots can be comprehensively obtained.
[0072] S170, determining a target motion vector of the robot based on the first motion vector and the second motion vector, and controlling the robot to move to a second target point corresponding to the target motion vector.
[0073] In one embodiment of the present application, 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 vector-superimposed to obtain the target motion vector.
[0074] Specifically, the target motion vector can be calculated in the following way:
[0075] in, is the second motion vector, is the first motion vector, and a comprehensive target motion vector is obtained by superimposing the directions of the vectors. The robot is controlled to move to a second target point corresponding to the target motion vector, and then the next round of path planning steps, i.e., steps S110-S170, are performed again, thereby continuously approaching the task point, and achieving fast and effective obstacle avoidance and task execution.
[0076] S180, if the second target point does not coincide with the task point, repeating steps S110-S170 until the second target point coincides with the task point; Among them, in the composite concentration field, the closer the point is to the task point, the greater its concentration value; the closer the point is to the obstacle, the smaller its concentration value.
[0077] Specifically, if the second target point does not coincide with the task point, that is, the robot has not reached the task point after moving according to the planned target operation vector at the current moment, then by continuously repeating steps S110-S170, S110-S170 can be regarded as a small part of the path planning. By continuously forming an overall path planning based on the path planning of small areas, the robot's task execution efficiency can be improved when facing complex and changing environments.
[0078] It should be noted that the embodiments of the present application can also be applied to application scenarios without communication or communication denial. After inputting the preset task information, the robot can obtain various detection data in the task area only through the motion control module inside the robot, the posture sensor in the sensor detection module, the ranging module and other sensors. At the same time, 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 of the embodiment of the present application) can effectively avoid obstacles and quickly reach the task point. Therefore, the present application can greatly improve the task execution efficiency of group collaborative robots and effectively avoid the risk of collision.
[0079] Figure 3 This is a block diagram of a motion control device 300 for a robot according to an embodiment of the present application. According to a motion control device 300 for a robot according to an embodiment of the present application, the device is applied to the robot, and the device 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.
[0080] The first acquisition unit 301 is used to acquire a task area and task points in the task area according to preset task information.
[0081] The second acquisition unit 302 is used to acquire the obstacle points in the mission area in real time.
[0082] The construction unit 303 is used to construct a composite concentration field corresponding to the task area based on the task point and the obstacle point, wherein each point in the composite concentration field corresponds to a concentration value.
[0083] 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 length as the radius.
[0084] The fourth acquisition unit 305 is used to acquire a first target point with a maximum concentration value in the target circular area, and determine a first motion vector of the robot based on the first target point.
[0085] The fifth acquisition unit 306 is used to acquire the motion information of each collaborative robot in the task area, and determine the second motion vector of the robot based on the motion information.
[0086] 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 a second target point corresponding to the target motion vector.
[0087] The second control unit 308 is configured 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; Among them, in the composite concentration field, the closer the point is to the task point, the greater its concentration value; the closer the point is to the obstacle, the smaller its concentration value.
[0088] As another aspect, the present application further provides a computer-readable storage medium on which a program product capable of implementing the method provided above in this specification is stored. In some possible implementations, various aspects of the present application may also be implemented in the form of a program product, which includes a program code, and when the program product is run on a terminal device, the program code is used to cause the terminal device to execute the steps according to various exemplary implementations of the present application described in the above "Embodiment Method" section of this specification.
[0089] According to the program product for implementing the above method in the embodiment of the present application, it can adopt a portable compact disk read-only memory (CD-ROM) and include program code, and can be run on a terminal device, such as a personal computer. However, the program product of the present application is not limited thereto. In this document, a readable storage medium can be any tangible medium containing or storing a program, which can be used by or in combination with an instruction execution system, an apparatus or a device.
[0090] The program product may be any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination thereof. More specific examples (non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.
[0091] Computer readable signal media may include data signals propagated in baseband or as part of a carrier wave, in which readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Readable signal media may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0092] The program code embodied on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination of the foregoing.
[0093] Program code for performing the operations of the present application may be written in any combination of one or more programming languages, including object-oriented programming languages, such as Java, C++, etc., and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., using an Internet service provider to connect through the Internet).
[0094] Through the description of the above implementation methods, it is easy for those skilled in the art to understand that the example implementation methods described here can be implemented by software, or by software combined with necessary hardware. Therefore, the technical solution according to the implementation method of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, including instructions to enable a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the implementation method of the present application.
[0095] In addition, the above-mentioned figures are only schematic illustrations of the processes included in the method according to the exemplary embodiments of the present application, and are not intended to be limiting. It is easy to understand that the processes shown in the above-mentioned figures do not indicate or limit the time sequence of these processes. In addition, it is also easy to understand that these processes can be performed synchronously or asynchronously, for example, in multiple modules.
[0096] It should be understood that the present application is not limited to the precise structures that have been described above and shown in the drawings, and that various modifications and changes may be performed without departing from the scope thereof. The scope of the present application is limited only by the appended claims.
Claims
1. A robot motion control method, characterized in that: The method is executed on a robot, and the method comprises: S110, acquiring a task area and task points within the task area according to preset task information; S120, obtaining the obstacle points in the task area in real time; S130, constructing a composite concentration field corresponding to the task area based on the task point and the obstacle point, wherein each point in the composite concentration field corresponds to a concentration value; S140, obtaining the current position of the robot in the composite concentration field, and constructing a target circular area with the current position as the center and a preset step length as the radius; S150, acquiring a first target point position in the target circular area where the concentration value is the maximum, and determining a first motion vector of the robot based on the first target point position; S160, acquiring motion information of each collaborative robot in the task area, and determining a second motion vector of the robot based on the motion information; S170, determining a target motion vector of the robot based on the first motion vector and the second motion vector, and controlling the robot to move to a second target point corresponding to the target motion vector; S180, if the second target point does not coincide with the task point, repeating steps S110-S170 until the second target point coincides with the task point; Among them, in the composite concentration field, the closer the point is to the task point, the greater its concentration value; the closer the point is to the obstacle, the smaller its concentration value.
2. The robot motion control method according to claim 1, characterized in that: When both the task point and the obstacle point are available, the concentration value can be calculated by the following method: Acquire first distance information between any point to be measured and the task point and second distance information between the point to be measured and the obstacle point; Determine the concentration value of the point to be measured based on the first distance information and the second distance information; The concentration value can be calculated by the following formula: In the formula, is the concentration value, is a first activation function related to the first distance information, is a second activation function related to the second distance information; is the first distance information, is the distance information, is the control parameter of the first activation function, is the control parameter of the activation function, is a regulation factor of the first activation function or the second activation function.
3. The robot motion control method according to claim 2, characterized in that: The determining a second motion vector of the robot based on the motion information comprises: Determine, based on the motion information, each obstacle avoidance motion vector of the robot when avoiding each of the collaborative robots; Gradient superposition is performed on each of the obstacle avoidance motion vectors to obtain the second motion vector.
4. The robot motion control method according to claim 3, characterized in that: The step of determining a target motion vector of the robot based on the first motion vector and the second motion vector comprises: The first motion vector and the second motion vector are vector-superimposed to obtain the target motion vector.
5. The robot motion control method according to claim 2, characterized in that: If the task point is obtained and the obstacle point is not obtained, the concentration value can be calculated by the following formula: In the formula, is the first distance information between the point to be measured and the task point, is a first activation function related to the first distance information, is the control parameter of the first activation function, is the adjustment factor of the first activation function, is the concentration value.
6. The robot motion control method according to claim 2, characterized in that: If the obstacle point is obtained but the task point is not obtained, the concentration value can be calculated by the following formula: In the formula, is the second distance information between the obstacle point and the task point, is a second activation function associated with the second distance information, is the control parameter of the second activation function, is the adjustment factor of the second activation function, is the concentration value.
7. The robot motion control method according to claim 2, characterized in that: If the obstacle point and the task point are not obtained, the concentration value of any of the points to be measured is 0; wherein, when the concentration value of any of the points to be measured is 0, the first target point may be any point within the circular area.
8. The robot motion control method according to claim 4, characterized in that: The task point carries a first task identifier, and the robot and each of the collaborative robots carry a second task identifier; and the real-time acquisition of obstacle points in the task area includes: If there is an object exceeding a preset size and not carrying the first task identifier or a collaborative robot carrying the second task identifier in the task area, the object is determined to be an obstacle, and the obstacle point is determined based on the location of the obstacle.
9. A robot motion control device, characterized in that: The device is applied to a robot, and comprises: A first acquisition unit is used to acquire a task area and a task point in the task area according to preset task information; A second acquisition unit, used for acquiring the obstacle points in the mission area in real time; A construction unit, configured to construct a composite concentration field corresponding to the task area based on the task point and the obstacle point, wherein each point in the composite concentration field corresponds to a concentration value; A 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 length as the radius; A fourth acquisition unit, configured to acquire a first target point having a maximum concentration value in the target circular area, and determine a first motion vector of the robot based on the first target point; a fifth acquisition unit, configured to acquire motion information of each collaborative robot in the task area, and determine a second motion vector of the robot based on the motion information; a first control unit, configured to determine a 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; a second control unit, configured 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; Among them, in the composite concentration field, the closer the point is to the task point, the greater its concentration value; the closer the point is to the obstacle, the smaller its concentration value.
10. A robot, characterized in that: The robot comprises 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 to 8, and the robot comprises: The sensor detection module is used to obtain various detection data of the robot in 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 so as to control the motion of the robot body.
Citation Information
Patent Citations
Static path planning method of robot
CN105511457A
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
Control method and control system based on mobile robot
US20240123628A1
Obstacle recognition method for autonomous robots
US20240310851A1