Distributed scheduling method and system of mobile robot and electronic equipment
Through distributed scheduling method and near-field wireless communication with LoRA technology, combined with DWA algorithm and multiple cost functions, the problem of multiple robots avoiding and passing in open scenarios is solved, and efficient and flexible multi-machine scheduling is achieved.
Patent Information
- Application Number
- CN202411599066.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-11
- Publication Date
- 2025-02-18
AI Technical Summary
In open scenarios, existing multi-machine scheduling systems are difficult to achieve flexible and accurate avoidance between multiple robots, and are prone to collisions or deadlocks, and centralized scheduling depends on wireless network quality and complex deployment.
Using distributed scheduling method, through the interactive information between the near-field wireless communication module (LoRA technology) between robots, dynamic window algorithm (DWA) is used to sample in the velocity space, generate prediction trajectories, and score through multiple cost functions to select The optimal trajectory is controlled.
It realizes smooth mutual avoidance and traffic between multiple robots, improves scheduling efficiency, overcomes the shortcomings of centralized scheduling and the problem of low distributed scheduling efficiency.
Smart Images

Figure CN119472672A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of robot scheduling, and in particular to a distributed scheduling method, system and electronic equipment for a mobile robot. Background Art
[0002] As robot technology becomes more and more sophisticated, the application scenarios of intelligent mobile robots are becoming more and more extensive. In many cases, a single robot can no longer meet the needs of users, and more and more scenarios are beginning to deploy multiple robots.
[0003] When multiple robots work in the same scene, due to the homogeneity of algorithms, mutual interference between sensors, and blind spots in observation, it is often difficult for robots to flexibly and accurately avoid each other, and they are prone to collisions or waiting for each other (i.e. deadlock). At this time, the participation of the multi-machine scheduling system is needed to coordinate the movement behaviors of each robot.
[0004] Currently, the mainstream multi-machine scheduling systems are divided into centralized scheduling and distributed scheduling.
[0005] Centralized scheduling requires the deployment of a central server. All robots are connected to the server, which plans the movement path of each robot. The advantage of centralized scheduling is that it can avoid deadlock and achieve optimal efficiency, but it also has the following disadvantages:
[0006] 1) Not suitable for open places with a large number of dynamic obstacles
[0007] At present, centralized dispatching systems are mostly used in closed places such as factories and docks. The multi-machine collaborative path planning algorithms they adopt often rely on speed-based estimates. However, in open scenes such as restaurants, the presence of a large number of pedestrians forces robots to avoid obstacles and take detours at any time, which causes conflicts in the pre-completed centralized path planning during actual operation.
[0008] 2) Highly dependent on wireless network quality
[0009] The centralized scheduling system has very high requirements for the communication delay and data packet loss rate between the robot and the server. Once the robot enters an area with unstable communication, it is easy to cause scheduling failure, leading to collision or deadlock.
[0010] 3) Complex deployment
[0011] The wireless network at the customer site needs to be transformed and both the robot and the server need to be connected to the network. In addition to the additional deployment work, network security issues will also be involved.
[0012] The biggest advantage of distributed scheduling is that it does not rely on servers and is therefore not restricted by the operating environment. Taking factory material distribution as an example, each robot has an independent task to perform, and their respective destinations, moving directions, and obstacle avoidance behaviors are independent of each other. When two robots are moving towards each other in a channel, or entering a fork in the road at the same time, it is easy for them to wait for each other, which makes it impossible for both machines to complete the task. To solve the problem of robots passing through a local area in sequence, one method is to lock the area, and the robot that applies for the lock passes, and the other robot goes to the waiting point to avoid it. However, this method adds additional deployment work and affects the efficiency of force movement. Therefore, this method is only used in narrow channels where only one machine passes.
[0013] After searching, Chinese invention patent publication number CN114237256B discloses a three-dimensional path planning and navigation method suitable for underactuated robots, including a global path smoothing algorithm, a local obstacle avoidance planning algorithm and a three-dimensional obstacle avoidance tracking control algorithm. The robot's collision on the segment path is detected according to the obstacle distribution on the local dynamic map. If an obstacle is detected, a node graph is constructed in the adjacent area adj of the reference path according to the cost function, and a dictionary search method is used to search to obtain a safe and smooth obstacle avoidance path; obstacle avoidance tracking control is used to construct a real-time obstacle grid map and create a velocity field on the map based on the safe and smooth path provided by the rolling time domain planner, laser point cloud information and the real-time posture of the robot. Based on the velocity field and pre-anchor points, the target potential field is generated by the fast marching method, and a trajectory evaluation function is constructed. The robot is controlled according to the optimal trajectory to generate a velocity instruction. The existing patent has the problem that the trajectory evaluation function is considered less, resulting in poor planning trajectory.
[0014] How to achieve distributed scheduling of multiple robots and how to smoothly avoid and pass when they meet in wider passages or intersections have become technical problems that need to be solved. Summary of the invention
[0015] The purpose of the present invention is to provide a distributed scheduling method, system and electronic equipment for a mobile robot in order to overcome the defects of the above-mentioned prior art.
[0016] The purpose of the present invention can be achieved by the following technical solutions:
[0017] According to one aspect of the present invention, a distributed scheduling method for a mobile robot is provided, the method comprising the following steps:
[0018] Step S1: deploying the map on the robot;
[0019] Step S2: The robots exchange information by broadcasting and receiving PING packets, wherein the PING packets include a map ID, wherein several robots with the same map ID automatically form a network;
[0020] Step S3, the robot regularly broadcasts its own information during the movement, and the information includes the robot's position, speed, destination and subsequent n path points;
[0021] Step S4: Sample the robot velocity space, score and weighted sum all sampled predicted trajectories using multiple cost functions, and obtain the optimal trajectory for robot movement. Repeat this step until the robot reaches the destination.
[0022] Preferably, when the robot receives information about a robot with the same map ID as itself, it will record the information broadcast by the other party.
[0023] Preferably, when the robot receives a PING data packet, if it determines that the map ID is the same, it broadcasts a response data packet, otherwise it ignores the received data packet; when other robots receive a response data packet, they determine whether the map ID is the same, if so, they record the other party's information, otherwise they ignore the response data packet.
[0024] Preferably, when the robot receives information broadcasted regularly by other robots, it records the received data.
[0025] Preferably, the DWA algorithm is used to sample the robot's velocity space, specifically: given the robot's current posture, current speed, maximum deceleration and acceleration, the robot's possible posture and speed after a period of time are predicted, and all combinations of postures and speeds are used as the predicted trajectory.
[0026] Preferably, the multiple cost functions include a neighbor cost function, including: based on the information of the neighbor robot received by the current robot, the cost of the location of the neighbor robot is 255, the speed is v, the estimated maximum moving distance of the neighbor robot within the sampling time dt is s=v*dt, the cost gradually decreases linearly to 0 within a distance s in front of the neighbor robot, and the corresponding cost of other areas with a distance greater than s is 0;
[0027] When the current robot's trajectory passes through an area where the cost is greater than 0, the accumulated value of these costs is returned, which is the neighbor cost.
[0028] More preferably, the multiple cost functions also include a swing cost function, including recording the changes in the signs of the linear velocity and the angular velocity in the control command, and if there are two consecutive changes in the sign of the angular velocity in a certain trajectory, the trajectory is rejected, otherwise the trajectory is accepted.
[0029] More preferably, the multiple cost functions further include:
[0030] Prioritize straight-line cost function: return the angular velocity of the trajectory * the preset ratio value. When the linear velocity is negative, return a preset penalty value.
[0031] Path distance cost function: First, interpolate the path according to the map resolution. The cost of the grid where the path is located is 0. Expand to the surroundings, and the cost of adjacent grids is increased by 1. Return the cumulative value of the cost of all grids passed by the trajectory;
[0032] Target orientation cost function: Calculates the distance from the grid at a set distance directly in front of each trajectory sampling point to the local target point, and returns the accumulated value of these distances;
[0033] Target distance cost function: Take the point closest to the local costmap boundary as the target and return the Manhattan distance from the end point of the trajectory to the target;
[0034] Obstacle cost function: score according to the costmap and return the sum of the costs of all costmap grids that the trajectory passes through, including: the grid where the obstacle is located has a cost of 255; the grid whose distance to the obstacle is less than the robot radius has a cost of 254; when the distance to the obstacle is greater than the robot radius, within the preset maximum distance maxDist, the cost value decreases linearly, and the calculation formula is as follows:
[0035] cost=(maxDist-dist-radius) / maxDist*253
[0036] When the distance is greater than the preset distance maxDist, the cost value is 0.
[0037] According to another aspect of the present invention, there is provided a distributed scheduling system for a mobile robot, the system comprising a near-field wireless communication module and a motion planning module deployed inside the robot;
[0038] The near-field wireless communication module uses LoRA technology to broadcast the robot's own status to the outside world and receive broadcast information from other robots at the same time; the information broadcast by the robot to the outside world includes the map ID, the robot's current position, speed, and the subsequent n path points;
[0039] The map ID is used to determine whether the other party and the self are in the same environment. If the map IDs are the same, it means they are in the same environment; otherwise, they are not in the same environment and the other party's information is ignored;
[0040] The motion planning module uses the DWA algorithm to sample in the robot's velocity space, generates several predicted trajectories, and then scores these trajectories through multiple cost functions, and selects the trajectory with the lowest cost as the optimal trajectory for controlling the robot's motion.
[0041] According to a third aspect of the present invention, there is provided an electronic device, comprising a memory and a processor, wherein a computer program is stored in the memory, and the method described above is implemented when the processor executes the program.
[0042] Compared with the prior art, the present invention has the following beneficial effects:
[0043] 1) The robots of the present invention communicate with each other through PING data packets and timed broadcasting. All predicted trajectories based on sampling are scored and weighted summed using multiple cost functions to obtain the optimal trajectory for robot movement. The distributed scheduling of multiple robots enables robots to avoid and pass each other smoothly, thereby improving the scheduling efficiency, overcoming the shortcomings of centralized scheduling, and overcoming the problem of low efficiency of current distributed scheduling.
[0044] 2) The present invention adopts multiple cost functions, comprehensively considering various neighbor costs, sway costs, straight-ahead priority costs, path distance costs, target orientation costs, target distance costs and obstacle costs, so as to make the planned motion path better.
[0045] 3) The present invention adopts Lora to realize near-field wireless communication, which can be used immediately after power-on without setting up. The number of robots can be dynamically increased or decreased without affecting the working status of other robots, maintaining the independence of each robot's tasks, and integrating the multi-machine scheduling logic into the robot's own motion planning algorithm to achieve flexible and smooth multi-machine avoidance.
[0046] 4) The present invention identifies robots in the same environment through map ID, which narrows the detection range, reduces unnecessary interference, and thus improves the efficiency of scheduling. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] Figure 1 Schematic diagram of the predicted trajectory based on DWA sampling in the present invention;
[0048] Figure 2 It is a schematic diagram of the flow of the distributed scheduling method in the present invention;
[0049] Figure 3 It is a schematic diagram of the flow of motion planning of the mobile robot in the present invention. DETAILED DESCRIPTION
[0050] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.
[0051] The present invention proposes a multi-robot local traffic dispatching method, which relies on the robot's own Lora communication module for broadcast communication, does not rely on the centralized dispatching of the server, and adopts distributed decision-making to enable multiple robots close to each other to pass according to the established rules without collision. The number of robots can be dynamically increased or decreased without affecting the working status of other robots, and the independence of each robot's task is maintained. This method integrates the multi-machine dispatching logic into the robot's own motion planning algorithm to achieve flexible and smooth multi-machine avoidance.
[0052] Example 1
[0053] This embodiment relates to a distributed scheduling method for a mobile robot, such as Figure 2 , including the following steps:
[0054] Step S1: Deploy the map
[0055] To perform multi-machine scheduling, all robots need to be placed in the same coordinate system, so a common robot activity map is needed and the created map is uploaded to all robots. The data broadcast by the robot includes the map ID. When a robot receives information about a robot with the same map ID as itself, it will record the other party's position, speed, path and other information.
[0056] Step S2: Automatic networking
[0057] Step 2.1, when the robot starts, it broadcasts a PING data packet, the contents of which include command number, data packet sequence number, robot ID, robot size, robot name and map ID, etc. The map ID is used to determine whether the other party is in the same environment as itself. If the map ID is the same, it means they are in the same environment. Otherwise, if the map ID is different, the other party's information is ignored.
[0058] Step 2.2: When a robot receives a PING packet, it records the other party's information and broadcasts a response packet. Except for the command number and packet sequence number, the other data formats are the same as the PING data. Other robots also record the other party's information when they receive the response packet. Since then, several robots in the same environment have recorded each other's information. When they approach each other later, they can generate corresponding scheduling behaviors as long as they receive the other party's broadcast packet.
[0059] Step S3: Timed broadcast
[0060] The robot broadcasts its own information regularly during the movement, which includes the robot's position, speed, destination, and the next five path points. When each robot receives information from other robots, if it determines that they are in the same environment, it records the received data into the motion planning module.
[0061] Step S4: Motion planning
[0062] The motion planning steps based on DWA are as follows: Figure 3 , including the following:
[0063] Step 4.1, sample the robot velocity space: given the current position and velocity of the robot, as well as the maximum deceleration and acceleration, predict the possible position and velocity of the robot after a period of time (e.g. 1 second).
[0064] Assume the current speed of the robot: [v c ,ω c ], the acceleration and deceleration of the robot: and The range of linear velocity v is between the minimum and maximum linear velocity: v∈[v min , v max ], angular velocity ω∈[ω min ,ω max ], then the expressions of linear velocity v and angular velocity ω are;
[0065]
[0066] where v c is the current linear velocity, unit: m / s; ω c Indicates the current angular velocity, unit: radian (rad) / second; Indicates linear deceleration, unit: m / s 2 ; Indicates linear acceleration, unit: m / s 2 ;ω d and ω a are angular deceleration and angular acceleration respectively; v min and v max are the minimum and maximum linear speeds, ω min and ω max are the minimum angular velocity and the maximum angular velocity, respectively, and d t represents the sampling time, and the sampling trajectory is the robot passing through d t The possible location of the latter.
[0067] like Figure 1, where each black dot represents a DWA sampling trajectory, that is, the estimated position of the robot after a period of time. Red represents obstacles. The leftmost point represents the position that the robot can reach when turning left at the maximum angular velocity, the rightmost point represents the position that the robot can reach when turning right at the maximum angular velocity, and the straight line in front represents the position that the robot can reach when going straight. The farthest point represents the position that the robot can reach after accelerating at the maximum acceleration, and the closest point represents the position that the robot can reach after decelerating at the maximum deceleration. Figure 1 In the example, if there is no intervention, the robot may collide with the obstacle on the right after moving along the rightmost curve for a period of time.
[0068] Step 4.2: Score all trajectories and select the best trajectory
[0069] All trajectories are scored using a variety of cost functions, including:
[0070] 1) Obstacle Cost Function
[0071] Scoring is done based on the costmap, and the sum of the costs of all the costmap grids that the trajectory passes through is returned. The costmap corresponds one-to-one to the grid map (the activity map is rasterized), and the cost of each grid represents the cost of the robot passing through it. The closer to the obstacle, the greater the cost. The purpose of this cost function is to select the trajectory farthest from the obstacle.
[0072] The grid where the obstacle is located has a cost of 255
[0073] The grid whose distance to the obstacle is less than the robot radius has a cost of 254
[0074] When the distance to the obstacle (dist) is greater than the robot radius, within the preset maximum distance maxDist (for example, 0.6 meters), the cost value decreases linearly, and the calculation formula is as follows (radius is the robot radius):
[0075]
[0076] When the distance is greater than the preset distance maxDist, the cost value is 0.
[0077] 2) Goal Distance Cost Function
[0078] The point closest to the local costmap (usually 4m*4m in size) is used as the target, and the Manhattan distance from the end of the trajectory to the target is returned. The purpose of this cost function is to select the trajectory that is closest to the local target point.
[0079] 3) GoalAlignCostFunction
[0080] Calculate the distance from the grid at a certain distance (configurable) directly in front of each trajectory sampling point to the local target point, and return the accumulated value of these distances. The purpose of this cost function is to select trajectories that are directed toward the local target point.
[0081] 4) PathDistanceCostFunction
[0082] First, the path is interpolated according to the map resolution. The cost of the grid where the path is located is 0. Expanding to the surroundings, the cost of adjacent grids is increased by 1, and the cumulative value of the cost of all grids passed by the trajectory is returned. The purpose of this cost function is to select the trajectory closest to the path.
[0083] 5) PreferForwardCostFunction
[0084] Returns the angular velocity of the trajectory * the preset scale value. When the linear velocity is negative, returns a larger preset penalty value. The purpose of this cost function is to give priority to forward trajectories, and only choose turning or backward trajectories when the front is blocked.
[0085] 6) Oscillation Cost Function
[0086] Record the changes in the signs of the linear velocity and angular velocity in the control command. If there are two consecutive changes in the angular velocity (positive angular velocity means left turn, negative angular velocity means right turn) in a certain trajectory, the trajectory is rejected. The purpose of this cost function is to avoid the swaying of the motion trajectory.
[0087] 7) Neighbor Cost Function
[0088] According to the received neighbor robot position, speed and the most recent path, the neighbor robot is moved to the sampling time (d t ) is set to a larger cost for the area that is estimated to be passed through, and the cost for other areas is 0.
[0089] If the speed of the neighbor robot is v, the maximum distance is s = v*d t , the cost of the neighbor robot’s location is 255, and it gradually decreases linearly to 0 within a distance s in front of the neighbor robot.
[0090] When the trajectory of the current robot passes through an area where the cost is greater than 0, the accumulated value of these costs is returned. This cost function is the most important content that distinguishes the present invention from other DWA planning. The goal of this function is to keep the current robot away from the area that other robots are about to pass through to avoid collision and allow both parties to pass more smoothly.
[0091] After scoring each trajectory using the above cost functions and taking the weighted sum, the trajectory with the smallest cost is the optimal trajectory.
[0092] In step 4.3, the linear velocity and angular velocity values corresponding to the optimal trajectory are sent to the motor controller, and a DWA planning iteration is completed. The motion planning module will be executed in an independent thread, returning to step 4.1, and each time the latest state is obtained as input to plan a new speed, until the robot reaches the destination and plans a zero speed, and a complete motion planning is completed.
[0093] Example 2
[0094] This embodiment relates to a distributed scheduling system for mobile robots, which combines multi-machine scheduling with the robot's own motion planning to achieve smooth mutual avoidance and passage. The system mainly includes two modules: a near-field wireless communication module and a motion planning module.
[0095] The near-field wireless communication module is used to broadcast its own status and receive broadcast information from other robots. The published information includes the map ID, the robot's current position, speed, and a short path to follow. The map ID is used to determine whether the other robot is in the same environment as itself. If the map ID is the same, it means they are in the same environment. Otherwise, if the map ID is different, the other robot's information will be ignored. In the same environment, the position, speed, and path of other robots will affect the robot's own motion planning, allowing it to avoid the other robot.
[0096] The near-field wireless communication module uses Lora (Long Range Radio) technology to achieve near-field wireless communication, which can be used immediately after powering on without any settings.
[0097] The motion planning module plans the motion speed based on the preset path, the current position of the robot, and the currently observed obstacle information. The motion planning module uses the dynamic window algorithm (DWA) to sample in the robot's velocity space, generate several candidate trajectories, and then score these trajectories through a series of cost functions (Cost Function), and select the trajectory with the lowest cost as the speed for the next planning. These cost functions are used to calculate the impact of other robots nearby on themselves, so that the two robots can spontaneously move away from each other to avoid collisions, and can pass smoothly at the same time.
[0098] Example 3
[0099] The electronic device of the present invention includes a central processing unit (CPU), which can perform various appropriate actions and processes according to computer program instructions stored in a read-only memory (ROM) or loaded from a storage unit into a random access memory (RAM). In the RAM, various programs and data required for device operation can also be stored. The CPU, ROM and RAM are connected to each other via a bus. An input / output (I / O) interface is also connected to the bus.
[0100] Multiple components in the device are connected to the I / O interface, including: input units, such as keyboards, mice, etc.; output units, such as various types of displays, speakers, etc.; storage units, such as disks, optical disks, etc.; and communication units, such as network cards, modems, wireless communication transceivers, etc. The communication unit allows the device to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunication networks.
[0101] The processing unit performs the various methods and processes described above, such as methods S1 to S4. For example, in some embodiments, methods S1 to S4 may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit. In some embodiments, part or all of the computer program may be loaded and / or installed on the device via a ROM and / or a communication unit. When the computer program is loaded into the RAM and executed by the CPU, one or more steps of methods S1 to S4 described above may be performed. Alternatively, in other embodiments, the CPU may be configured to execute methods S1 to S4 in any other appropriate manner (e.g., by means of firmware).
[0102] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.
[0103] The program code for implementing the method of the present invention can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code can be executed entirely on the machine, partially on the machine, partially on the machine as a stand-alone software package and partially on a remote machine, or entirely on a remote machine or server.
[0104] In the context of the present invention, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer 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 of the foregoing.
[0105] The above is only a specific embodiment of the present invention, but the protection scope of the present invention is not limited thereto. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed by the present invention, and these modifications or replacements should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention shall be based on the protection scope of the claims.
Claims
1. A distributed scheduling method for a mobile robot, characterized in that: The method comprises the following steps: Step S1: deploying the map on the robot; Step S2: The robots exchange information by broadcasting and receiving PING packets, wherein the PING packets include a map ID, wherein several robots with the same map ID automatically form a network; Step S3, the robot regularly broadcasts its own information during the movement, and the information includes the robot's position, speed, destination and subsequent n path points; Step S4: Sample the robot velocity space, score and weighted sum all sampled predicted trajectories using multiple cost functions, and obtain the optimal trajectory for robot movement. Repeat this step until the robot reaches the destination.
2. A distributed scheduling method for a mobile robot according to claim 1, characterized in that: When a robot receives information about a robot with the same map ID as itself, it will record the information broadcast by the other party.
3. The distributed scheduling method for a mobile robot according to claim 1, characterized in that: When a robot receives a PING packet, if it determines that the map ID is the same, it broadcasts a response packet, otherwise it ignores the received packet; when other robots receive a response packet, they determine whether the map ID is the same. If so, they record the other party's information, otherwise they ignore the response packet.
4. The distributed scheduling method for a mobile robot according to claim 1, characterized in that: When a robot receives information broadcasted regularly by other robots, it records the received data.
5. The distributed scheduling method for a mobile robot according to claim 1, characterized in that: The DWA algorithm is used to sample the robot's velocity space. Specifically, given the robot's current position, current speed, maximum deceleration and acceleration, the robot's possible position and speed after a period of time are predicted. All combinations of all positions and speeds are the predicted trajectories.
6. A distributed scheduling method for a mobile robot according to claim 1, characterized in that: The multiple cost functions include neighbor cost functions, including: the current robot receives information from neighbor robots, the location cost of the neighbor robot is 255, the speed is v, and the sampling time is d t The estimated maximum moving distance of the neighboring robot is s = v*d t , the cost gradually decreases linearly to 0 within a distance s in front of the neighbor robot, and the corresponding cost of other areas with a distance greater than s is 0; When the current robot's trajectory passes through an area where the cost is greater than 0, the accumulated value of these costs is returned, which is the neighbor cost.
7. The distributed scheduling method for a mobile robot according to claim 5, characterized in that: The multiple cost functions also include a swing cost function, which includes recording the changes in the signs of the linear velocity and the angular velocity in the control command. If there are two consecutive changes in the sign of the angular velocity in a certain trajectory, the trajectory is rejected, otherwise the trajectory is accepted.
8. The distributed scheduling method for a mobile robot according to claim 5, characterized in that: The multiple cost functions also include: Prioritize straight-line cost function: return the angular velocity of the trajectory * the preset ratio value. When the linear velocity is negative, return a preset penalty value. Path distance cost function: First, interpolate the path according to the map resolution. The cost of the grid where the path is located is 0. Expand to the surroundings, and the cost of adjacent grids is increased by 1. Return the cumulative value of the cost of all grids passed by the trajectory; Target orientation cost function: Calculates the distance from the grid at a set distance directly in front of each trajectory sampling point to the local target point, and returns the accumulated value of these distances; Target distance cost function: Take the point closest to the local costmap boundary as the target and return the Manhattan distance from the end point of the trajectory to the target; Obstacle cost function: score according to the costmap and return the sum of the costs of all costmap grids that the trajectory passes through, including: the grid where the obstacle is located has a cost of 255; the grid whose distance to the obstacle is less than the robot radius has a cost of 254; when the distance to the obstacle is greater than the robot radius, within the preset maximum distance maxDist, the cost value decreases linearly, and the calculation formula is as follows: When the distance is greater than the preset distance maxDist, the cost value is 0.
9. A system for a distributed scheduling method of a mobile robot according to any one of claims 1 to 8, characterized in that: The system includes a near-field wireless communication module and a motion planning module deployed inside the robot; The near-field wireless communication module uses LoRA technology to broadcast the robot's own status to the outside world and receive broadcast information from other robots at the same time; the information broadcast by the robot to the outside world includes the map ID, the robot's current position, speed, and the subsequent n path points; The map ID is used to determine whether the other party and the self are in the same environment. If the map IDs are the same, it means they are in the same environment; otherwise, they are not in the same environment and the other party's information is ignored; The motion planning module uses the DWA algorithm to sample in the robot's velocity space, generates several predicted trajectories, and then scores these trajectories through multiple cost functions, and selects the trajectory with the lowest cost as the optimal trajectory for controlling the robot's motion.
10. An electronic device comprising a memory and a processor, wherein a computer program is stored in the memory, wherein: When the processor executes the program, the method according to any one of claims 1 to 8 is implemented.
Citation Information
Patent Citations
A 3D path planning and navigation method for underactuated robots
CN114237256B