Mechanical arm task and motion planning method and system based on linear temporal logic

By constructing a multi-layer planning module system based on linear sequential logic for robotic arm task and motion planning, the system solves the problem of automating robotic arm task sequencing, realizes automatic planning and control in complex task environments, reduces planning failure rate and state explosion risk, and improves system efficiency.

CN116604550BActive Publication Date: 2026-01-23HUNAN UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310447163.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-04-24
Publication Date
2026-01-23
Estimated Expiration
2043-04-24

AI Technical Summary

Technical Problem

In existing technologies, robotic arms require manual sorting of tasks before execution, making it difficult to achieve automated planning and motion control. In particular, the planning failure rate is high in complex task environments, and the state explosion problem is serious.

Method used

A robotic arm task and motion planning method based on linear temporal logic is adopted. By building a system including an upper-level task planning module, a coordination module, and a lower-level motion planning module, the system uses a camera to acquire position information, constructs a feasible network topology map, uses a search algorithm to plan discrete paths, simplifies human-computer interaction through linear temporal logic expressions, and optimizes the automaton to reduce search nodes.

Benefits of technology

It enables automated planning of robotic arms in complex task environments, reduces the state explosion problem, improves the planning success rate and system timeliness, and enriches the application scenarios of robotic arms.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116604550B_ABST
    Figure CN116604550B_ABST
Patent Text Reader

Abstract

The application discloses a mechanical arm task and motion planning method and system based on linear temporal logic, first, a mechanical arm task and motion planning model is built, task information of the mechanical arm, position information of the mechanical arm and a working environment thereof are acquired, and the position information is input into an upper task planning module in the model, after processing and optimization, a feasible network topology graph is obtained, a planning algorithm is used to search on the feasible network topology graph, and a task sequence is obtained; a coordination module in the model receives the task sequence and segments, extracts a motion sequence of the mechanical arm, and makes a planning suggestion; a lower motion planning module in the model receives the planning suggestion, uses a planning algorithm to plan the motion of the mechanical arm, and obtains a motion trajectory of the mechanical arm, and the motion trajectory of the mechanical arm meeting the requirements is output through the coordination module. The method simplifies the interaction mode between man and machine, can prevent steps that cannot be implemented in task planning, and improves the success rate of planning.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of robot motion planning, and in particular to a method and system for robot arm task and motion planning based on linear temporal logic. BACKGROUND

[0002] Nowadays, robots have penetrated into every aspect of society, especially in factories and warehouses, robots have gradually replaced humans in physical labor. In traditional factories, robots often only repeat the same task, such as moving and installing parts on the assembly line, which only requires a fixed motion sequence and path to be set for the robot in advance. However, with the continuous development of robot technology, its application scenarios are increasing, the working environment is becoming more and more complex, and the tasks to be handled are becoming more and more complex. For example, robots in "robotic kitchens" prepare meals, and in intelligent factories, they handle multiple types of industrial production requirements. Traditional planning algorithms and pre-set motion sequences are difficult to solve such problems.

[0003] In order to realize "after obtaining the task requirements, the robot automatically plans and completes all task requirements", two problems need to be solved, including: how to automatically set the motion sequence of the robot arm and how to control the robot arm to complete each action. The former involves the planning of discrete behaviors of the robot arm, i.e. task planning; the latter involves the planning of continuous motion trajectories of the robot arm, i.e. motion planning.

[0004] The introduction of linear temporal logic (LTL) in traditional motion planning provides a new way for robots to implement complex tasks with temporal constraints. Linear temporal logic is closer to the natural language expression method, simplifying the human-computer interaction method, and can use simple expressions to intuitively and accurately describe a series of complex tasks with temporal constraints. It can also be converted into an automaton through model detection theory, and the essence of the automaton is a directed graph, which converts complex task description into a simple graph model. Therefore, linear temporal logic can be used in robot task planning.

[0005] The advantage of using linear temporal logic to describe tasks is that it has a relatively simple and intuitive expression method, and its correctness and completeness, but it also faces the problem of state explosion. In addition, the motion planning of the robot arm has a high dimension, and a single motion planning may fail due to exceeding the set time. SUMMARY

[0006] The object of the present application is to solve the technical problem that the mechanical arm needs manual task sequencing before performing a task in the prior art, and to realize the automation of the mechanical arm performing a task. To solve this technical problem, the present application proposes a mechanical arm task and motion planning method based on linear temporal logic, comprising the following steps:

[0007] S1, a mechanical arm task and motion planning model is built, the model comprising an upper task planning module, a coordination module and a lower motion planning module connected in sequence;

[0008] S2, the position information of the mechanical arm and its working environment is obtained by a camera, the position information of the mechanical arm and its working environment and the task information of the mechanical arm are input into the upper task planning module, and after processing, a feasibility network topology graph is obtained, a search-based planning algorithm is used to search on the feasibility network topology graph, a discrete path is obtained, and the discrete path is output as a task sequence;

[0009] S3, the coordination module receives the task sequence and segments, extracts the action sequence of the mechanical arm from the segmented task sequence, and sends the action sequence of the mechanical arm to the lower motion planning module as a planning suggestion;

[0010] S4, the lower motion planning module receives the planning suggestion, adopts a sampling-based planning algorithm to plan the motion of the mechanical arm according to the planning suggestion, obtains the motion trajectory of the mechanical arm, and judges whether the motion trajectory of the mechanical arm meets the requirements;

[0011] S5, if the motion trajectory of the mechanical arm meets the requirements, the lower motion planning module sends the information of successful planning and the motion trajectory of the mechanical arm meeting the requirements to the coordination module, and the coordination module outputs the motion trajectory of the mechanical arm.

[0012] Preferably, the method further comprises:

[0013] S6, if the motion trajectory of the mechanical arm does not meet the requirements, the lower motion planning module sends the information of failed planning to the upper task planning module through the coordination module, the upper task planning module modifies the weight of the edge composed of the nodes corresponding to the feasibility network topology graph according to the information of failed planning, re-searches on the feasibility network topology graph using the planning algorithm, obtains a new discrete path, outputs the new discrete path as an updated task sequence, and executes step S3.

[0014] Preferably, in S2, the position information of the mechanical arm and its working environment and the task information of the mechanical arm are input into the upper task planning module, and after processing, a feasibility network topology graph is obtained, which specifically comprises:

[0015] S21, the position information of the mechanical arm and its working environment is abstractly processed to obtain a weighted finite switching system;

[0016] S22, linear temporal logic language is used to describe task information of the robot arm, and a linear temporal logic expression of the robot arm task is obtained;

[0017] S23, the linear temporal logic expression of the robot arm task is converted into a Büchi automaton, and edges without actual meaning in the Büchi automaton are removed according to physical environment constraints, and an optimized Büchi automaton is obtained;

[0018] S24, Cartesian product of the optimized Büchi automaton and the weighted finite switch system is performed, and a feasibility network topology graph is obtained.

[0019] Preferably, the position information of the robot arm and its working environment in S21 is abstracted to obtain the weighted finite switch system, which specifically includes:

[0020] S211, action primitives of the robot arm are set, and a process in which the robot arm performs a task is abstracted into the action primitives of the robot arm and a position node set of an end of the robot arm according to the position information of the robot arm and its working environment;

[0021] S212, switching costs between different action primitives of the robot arm are set, and an action primitive switching relationship directed graph of the robot arm is constructed through the action primitives of the robot arm and the switching costs between different action primitives of the robot arm;

[0022] S213, weights of edges composed of any two different position nodes in the position node set of the end of the robot arm are set, and the weights of the edges composed of any two different position nodes are taken as switching costs between the two different position nodes of the end of the robot arm;

[0023] S214, an end position switching relationship directed graph of the robot arm is constructed according to the position node set of the end of the robot arm and the switching costs between any two different position nodes in the position node set of the end of the robot arm;

[0024] S215, Cartesian product of the action primitive switching relationship directed graph of the robot arm and the end position switching relationship directed graph of the robot arm is performed, and the weighted finite switch system is obtained.

[0025] Preferably, the weighted finite switch system is obtained in S215, and the weighted finite switch system can be specifically represented as:

[0026] TS = (S, δ, W, s0, AP, L)

[0027] S = (s0, s1,..., sn), n is a positive integer, and each si is a position node of the end of the robot arm. i ,...,s n×m-1 )

[0028] In the formula, TS is a weighted finite switching system, S is an abstract state node set of the weighted finite switching system, s0 is an initial state node of the weighted finite switching system, s0∈S, W is a weight function, δ is a switching relationship between different abstract state nodes, AP is an atomic proposition set, L is a label function, s i (i = 0, 1, 2,..., n x m - 1) is the i th abstract state node of the weighted finite switching system, n is the total number of action primitives of the robot arm, and m is the total number of position nodes of the robot arm end.

[0029] Preferably, the Büchi automaton in S23 can be specifically expressed by a formula as follows:

[0030] B = (Q, q0, Σ, δ B ,F B )

[0031] In the formula, B is a Büchi automaton, Q is a node set of the Büchi automaton, q0 is an initial node of the Büchi automaton, Σ is a Boolean expression set defined on the atomic proposition set AP, δ B is a switching function between different nodes in the Büchi automaton, F B is a set of accepted nodes of the Büchi automaton,

[0032] Preferably, the feasibility network topology graph in S24 can be specifically expressed by a formula as follows:

[0033]

[0034] In the formula, P = (S P , δ P , W P , s P0 , F P )

[0035] B' = (Q, q0, Σ, δ B' , F B' )

[0036] In the formula, P is a feasibility network topology graph, TS is a weighted finite switching system, B' is an optimized Büchi automaton, S P is a state node set of the feasibility network topology graph, s P0 is an initial state node of the feasibility network topology graph, s P0 ∈ S P , δ P is a switching function between different state nodes in the feasibility network topology graph, W P is a weight function, and F PQ is a set of accepting states, Q is a set of nodes of the Büchi automaton, q0 is an initial node of the Büchi automaton, Σ is a set of Boolean expressions defined on a set of atomic propositions AP, δ B' F is a switching function between different nodes in the optimized Büchi automaton, B' Q is a set of accepting nodes of the optimized Büchi automaton,

[0037] Preferably, the search-based planning algorithm in S2 searches on the feasible network topology, and the search-based planning algorithm is specifically a Dijkstra algorithm.

[0038] Preferably, the lower motion planning module in S4 receives the planning suggestion, and performs motion planning on the robot arm according to the planning suggestion by using a sampling-based planning algorithm, and the sampling-based planning algorithm is specifically an RRT-Connect algorithm.

[0039] The application further provides a robot arm task and motion planning system based on linear temporal logic, which is planned by using a robot arm task and motion planning method based on linear temporal logic, and the system comprises a camera, a robot arm and a computer, the camera is arranged in a working environment of the robot arm, the robot arm and the computer are connected through a ROS operating system, and a robot arm task and motion planning model is arranged in the computer, the model comprises an upper task planning module, a coordination module and a lower motion planning module connected in sequence,

[0040] The camera is used for acquiring position information of the robot arm and the working environment thereof.

[0041] The upper task planning module is used for processing the position information of the robot arm and the working environment thereof and task information of the robot arm to obtain a task sequence, and sending the task sequence to the coordination module; the upper task planning module receives planning failure information sent by the coordination module and processes the planning failure information to obtain an updated task sequence.

[0042] The coordination module is used for segmenting the task sequence sent by the upper task planning module and extracting a motion sequence of the robot arm, and feeding the motion sequence of the robot arm to the lower motion planning module as a planning suggestion; the coordination module receives planning information from the lower motion planning module, feeds back planning failure information to the upper task planning module if the planning information is planning failure, and directly outputs a motion trajectory of the robot arm meeting the requirements sent by the lower motion planning module if the planning information is planning success.

[0043] The lower layer motion planning module is configured to plan motion of the robot arm according to the planning suggestion sent by the coordination module, to obtain a motion trajectory of the robot arm, and if the motion trajectory meets the requirements, planning is successful, and the lower layer motion planning module sends information of the successful planning and the motion trajectory of the robot arm that meets the requirements to the coordination module, and if the motion trajectory of the robot arm does not meet the requirements, planning fails, and the lower layer motion planning module sends information of the failed planning to the coordination module.

[0044] The robot arm task and motion planning method and system based on linear temporal logic comprises the following steps: firstly, a robot arm task and motion planning model is built, and the system comprises an upper layer task planning module, a coordination module and a lower layer motion planning module connected in sequence; secondly, task information of the robot arm is obtained, and position information of the robot arm and its working environment is obtained through a camera, and the task information of the robot arm and the position information of the robot arm and its working environment are input into the upper layer task planning module, and after processing, a feasible network topology graph is obtained, a search-based planning algorithm is used to search on the feasible network topology graph to obtain a discrete path, and the discrete path is output as a task sequence; thirdly, the coordination module receives the task sequence and segments, and extracts a motion sequence of the robot arm from the segmented task sequence, and sends the motion sequence to the lower layer motion planning module as a planning suggestion; and fourthly, the lower layer motion planning module receives the planning suggestion, plans motion of the robot arm according to the planning suggestion, obtains a motion trajectory of the robot arm, and judges whether the motion trajectory of the robot arm meets the requirements, if the motion trajectory of the robot arm meets the requirements, the lower layer motion planning module sends information of the successful planning and the motion trajectory of the robot arm that meets the requirements to the coordination module, and the coordination module outputs the motion trajectory of the robot arm. The planning method uses linear temporal logic expressions to describe complex temporal tasks, uses simple language instead of complex natural language, simplifies the interaction mode between man and machine, does not need to set the motion sequence of the robot arm in advance, and only needs to input simple expressions to enable the robot arm to automatically complete the task, thereby enriching the use scenarios of the robot arm, reducing the number of nodes to be searched in task planning through reasonable abstraction and optimization of the automaton, relieving the state explosion problem caused by the use of linear temporal logic, shortening the total search time, improving the timeliness of the system, and effectively preventing possible steps that cannot be implemented in task planning through the addition of feedback in the overall planning framework, thereby improving the success rate. BRIEF DESCRIPTION OF DRAWINGS

[0045] Figure 1 is a flowchart of a robot arm task and motion planning method based on linear temporal logic in an embodiment of the present application;

[0046] Figure 2 is a framework diagram of a robot arm task and motion planning system based on linear temporal logic in an embodiment of the present application;

[0047] Figure 3is an algorithm flowchart of an upper task planning module in an embodiment of the present application;

[0048] Figure 4 is a mechanical arm action primitive switching relationship directed graph in an embodiment of the present application;

[0049] Figure 5 is a mechanical arm end position switching relationship directed graph when the mechanical arm performs an object processing, storage and other task in an embodiment of the present application;

[0050] Figure 6 is a Büchi automaton converted from a task of a mechanical arm in an embodiment of the present application;

[0051] Figure 7 is an optimized Büchi automaton converted from a task of a mechanical arm in an embodiment of the present application and optimized;

[0052] Figure 8 is a simulation working environment in an embodiment of the present application. DETAILED DESCRIPTION

[0053] In order to make the person in the art better understand the technical scheme of the present application, the present application will be further described in detail below with reference to the drawings.

[0054] The mechanical arm task and motion planning method based on linear temporal logic specifically comprises:

[0055] S1, a mechanical arm task and motion planning model is built, the model comprising an upper task planning module, a coordination module and a lower motion planning module connected in sequence;

[0056] S2, position information of the mechanical arm and its working environment is acquired through a camera, the position information of the mechanical arm and its working environment and task information of the mechanical arm are input into the upper task planning module, a feasibility network topology graph is obtained after processing, a search-based planning algorithm is used to search on the feasibility network topology graph, a discrete path is obtained, and the discrete path is output as a task sequence;

[0057] S3, the coordination module receives the task sequence and segments, extracts a mechanical arm action sequence from the segmented task sequence, and sends the mechanical arm action sequence as a planning suggestion to the lower motion planning module;

[0058] S4, the lower motion planning module receives the planning suggestion, adopts a sampling-based planning algorithm to plan the motion of the mechanical arm according to the planning suggestion, obtains a motion trajectory of the mechanical arm, and judges whether the motion trajectory of the mechanical arm meets the requirements;

[0059] S5, if the motion trajectory of the robot arm meets the requirements, the lower motion planning module sends the information of successful planning and the motion trajectory of the robot arm meeting the requirements to the coordination module, and the coordination module outputs the motion trajectory of the robot arm.

[0060] Specifically, referring to Figure 1 , Figure 1 is a flowchart of a robot arm task and motion planning method based on linear temporal logic in an embodiment of the present application, Figure 2 is a framework diagram of a robot arm task and motion planning system based on linear temporal logic in an embodiment of the present application.

[0061] The robot arm task and motion planning method based on linear temporal logic first builds a robot arm task and motion planning model, which includes an upper task planning module, a coordination module and a lower motion planning module connected in sequence; then the task information of the robot arm is obtained, and the position information of the robot arm and its working environment is obtained through a camera, the task information of the robot arm, the position information of the robot arm and its working environment are input into the upper task planning module, and after processing, a feasibility network topology graph is obtained, according to the initial state node and the final state node set on the feasibility network topology graph, a search-based planning algorithm is used on the feasibility network topology graph to search for a path, and the multiple discrete paths searched out are discrete paths between the initial state node and a node in the final state node set. Compare the costs of multiple discrete paths to get the discrete path with the lowest cost. Since the feasibility network topology graph integrates task constraints and environmental constraints, any discrete path searched out can meet the constraints of both, and the discrete path is output as a task sequence; then the coordination module receives the task sequence and segments, since the discrete path is a string of abstract state nodes, the coordination module receives the task sequence and segments, which is to segment according to the switching between every two adjacent abstract state nodes in the string of abstract state nodes, extract the motion sequence of the robot arm from the segmented task sequence, and send the motion sequence as a planning suggestion to the lower motion planning module; then the lower motion planning module uses a planning algorithm to plan the motion of the robot arm according to the planning suggestion, obtains the motion trajectory of the robot arm, judges whether the motion trajectory of the robot arm meets the requirements, if the motion trajectory of the robot arm meets the requirements (that is, the robot arm will not collide during the motion), the planning is successful, and the information of "planning success" and the motion trajectory of the robot arm meeting the requirements are sent to the coordination module, the coordination module receives the information of successful planning, and outputs the motion trajectory of the robot arm meeting the requirements.

[0062] In one embodiment, the method further comprises:

[0063] S6, if the motion trajectory of the robot arm does not meet the requirements, the lower motion planning module sends the planning failure information to the upper task planning module through the coordination module, the upper task planning module modifies the weight of the edge between the nodes corresponding to the feasibility network topology graph according to the planning failure information, re-searches on the feasibility network topology graph by using the planning algorithm, obtains a new discrete path, outputs the new discrete path as an updated task sequence, and executes step S3.

[0064] Specifically, if the motion trajectory of the robot arm does not meet the requirements (that is, the robot arm will collide in the motion process), planning fails, and after the re-planning within a specified time still fails, the information of "planning failure" and the planning suggestion corresponding to the planning failure are sent to the coordination module, the coordination module processes the planning suggestion corresponding to the planning failure to obtain the state node information corresponding to the planning failure, sends the state node information corresponding to the planning failure to the upper task planning module, the upper task planning module finds the corresponding edge in the feasibility network topology graph according to the state node information corresponding to the planning failure, increases the weight of the corresponding edge, and re-searches on the feasibility network topology graph by using the planning algorithm to obtain a new discrete path, outputs the new discrete path as an updated task sequence, executes step S3, and finally successfully plans a continuous motion trajectory, which is transmitted to the robot arm to drive the robot arm to perform and complete the task.

[0065] In one embodiment, the position information of the robot arm and its working environment and the task information of the robot arm are input into the upper task planning module in S2, and after processing, a feasibility network topology graph is obtained, which specifically includes:

[0066] S21, the position information of the robot arm and its working environment is abstractly processed to obtain a weighted finite switching system;

[0067] S22, the task information of the robot arm is described using a linear temporal logic language to obtain a linear temporal logic expression of the robot arm task;

[0068] S23, the linear temporal logic expression of the robot arm task is converted into a Büchi automaton, and the Büchi automaton is removed from the Büchi automaton without actual meaning according to the physical environment constraint to obtain an optimized Büchi automaton;

[0069] S24, the optimized Büchi automaton is Cartesian multiplied with the weighted finite switching system to obtain a feasibility network topology graph.

[0070] Specifically, referring to Figure 3 , Figure 3 is the algorithm flowchart of the upper task planning module in an embodiment of the present application, and the process of obtaining the feasibility network topology graph is as follows:

[0071] 1) Abstracting the position information of the robot arm and its working environment to obtain a weighted finite switching system

[0072] The process of the robot arm performing a task is abstracted into two parts, including the action primitives of the robot arm and the position node set of the end of the robot arm. The action primitive switching relationship directed graph of the robot arm and the end position switching relationship directed graph of the robot arm are constructed through the action primitives of the robot arm and the position node set of the end of the robot arm, respectively. The two directed graphs are Cartesian multiplied to obtain a weighted finite switching system.

[0073] 2) Using a linear temporal logic language to describe the task information of the robot arm to obtain a linear temporal logic expression of the robot arm task

[0074] The atomic propositions in the atomic proposition set are used to describe all possible states of the robot arm, and the task information is composed of these states. The linear temporal logic expression is composed of standard Boolean operators, temporal operations, and atomic propositions. Multiple tasks of the robot arm are described through the linear temporal logic expression. The linear temporal logic syntax is defined as follows:

[0075]

[0076] wherein, is an atomic proposition, AP is an atomic proposition set, that is, all possible states of the robot arm, and the symbols “^” and “¬” are standard Boolean operators, representing “and” and “not”, respectively. F, G, and U are temporal operators, representing eventually, always, and until, respectively. Fφ0 represents that φ0 eventually holds at a certain time, Gφ4 represents that φ4 always holds, and φ5Uφ6 represents that φ5 always remains true until φ6 holds.

[0077] 3) Converting the linear temporal logic expression of the robot arm task into a Büchi automaton, and removing edges that are actually impossible to exist in the Büchi automaton according to physical environment constraints to obtain an optimized Büchi automaton.

[0078] 4) Fusing the position information of the robot arm and its working environment and the task information of the robot arm, that is, performing Cartesian multiplication on the weighted finite switching system and the optimized Büchi automaton to obtain a feasible network topology graph.

[0079] In one embodiment, the position information of the robot arm and its working environment is abstracted in S21 to obtain a weighted finite switching system, specifically including:

[0080] S211, set the motion primitive of the robot arm, abstract the process of the robot arm performing a task according to the position information of the robot arm and its working environment into the motion primitive of the robot arm and the position node set of the end of the robot arm;

[0081] S212, set the switching cost of the robot arm between different motion primitives, and construct the motion primitive switching relationship directed graph of the robot arm by the motion primitive of the robot arm and the switching cost of the robot arm between different motion primitives;

[0082] S213, set the weight of the edge composed of any two different position nodes in the position node set of the end of the robot arm, and take the weight of the edge composed of any two different position nodes as the switching cost of the end of the robot arm between the two different position nodes;

[0083] S214, construct the position switching relationship directed graph of the end of the robot arm according to the position node set of the end of the robot arm and the switching cost between any two different position nodes in the position node set of the end of the robot arm;

[0084] S215, perform Cartesian product on the motion primitive switching relationship directed graph of the robot arm and the position switching relationship directed graph of the end of the robot arm to obtain a weighted finite switching system.

[0085] Specifically, the process of the robot arm performing a task is abstracted into the motion primitive of the robot arm and the position node set of the end of the robot arm according to the position information of the robot arm and its working environment, the switching cost of the robot arm between different motion primitives and between different position nodes is set, the motion primitive switching relationship directed graph of the robot arm is obtained by the motion primitive of the robot arm and the switching cost of the robot arm between different motion primitives, and the motion primitive switching relationship directed graph of the robot arm is used to describe the switching relationship between different motion primitives of the robot arm. The motion primitive switching relationship directed graph of the robot arm can be represented by the following tuple:

[0086] A=(act,W A ,δ A )

[0087] In the formula, A is the motion primitive switching relationship directed graph of the robot arm, act is the motion primitive of the robot arm, act={act1,act2,…,act n}, δ A is the switching function between motion primitives, and W A is the switching cost between motion primitives.

[0088] The mechanical arm position switching relationship directed graph is constructed by the position node set at the end of the mechanical arm and the switching cost of the mechanical arm between different position nodes, and the mechanical arm position switching relationship directed graph is used to describe the switching relationship between different position nodes of the end of the mechanical arm when the mechanical arm performs a task. The mechanical arm end position switching relationship directed graph can be represented by the following tuple:

[0089] L=(loc,δ Loc , W Loc )

[0090] loc is the position of the end of the mechanical arm after performing a task (that is, the node of the mechanical arm end position switching relationship directed graph after the mechanical arm performs a task), loc={l1, l2,...,l m}, δ Loc represents the switching function between different position nodes of the end of the mechanical arm, and W Loc is the switching cost between different position nodes of the end of the mechanical arm. The switching cost W Loc is calculated as follows: if the mechanical arm can switch between any two different position nodes, then the switching cost W Loc between the two different position nodes of the end of the mechanical arm is the distance between the two different position nodes; if the mechanical arm cannot switch between any two different position nodes, then the switching cost W Loc between the two different position nodes of the end of the mechanical arm is set to infinity.

[0091] The mechanical arm action primitive switching relationship directed graph and the mechanical arm end position switching relationship directed graph are subjected to Cartesian product to obtain a weighted finite switching system.

[0092] In one embodiment, the weighted finite switching system obtained in S215 can be specifically represented as:

[0093] TS=(S,δ,W,s0,AP,L)

[0094] Wherein, S=(s0,s1,...,s i ,...,s n×m-1 )

[0095] In the formula, TS is a weighted finite switching system, S is an abstract state node set of the weighted finite switching system, s0 is an initial state node of the weighted finite switching system, s0∈S, W is a weight function, δ is a switching relationship between different abstract state nodes, AP is an atomic proposition set, and L is a marking function, s i(i = 0, 1, 2, ..., n × m - 1) is the i-th abstract state node of the weighted finite switching system, n is the total number of action primitives of the robotic arm, and m is the total number of position nodes at the end of the robotic arm.

[0096] Specifically, the weighted finite switching system is represented by a single tuple, namely:

[0097] TS=(S,δ,W,s0,AP,L)

[0098] in,

[0099] S=(s0,s1,...,s i ,...,s n×m-1 )

[0100] In the formula, TS is a weighted finite handover system, and S is a finite set of abstract state nodes in the weighted finite handover system, S = (s0, s1, ..., s2). n×m-1 ), s0∈S are the initial state nodes of the weighted finite switching system, δ is the switching relationship between different abstract state nodes, AP is the set of atomic propositions, and the atomic propositions in the set of atomic propositions are used to describe all possible states of the robotic arm, L is the labeling function, L: S→2 AP , L(s i ) represents the i-th abstract state node s of the robotic arm in the weighted finite switching system. i The set of atomic propositions possessed by the robotic arm at the abstract state node s. i If there are no atomic propositions, then L(s) i ) is an empty set, and in this invention, the abstract state node s i The name of the abstract node is represented by the robot's action primitive and position at that node. For example, for a certain abstract node, if the robot's action primitive at that node is `grasp` and the robot's end effector position is `l1`, then the name of this abstract node is set to `grasp_l1`. W is the weight function, used to represent the switching cost of the robot between two different abstract state nodes. The switching cost W between different action primitives is used to represent this cost. A The switching cost W between two different position nodes of the robotic arm end effector. Loc Expressed as the sum of, i.e.: W = W A +W Loc .

[0101] The abstract state node set S contains the actions that the robotic arm needs to perform when executing a task in the working environment, and the coordinates of the positions that the robotic arm may reach when performing the task. The abstract state node s in the abstract state node set S i It can be represented by a tuple, that is:

[0102] s i= (act k , loc l )

[0103] wherein: act k is the kth action primitive of the set of action primitives of the robot arm, k = 1, 2,..., n, i.e. the actions that the robot arm can perform, loc l is the lth position of the end effector of the robot arm after performing a certain task, l = 1, 2,..., m.

[0104] In one embodiment, the Büchi automaton in S23 can be specifically expressed by a formula as follows:

[0105] B = (Q, q0, Σ, δ B , F B )

[0106] wherein B is the Büchi automaton, Q is the node set of the Büchi automaton, q0is the initial node of the Büchi automaton, Σ is the set of Boolean expressions defined on the set of atomic propositions AP, δ B is the switching function between different nodes in the Büchi automaton, and F B is the set of accepting nodes of the Büchi automaton.

[0107] Specifically, the Büchi automaton is used to describe the tasks of the robot arm, and each node of the Büchi automaton represents the completion of a certain task of the robot arm. Starting from the initial node of the Büchi automaton, the robot arm state, i.e. L(s i , is continuously detected, and if it is detected that the robot arm has a switching function δ B that satisfies the current state, the robot arm is switched from the current node to the next node until the robot arm reaches a certain accepting state, i.e. the final state, i.e. the task is completed (i.e. the robot arm completes all assigned tasks). The Büchi automaton can be expressed by a tuple as follows:

[0108] B = (Q, q0, Σ, δ B , F B )

[0109] wherein B is the Büchi automaton, Q is the node set of the Büchi automaton, Q = (q0, q1,..., q p-1 , p is the total number of nodes of the Büchi automaton, q0is the initial node of the Büchi automaton, Σ is the set of Boolean expressions defined on the set of atomic propositions AP, Σ = 2 AP , δ B is the switching function between different nodes in the Büchi automaton, and qi ∈δ B (q j ) represents that the i-th node in the Büchi automaton can switch to the j-th node, F B is a set of accepting nodes of the Büchi automaton,

[0110] In one embodiment, the feasible network topology graph obtained in S24 can be specifically expressed by a formula as follows:

[0111]

[0112] Wherein, P=(S P ,δ P ,W P ,s P0 ,F P )

[0113] B'=(Q,q0,Σ,δ B' ,F B' )

[0114] Wherein, P is the feasible network topology graph, TS is the weighted finite switching system, B' is the optimized Büchi automaton, S P is a set of state nodes of the feasible network topology graph, s P0 is an initial state node of the feasible network topology graph, s P0 ∈S P ,δ P is a switching function between different state nodes in the feasible network topology graph, W P is a weight function, F P is a set of accepting states, Q is a set of nodes of the Büchi automaton, q0 is an initial node of the Büchi automaton, Σ is a set of Boolean expressions defined on the set of atomic propositions AP, δ B' is a switching function between different nodes in the optimized Büchi automaton, F B' is a set of accepting nodes of the optimized Büchi automaton,

[0115] Specifically, the feasible network topology graph is constructed by taking the Cartesian product of the weighted finite switching system and the optimized Büchi automaton. The feasible network topology graph can be expressed as:

[0116]

[0117] Wherein, P=(S P ,δ P ,W P ,SP0 ,F P )

[0118] B' = (Q, q0,∑, δ B' ,F B' )

[0119] S P = S x Q

[0120] s P0 = s0x q0

[0121] F P = Q x F B'

[0122] where P is a feasible network topology graph, TS is a weighted finite switching system, B' is an optimized Büchi automaton, S P is a state node set of the feasible network topology graph, the ith state node S Pi of the feasible network topology graph can be represented as (s j , q l )j∈(0, n x m - 1), l∈(0, p - 1), s P0 is an initial state node of the feasible network topology graph, s P0 ∈ S P , q0 is an initial node of the Büchi automaton, δ P is a switching function between different state nodes in the feasible network topology graph, F P is an accepting state node set, that is, a final state node set, Q is a node set of the Büchi automaton, δ B' is a switching function between different nodes in the optimized Büchi automaton, F B' is a set of accepting nodes of the optimized Büchi automaton, W P is a weight function.

[0123] δ P is a switching function, which means that (s j , q i )∈ δ k (s B , q l ) if and only if s i ∈ δ k (s P , q j ) and q )(s i ,q k ) can switch to (s j ,q l ) when the ith abstract state node in the weighted finite switch system can switch to the jth abstract state node and the kth node in the Büchi automaton can switch to the lth node. i k j l

[0124] W P is a weight function, which means that for all ((s i ,q k ),(s j ,q l ))∈δ P , the weight W(s i ,s j ) of the edge (s i ,s j ) composed of the corresponding nodes s i and s j in the weighted finite switch system is taken as the weight W i ((s k ,q j ),(s l ,q P )) of the edge composed of the two nodes (s i ,q k ) and (s j ,q l ) in the feasibility network topology graph, that is:

[0125] W P ((s i ,q k ),(s j ,q l ))=W(s i ,s j ).

[0126] In an embodiment, the search-based planning algorithm adopted in S2 searches on the feasibility network topology graph, and the search-based planning algorithm is specifically a Dijkstra algorithm.

[0127] Specifically, according to the initial state node on the feasibility network topology graph and the final state node set (containing several final state nodes), a search-based planning algorithm (such as A* or Dijkstra algorithm) is used on the feasibility network topology graph to search for paths, and several paths searched out are paths between the initial state node and a final state node in the acceptance state set, thereby obtaining several discrete paths. Since the feasibility network topology graph integrates task constraints and environmental constraints, any discrete path searched out can satisfy both constraints. After comparing the costs (that is, the sum of the weights of the edges on each path) of several discrete paths, the optimal discrete path is obtained.

[0128] In one embodiment, the lower layer motion planning module in S4 receives the planning suggestion, and plans the motion of the robot arm according to the planning suggestion using a sampling-based planning algorithm, which is specifically an RRT-Connect algorithm.

[0129] Specifically, in order to improve the success rate of planning of the lower layer motion planning module within a specified time, the lower layer motion planning module plans the motion of the robot arm using a sampling-based planning algorithm, such as an RRT (Rapidly-exploring Random Tree) algorithm and an RRT-Connect algorithm. Compared with the RRT algorithm, the RRT-Connect algorithm has a significant improvement in search success rate and speed.

[0130] In a more detailed embodiment, the robot arm performs the task of "the robot arm starts from work area 1, places the object located in work area 0 to work area 3 for processing, then picks up the object and finally places it in work area 4 for storage", to further illustrate the robot arm task and motion planning method.

[0131] 1. Abstract the robot arm and its working environment to construct a weighted finite switching system.

[0132] 1) Abstract the robot arm and its working environment

[0133] The camera is fixed on a tripod outside the robot arm, and the position coordinates of the task execution locations of the robot arm in the working environment, such as object processing and storage, are determined through the camera. The robot arm and its working space are abstracted to determine the abstract node set of the robot arm, which can be represented by a tuple, that is:

[0134] S = (s0, s1,..., s i ,...,s n×m-1 )

[0135] Wherein, s i = (actk ,loc l )

[0136] wherein, act k is the kth action primitive of the robot arm, k = 1, 2,..., n, in this embodiment, k = 4, namely: act1 = move, move represents the movement of the robot arm in the state without grasping objects (corresponding to the movement of the robot arm in the release state in Figure 4 ), act2 = grasp, grasp represents the end of the robot arm grasping, act3 = hold, hold represents the movement of the robot arm in the state with grasping objects (corresponding to the movement of the robot arm in the grasping state in Figure 4 ), and act4 = place, place represents the release of the end of the robot arm. There are constraints in the switching between these action primitives of the robot arm, in this embodiment, the switching cost between the action primitives is set to zero, thereby obtaining the directed graph of the switching relationship between the action primitives of the robot arm, which can be specifically referred to in Figure 4 .

[0137] loc l is the lth position of the end of the robot arm after performing a task, l = 1, 2,..., m, loc0, loc1, loc2, loc3, loc4 are equivalent to l0, l1, l2, l3, l4 in Figure 5 . In Figure 5 , the distance between any two positions (corresponding to the value of the edge between any two nodes in Figure 5 ) is taken as the switching cost of the end of the robot arm between the two positions, thereby obtaining the directed graph of the switching relationship between the positions of the end of the robot arm when the robot arm performs tasks such as processing and storage, which can be referred to in Figure 5 . In Figure 5 , l0, l1, l2, l3, l4 in the circle represent five different positions in the working area, that is, the positions of the end of the robot arm after performing a task.

[0138] 2) Construct a weighted finite switching system

[0139] The above directed graph of the switching relationship between the action primitives of the robot arm and the directed graph of the switching relationship between the positions of the end of the robot arm are subjected to Cartesian product to construct a weighted finite switching system, the node s i in the weighted finite switching system can be represented by a tuple s i = (act k , loc l ), which contains the action primitive act k performed by the robot arm and the position loc lThe value (i.e. weight) on the edge between two nodes in the weighted finite switching system is the switching cost of the robot arm between the two nodes. According to the task description, the initial state node of the weighted finite switching system is place_l1, which means the robot arm is in work area 1 and the end effector is in the released state.

[0140] 2. Use linear temporal logic to describe the robot task and convert it into a Büchi automaton, and then optimize the obtained Büchi automaton according to the physical environment constraints.

[0141] 1) Convert the robot task into a linear temporal logic expression.

[0142] As the previous task requirement is "put the object in work area 0 to work area 3 for processing, then grasp the object and finally put it in work area 4 for storage", it can be described by a linear temporal logic expression as follows:

[0143]

[0144] wherein, l j represents the work area j, and grasp_l0 represents the robot arm performing a grasping action in work area 0.

[0145] 2) After obtaining the task requirement described by a linear temporal logic expression, convert the expression into a Büchi automaton. Figure 6 The Büchi automaton converted from the above linear temporal logic expression is shown in FIG. 2. Since Figure 6 the edges between some state nodes in the Büchi automaton do not conform to the real physical environment, for example, "grasp_l0 ∧ place_l3" describes a situation where the robot arm simultaneously performs grasping in work area 0 and placing in work area 3, which is impossible to achieve, therefore, these edges that do not conform to the actual physical meaning can be removed, which can speed up the subsequent planning. Thus, the optimized Büchi automaton is obtained, as shown in FIG. 3. Figure 7 . Figure 6 and Figure 7 The init in FIGS. 2 and 3 means that the entire task state is in the initial state and has not started to be executed, and the double circle represents the final state, i.e. the task is completed.

[0146] Taking Figure 7 as an example, in the optimized Büchi automaton, the init means that the robot arm does nothing and the task completion condition is in the initial state, Figure 7 the 1 on the edge between nodes in Figure 7If the edge between the nodes is described as grasp_l0, it means that the automaton detects that the robot has completed this action. For example, node 4 (circle 4) means that the Büchi automaton detects that the robot has completed the grasp_l0 action, and node 3 (circle 3) means that the Büchi automaton detects that the robot has completed the grasp_l0 and place_l3 actions, Figure 7 The double circle in the middle of the nodes represents the final state, that is, the completion of the task.

[0147] 3. Construct a feasible network topology graph.

[0148] In order to ensure that the path searched can achieve the task requirements while meeting the work environment constraints, the weighted finite switching system TS obtained by abstracting the position information of the robot and its work space is Cartesian multiplied with the optimized Büchi automaton obtained by the task information of the robot, to obtain a feasible network topology graph.

[0149] 4. Search for the optimal discrete path on the feasible network topology graph.

[0150] According to the initial state node and the final receiving state node set on the feasible network topology graph, A* or Dijkstra algorithm is used to search for paths on the feasible network topology graph, a plurality of paths are searched, the costs (that is, the sum of the weights of the edges on each path) of the plurality of paths are compared, and the path with the lowest cost is taken as the optimal discrete path.

[0151] The optimal discrete path obtained in this embodiment is "place_l1, move_l0, grasp_l0, hold_l3, place_l3, grasp_l3, hold_l4, place_l4", and the cost used is 6.

[0152] 5. The discrete path is sent to the coordination module as a task sequence, the coordination module extracts the action sequence of the robot from the received task sequence, segments the work sequence, sends a planning suggestion to the lower motion planning module, and the lower motion planning module receives the planning suggestion and plans the motion for each segment. If the motion planning fails, and the re-planning still fails within a specified time, the planning failure information is fed back to the upper task planning module through the coordination module, the upper task planning module modifies the weight of the corresponding edge in the feasible network topology graph according to the planning failure information, and then jumps to step 4 until a continuous motion trajectory is successfully planned, the motion trajectory is transmitted to the robot, and the robot is driven to execute and complete the task.

[0153] On the experimental platform (see Figure 8The optimal discrete path in this example is run in the cost of 6, and the verification of the discrete path by manual calculation verifies that the discrete path is the path with the lowest cost, the planning uses the time of 0.20006 seconds, the speed is fast, and the feasibility of the present application and the optimality of the task cost are verified, but the present application is not limited to this example, and the present application can be extended by adding the number of objects, adding new action primitives (push, pull, end rotation, etc.), and the like.

[0154] In one embodiment, the linear temporal logic-based robot arm task and motion planning system adopts a linear temporal logic-based robot arm task and motion planning method for planning, and the system comprises a camera, a robot arm and a computer, the camera is arranged in the working environment of the robot arm, the robot arm and the computer are connected through a ROS operating system, and a robot arm task and motion planning model is arranged in the computer, the model comprises an upper task planning module, a coordination module and a lower motion planning module connected in sequence,

[0155] The camera is used to acquire position information of the robot arm and its working environment;

[0156] The upper task planning module is used to process the position information of the robot arm and its working environment and the task information of the robot arm to obtain a task sequence, and send the task sequence to the coordination module; the upper task planning module receives planning failure information sent by the coordination module and processes the planning failure information to obtain an updated task sequence;

[0157] The coordination module is used to segment the task sequence sent by the upper task planning module and extract a motion sequence of the robot arm, and send the motion sequence of the robot arm as a planning suggestion to the lower motion planning module; the coordination module receives planning information from the lower motion planning module, if the planning information is planning failure, feedback information of planning failure to the upper task planning module, if the planning information is planning success, directly output the motion trajectory of the robot arm meeting the requirements sent by the lower motion planning module;

[0158] The lower motion planning module is used to plan the motion of the robot arm according to the planning suggestion sent by the coordination module to obtain a motion trajectory of the robot arm, if the motion trajectory meets the requirements, planning success, send the information of planning success and the motion trajectory of the robot arm meeting the requirements to the coordination module, if the motion trajectory of the robot arm does not meet the requirements, planning failure, send the information of planning failure to the coordination module.

[0159] The specific definition of the linear temporal logic-based robot arm task and motion planning system can be referred to the definition of the linear temporal logic-based robot arm task and motion planning in the foregoing, which will not be repeated here.

[0160] The mechanical arm task and motion planning method and system based on linear temporal logic first builds a mechanical arm task and motion planning model, the system includes an upper task planning module, a coordination module and a lower motion planning module connected in turn; then the task information of the mechanical arm is obtained, and the position information of the mechanical arm and its working environment is obtained through the camera, the task information of the mechanical arm and the position information of the mechanical arm and its working environment are input into the upper task planning module, and after processing, a feasible network topology graph is obtained, a search-based planning algorithm is used to search on the feasible network topology graph to obtain a discrete path, and the discrete path is output as a task sequence; then the coordination module receives the task sequence and segments, extracts the action sequence of the mechanical arm from the segmented task sequence, and sends the action sequence to the lower motion planning module as a planning suggestion; then the lower motion planning module receives the planning suggestion, adopts a planning algorithm to plan the motion of the mechanical arm according to the planning suggestion, obtains the motion trajectory of the mechanical arm, judges whether the motion trajectory of the mechanical arm meets the requirements, if the motion trajectory of the mechanical arm meets the requirements, the lower motion planning module sends the information of successful planning and the motion trajectory of the mechanical arm meeting the requirements to the coordination module, and the coordination module outputs the motion trajectory of the mechanical arm. The planning method describes complex time sequence tasks by using linear temporal logic expressions, uses simple language instead of complex natural language, simplifies the interaction between man and machine, no longer needs to set the action sequence of the mechanical arm in advance, only needs to input a simple expression, and can automatically complete the task of the mechanical arm, enriches the use scene of the mechanical arm, reduces the number of search nodes in task planning through reasonable abstraction and optimization of the automaton, alleviates the state explosion problem caused by using linear temporal logic, shortens the total search time, improves the timeliness of the system, and effectively prevents the possible unachievable steps in task planning by adding feedback in the overall planning framework, and improves the success rate.

[0161] The mechanical arm task and motion planning method and system based on linear temporal logic provided by the application are described in detail above. The principles and implementation modes of the application are described by applying specific examples in this paper, and the above description of the embodiments is only used to help understand the core idea of the application. It should be pointed out that for ordinary skilled persons in the technical field, some improvements and modifications can be made to the application without departing from the principles of the application, and these improvements and modifications also fall within the protection scope of the claims of the application.

Claims

1. A robotic arm task and motion planning method based on linear sequential logic, characterized in that, The method includes: S1. Construct a task and motion planning model for the robotic arm, the model including an upper-level task planning module, a coordination module and a lower-level motion planning module connected in sequence; S2. The position information of the robotic arm and its working environment is acquired through the camera. The position information of the robotic arm and its working environment and the task information of the robotic arm are input into the upper-level task planning module. After processing, a feasibility network topology map is obtained. A search-based planning algorithm is used to search on the feasibility network topology map to obtain discrete paths. The discrete paths are output as task sequences. S3. The coordination module receives the task sequence and segments it, extracts the action sequence of the robotic arm from the segmented task sequence, and sends the action sequence of the robotic arm as a planning suggestion to the lower-level motion planning module. S4. The lower-level motion planning module receives the planning suggestion, performs motion planning for the robotic arm using a sampling-based planning algorithm based on the planning suggestion, obtains the motion trajectory of the robotic arm, and determines whether the motion trajectory of the robotic arm meets the requirements. S5. If the motion trajectory of the robotic arm meets the requirements, the lower-level motion planning module sends the successful planning information and the motion trajectory of the robotic arm that meets the requirements to the coordination module, and the coordination module outputs the motion trajectory of the robotic arm.

2. The robotic arm task and motion planning method based on linear sequential logic as described in claim 1, characterized in that, The method further includes: S6. If the motion trajectory of the robotic arm does not meet the requirements, the lower-level motion planning module sends the planning failure information to the upper-level task planning module through the coordination module. The upper-level task planning module modifies the weights of the edges formed between the corresponding nodes in the feasibility network topology graph according to the planning failure information, and uses a planning algorithm to search again on the feasibility network topology graph to obtain a new discrete path. The new discrete path is output as the updated task sequence, and step S3 is executed.

3. The robotic arm task and motion planning method based on linear sequential logic as described in claim 2, characterized in that, In step S2, the position information of the robotic arm and its working environment, as well as the task information of the robotic arm, are input into the upper-level task planning module. After processing, a feasibility network topology diagram is obtained, specifically including: S21. Abstract the position information of the robotic arm and its working environment to obtain a weighted finite switching system; S22. Use linear sequential logic language to describe the task information of the robotic arm and obtain the linear sequential logic expression of the robotic arm task; S23. Convert the linear sequential logic expression of the robotic arm task into a Büchi automaton, and remove meaningless edges from the Büchi automaton according to physical environment constraints to obtain an optimized Büchi automaton. S24. Perform a Cartesian product between the optimized Büchi automaton and the weighted finite switching system to obtain a feasible network topology diagram.

4. The robotic arm task and motion planning method based on linear sequential logic as described in claim 3, characterized in that, In step S21, the position information of the robotic arm and its working environment is abstracted to obtain a weighted finite switching system, which specifically includes: S211. Set the motion primitives of the robotic arm. Based on the position information of the robotic arm and its working environment, the process of the robotic arm performing tasks is abstracted into the motion primitives of the robotic arm and the set of position nodes at the end of the robotic arm. S212. Set the switching cost of the robotic arm between different action primitives, and construct a directed graph of the switching relationship between the action primitives of the robotic arm and the switching cost of the robotic arm between different action primitives. S213. Set the weight of the edge formed by any two different position nodes in the position node set of the robotic arm end, and use the weight of the edge formed by any two different position nodes as the switching cost of the robotic arm end between the two different position nodes. S214. Construct a directed graph of the position switching relationship of the robotic arm end-effector based on the set of position nodes at the end of the robotic arm and the switching cost between any two different position nodes in the set of position nodes at the end of the robotic arm. S215. Perform a Cartesian product on the directed graph of the switching relationship between the motion primitives of the robotic arm and the directed graph of the switching relationship between the end position of the robotic arm to obtain a weighted finite switching system.

5. The robotic arm task and motion planning method based on linear sequential logic as described in claim 4, characterized in that, The weighted limited handover system obtained in S215 can be specifically represented as follows: TS=(S,δ,W,s0,AP,L) Where S = (s0, s1, ..., s i ,...,s n×m-1 ) In the formula, TS is a weighted finite switching system, S is the set of abstract state nodes of the weighted finite switching system, s0 is the initial state node of the weighted finite switching system, s0∈S, W is the weight function, δ is the switching relationship between different abstract state nodes, AP is the set of atomic propositions, L is the labeling function, and s i (i = 0, 1, 2, ..., n × m - 1) is the i-th abstract state node of the weighted finite switching system, n is the total number of action primitives of the robotic arm, and m is the total number of position nodes at the end of the robotic arm.

6. The robotic arm task and motion planning method based on linear sequential logic as described in claim 5, characterized in that, The Büchi automaton in S23 can be specifically represented by the following formula: B=(Q,q0,Σ,δ B ,F B ) In the formula, B is the Büchi automaton, Q is the node set of the Büchi automaton, and q0 is the initial node of the Büchi automaton. Σ is the set of Boolean expressions defined on the set of atomic propositions AP, and δ B F is the switching function between different nodes in the Büchi automaton. B Let Büchi automata be the set of nodes that accept the nodes.

7. The robotic arm task and motion planning method based on linear sequential logic as described in claim 6, characterized in that, In step S24, a feasible network topology diagram is obtained, which can be specifically expressed by the following formula: where P = (S P , δ P , W P , s P0 , F P ) B'=(Q,q0,Σ,δ B' ,F B' ) Where P is the feasible network topology, TS is the weighted finite switching system, B' is the optimized Büchi automaton, and S... P s is the set of state nodes in the feasible network topology graph. P0 s represents the initial state node of the feasible network topology graph. P0 ∈S P δ P W is the switching function between nodes in different states in the feasible network topology graph. P Let F be the weighting function. P Let Q be the set of accepting states, Q be the set of nodes in the Büchi automaton, and q0 be the initial node of the Büchi automaton. Σ is the set of Boolean expressions defined on the set of atomic propositions AP, and δ B' F is the switching function between different nodes in the optimized Büchi automaton. B' The optimized Büchi automaton accepts a set of nodes.

8. The robotic arm task and motion planning method based on linear sequential logic as described in claim 7, characterized in that, In S2, a search-based planning algorithm is used to search the feasible network topology graph. Specifically, the search-based planning algorithm is Dijkstra's algorithm.

9. The robotic arm task and motion planning method based on linear sequential logic as described in claim 8, characterized in that, In S4, the lower-level motion planning module receives the planning suggestion and performs motion planning for the robotic arm using a sampling-based planning algorithm based on the planning suggestion. Specifically, the sampling-based planning algorithm is the RRT-Connect algorithm.

10. A robotic arm task and motion planning system based on linear temporal logic, wherein the robotic arm task and motion planning method based on linear temporal logic as described in any one of claims 1-9 is used for planning, characterized in that, The system includes a camera, a robotic arm, and a computer. The camera is positioned within the robotic arm's working environment. The robotic arm and the computer are connected via the ROS operating system. The computer contains a task and motion planning model for the robotic arm, which includes a higher-level task planning module, a coordination module, and a lower-level motion planning module connected in sequence. The camera is used to acquire position information of the robotic arm and its working environment; The upper-level task planning module is used to process the position information of the robotic arm and its working environment and the task information of the robotic arm to obtain a task sequence, and send the task sequence to the coordination module; the upper-level task planning module receives and processes the planning failure information sent by the coordination module to obtain an updated task sequence; The coordination module is used to segment the task sequence sent by the upper-level task planning module and extract the motion sequence of the robotic arm, and use the motion sequence of the robotic arm as a planning suggestion to the lower-level motion planning module; the coordination module receives the planning information from the lower-level motion planning module. If the planning information indicates a planning failure, it sends the planning failure information back to the upper-level task planning module. If the planning information indicates a planning success, it directly outputs the motion trajectory of the robotic arm that meets the requirements sent by the lower-level motion planning module. The lower-level motion planning module is used to perform motion planning for the robotic arm based on the planning suggestions sent by the coordination module, and obtain the motion trajectory of the robotic arm. If the motion trajectory meets the requirements, the planning is successful, and the successful planning information and the motion trajectory of the robotic arm that meets the requirements are sent to the coordination module. If the motion trajectory of the robotic arm does not meet the requirements, the planning fails, and the planning failure information is sent to the coordination module.

Citation Information

Patent Citations

  • Intelligent planning algorithm for track of mechanical arm

    CN115091458A

  • Multi-robot trajectory planning method

    WO2022241808A1