CN108656110B - Picking robot controller based on finite state automata architecture and architecture method - Google Patents

Picking robot controller based on finite state automata architecture and architecture method Download PDF

Info

Publication number
CN108656110B
CN108656110B CN201810457799.5A CN201810457799A CN108656110B CN 108656110 B CN108656110 B CN 108656110B CN 201810457799 A CN201810457799 A CN 201810457799A CN 108656110 B CN108656110 B CN 108656110B
Authority
CN
China
Prior art keywords
axis
module
target
instruction
sending
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810457799.5A
Other languages
Chinese (zh)
Other versions
CN108656110A (en
Inventor
毕松
张潞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Hezefangyuan Intelligent Technology Co ltd
Original Assignee
Beijing Hezefangyuan Intelligent Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Hezefangyuan Intelligent Technology Co ltd filed Critical Beijing Hezefangyuan Intelligent Technology Co ltd
Priority to CN201810457799.5A priority Critical patent/CN108656110B/en
Publication of CN108656110A publication Critical patent/CN108656110A/en
Application granted granted Critical
Publication of CN108656110B publication Critical patent/CN108656110B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01DHARVESTING; MOWING
    • A01D46/00Picking of fruits, vegetables, hops, or the like; Devices for shaking trees or shrubs
    • A01D46/30Robotic devices for individually picking crops
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping

Abstract

The invention belongs to the technical field of robot control, and particularly relates to a picking robot controller based on a finite state automata architecture and an architecture method. The invention provides a novel picking robot controller based on finite state automata architecture and an architecture method, wherein the picking robot controller and the architecture method realize the rapid picking of targets based on the finite state automata, and during working, firstly, a system is initialized, then, the targets are scanned, aligned and grabbed, and after the grabbing is finished, all axes are controlled to return to a recording point; the setting carries out the switching among the scanning, aligning, grabbing and returning modes according to the current mode and corresponding conditions and actions, and the target under the picking can be picked quickly and accurately through the conversion of the mode, so that the universality is strong, and the expandability is high.

Description

Picking robot controller based on finite state automata architecture and architecture method
Technical Field
The invention belongs to the technical field of robot control, and particularly relates to a picking robot controller based on a finite state automata architecture and an architecture method.
Background
The picking robot is one of important equipment of precision agriculture in the 21 st century, is the development direction of intelligent agricultural machinery in the future, and comprises a mechanical arm, an end effector, a moving mechanism, a vision system, a control system and the like, wherein the control system is used for solving the target positioning and target picking of the picking robot and is the core and the key of the whole robot system. In Japan, the research on agricultural robots is leading in the world, and watermelon picking robots, orange picking robots, grafting robots and the like have been successfully developed at present. Solar weeding robots are developed in the United states, in addition, China has certain development on the research of agricultural robots, and the research institute of robots of Shanghai university of transportation has completed intelligent combine harvesters and the like.
The existing picking robot control system comprises pc control and robot control based on a neural network, but the robot control in the prior art has the following defects: the existing control system has poor universality and low expandability, and can not quickly and accurately pick the lower target.
Disclosure of Invention
In order to solve the problems, the invention provides a novel picking robot controller based on a finite state automata framework and a framework method.
The specific technical scheme of the invention is as follows:
the invention provides a picking robot controller based on a finite state automata framework, which comprises:
an initialization module: the system is used for initializing the system and judging whether the initialization is completed or not, and the initialization comprises two states, namely initial state initialization S1 and secondary state initialization S1';
a scan mode module: the system is used for scanning the picking target after the system initialization is completed, and judging whether the target exists, and the scanning mode comprises two states, namely an initial state scanning mode S2 and a secondary state scanning mode S2';
an alignment mode module: the system is used for controlling a picking point to approach a picking target and judging whether the target is touched or not based on the existence of the target, and the alignment mode comprises two states, namely an initial state alignment mode S3 and a secondary state alignment mode S3';
a capture mode module: the picking mode comprises an initial state picking mode S4 and a secondary state picking mode S4';
a regression model module: for entering the regression mode, which includes two states, i.e., the primary regression mode S5 and the secondary grasping regression S5', to control the regression recording points of each axis.
In a further improvement, the initialization module, the scan mode module, the alignment mode module, the capture mode module, and the regression mode module switch modes according to a state transition formula:
the state transition formula is:
where E denotes a condition, a denotes an action, E1 denotes initialization completion, E2 denotes no target, E3 denotes a target in a frame, E4 denotes a picking error in a target, E5 denotes touching a target, E6 denotes a target loss, E7 denotes a target that has been cut off, E8 denotes a record point that has already regressed, E9 denotes a target that has appeared, E10 denotes a record point that has not regressed, a1 denotes a frame for transmission of an acquired target, a2 denotes a current position is saved, A3 denotes a comparison calculation error and controls a picking point to approach a target, a4 denotes a control of cutting off a target, a5 denotes a first regression record point, A6 denotes a return record position, and a7 denotes a second regression record point.
In a further improvement, the initialization module includes a total initialization module and a change mode module, and the total initialization module includes:
a communication initialization module: the system is used for communicating with an upper computer, initializing a communication module of the upper computer and judging whether system initialization is finished or not;
a return module: the communication initialization module is used for returning to the communication initialization module when the system initialization is not completed;
a management module: the system is used for initializing the global variable based on the completion of system initialization, and sending an instruction to the change mode module after the global variable is initialized.
In a further improvement, the change mode module comprises:
a first judgment module: the system comprises a first skip module, a switch state judging module, a second skip module and a control module, wherein the first skip module is used for detecting whether zero marks of an X axis, a Y axis or a Z axis are generated in real time, if all zero marks are generated, an instruction is sent to the first skip module, and if one axis is not generated, an instruction is sent to the switch state judging module;
the switch state judgment module: the device comprises a first setting module, a second setting module, a zero motion sign judging module and a control module, wherein the first setting module is used for setting a first setting signal and a second setting signal;
a first setting module: the device is used for generating an anti-zero motion mark of an X axis, a Y axis or a Z axis, sending a command of motion in an anti-zero direction to the X axis, the Y axis or the Z axis, simultaneously setting anti-zero motion unit pulse of the X axis, the Y axis or the Z axis, and then sending an instruction to the switch state judgment module;
the anti-zero motion sign judgment module: the device is used for judging whether an X-axis, Y-axis or Z-axis anti-zero motion mark is generated or not, if the anti-zero motion mark is generated, sending an instruction to the third setting module, and if the anti-zero motion mark is not generated, sending an instruction to the fourth setting module;
a fourth setting module: the device comprises a first judging module, a second judging module and a control module, wherein the first judging module is used for sending a command of moving towards the zero direction to an X axis, a Y axis or a Z axis, setting a pulse of the X axis, the Y axis or the Z axis towards the zero movement unit, and sending a command to the first judging module;
a third setting module: instructions for sending a stop motion to the X, Y, or Z axis; acquiring a current pulse point of an X-axis motor, a Y-axis motor or a Z-axis motor, wherein the current pulse point is a zero value of the X-axis motor, the Y-axis motor or the Z-axis motor, and an X-axis zero mark, a Y-axis zero mark or a Z-axis zero mark is generated and sends an instruction to a first judgment module;
a first jump module: for sending instructions to the scan mode module.
In a further improvement, the scan mode module includes:
a first obtaining module: the system comprises a Z-axis zero value acquisition unit, a Z-axis motion information acquisition unit and a target existence state information acquisition unit, wherein the Z-axis zero value acquisition unit is used for acquiring a Z-axis motion information and a target existence state information, the motion information comprises a lowest point and a highest point of a Z-axis motion, and the target existence state information comprises a target existence mark and a target position coordinate;
a second judging module: the target presence flag is used for judging whether a target presence flag exists or not, if yes, an instruction is sent to the second jump module, and if not, an instruction is sent to the first management module;
the second skip module: the system comprises an alignment mode module, a Z-axis position acquisition module, a target existence mark acquisition module and a target existence mark acquisition module, wherein the alignment mode module is used for acquiring a Z-axis position at the current moment, generating a target existence mark and sending an instruction to the alignment mode module;
a first management module: the scanning device is used for acquiring the relative position of the Z axis, setting the relative position as a scanning grid value and setting the distance traveled by the Z axis in a unit period;
a third judging module: the Z-axis motion direction is judged according to the scanning grid value and the zero value of the Z axis, and when the Z-axis motion direction is towards zero, an instruction is sent to the first computing module, and when the Z-axis motion direction is opposite to zero, an instruction is sent to the second computing module;
a first calculation module: the scanning grid value and the distance traveled by the Z axis in a unit period are calculated;
a fifth judging module: the device comprises a first calculation module, a second management module, a first acquisition module and a second acquisition module, wherein the first calculation module is used for calculating the difference value of the Z-axis motion of the device, and the second calculation module is used for calculating the difference value of the Z-axis motion of the device;
a second management module: the device comprises a first acquisition module, a second acquisition module and a control module, wherein the first acquisition module is used for acquiring a Z-axis running direction;
a second calculation module: the sum of the scanning grid value and the distance traveled by the Z axis in the unit period is calculated;
a fifth judging module: the system comprises a first calculation module, a second calculation module, a third management module and a first acquisition module, wherein the first calculation module is used for calculating the sum of the Z-axis motion and the Z-axis motion, and the second calculation module is used for calculating the sum of the Z-axis motion and the Z-axis motion;
a third management module: and the control module is used for setting the running direction of the Z axis to be a direction towards zero and sending an instruction to the first acquisition module.
In a further refinement, the alignment mode module comprises:
a fourth setting module: the method is used for setting an X-axis error threshold and a Z-axis error threshold;
a second obtaining module: the system comprises a first jumping module, a second jumping module, a first storage module, a second storage module and a control module, wherein the first jumping module is used for determining position coordinates of a target, and the second jumping module is used for determining position coordinates of the target;
a sixth judging module: the system comprises a regression mode module, a seventh judging module and a target existence mark generating module, wherein the regression mode module is used for judging whether a target existence mark is generated or not, sending an instruction to the regression mode module if the target existence mark is not generated, and sending an instruction to the seventh judging module if the target existence mark is generated;
a seventh judging module: the system is used for judging whether the X axis, the Y axis and the Z axis all reach the maximum travel value of the corresponding axis, if so, sending an instruction to the regression mode module, and if not, sending an instruction to the eighth judging module;
an eighth judging module: the system comprises a fourth management module, a fifth management module and a control module, wherein the fourth management module is used for judging whether an X difference value and a Z difference value are smaller than corresponding X-axis error threshold values and Z-axis error threshold values or not, if one difference value is larger than the error threshold value, sending an instruction to the fourth management module, and if the X difference value and the Z difference value are smaller than the corresponding X-axis error threshold values and Z-axis error threshold values, sending an instruction to the fifth management module;
a fourth management module: the system comprises a first acquisition module, a second acquisition module, a first detection module and a second detection module, wherein the first acquisition module is used for acquiring an X-axis deviation pulse number or a Z-axis deviation pulse number;
a fifth management module: the X-axis or Z-axis motion stopping device is used for sending a motion stopping instruction to the X-axis or Z-axis, setting the Y-axis deviation pulse number at the same time, and sending an instruction which runs by the Y-axis deviation pulse number to the Y-axis;
a sixth management module: and the acquisition module is used for judging whether a signal touching the target is received or not, sending an instruction to the capture mode module if the signal touching the target is received, and sending an instruction to the second acquisition module if the signal touching the target is not received.
In a further improvement, the capture mode module comprises:
a first control module: the scissors are used for sending a conduction instruction to an electromagnetic valve of the scissors;
a timing module: the timing device is used for starting timing when the electromagnetic valve is conducted;
a second control module: and the control module is used for sending a closing instruction to the electromagnetic valve of the scissors when the timing module records that the time reaches the preset time, and jumping to the regression mode module.
In a further refinement, the regression model module includes:
a sixth setting module: the distance error threshold value of the X axis, the Y axis and the Z axis is set;
a third obtaining module: the system comprises a position buffer value and a recording point, wherein the position buffer value is a stroke value between a current position and the recording point, and an X distance error value, a Y distance error value and a Z distance error value between a regressed position and the recording point are calculated;
a regression module: the instructions are used for sending regression recording points to the X axis, the Y axis and the Z axis respectively based on the position buffer values of the X axis, the Y axis and the Z axis;
a tenth judging module: the system is used for judging whether the X distance error value, the Y distance error value and the Z distance error value are smaller than the corresponding X-axis distance error threshold value, Y-axis distance error threshold value and Z-axis distance error threshold value or not, if so, sending an instruction to the scanning mode module, and if one distance error value is not smaller than the distance error threshold value, sending an instruction to the seventh management module;
a seventh management module: the speed feedback control module is used for setting the number of regressive speed pulses of an X axis, a Y axis or a Z axis, sending an instruction of running with the number of regressive speed pulses to the X axis, the Y axis or the Z axis, and sending the instruction to the third acquisition module.
An architecture method based on finite state automata architecture, the architecture method comprising the steps of:
s1: initializing the system through an initialization module, and judging whether the initialization is finished;
s2: after the system initialization is completed, the picking target is scanned through a scanning mode module, and whether the target exists or not is judged;
s3: controlling a picking point to approach a picking target through an alignment mode module based on the existence of the target, and judging whether the target is touched;
s4: controlling the picking point to cut off the target based on the picking point touching and picking target through the grabbing mode module;
s5: and entering a regression mode through a regression mode module, and controlling regression recording points of all axes.
The invention has the following beneficial effects:
the invention provides a novel picking robot controller based on finite state automata architecture and an architecture method, wherein the picking robot controller and the architecture method realize the rapid picking of targets based on the finite state automata, and during working, firstly, a system is initialized, then, the targets are scanned, aligned and grabbed, and after the grabbing is finished, all axes are controlled to return to a recording point; the setting carries out the switching among the scanning, aligning, grabbing and returning modes according to the current mode and corresponding conditions and actions, and the target under the picking can be picked quickly and accurately through the conversion of the mode, so that the universality is strong, and the expandability is high.
Drawings
Fig. 1 is a block diagram of a picking robot controller based on a finite state automata architecture according to embodiment 1;
FIG. 2 is a block diagram showing the structure of an initialization module according to embodiment 3;
FIG. 3 is a block diagram showing the structure of a change mode module according to embodiment 3;
FIG. 4 is a block diagram showing the structure of a scan mode module according to embodiment 3;
FIG. 5 is a block diagram showing the structure of an alignment pattern management block according to embodiment 3;
FIG. 6 is a block diagram showing the structure of a grab mode module according to embodiment 3;
FIG. 7 is a block diagram showing the structure of a regression model module according to embodiment 3;
FIG. 8 is a flowchart of an architecture method based on the finite state automata architecture according to embodiment 4.
Detailed Description
The present invention will be described in further detail with reference to the following examples and drawings.
Example 1
An embodiment 1 of the present invention provides a picking robot controller based on a finite state automata architecture, and as shown in fig. 1, the controller includes:
the initialization module 1: the system is used for initializing the system and judging whether the initialization is completed or not, and the initialization comprises two states, namely initial state initialization S1 and secondary state initialization S1';
the scan mode module 2: the system is used for scanning the picking target after the system initialization is completed, and judging whether the target exists, and the scanning mode comprises two states, namely an initial state scanning mode S2 and a secondary state scanning mode S2';
alignment mode module 3: the system is used for controlling a picking point to approach a picking target and judging whether the target is touched or not based on the existence of the target, and the alignment mode comprises two states, namely an initial state alignment mode S3 and a secondary state alignment mode S3';
a grabbing mode module 4: the picking mode comprises an initial state picking mode S4 and a secondary state picking mode S4';
the regression model module 5: for entering the regression mode, which includes two states, i.e., the primary regression mode S5 and the secondary grasping regression S5', to control the regression recording points of each axis.
The invention provides a novel picking robot controller based on a finite state automata framework, which realizes the rapid picking of targets based on the finite state automata, and during the operation, firstly, a system is initialized, then, the targets are scanned, aligned and grabbed, and after the grabbing is finished, all axes are controlled to return to a recording point; the setting carries out the switching among the scanning, aligning, grabbing and returning modes according to the current mode and corresponding conditions and actions, and the target under the picking can be picked quickly and accurately through the conversion of the mode, so that the universality is strong, and the expandability is high.
Example 2
The picking robot controller based on the finite state automata architecture provided in embodiment 2 of the present invention is basically the same as that in embodiment 1, except that the initialization module 1, the scan mode module 2, the alignment mode module 3, the capture mode module 4, and the regression mode module 5 perform mode switching according to a state transition formula:
the state transition formula is:
wherein E represents a condition and A represents an action.
State transition table
The invention clearly shows the switching between the modes based on the current mode and the conditions and actions through the state transition formula, the aim of quickly and accurately picking the target can be achieved through the switching between the modes, the state transition formula can be used by matching with the state transition table, and therefore, the invention can more clearly show how the various modes are switched and how the target is picked through the switching.
Example 3
The picking robot controller based on the finite state automata architecture provided in embodiment 3 of the present invention is basically the same as that in embodiment 1, except that, as shown in fig. 2, the initialization module 1 includes a total initialization module 10 and a change mode module 20, and the total initialization module 10 includes:
the communication initialization module 101: the system is used for communicating with an upper computer, initializing a communication module of the upper computer and judging whether system initialization is finished or not;
the return module 102: the communication initialization module 101 is used for returning to the communication initialization module when the system initialization is not completed;
the management module 103: the module is configured to initialize a global variable based on the completion of system initialization, and send an instruction to the change mode module 20 after the global variable is initialized.
As shown in fig. 3, the change mode module 20 in this embodiment includes:
the first determining module 201: the system is used for detecting whether zero marks of an X axis, a Y axis or a Z axis are generated in real time, if all zero marks are generated, an instruction is sent to the first skip module 207, and if one axis is not generated, an instruction is sent to the switch state judgment module 202;
the switch state judgment module 202: the device is used for judging whether a switching signal corresponding to an X axis, a Y axis or a Z axis is received, if the switching signal is received, an instruction is sent to the first setting module 203, and if the switching signal is not received, an instruction is sent to the anti-zero motion sign judging module 204;
the first setup module 203: the system is used for generating an anti-zero motion mark of an X axis, a Y axis or a Z axis, sending a command of motion in an anti-zero direction to the X axis, the Y axis or the Z axis, setting an anti-zero motion unit pulse of the X axis, the Y axis or the Z axis, and sending an instruction to the switch state judgment module 202;
the anti-zero motion flag determination module 204: the device is used for judging whether an X-axis, Y-axis or Z-axis anti-zero motion mark is generated or not, if the anti-zero motion mark is generated, sending an instruction to the third setting module 206, and if the anti-zero motion mark is not generated, sending an instruction to the fourth setting module 31;
the fourth setup module 205: the zero-direction motion command is sent to the X-axis, the Y-axis or the Z-axis, the zero-direction motion unit pulse of the X-axis, the Y-axis or the Z-axis is set, and an instruction is sent to the first judgment module 201;
the third setting module 206: instructions for sending a stop motion to the X, Y, or Z axis; acquiring a current pulse point of an X-axis motor, a Y-axis motor or a Z-axis motor, wherein the current pulse point is a zero value of the X-axis motor, the Y-axis motor or the Z-axis motor, and an X-axis zero mark, a Y-axis zero mark or a Z-axis zero mark is generated and sends an instruction to the first judgment module 201;
the first jump module 207: for sending instructions to the scan mode module 2.
As shown in fig. 4, the scan mode module 2 in this embodiment includes:
the first acquisition module 21: the system comprises a Z-axis zero value acquisition unit, a Z-axis motion information acquisition unit and a target existence state information acquisition unit, wherein the Z-axis zero value acquisition unit is used for acquiring a Z-axis motion information and a target existence state information, the motion information comprises a lowest point and a highest point of a Z-axis motion, and the target existence state information comprises a target existence mark and a target position coordinate;
the second determination module 22: the system is used for judging whether a target existence mark exists or not, if so, sending an instruction to the second jump module 23, and if not, sending an instruction to the first management module 24;
the second skip module 23: the system is used for recording the Z-axis position at the current moment, generating a target existence mark and sending an instruction to the alignment mode module 3;
the first management module 24: the scanning device is used for acquiring the relative position of the Z axis, setting the relative position as a scanning grid value and setting the distance traveled by the Z axis in a unit period;
the third judgment module 25: the device is used for judging the Z-axis movement direction according to the scanning grid value and the zero value of the Z-axis, sending an instruction to the first calculation module 26 when the Z-axis movement is towards zero, and sending an instruction to the second calculation module 29 when the Z-axis movement is opposite to zero;
the first calculation module 26: the scanning grid value and the distance traveled by the Z axis in a unit period are calculated;
the fourth judging module 27: the device is used for judging whether the lowest point of the Z-axis motion is reached or not according to the difference value obtained by the first calculation module 26, sending an instruction to the second management module 28 if the lowest point of the Z-axis motion is reached, and sending an instruction to the first acquisition module 21 if the lowest point of the Z-axis motion is not reached;
the second management module 28: the device is used for setting the running direction of the Z axis as a reverse zero direction and sending an instruction to the first acquisition module 21;
the second calculation module 29: the sum of the scanning grid value and the distance traveled by the Z axis in the unit period is calculated;
the fifth judging module 30: the device is used for judging whether the highest point of the Z-axis motion is reached or not according to the sum obtained by the second calculation module 29, if the highest point of the Z-axis motion is reached, sending an instruction to the third management module 301, and if the highest point of the Z-axis motion is not reached, sending an instruction to the first acquisition module 21;
the third management module 301: and is configured to set the running direction of the Z axis to a zero direction, and send an instruction to the first obtaining module 21.
As shown in fig. 5, the alignment mode module 3 in this embodiment includes:
the fifth setting module 31: the method is used for setting an X-axis error threshold and a Z-axis error threshold;
the second obtaining module 32: the system is used for acquiring target existence state information and the maximum travel values of an X axis, a Y axis and a Z axis, wherein the target existence state information comprises a target existence mark and a target position coordinate, and calculating an X difference value and a Z difference value between the target position coordinate and the position coordinate determined by the second jump module 23;
the sixth determination module 33: the system is used for judging whether a target existence mark is generated or not, sending an instruction to the regression mode module 5 if the target existence mark is not generated, and sending an instruction to the seventh judging module 34 if the target existence mark is generated;
the seventh judging module 34: the system is used for judging whether the X axis, the Y axis and the Z axis all reach the maximum travel value of the corresponding axis, if so, sending an instruction to the regression mode module 5, and if not, sending an instruction to the eighth judging module 35;
the eighth judging module 35: the system is used for judging whether the X difference value and the Z difference value are smaller than the corresponding X-axis error threshold value and the corresponding Z-axis error threshold value or not, if one difference value is larger than the error threshold value, sending an instruction to the fourth management module 36, and if the X difference value and the Z difference value are smaller than the corresponding X-axis error threshold value and the corresponding Z-axis error threshold value, sending an instruction to the fifth management module 37;
fourth management module 36: the second acquisition module 32 is used for calculating the corresponding axis deviation pulse number according to the X difference value or the Z difference value, sending an instruction for running by the X axis deviation pulse number or the Z axis deviation pulse number to the X axis or the Z axis, and sending the instruction to the second acquisition module 32;
the fifth management module 37: the X-axis or Z-axis motion stopping device is used for sending a motion stopping instruction to the X-axis or Z-axis, setting the Y-axis deviation pulse number at the same time, and sending an instruction which runs by the Y-axis deviation pulse number to the Y-axis;
sixth management module 38: and is configured to determine whether a signal of touching the target is received, send an instruction to the capture mode module 4 if the signal of touching the target is received, and send an instruction to the second obtaining module 32 if the signal of touching the target is not received.
As shown in fig. 6, the capture mode module 4 in this embodiment includes:
the first control module 41: the scissors are used for sending a conduction instruction to an electromagnetic valve of the scissors;
the timing module 42: the timing device is used for starting timing when the electromagnetic valve is conducted;
the second control module 43: and the timing module 42 is used for sending a closing instruction to the electromagnetic valve of the scissors when the time recorded by the timing module reaches the preset time, and jumping to the regression mode module 5.
As shown in fig. 7, the regression model module 5 in this embodiment includes:
the sixth setting module 51: the distance error threshold is used for setting the stroke midpoint of the X axis as a recording point, the zero point value of the Y axis as a recording point, the Z axis position recorded by the second jump module 23 as a recording point of the Z axis, and setting the distance error threshold of the X axis, the Y axis and the Z axis;
the third obtaining module 52: the system comprises a position buffer value and a recording point, wherein the position buffer value is a stroke value between a current position and the recording point, and an X distance error value, a Y distance error value and a Z distance error value between a regressed position and the recording point are calculated;
the regression module 53: the instructions are used for sending regression recording points to the X axis, the Y axis and the Z axis respectively based on the position buffer values of the X axis, the Y axis and the Z axis;
the tenth determination module 54: the scanning module is used for judging whether the X distance error value, the Y distance error value and the Z distance error value are smaller than the corresponding X-axis distance error threshold value, Y-axis distance error threshold value and Z-axis distance error threshold value, if so, sending an instruction to the scanning mode module 2, and if one distance error value is not smaller than the distance error threshold value, sending an instruction to the seventh management module 55;
the seventh management module 55: the third acquiring module 52 is configured to set a speed pulse number for returning to the X axis, the Y axis, or the Z axis, send an instruction for operating with the speed pulse number for returning to the X axis, the Y axis, or the Z axis, and send the instruction to the third acquiring module 52.
The invention specifically limits the initialization mode module, the scanning mode module, the alignment mode module, the grabbing mode module and the regression mode module, can clearly know how the controller works according to the specific content of each module, and can realize how to achieve the aim of quickly and accurately picking the target by switching the modes.
The initialization module comprises a total initialization module and a change mode module, wherein the total initialization module is used for initializing the system when the controller is started, after initialization is completed, each shaft starts to change, only after each shaft finds a zero point can the scanning mode module be entered, change of an X axis, a Y axis and a Z axis can be simultaneously performed, and movement can be stopped after change of one shaft is completed and then change of the next shaft is performed; the scanning mode module is used for scanning the picked target and entering an alignment mode after the target is found, the alignment mode is used for controlling each axis to align the picked target, the target is picked off in a grabbing mode after the target is aligned, then each axis is controlled to return to a recording point in a returning mode, and then the target is continuously scanned, and the purpose of quickly and accurately picking off the target can be achieved through switching and circulating among the modes.
The picking robot is provided with scissors on a Y axis, the scissors are connected with electromagnetic valves for controlling the scissors to work, and after each axis is controlled to be aligned with a target in an alignment mode, a target is cut off by the scissors in a grabbing mode.
Example 4
As shown in fig. 8, an architecture method based on a finite state automata architecture provided in embodiment 4 of the present invention includes the following steps:
s1: initializing the system through an initialization module 1, and judging whether the initialization is finished;
s2: after the system initialization is completed, the scanning mode module 2 scans the picking target and judges whether the target exists;
s3: controlling a picking point to approach a picking target through the alignment mode module 3 based on the existence of the target, and judging whether the target is touched;
s4: controlling the picking point to cut off the target based on the picking point touching the picking target through the grabbing mode module 4;
s5: and entering a regression mode through a regression mode module 5, and controlling regression recording points of each axis.
The invention provides a new framework method based on finite state automata framework, which realizes the rapid picking of targets based on the finite state automata, and during the working, firstly, the system is initialized, then, the targets are scanned, aligned and grabbed, and after the grabbing is finished, each axis is controlled to return to a recording point; the setting carries out the switching among the scanning, aligning, grabbing and returning modes according to the current mode and corresponding conditions and actions, and the target under the picking can be picked quickly and accurately through the conversion of the mode, so that the universality is strong, and the expandability is high.
The above-mentioned embodiments are merely illustrative of the preferred embodiments of the present invention, and do not limit the scope of the present invention, and various modifications and improvements of the technical solution of the present invention by those skilled in the art should fall within the protection scope defined by the claims of the present invention without departing from the spirit of the present invention.

Claims (7)

1. A finite state automata architecture based picking robot controller, the controller comprising:
initialization module (1): the system is used for initializing the system and judging whether the initialization is completed or not, and the initialization comprises two states, namely initial state initialization S1 and secondary state initialization S1';
scan mode module (2): the system is used for scanning the picking target after the system initialization is completed, and judging whether the target exists, and the scanning mode comprises two states, namely an initial state scanning mode S2 and a secondary state scanning mode S2';
alignment mode module (3): the system is used for controlling a picking point to approach a picking target and judging whether the target is touched or not based on the existence of the target, and the alignment mode comprises two states, namely an initial state alignment mode S3 and a secondary state alignment mode S3';
a grab mode module (4): the picking mode comprises an initial state picking mode S4 and a secondary state picking mode S4';
regression model module (5): the system is used for entering a regression mode and controlling regression recording points of each axis, wherein the regression mode comprises two states, namely an initial state regression mode S5 and a secondary state capturing regression S5';
the initialization module (1) comprises a total initialization module (10) and a change mode module (20), the total initialization module (10) comprising:
communication initialization module (101): the system is used for communicating with an upper computer, initializing a communication module of the upper computer and judging whether system initialization is finished or not;
return module (102): the communication initialization module is used for returning to the communication initialization module (101) when the system initialization is not completed;
management module (103): the system is used for initializing the global variable based on the completion of system initialization, and sending an instruction to the change mode module (20) after the global variable is initialized;
the change mode module (20) comprises:
first judging means (201): the system is used for detecting whether zero marks of an X axis, a Y axis or a Z axis are generated in real time, if all zero marks are generated, an instruction is sent to the first skip module (207), and if one axis is not generated, an instruction is sent to the switch state judgment module (202);
switch state determination module (202): the device comprises a first setting module (203), a second setting module (204) and a zero-reversing motion sign judging module (204), wherein the zero-reversing motion sign judging module is used for judging whether switching signals corresponding to an X axis, a Y axis or a Z axis are received or not, if the switching signals are received, an instruction is sent to the first setting module (203), and if the switching signals are not received, an instruction is sent to the zero-reversing motion sign judging;
a first setting module (203): the device is used for generating an anti-zero motion mark of an X axis, a Y axis or a Z axis, sending a command of motion in an anti-zero direction to the X axis, the Y axis or the Z axis, setting anti-zero motion unit pulse of the X axis, the Y axis or the Z axis, and sending a command to the switch state judgment module (202);
an anti-zero motion flag determination module (204): the device is used for judging whether an X-axis, Y-axis or Z-axis anti-zero motion mark is generated or not, if the anti-zero motion mark is generated, sending an instruction to a third setting module (206), and if the anti-zero motion mark is not generated, sending an instruction to a fourth setting module (205);
a fourth setting module (205): the device comprises a first judging module (201), a second judging module and a control module, wherein the first judging module is used for sending a command of moving towards the zero direction to an X axis, a Y axis or a Z axis, setting a pulse of the X axis, the Y axis or the Z axis towards the zero movement unit, and sending an instruction to the first judging module (201);
a third setting module (206): instructions for sending a stop motion to the X, Y, or Z axis; acquiring a current pulse point of an X-axis motor, a Y-axis motor or a Z-axis motor, wherein the current pulse point is a zero value of the X-axis motor, the Y-axis motor or the Z-axis motor, and an X-axis zero mark, a Y-axis zero mark or a Z-axis zero mark is generated and sends an instruction to a first judgment module (201);
a first jump module (207): for sending instructions to the scan mode module (2).
2. The finite state automata architecture based picking robot controller according to claim 1, characterized in that the initialization module (1), the scan mode module (2), the alignment mode module (3), the grabbing mode module (4) and the regression mode module (5) perform mode switching according to a state transition formula:
the state transition formula is:
S1×E1→S2' (S2-A1)×E2→S2' (S2-A2)×E3→S3' (S3-A3)×E4→S3' (S3-A4)×E5→S4' (S3-A5)×E6→S5' (S4-A6)×E7→S5' (S5-A7)×E10→S5' S5×E8→S2' S5×E9→S3'
where E denotes a condition, a denotes an action, E1 denotes initialization completion, E2 denotes no target, E3 denotes a target in a frame, E4 denotes a picking error in a target, E5 denotes touching a target, E6 denotes a target loss, E7 denotes a target that has been cut off, E8 denotes a record point that has already regressed, E9 denotes a target that has appeared, E10 denotes a record point that has not regressed, a1 denotes a frame for transmission of an acquired target, a2 denotes a current position is saved, A3 denotes a comparison calculation error and controls a picking point to approach a target, a4 denotes a control of cutting off a target, a5 denotes a first regression record point, A6 denotes a return record position, and a7 denotes a second regression record point.
3. The finite state automata architecture based picking robot controller according to claim 1, characterized in that the scan pattern module (2) comprises:
first acquisition module (21): the system comprises a Z-axis zero value acquisition unit, a Z-axis motion information acquisition unit and a target existence state information acquisition unit, wherein the Z-axis zero value acquisition unit is used for acquiring a Z-axis motion information and a target existence state information, the motion information comprises a lowest point and a highest point of a Z-axis motion, and the target existence state information comprises a target existence mark and a target position coordinate;
second judging means (22): the target presence flag is used for judging whether a target presence flag exists or not, if yes, an instruction is sent to the second jump module (23), and if not, an instruction is sent to the first management module (24);
second jump module (23): the system is used for recording the Z-axis position at the current moment, generating a target existence mark and sending an instruction to the alignment mode module (3);
first management module (24): the scanning device is used for acquiring the relative position of the Z axis, setting the relative position as a scanning grid value and setting the distance traveled by the Z axis in a unit period;
third judging means (25): the device is used for judging the Z-axis movement direction according to the scanning grid value and the zero value of the Z axis, sending an instruction to the first calculation module (26) when the Z-axis movement is towards zero, and sending an instruction to the second calculation module (29) when the Z-axis movement is opposite to zero;
first calculation module (26): the scanning grid value and the distance traveled by the Z axis in a unit period are calculated;
fourth judging means (27): the device is used for judging whether the lowest point of Z-axis motion is reached or not according to the difference value obtained by the first calculation module (26), sending an instruction to the second management module (28) if the lowest point of Z-axis motion is reached, and sending an instruction to the first acquisition module (21) if the lowest point of Z-axis motion is not reached;
second management module (28): the device is used for setting the running direction of the Z axis as a reverse zero direction and sending an instruction to a first acquisition module (21);
second calculation module (29): the sum of the scanning grid value and the distance traveled by the Z axis in the unit period is calculated;
fifth judging means (30): the system is used for judging whether the highest point of the Z-axis motion is reached or not according to the sum value obtained by the second calculation module (29), if the highest point of the Z-axis motion is reached, sending an instruction to the third management module (301), and if the highest point of the Z-axis motion is not reached, sending an instruction to the first acquisition module (21);
third management module (301): the device is used for setting the running direction of the Z axis to be a direction towards zero and sending an instruction to the first acquisition module (21).
4. A finite state automata architecture based picking robot controller according to claim 3, characterised in that the alignment pattern module (3) comprises:
fifth setting module (31): the method is used for setting an X-axis error threshold and a Z-axis error threshold;
second acquisition module (32): the system is used for acquiring target existence state information and the maximum travel values of an X axis, a Y axis and a Z axis, wherein the target existence state information comprises a target existence mark and a target position coordinate, and an X difference value and a Z difference value between the target position coordinate and the position coordinate determined by the second jumping module (23) are calculated;
sixth judging means (33): the device is used for judging whether a target existence mark is generated or not, sending an instruction to the regression mode module (5) if the target existence mark is not generated, and sending an instruction to the seventh judging module (34) if the target existence mark is generated;
seventh judging means (34): the system is used for judging whether the X axis, the Y axis and the Z axis all reach the maximum travel value of the corresponding axis, if so, sending an instruction to the regression mode module (5), and if not, sending an instruction to the eighth judging module (35);
eighth judging means (35): the system is used for judging whether the X difference value and the Z difference value are smaller than the corresponding X-axis error threshold value and the corresponding Z-axis error threshold value or not, if one difference value is larger than the error threshold value, sending an instruction to a fourth management module (36), and if the X difference value and the Z difference value are smaller than the corresponding X-axis error threshold value and the corresponding Z-axis error threshold value, sending an instruction to a fifth management module (37);
fourth management module (36): the device is used for calculating the corresponding axis deviation pulse number according to the X difference value or the Z difference value, sending an instruction which runs by the X axis deviation pulse number or the Z axis deviation pulse number to the X axis or the Z axis, and sending the instruction to the second acquisition module (32);
fifth management module (37): the X-axis or Z-axis motion stopping device is used for sending a motion stopping instruction to the X-axis or Z-axis, setting the Y-axis deviation pulse number at the same time, and sending an instruction which runs by the Y-axis deviation pulse number to the Y-axis;
sixth management module (38): and the device is used for judging whether a signal touching the target is received or not, sending an instruction to the grabbing mode module (4) if the signal touching the target is received, and sending an instruction to the second acquisition module (32) if the signal touching the target is not received.
5. A finite state automata architecture based picking robot controller according to claim 4, characterised in that the grabbing mode module (4) comprises:
first control module (41): the scissors are used for sending a conduction instruction to an electromagnetic valve of the scissors;
timing module (42): the timing device is used for starting timing when the electromagnetic valve is conducted;
second control module (43): and the control module is used for sending a closing instruction to the electromagnetic valve of the scissors when the timing module (42) records that the time reaches the preset time, and jumping to the regression mode module (5).
6. A finite state automata architecture based picking robot controller according to claim 5, characterised in that the regression pattern module (5) comprises:
sixth setting module (51): the distance error threshold is used for setting the stroke midpoint of the X axis as a recording point, the zero point value of the Y axis as a recording point, the Z axis position recorded by the second jump module (23) as a recording point of the Z axis, and setting the distance error threshold of the X axis, the Y axis and the Z axis;
third acquisition module (52): the system comprises a position buffer value and a recording point, wherein the position buffer value is a stroke value between a current position and the recording point, and an X distance error value, a Y distance error value and a Z distance error value between a regressed position and the recording point are calculated;
regression module (53): the instructions are used for sending regression recording points to the X axis, the Y axis and the Z axis respectively based on the position buffer values of the X axis, the Y axis and the Z axis;
tenth determination module (54): the system is used for judging whether the X distance error value, the Y distance error value and the Z distance error value are smaller than the corresponding X-axis distance error threshold value, Y-axis distance error threshold value and Z-axis distance error threshold value or not, if so, sending an instruction to the scanning mode module (2), and if one distance error value is not smaller than the distance error threshold value, sending an instruction to the seventh management module (55);
seventh management module (55): the speed feedback control module is used for setting the number of regressive speed pulses of an X axis, a Y axis or a Z axis, sending an instruction of running with the number of regressive speed pulses to the X axis, the Y axis or the Z axis, and sending the instruction to the third acquisition module (52).
7. An architectural method based on finite state automata architecture, which is applied to the picking robot controller based on the finite state automata architecture of any one of claims 1 to 6, wherein the architectural method comprises the following steps:
s1: initializing the system through an initialization module (1), and judging whether the initialization is finished;
s2: after the system initialization is completed, the picking target is scanned through the scanning mode module (2), and whether the target exists or not is judged;
s3: controlling a picking point to approach a picking target through an alignment mode module (3) based on the existence of the target, and judging whether the target is touched;
s4: when the picking point touches the picking target, the picking point is controlled to cut the target through the grabbing mode module (4);
s5: and entering a regression mode through a regression mode module (5) to control regression recording points of each axis.
CN201810457799.5A 2018-05-14 2018-05-14 Picking robot controller based on finite state automata architecture and architecture method Active CN108656110B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810457799.5A CN108656110B (en) 2018-05-14 2018-05-14 Picking robot controller based on finite state automata architecture and architecture method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810457799.5A CN108656110B (en) 2018-05-14 2018-05-14 Picking robot controller based on finite state automata architecture and architecture method

Publications (2)

Publication Number Publication Date
CN108656110A CN108656110A (en) 2018-10-16
CN108656110B true CN108656110B (en) 2020-07-28

Family

ID=63779436

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810457799.5A Active CN108656110B (en) 2018-05-14 2018-05-14 Picking robot controller based on finite state automata architecture and architecture method

Country Status (1)

Country Link
CN (1) CN108656110B (en)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101683037B (en) * 2008-09-26 2012-12-05 中国农业大学 Controller for fruit picking robot
CN102339060A (en) * 2011-05-24 2012-02-01 北京工业大学 Dance motion planning method for desktop type two-wheeled robot
CN103273164A (en) * 2012-12-28 2013-09-04 长春大正博凯汽车设备有限公司 Arc welding system and arc welding method thereof
CN103115565A (en) * 2012-12-28 2013-05-22 长春大正博凯汽车设备有限公司 Laser measuring system and laser measuring method thereof
US9527211B2 (en) * 2013-05-10 2016-12-27 Cnh Industrial America Llc Control architecture for multi-robot system
CN104699122B (en) * 2015-02-12 2017-03-08 哈尔滨工业大学 A kind of robot movement-control system
CN105027834B (en) * 2015-07-10 2018-06-22 平顶山工业职业技术学院 A kind of vegetables and fruits picking robot and its control method
WO2018068231A1 (en) * 2016-10-12 2018-04-19 Abb Schweiz Ag Apparatus and method for controlling robot
CN107139182B (en) * 2017-06-05 2019-05-03 重庆理工大学 A kind of citrus picking robot system and its control method
CN107589719A (en) * 2017-07-21 2018-01-16 珠海格力节能环保制冷技术研究中心有限公司 A kind of origin apparatus resetting method and device

Also Published As

Publication number Publication date
CN108656110A (en) 2018-10-16

Similar Documents

Publication Publication Date Title
Morrison et al. Cartman: The low-cost cartesian manipulator that won the amazon robotics challenge
US10723022B2 (en) System and calibration, registration, and training methods
Fox et al. The dynamic window approach to collision avoidance
CN103895023B (en) A kind of tracking measurement method of the mechanical arm tail end tracing measurement system based on coding azimuth device
Wang et al. A hybrid visual servo controller for robust grasping by wheeled mobile robots
CN104914865A (en) Transformer station inspection tour robot positioning navigation system and method
US10059001B2 (en) Robot control device, robot system, and robot
CN103271784B (en) Man-machine interactive manipulator control system and method based on binocular vision
CN103029124A (en) Multi-degree-of-freedom controllable mechanism type stacking robot
CN109382828B (en) Robot shaft hole assembling system and method based on teaching learning
CN202438792U (en) Control system for welding robot
CN201653373U (en) Triaxial non-contact image measuring system
CN101402199B (en) Hand-eye type robot movable target extracting method with low servo accuracy based on visual sensation
CN101352854B (en) Remote operation planar redundant manipulator automated guided intelligent element, system and method
CN106990777A (en) Robot local paths planning method
Wen et al. Elman fuzzy adaptive control for obstacle avoidance of mobile robots using hybrid force/position incorporation
CN102317044A (en) Industrial robot system
CN108286949B (en) Movable three-dimensional detection robot system
Bentsman et al. Dynamical systems with active singularities of elastic type: A modeling and controller synthesis framework
CN104460670A (en) SCARA robot motion simulation and remote control system and method
CN104589357B (en) The DELTA robot control system of view-based access control model tracking and method
CN105334853A (en) Double-core high-speed four-wheel miniature micro-mouse sprint controller
WO2015109976A1 (en) Concrete pump truck, and boom control method and control device
CN106851567B (en) Positioning method, device and system
CN108427391B (en) The operation method of the intelligent flexible production line of mobile robot automatic drill milling

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant