# US 12,761,664 B1 · Scheduling method and movable apparatus

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,761,664 B1
- Document ID: US12761664B1
- Status: Granted
- Kind: B1
- Application number: 19/174,460
- Filed: 2025-04-09
- Published: 2026-10-15
- Granted: 2026-10-13
- Earliest claimed: 2025-04-09
- Assignees: VisionNav Robotics USA Inc.
- Applicants: VisionNav Robotics USA Inc.
- Inventors: Fan Zheng; Yujie Lu
- Web page: https://patentgrep.com/patent/US12761664B1

## CPC

- G05D 1/617: Safety or protection, e.g. defining protection zones around obstacles or avoiding hazards (arrangements for controlling the position or course of two or more vehicles for avoiding collisions therebetween G05D1/693; arrangements for reacting to or preventing system or operator failure G05D1/80)
- G05D 1/246: using environment maps, e.g. simultaneous localisation and mapping [SLAM]
- G05D 1/693: for avoiding collisions between vehicles
- G05D 2101/15: using machine learning, e.g. neural networks
- G05D 2107/70: Industrial sites, e.g. warehouses or factories
- G05D 2109/10: Land vehicles
- G05D: SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES

## Abstract

Embodiments of the present application relate to a scheduling method and a movable apparatus. The scheduling method includes receiving a first path from a first movable apparatus, the first path being calculated by the first movable apparatus in response to detecting a factor that affects normal driving of the first movable apparatus to avoid the first movable apparatus from being affected by the factor, to continue to execute a task; calculating whether the first path conflicts with a second path of each of second movable apparatuses in a working area; determining, based on at least a calculated result, first information for controlling the first movable apparatus to drive; and sending the first information to the first movable apparatus.

## Claims

### Claim 1

A scheduling method, comprising:
Via a scheduling system, receiving a first path from a first movable apparatus, the first path being calculated by the first movable apparatus in response to detecting a physical factor that affects driving of the first movable apparatus on a global path for a task in a working area, wherein the first path enables the first movable apparatus to avoid being affected by the physical factor to continue to execute the task;
Via the scheduling system, calculating whether the first path conflicts with a second path of each of second movable apparatuses in the working area;
Via the scheduling system, determining, based on at least a calculated result, first information for controlling the first movable apparatus to drive; and
Via the scheduling system, sending the first information to the first movable apparatus,
Wherein via the scheduling system, determining, based on at least the calculated result, the first information for controlling the first movable apparatus to drive further comprises:
Determining whether the calculated result is a conflict; and
In response to determining that the calculated result is a conflict:
Via the scheduling system, calculating a third path and a control timing sequence of the third path, wherein the third path does not conflict with the second path of each of the second movable apparatuses in temporal and spatial dimensions and enables the first movable apparatus to avoid being affected by the Physical factor and return to the global path to continue to execute the task; and
Determining that the first information includes the third path and the control timing sequence, and controlling the first movable apparatus to travel on the third path; or
Determining that the first information includes the third path, the control timing sequence, and a message rejecting the first path, and controlling the first movable apparatus; and
Wherein when the calculated result is no conflict, the first information is a message allowing the first movable apparatus to use the first path, and the first movable apparatus is configured to travel on the first path when the calculated result is no conflict.

### Claim 2 (depends on 1)

The scheduling method according to claim 1, further comprising:
Monitoring whether second information from the first movable apparatus is received,
If the second information is received:
Determining whether the second information includes the first path;
If the second information does not include the first path:
Determining whether the first movable apparatus completes the task, and if the first movable apparatus does not complete the task:
Calculating a fourth path, the fourth path being used for the first movable apparatus to continue to execute the task and not conflicting with the second path of each of the second movable apparatuses; and
Sending third information to the first movable apparatus, the third information including the fourth path, Or the third information including the fourth path and the message rejecting the first path; and
If the second information includes the first path:
Performing the action of receiving the first path.

### Claim 3 (depends on 1)

The scheduling method according to claim 1, further comprising: determining whether the number of the first paths is equal to 1 or greater than 1, wherein when the number of paths is greater than 1:
Receiving the first path from the first movable apparatus further comprises:
Determining priority information of each of the first paths, the priority information indicating a priority ranking of the first path, and the first path with a highest priority ranking being a path to considered first;
Calculating whether the first path conflicts with the second path of each of the second movable apparatuses in the working area further comprises:
Calculating whether the corresponding first path conflicts with the second path of the second movable apparatuses in a descending order of the priority ranking,
Stopping the calculating when a result that the first path does not conflict with the second path of each of the second movable apparatuses is obtained for the first time; and
Continuing to calculate, if there is a conflict between the first path corresponding to the current priority ranking and the second path of each of the second movable apparatuses, whether there is a conflict between the first path of the next priority ranking and the second path of each of the second movable apparatuses; and
Determining based on at least the calculated result, the first information for controlling the first movable apparatus to drive further comprises:
Determining when the result that the first path does not conflict with the second path of each of the second movable apparatuses is obtained for the first time, that the first information is a message indicating to use the first path corresponding to the non-conflict result that is obtained for the first time; and
If all the first paths conflict with the second path of each of the second movable apparatuses:
Calculating a third path, and determining that the first information includes the third path, wherein the third path enables the first movable apparatus to avoid being affected by the physical factor to continue to execute the task, and the third path does not conflict with the second path of each of the second movable apparatuses; or
Calculating the third path, and determining that the first information includes the third path and a message rejecting the first path.

### Claim 4 (depends on 1)

The scheduling method according to claim 1, further comprising:
Calculating the global path and a control timing sequence of the global path for executing the task; and
Sending the global path and the control timing sequence of the global path to the first movable apparatus.

### Claim 5 (depends on 4)

The scheduling method according to claim 4, further comprising:
Loading map information of the working area, and communicating with movable apparatuses in the working area;
Monitoring whether task information about the task is received; and
Selecting, based on at least the task information, the first movable apparatus to be used for executing the task, the first movable apparatus being an idle movable apparatus closest to a starting point of the task.

### Claim 6 (depends on 4)

The scheduling method according to claim 4, wherein the global path is calculated by using a Rapid Random Tree (RRT) algorithm and a variant thereof, a real-time obstacle avoidance algorithm based on sensor information, a Dynamic Window Approach, an Artificial Potential Field Method, a Spatio-Temporal Search algorithm, a Spatio-Temporal A* algorithm, an improved A* algorithm, Dijkstra's algorithm, a Genetic algorithm, an Ant Colony Optimization algorithm, a Particle Swarm Optimization algorithm, a Visibility Graph method, a Tangent Graph method, a Breadth-First Search (BFS) algorithm, or a Depth-First Search (DFS) algorithm.

### Claim 7 (depends on 1)

The scheduling method according to claim 1, wherein the first path enables the first movable apparatus to return to the global path of the task, and the physical factor is an obstacle or derailment of the first movable apparatus from a track.

### Claim 8 (depends on 1)

The scheduling method according to claim 1, wherein the second path of each of the second movable apparatuses includes at least a current driving path and planned but undriven paths.

### Claim 9 (depends on 1)

The scheduling method according to claim 1, wherein calculating the third path is based on at least the following factors: a current location, a maximum driving speed, and a braking ability of the first movable apparatus.

### Claim 10

A scheduling method, comprising:
Sending a first path, the first path being calculated by a first movable apparatus in response to detecting a physical factor that affects driving of the first movable apparatus on a global path for a task in a working area, wherein the first path enables the first movable apparatus to avoid being affected by the physical factor to continue to execute the task; and
Determining whether a message allowing the first movable apparatus to use the first path is received;
In response to determining that the message allowing the first movable apparatus to use the first path is not received:
Stopping driving, and receiving first information for controlling the first movable apparatus to drive; and
Determining an operation of the first movable apparatus based on the first information, comprising:
When it is determined that the first information includes a third path and a control timing sequence, controlling the first movable apparatus to drive along the third path; or
When it is determined that the first information includes the third path, the control timing sequences and a message rejecting the first path, controlling the first movable apparatus to drive along the first path,
Wherein the third path is calculated via a scheduling system and does not conflict with a second path of each of the second movable apparatuses in temporal and spatial dimensions and enables the first movable apparatus to avoid being affected by the physical factor and return to the global path to continue to execute the task; and
Wherein when the message allowing the first movable apparatus to use the first path is received the first movable apparatus is configured to travel on the first path.

### Claim 11 (depends on 10)

The scheduling method according to claim 10, further comprising:
Detecting, by using a sensor, whether the physical factor exists:
If the physical factor exists:
Calculating the first path;
If the physical factor does not exist:
Determining whether third information is received, wherein the third information includes a fourth path, or includes the fourth path and the message rejecting the first path, and the fourth path is used for the first movable apparatus to continue to execute the task and does not conflict with the second path of each of the second movable apparatuses,
If the third information is received:
Driving along the fourth path; and
If the third information is not received:
Stopping driving.

### Claim 12 (depends on 11)

The scheduling method according to claim 11, further comprising:
Stopping driving if the first movable apparatus receives no indication about a new path when reaching an end of the third path or the fourth path; and
Continuing to drive based on the indication about the new path if the first movable apparatus receives the indication about the new path when reaching the end of the third path or the fourth path.

### Claim 13 (depends on 10)

The scheduling method according to claim 10, further comprising:
Initializing a sensor;
Communicating with the scheduling system and sending second information of the first movable apparatus to the scheduling system; and
Continuously detecting whether task information from the scheduling system, the global path, and a control timing sequence of the global path for executing the task information are received.

### Claim 14 (depends on 10)

The scheduling method according to claim 10, wherein the number of the first paths is equal to 1 or greater than one, and when the number of the first paths is greater than 1, each of the first paths includes priority information, the priority information indicating a priority ranking of the first path, and the first path with a highest priority ranking being a path to be considered first.

### Claim 15 (depends on 10)

The scheduling method according to claim 10, wherein the physical factor is an obstacle or derailment of the first movable apparatus from a track, and the first path enables the first movable apparatus to return to the global path.

### Claim 16 (depends on 10)

The scheduling method according to claim 10, further comprising: sending, by the first movable apparatus, second information of the first movable apparatus to the scheduling system after completing driving on any path.

### Claim 17 (depends on 10)

The scheduling method according to claim 10, further comprising: monitoring whether driving on the first path is completed, and continuing the driving on the first path when the physical factor is unchanged, and the driving on the first path is not completed.

### Claim 18 (depends on 10)

A movable apparatus, comprising:
A controller, the controller executing software to implement the method according to claim 10.
