Background
Aiming at in-orbit service tasks of multi-arm robot teleoperation systems, such as in-orbit maintenance, spacecraft fuel filling, load care and the like, and control tasks of human inaccessible places inside nuclear power stations, deep sea and the like, a plurality of problems are faced. Because the single mechanical arm can only complete simple operations such as screwing, transferring, monitoring and the like, complex and large-scale tasks are difficult to complete, at the moment, multiple mechanical arms are required to operate, and the multiple mechanical arms can work independently or cooperatively. The master-slave and cooperative control problems of the multi-mechanical arm teleoperation system are the main problems facing cooperative task planning. The multi-mechanical arm teleoperation system collaborative task planning technology generally divides an overall task into a plurality of subtasks to be carried out, and then divides the multi-mechanical arm according to the requirements of the subtasks, so as to meet the overall task requirements. Therefore, the Petri network-based multi-mechanical arm teleoperation system collaborative task planning method has important significance for teleoperation task planning.
The previous research work shows that the existing task planning of a single mechanical arm mostly adopts a Cartesian space planning technology and a joint space planning technology, the Cartesian space planning is to use a time function to represent the speed, the acceleration and the pose value of the mechanical arm, and the joint speed, the acceleration and the joint displacement of the mechanical arm are obtained through inverse solution. The joint space planning calculation amount is small, the efficiency is high, the rapid transfer stage is suitable for the stage that the mechanical arm end effector needs to be rapidly transferred when leaving a target, but the motion of each joint and the motion of the end effector have the complex problems of coupling and the like, and the joint space planning calculation amount is not in one-to-one correspondence.
Disclosure of Invention
Technical problem to be solved
In order to avoid the defects of the prior art, the invention provides a Petri network-based collaborative task planning method for a multi-mechanical-arm teleoperation system.
Technical scheme
A Petri network-based collaborative task planning method for a multi-mechanical-arm teleoperation system is characterized by comprising the following steps:
step 1: describing an operation task of the multi-mechanical-arm teleoperation system collaborative task planning by adopting a Petri network six-element group expression, wherein the six-element group expression comprises a control object set, a teleoperation task target set, a terminal environment and operation constraint set, a system variable weight function and a system variable state set;
the method comprises the steps of performing task layering on a multi-mechanical-arm teleoperation system into a task layer, an action layer and an instruction layer;
dividing a control object set and a teleoperation task target set into task layers, dividing a terminal environment and operation constraint set into action layers, and dividing a system variable set, a system variable weight function and a system variable state set into instruction layers;
the task layer comprises: a task planning main process, a data analysis sub-process, a task scheduling sub-process, a task allocation sub-process and a track planning sub-process; the action layer comprises capturing, transferring, placing and withdrawing actions; the instruction layer includes task commands, action commands, and execution commands. The task hierarchy also contains corresponding task modules: task planning module, data analysis module, task scheduling module, task allocation module and trajectory planning module
Step 2: according to different mechanical arms, control tasks and process stages, a single-operator independent operation single-mechanical-arm working mode, a multi-operator independent operation multi-mechanical-arm working mode and a multi-operator cooperative operation multi-mechanical-arm working mode are divided into:
when the operation task is moved from one point to another point, directly controlling an operation target in an instruction mode, and adopting a single-operator independent operation single-mechanical-arm working mode;
when operation task areas among the mechanical arms are not overlapped, the mechanical arms are operated relatively independently, and the number of constraints caused by collision, load and relative positions generated by operation interval division is less than 10, a multi-operator independent operation multi-mechanical-arm working mode is adopted, a control method is the same as that of a plurality of single-operator operation single mechanical arms, namely, a control instruction is sent to the corresponding mechanical arms independently;
when operation task areas among the mechanical arms are overlapped and the operating environment and the constraint number of the operation tasks are more than 10, adopting a multi-operator cooperative operation multi-mechanical arm working mode;
step 3, dividing the multi-mechanical arm teleoperation system into teleoperation task stages in cooperation with the teleoperation task stages:
generating a teleoperation subtask sequence according to a task planning process and a task planning module in a task layer, and dividing the teleoperation subtask sequence into four types of operations including capturing operation, transferring operation, placing operation and withdrawing operation according to the execution time sequence of the teleoperation task;
the capture operation is divided into two parts of tracking a target object and approaching the captured target object, and the tracking target object selects a corresponding task point and path mode according to the environmental information; selecting a corresponding path close to the grabbing target object according to the coordinate data instruction;
the transfer operation is used for the conveying function of task operation, and a task point and a path planning mode of the transfer operation are selected according to the terminal environment and the operation constraint set in the six-tuple group to realize a transfer operation task;
the placing operation is a link required by the mechanical arm to execute a task or carry a target object by using a tool each time, and is divided into two parts of approaching and releasing the target and evacuating the safe distance, and a task point and a path planning mode of the placing operation are selected according to a system variable set, a system variable weight function and a system variable state set in a six-tuple group and environmental information to realize the placing operation task;
the withdrawing operation is used for an operation task that the mechanical arm needs to return to an initial working state after executing a certain task, and preparation is made for the execution of the subsequent task according to the control object set and the teleoperation task target set in the six-tuple;
and 4, step 4: and (3) according to the mathematical description in the step (1), the selection of the working mode in the step (2) and the classification of the operation modes in the step (3), establishing a Petri network model for the cooperative tasks of the multi-mechanical-arm teleoperation system by adopting a Petri network, performing task simulation on the established Petri network model, generating a corresponding action instruction, and generating a cooperative task planning step.
Advantageous effects
The invention provides a Petri network-based collaborative task planning method for a multi-mechanical arm teleoperation system. The method is used for on-orbit service tasks of multi-arm robot teleoperation systems, such as on-orbit maintenance, spacecraft fuel filling, load care and the like, and control tasks of human inaccessible places inside nuclear power stations, deep sea and the like. Referring to the previous literature data, the method is a cooperative task planning method and can be applied to cooperative task planning of a multi-mechanical arm teleoperation system.
Compared with the prior art, the invention has the following beneficial effects: 1. the system helps non-professionals to carry out collaborative task planning of the multi-mechanical arm teleoperation system. 2. The operation efficiency, the precision and the control safety are improved. 3. The control instruction generated according to the Petri network can be conveniently controlled.
Detailed Description
The invention will now be further described with reference to the following examples and drawings:
the invention provides a method for collaborative task planning of a multi-mechanical arm teleoperation system based on a Petri network model aiming at collaborative task planning requirements of the multi-mechanical arm teleoperation system, which comprises the following steps:
and according to the task requirements, the task plan is layered and divided into modules.
The method comprises the following steps: describing an operation task of the multi-mechanical-arm teleoperation system collaborative task planning by adopting a Petri network six-element group expression, wherein the six-element group expression comprises a control object set, a teleoperation task target set, a terminal environment and operation constraint set, a system variable weight function and a system variable state set, and the expression is used for describing the relationship among system parameters, instruction triggering, a terminal environment and a task target.
And according to the six subsets in the six-element expression and the task requirement of the whole system, carrying out task layering on the multi-mechanical-arm teleoperation system, wherein the task layering is divided into a task layer, an action layer and an instruction layer, the task layer is divided according to the control object set and the teleoperation task target set in the six-element group, the action layer is divided according to the terminal environment and the operation constraint set, and the instruction layer is divided according to the system variable set, the system variable weight function and the system variable state set.
Wherein, the task layer includes: a task planning main process, a data analysis sub-process, a task scheduling sub-process, a task allocation sub-process and a track planning sub-process; the action layer comprises capturing, transferring, placing and withdrawing actions; the instruction layer includes task commands, action commands, and execution commands. The task hierarchy also contains corresponding task modules: the system comprises a task planning module, a data analysis module, a task scheduling module, a task allocation module and a trajectory planning module.
Step two: in task division, in order to realize different operation accuracy and control stability, a single-operator independent operation single-mechanical-arm working mode, a multi-operator independent operation multi-mechanical-arm working mode and a multi-operator cooperative operation multi-mechanical-arm working mode are required to be divided according to different mechanical arms, control tasks and process stages.
When the operation task is simple and single and only moves from one point to another point, the operation target only needs to be directly controlled in an instruction mode, and a single-operator independent operation single-mechanical-arm working mode is adopted; when operation task areas among the mechanical arms are not overlapped, the mechanical arms are operated relatively independently, and the constraints caused by collision, load and relative positions generated by operation interval division are relatively less, a multi-operator independent operation multi-mechanical-arm working mode is adopted, a control method is the same as that of a plurality of single-operator operation single mechanical arms, namely, a control instruction is sent to the corresponding mechanical arms independently; when the operation task areas of the mechanical arms are overlapped, the operation environment, the operation task constraints are more, and the operation risk is high, a multi-operator cooperative operation multi-mechanical-arm working mode is adopted.
Step three: and (3) dividing the teleoperation task stage by the multi-mechanical arm teleoperation system in cooperation with teleoperation.
According to the task planning process and the task planning module in the task layer, a teleoperation subtask sequence is generated, and according to the execution time sequence of the teleoperation tasks, the teleoperation subtask sequence can be divided into four types of operation.
The four types of operations are a capture operation, a transfer operation, a put operation, and a retract operation.
The method comprises the following steps that a capturing operation is divided into two parts, namely a tracking target object and a target object which is close to be captured, and the tracking target object selects a corresponding task point and path mode according to environmental information; and selecting a corresponding path close to the grabbing target object according to the coordinate data instruction.
The transfer operation is used for the conveying function of the task operation, and the task point and the path planning mode of the transfer operation are selected according to the terminal environment and the operation constraint set in the six-tuple group to realize the transfer operation task.
The placing operation is a link required by the mechanical arm to execute a task or carry a target object by using a tool each time, and is divided into two parts of approaching and releasing the target and evacuating the safe distance, and a task point and a path planning mode of the placing operation are selected according to a system variable set, a system variable weight function and a system variable state set in a six-tuple group and environmental information, so that the placing operation task is realized.
And the withdrawing operation is used for the operation task that the mechanical arm needs to return to the initial working state after executing a certain task, and the preparation is made for the execution of the subsequent task according to the control object set and the teleoperation task target set in the six-tuple.
Step four: and establishing a Petri network model for the cooperative task teleoperation of the multi-mechanical-arm teleoperation system by adopting a Petri network, and performing task simulation on the established Petri network model to generate a corresponding action instruction to prepare for subsequent operation and control.
The teleoperation task planning system mainly aims to combine different teleoperation tasks and teleoperation modes, analyze, decompose and decide the teleoperation tasks, realize task planning under various teleoperation modes and generate a mechanical arm system motion data sequence or a task sequence. It should have the following important functions:
1) the system has the capacity of planning top-level tasks, and meets the teleoperation requirements of non-professionals;
2) completing the path planning of Cartesian space and joint space of the multiple mechanical arms in multiple working modes;
3) the verification and the inspection of the task planning are completed, and the planned path meets the safety requirement;
4) the use mode of the mechanical arm can be given quickly according to task conditions;
5) the time and energy consumption required by the movement of the mechanical arm are comprehensively considered in the task planning process, the safety and the reliability are high, and the whole is optimal.
The specific embodiment is as follows:
the method comprises the following steps: describing the expression structure of the hexahydric group of the Petri network:
the Petri net is a net-shaped information energy flow model and comprises three elements: depot, transition, and arc. Wherein the library represents a state of the system; the transition represents events or changes of behaviors and states occurring in the system, and the occurrence of the transition is controlled by the library; arcs represent the relationship between local states and transitions. Yet another important component in the Petri Net model is the Token, which is contained in the depository. With the progress of the task, after a certain transition is excited, some preconditions are not satisfied any more, and another posterior condition is satisfied, at the moment, the Token can flow to different libraries according to the direction of the arc, so that the change of the system state is described dynamically. The characteristic of a token is in which library it is true, otherwise it is false.
The Petri net six-tuple is expressed as: n ═ P, T, F, K, W, M), where
1) N denotes a set of arms, (P, T, F) is a directed set,
representing a set of libraries, representing a set of transitions, F representing an arc, is
A subset of (a) representing a relationship between a library and a transition;
2) k represents the capacity contained in the library and is the mapping from the library to the natural number set N;
3) w represents the weight of the corresponding arc, which is a weight function of F;
4) m denotes a network identification vector.
According to the above, taking the multi-arm teleoperation system cooperative task plan as an example, the six-element group structure of the task is described as N ═ (P, T, F, K, W, M), wherein
1) P represents a plurality of robots;
2) t represents a spatial cooperative/non-cooperative target set;
3) f represents that the multiple mechanical arms and the space cooperative/non-cooperative target are in the same Cartesian coordinate;
4) k represents the position and the posture of a space cooperative/non-cooperative target and the position and the posture of a multi-mechanical arm;
5) w represents the position and attitude of the spatial cooperative/non-cooperative target and the position and attitude of the arrested object;
6) m represents the current set of system states returned by the sensor.
Step two: dividing a multi-mechanical arm teleoperation system in cooperation with teleoperation task modes:
in task division, as can be seen from fig. 1, different operation accuracies and operation stabilities need to be achieved according to different mechanical arms, operation tasks and process stages, and the task division is divided into a single-operator independent operation single-mechanical-arm working mode, a multi-operator independent operation multi-mechanical-arm working mode and a multi-operator cooperative operation multi-mechanical-arm working mode
1) Single-operator independent operation single mechanical arm working mode
The control method of the single operator in the single mechanical arm working mode is the same as the method of the single operator in the single mechanical arm working mode, and the operation target is directly controlled in an instruction mode.
2) Multi-manipulator independent operation multi-manipulator working mode
Under the working mode that multiple operators independently operate multiple mechanical arms, the control method is the same as that of a plurality of single operators operating a single mechanical arm, and is mainly used for the condition that operation task areas among the mechanical arms are not overlapped.
3) Multi-manipulator cooperative operation multi-manipulator working mode
The multi-manipulator cooperative operation multi-manipulator working mode is mainly used for the conditions that operation task areas among all the manipulators are overlapped, the operation environment and operation tasks are more in intensive and operation risks are high.
Further, on the basis of selecting the working mode, according to different task scheduling stages and characteristics, the control modes of the mechanical arm need to be divided into the following three types:
1) position control: the robotic arm is employed in free motion in space.
2) Impedance control: when the contact operation is performed through the mechanical arm, joint torque is applied to the mechanical arm to realize impedance control.
3) Zero force control: when the mechanical arm paw is used for capturing/releasing load, the joint moment is zero.
Step three: the multi-mechanical arm teleoperation system is cooperated with teleoperation task stage division:
the task decomposition module decomposes and analyzes the teleoperation task according to a teleoperation task instruction given by an operator, firstly generates a teleoperation subtask sequence, and can divide the teleoperation subtask sequence into the following four categories according to the execution time sequence of a common teleoperation task:
1) capture operations
The most common function of a robotic arm as a humanoid hand system is to capture and manipulate a target object. Therefore, the capturing operation is the first step of the task operation of the mechanical arm, and whether the capturing operation is successful or not directly influences the subsequent task operation of the mechanical arm. The capture operation is analyzed, and the capture operation is divided into two parts of tracking a target object and approaching to a capture target object. And selecting a corresponding task point and path mode according to the environment information by the tracking target object. And selecting a corresponding path close to the grabbing target object according to the coordinate data instruction.
2) Transfer operation
And the transfer operation completes the conveying function of the task operation, and selects a task point and a path planning mode of the transfer operation according to the terminal environment and the operation constraint set in the six-tuple group to realize the transfer operation task.
3) Placing operation
The placing operation is a link required by the mechanical arm to execute a task or carry a target object by using a tool each time, and is divided into two parts of approaching and releasing the target and evacuating the safe distance, and a task point and a path planning mode of the placing operation are selected according to a system variable set, a system variable weight function and a system variable state set in a six-tuple group and environmental information, so that the placing operation task is realized.
4) Withdrawing operation
And the withdrawing operation is used for the operation task that the mechanical arm needs to return to the initial working state after executing a certain task, and the preparation is made for the execution of the subsequent task according to the control object set and the teleoperation task target set in the six-tuple.
Further, as shown in fig. 4, the task decomposition module further generates a task command according to the requirements of different types of subtasks, and in this process, the task scheduling module is required to give out operation constraints of different task phases. The task commands have three levels: task level commands, action level commands, and execute level commands. Wherein, the task-level command can be decomposed into a plurality of action-level commands, and each action-level command can be implemented by a plurality of groups of execution-level commands, the level relationship of which is shown in fig. 3.
Step four: modeling and simulating a Petri network:
taking a two-mechanical-arm teleoperation task as an example, describing a process of realizing two-arm task allocation through a petri network when two persons operate two-mechanical-arm cooperative motion, since the mechanical arms are required to execute tasks independently or sequentially or cooperatively in the operation process, the motion states of the two mechanical arms are divided into four states, as shown in table 1, the states are respectively the states of activating and preparing a library, and switching is required between the four states when performing operation (grabbing or transferring).
TABLE 1 two-arm Petri net depot list
First, the task of the two-arm robot is that the arm 1 approaches a capture target, holds the target after capture, and the arm 2 approaches the target, and performs an action according to an instruction.
Next, table 2 shows event information of transitions 1, 2, 3, 4, 5, 6, and 7 in fig. 5. When the arms are in the ready state, arm 1 or arm 2 can perform the task, respectively, by activating transitions 5 or 6. Again, the excitation transition 7 represents simultaneous and parallel execution of tasks by both arms, as a result of the separation into individual and coordinated motions.
TABLE 2 significance table of transition and two-arm Petri nets
Finally, in the operation process of the two arms, the task executed by the two arms includes three stages, each stage has different functions, motion ranges and task types, the task execution sequence is shown in table 2, in the operation process, the mechanical arm needs to pass through the three task stages, the first two task stages are respectively independent operation, and the last task stage is cooperative operation. In the stage of single task operation, an operator sequentially operates one mechanical arm to complete the grabbing of the target, in the stage, the working space of the mechanical arm has no mutually overlapped part, and the grabbing track approaching the target is realized by respectively planning the operation tracks. In the second phase, namely the cooperative capturing phase, the two arms need to be operated cooperatively, and in the operation process, the two mechanical arms and the target may collide, which requires that the overlapping of task sections of the two mechanical arms is considered in task allocation, namely when the two mechanical arms approach each other, collision may occur due to trajectory deviation, and an emergency treatment scheme under the collision condition needs to be designed while designing the reference trajectory.
TABLE 2 double arm executive task table