Data storage device, robot system, and data storage method
Granted 25 Aug 2020 · no office action yet
Assignee: Panasonic
Law firm: Law firm · Log in to unlock
Attorney: Attorney · Log in to unlock
Inventors: Yasuyoshi Honuchi, Hiroyuki Nakata, Ryosuke Yamamoto, Atsumi Hashimoto · Examiner: Ronnie M Mancho · AU 3666 · TC 3600
Life of the application
7 dated eventsAbstract
A first acquisition unit acquires first data on first malfunction of a robot. A second acquisition unit acquires second data on second malfunction of the robot. A first determination unit determines whether or not to store the first data in accordance with the first data. A second determination unit determines whether or not to store the second data in accordance with the second data. A memory stores the first data and the second data. A controller stores the first data in the memory at a first period when the first determination unit determines to store the first data. The controller further stores the second data in the memory at a second period longer than the first period, when the first determination unit determines not to store the first data and the second determination unit determines to store the second data.
Description
11 parts›This application is a U.S. national stage application…
This application is a U.S. national stage application of the PCT International Application No. PCT/JP2017/010900 filed on Mar. 17, 2017, which claims the benefit of foreign priority of Japanese patent application 2016-067192 filed on Mar. 30, 2016, the contents all of which are incorporated herein by reference.
›TECHNICAL FIELD
The present disclosure relates to a data storage device, a robot system, and a data storage method.
›BACKGROUND ART
PTL 1 discloses a method of displaying a robot malfunction occurrence history. A conventional method of displaying a robot malfunction occurrence history will be described with reference to FIG. 11 , FIG. 12 , and FIG. 13 . FIG. 11 is a schematic flowchart of conventional sampling data memorization. FIG. 12 is a conceptual chart depicting a configuration of a conventional data memory file. FIG. 13 is an exemplary graph of conventional data display.
As depicted in FIG. 11 , the conventional sampling data memorization includes step S 901 to step S 909 .
Step S 901 includes determining whether or not malfunction detection flag F has an initial value of “zero”. If malfunction detection flag F is not “zero”, an alarm is occurring. The sampling data memorization accordingly ends. If malfunction detection flag F is “zero”, the flow proceeds to subsequent step S 902 .
Step S 902 includes reading a torque command current value. The flow then proceeds to subsequent step S 903 .
Step S 903 includes adding one to address search index i. Address search index i has an initial value of “zero”. The flow then proceeds to subsequent step S 904 .
Step S 904 includes determining whether or not address search index i obtained after the addition of one exceeds n. The flow proceeds to step S 906 if address search index i does not exceed n. If address search index i exceeds n, address search index i is set to “one” (step S 905 ). The flow then proceeds to step S 906 .
In step S 906 , the torque command current value read in step S 902 is memorized as sampling data corresponding to address search index i in the data memory file. The flow then proceeds to subsequent step S 907 .
In step S 907 , address search index i is memorized in final record address memory register Pe. The flow then proceeds to subsequent step S 908 .
Step S 908 includes determining whether or not an alarm is occurring. If an alarm is occurring, malfunction detection flag F is set to “one” (step S 909 ). The sampling data memorization then ends. If no alarm is occurring, the sampling data memorization ends without including step S 909 .
The sampling data memorization (step S 901 to step S 909 ) is repeated at predetermined period Δt to generate data memory file 910 as indicated in FIG. 12 . As in FIG. 12 , data memory file 910 includes torque command sampling data of which number is limited to address number n. The oldest sampling data is updated with the latest sampling data.
A torque command before alarm occurrence by time corresponding to n·Δt can be indicated in accordance with data memory file 910 , as in the graph of FIG. 13 having a transverse axis for time t and an ordinate axis for tor torque command T.
PTL 2 and PTL 3 also refer to storing sampling data in case of alarm occurrence.
›CITATION LIST
Patent Literatures
PTL 1: Unexamined Japanese Patent Publication No. 9-311715
PTL 2: Unexamined Japanese Patent Publication No. 2005-103681
PTL 3: Unexamined Japanese Patent Publication No. 2008-203962
›SUMMARY OF THE INVENTION
The conventional method of displaying a robot malfunction occurrence history includes storing sampling data at a preset sampling period and at preset sampling time. It is desired to store sufficient sampling data on a plurality of robot malfunctions. There is, however, a limit in capacity of a memory storing sampling data. The data stored through sampling is thus constant in volume. It is accordingly difficult to store all necessary data on a plurality of malfunctions. The present disclosure provides a data storage device configured to efficiently store data on a plurality of robot malfunctions even with a limit in memory capacity.
The present disclosure provides a data storage device configured to store data on malfunction of a robot and including a first acquisition unit, a second acquisition unit, a first determination unit, a second determination unit, a memory, and a controller. The first acquisition unit acquires first data on first malfunction of the robot. The second acquisition unit acquires second data on second malfunction of the robot. The first determination unit determines whether or not to store the first data in accordance with the first data. The second determination unit determines whether or not to store the second data in accordance with the second data. The memory stores the first data and the second data. The controller stores the first data in the memory at a first period when the first determination unit determines to store the first data. The controller stores the second data in the memory at a second period longer than the first period, when the first determination unit determines not to store the first data and the second determination unit determines to store the second data.
The present disclosure further provides a robot system including the data storage device, the robot, and a robot control device. The robot includes a drive unit. The robot control device controls the drive unit.
The present disclosure also provides a data storage method of storing data on malfunction of a robot, the method including: acquiring first data on first malfunction of the robot; acquiring second data on second malfunction of the robot; determining whether or not to store the first data in accordance with the first data; determining whether or not to store the second data in accordance with the second data; and storing the first data at a first period upon determination to store the first data, and storing the second data at a second period longer than the first period, upon determination not to store the first data and determination to store the second data.
The data storage device according to the present disclosure is configured to efficiently store data on a plurality of robot malfunctions even with a limit in memory capacity. The data storage device thus enables more accurate robot malfunction analysis.
›BRIEF DESCRIPTION OF DRAWINGS
FIG. 1 is a block diagram of a robot system according to an exemplary embodiment.
FIG. 2 is an explanatory flowchart of sampling mode setting.
FIG. 3 depicts a first part of an explanatory flowchart of sampling condition setting.
FIG. 4 depicts a second part of the explanatory flowchart of sampling condition setting.
FIG. 5 depicts a third part of the explanatory flowchart of sampling condition setting.
FIG. 6 is an explanatory flowchart of sampling data storage.
FIG. 7 is an exemplary view of the sampling data storage.
FIG. 8 is a chart of exemplary sampling data stored during overload detection.
FIG. 9 is a chart of exemplary sampling data stored during locked state detection.
FIG. 10 is a chart of exemplary sampling data stored during error counter excess detection.
FIG. 11 is a schematic flowchart of conventional sampling data memorization.
FIG. 12 is a conceptual chart depicting a configuration of a data memory file according to a conventional method of displaying a robot malfunction occurrence history.
FIG. 13 is an exemplary graph of data display according to the conventional method of displaying a robot malfunction occurrence history.
›DESCRIPTION OF EMBODIMENT · 1 of 3
Exemplary Embodiment
An exemplary embodiment of the present disclosure will now be described with reference to FIG. 1 to FIG. 10 .
FIG. 1 is a block diagram of robot system 30 according to the present exemplary embodiment. Robot system 30 includes display 1 , robot control device 2 , data storage device 3 , and robot 20 . Robot 20 according to the present exemplary embodiment is an industrial articulated robot. Robot 20 includes a plurality of servomotors 4 configured to drive external shafts such as joints and positioners of robot 20 . Each of servomotors 4 exemplifies a drive unit of robot 20 .
Robot control device 2 controls servomotors 4 . Data storage device 3 is configured to store data on malfunction of robot 20 , and includes first acquisition unit 10 a , second acquisition unit 10 b , third acquisition unit 10 c , first determination unit 11 a , second determination unit 11 b , third determination unit 11 c , memory 12 , and controller 13 . Display 1 is configured to display data on malfunction of robot 20 stored in memory 12 . Robot control device 2 is further configured to stop servomotors 4 in accordance with the data on malfunction of robot 20 stored in memory 12 . Robot control device 2 according to the present exemplary embodiment includes data storage device 3 . The present disclosure is, however, not limited to this configuration. The present disclosure is also applicable to a configuration in which robot control device 2 does not include data storage device 3 and robot system 30 includes both robot control device 2 and data storage device 3 .
Examples of display 1 include a liquid crystal display. Examples of memory 12 include a hard disk drive. The examples of memory 12 also include a solid state drive. Memory 12 functions as a data buffer.
Data storage device 3 executes sampling mode setting and sampling condition setting for data on malfunction of robot 20 . Data storage device 3 stores sampling data as data on malfunction of robot 20 . Data storage device 3 will be described below in terms of these operations with reference to FIG. 2 to FIG. 6 .
The sampling mode setting will be described with reference to FIG. 2 . FIG. 2 is an explanatory flowchart of the sampling mode setting.
Controller 13 sets a last sampling mode as a current sampling mode (step a 1 ).
Third acquisition unit 10 c acquires, from each servomotor 4 , temperature of servomotor 4 as third data on third malfunction of servomotor 4 . The third malfunction of servomotor 4 relates to an overload of servomotor 4 . Third determination unit 11 c determines whether or not to store the temperature of servomotor 4 as the third data in accordance with the temperature of servomotor 4 . Specifically, third determination unit 11 c determines whether or not to store the temperature of servomotor 4 as the third data through determining whether or not the temperature of servomotor 4 is equal to or more than predetermined temperature (step a 2 ). If third determination unit 11 c determines to store the temperature of servomotor 4 (Y in step a 2 ), controller 13 sets the sampling mode to overload detection (step a 3 ). If third determination unit 11 c determines not to store the temperature of servomotor 4 (N in step a 2 ), the flow proceeds to step a 4 .
Subsequently, second acquisition unit 10 b acquires, from servomotor 4 , a speed feedback value of servomotor 4 as second data on second malfunction of servomotor 4 . The second malfunction of servomotor 4 relates to a locked state of servomotor 4 . Second determination unit 11 b determines whether or not to store the speed feedback value of servomotor 4 as the second data in accordance with the speed feedback value of servomotor 4 . Specifically, second determination unit 11 b calculates locked state time from the speed feedback value of the servomotor. Second determination unit 11 b then determines whether or not to store the speed feedback value of servomotor 4 as the second data through determining whether or not the locked state time of servomotor 4 is equal to or more than predetermined time (step a 4 ). If second determination unit 11 b determines to store the speed feedback value of servomotor 4 (Y in step a 4 ), controller 13 sets the sampling mode to locked state detection (step a 5 ). If second determination unit 11 b determines not to store the speed feedback value of servomotor 4 (N in step a 4 ), the flow proceeds to step a 6 .
Subsequently, first acquisition unit 10 a acquires, from servomotor 4 , an error counter value of servomotor 4 as first data on first malfunction of servomotor 4 . The first malfunction of servomotor 4 relates to error counter excess of servomotor 4 . First determination unit 11 a determines whether or not to store the error counter value of servomotor 4 as the first data in accordance with the error counter value of servomotor 4 . Specifically, first determination unit 11 a determines whether or not to store the error counter value of servomotor 4 as the first data through determining whether or not the error counter value of the servomotor is equal to or more than a predetermined value (step a 6 ). If first determination unit 11 a determines to store the error counter value of servomotor 4 (Y in step a 6 ), controller 13 sets the sampling mode to error counter excess detection (step a 7 ). If first determination unit 11 a determines not to store the error counter value of servomotor 4 (N in step a 6 ), the sampling mode setting ends.
As described above, when first determination unit 11 a determines to store the error counter value, controller 13 sets the sampling mode to error counter excess detection. When first determination unit 11 a determines not to store the error counter value and second determination unit 11 b determines to store the speed feedback value, controller 13 sets the sampling mode to locked state detection. When first determination unit 11 a determines not to store the error counter value, second determination unit 11 b determines not to store the speed feedback value, and third determination unit 11 c determines to store the temperature of servomotor 4 , controller 13 sets the sampling mode to overload detection.
›DESCRIPTION OF EMBODIMENT · 2 of 3
The sampling modes are determined in an order of longer sampling periods of the respective sampling modes. Specifically, a sampling mode having a shorter sampling period is set preferentially. Specifically, the overload detection has the longest sampling period, the locked state detection has the second longest period, and the error counter excess detection has the shortest sampling period. These sampling periods correspond to urgency degrees upon alarm occurrence in these sampling modes.
The sampling condition setting will be described with reference to FIG. 3 to FIG. 5 . FIG. 3 to FIG. 5 are explanatory flowcharts of the sampling condition setting.
As depicted in FIG. 3 , controller 13 determines whether or not the current sampling mode changes from the last sampling mode (step b 1 ). If the sampling mode does not change (N in step b 1 ), controller 13 ends the processing. If the sampling mode changes (Y in step b 1 ), controller 13 determines whether or not the sampling mode is the overload detection (step b 2 ). If the sampling mode is not the overload detection (N in step b 2 ), the flow proceeds to subsequent determination (step b 6 ). If the sampling mode is the overload detection (Y in step b 2 ), controller 13 executes the following setting. Controller 13 sets stored data number Ns to stored data number n 1 for the mode of overload detection (step b 3 ). Controller 13 then sets sampling data A 1 to An 1 at stored data addresses (step b 4 ). Sampling data A 1 to An 1 include the temperature of servomotor 4 . Sampling data A 1 to An 1 can further include the speed feedback value of servomotor 4 . Sampling data A 1 to An 1 can still further include a total calorific value of servomotor 4 . Controller 13 then sets sampling period Ts to third period t 3 (step b 5 ).
As depicted in FIG. 4 , controller 13 subsequently determines whether or not the current sampling mode is the locked state detection (step b 6 ). If the sampling mode is not the locked state detection (N in step b 6 ), the flow proceeds to subsequent determination (step b 10 ). If the sampling mode is the locked state detection (Y in step b 6 ), controller 13 executes the following setting. Controller 13 sets stored data number Ns to stored data number n 2 for the mode of locked state detection (step b 7 ). Controller 13 then sets sampling data B 1 to Bn 2 at the stored data addresses (step b 8 ). Sampling data B 1 to Bn 2 include the speed feedback value of servomotor 4 . Sampling data B 1 to Bn 2 can further include a current command of servomotor 4 . Controller 13 then sets sampling period Ts to second period t 2 (step b 9 ). Second period t 2 is shorter than third period t 3 .
As depicted in FIG. 5 , controller 13 subsequently determines whether or not the current sampling mode is the error counter excess detection (step b 10 ). If the sampling mode is not the error counter excess detection (N in step b 10 ), the flow proceeds to subsequent processing (step b 14 ). If the sampling mode is the error counter excess detection (Y in step b 10 ), controller 13 executes the following setting. Controller 13 sets stored data number Ns to stored data number n 3 for the mode of error counter excess detection (step b 11 ). Controller 13 then sets sampling data C 1 to Cn 3 at the stored data addresses (step b 12 ). Sampling data C 1 to Cn 3 include the error counter value of servomotor 4 . Sampling data C 1 to Cn 3 can further include a position feedback value of servomotor 4 . Controller 13 then sets sampling period Ts to first period t 1 (step b 13 ). First period t 1 is shorter than second period t 2 .
Controller 13 subsequently initializes (clears to zero) sampling period counter CNTs and buffer counter Wp (step b 14 ). In other words, controller 13 sets sampling period counter CNTs and buffer counter Wp to “zero”. Controller 13 can optionally store sampling data A 1 to An 1 , B 1 to Bn 2 , and C 1 to Cn 3 tentatively in a random access memory during the above operations.
Sampling data storage will be described with reference to FIG. 6 . FIG. 6 is an explanatory flowchart of the sampling data storage. Controller 13 determines whether or not an alarm is occurring (step c 1 ). If an alarm is occurring (Y in step c 1 ), controller 13 ends the processing. If no alarm is occurring (N in step c 1 ), controller 13 determines whether or not a current control period is a sampling control period (step c 2 ). Specifically, controller 13 determines whether or not the current control period is the sampling control period through comparing sampling period counter CNTs with sampling period Ts. If the current control period is not the sampling control period (N in step c 2 ), controller 13 adds one to sampling period counter CNTs (step c 10 ) and ends the processing. If the current control period is the sampling control period (Y in step c 2 ), controller 13 initializes (clears to zero) stored data counter i (step c 3 ). Controller 13 subsequently compares stored data number Ns with stored data counter i (step c 4 ). If stored data counter i is equal to or more than stored data number Ns (N in step c 4 ), controller 13 ends the processing. If stored data counter i is less than stored data number Ns (Y in step c 4 ), controller 13 stores sampling data in memory 12 . Specifically, controller 13 writes sampling data corresponding to stored data counter i at an address of memory 12 corresponding to buffer counter Wp (step c 5 ). Controller 13 then adds one to stored data counter i (step c 6 ), and adds one to buffer counter Wp (step c 7 ). Controller 13 subsequently determines whether or not buffer counter Wp is equal to or more than a predetermined buffer size (step c 8 ). If buffer counter WP is equal to or more than the buffer size (Y in step c 8 ), controller 13 initializes (clears to zero) buffer counter Wp (step C 9 ). The oldest sampling data is thus updated with the latest sampling data if stored sampling data exceeds capacity of memory 12 . The flow then returns to step c 4 . Controller 13 thereafter repeats step c 4 to step c 9 until stored data counter i becomes equal to or more than stored data number Ns. If stored data counter i becomes equal to or more than stored data number Ns (N in step c 4 ), controller 13 ends the processing.
›DESCRIPTION OF EMBODIMENT · 3 of 3
FIG. 7 is an exemplary view of the sampling data storage. FIG. 8 is a chart of exemplary sampling data stored during the overload detection. FIG. 9 is a chart of exemplary sampling data stored during lock detection. FIG. 10 is a chart of exemplary sampling data stored during the error counter excess detection.
First acquisition unit 10 a , second acquisition unit 10 b , and third acquisition unit 10 c acquire data at every control period in FIG. 7 . The control period has an exemplary interval of 2 msec. Specifically, first acquisition unit 10 a acquires an error counter value of servomotor 4 at every control period. Second acquisition unit 10 b acquires a speed feedback value of servomotor 4 at every control period. Third acquisition unit 10 c acquires temperature of servomotor 4 at every control period. Controller 13 executes sampling mode determination as depicted in the flowchart of FIG. 2 at every control period. As depicted in FIG. 3 to FIG. 5 , controller 13 updates a sampling data acquisition condition upon sampling mode change. Controller 13 stores sampling data in memory 12 as depicted in FIG. 6 in accordance with the updated sampling data acquisition condition.
Specific example of the stored sampling data will be described with reference to FIG. 7 to FIG. 10 .
Controller 13 determines that the sampling mode is the overload detection at control period d 1 in FIG. 7 . Controller 13 then sets sampling period Ts to third period t 3 . Controller 13 stores sampling data A 1 to An 1 in memory 12 at control period d 10 after third period t 3 elapses from control period d 1 . Controller 13 stores sampling data A 1 to An 1 again in memory 12 at control period d 11 after third period t 3 elapses from control period d 10 (see FIG. 8 ).
Controller 13 subsequently determines that the sampling mode is the locked state detection at control period d 2 in FIG. 7 . Controller 13 then sets sampling period Ts to second period t 2 . Controller 13 stores sampling data B 1 to Bn 2 in memory 12 at control period d 12 after second period t 2 elapses from control period d 2 . Controller 13 thereafter stores sampling data B 1 to Bn 2 in memory 12 at control period d 13 and control period d 14 after each second period t 2 elapses from control period d 12 (see FIG. 9 ).
Controller 13 subsequently determines that the sampling mode is the error counter excess detection at control period d 3 in FIG. 7 . Controller 13 then sets sampling period Ts to first period t 1 . Controller 13 stores sampling data C 1 to Cn 3 in memory 12 at control period d 15 after first period t 1 elapses from control period d 3 . Controller 13 thereafter stores sampling data C 1 to Cn 3 in memory 12 at control period d 16 , control period d 17 , and control period d 18 after each first period t 1 elapses from control period d 15 (see FIG. 10 ).
As described above, data storage device 3 is configured to store data on malfunction of robot 20 with a sampling mode having a higher urgency degree being prioritized. Data storage device 3 is thus configured to efficiently store data on a plurality of malfunctions of robot 20 .
First acquisition unit 10 a , second acquisition unit 10 b , third acquisition unit 10 c , first determination unit 11 a , second determination unit 11 b , third determination unit 11 c , and controller 13 described above are each configured by an integrated circuit or the like. Part or entirety of first acquisition unit 10 a , second acquisition unit 10 b , third acquisition unit 10 c , first determination unit 11 a , second determination unit 11 b , third determination unit 11 c , and controller 13 can alternatively be configured by a single integrated circuit. Each function of first acquisition unit 10 a , second acquisition unit 10 b , third acquisition unit 10 c , first determination unit 11 a , second determination unit 11 b , third determination unit 11 c , and controller 13 can be achieved by an integrated circuit and a program in cooperation with each other. In other words, each of first acquisition unit 10 a , second acquisition unit 10 b , third acquisition unit 10 c , first determination unit 11 a , second determination unit 11 b , third determination unit 11 c , and controller 13 can be configured by a microcontroller.
Data storage device 3 optionally excludes third acquisition unit 10 c and third determination unit 11 c . Data storage device 3 thus configured stores the first data on the first malfunction and the second data on the second malfunction.
›INDUSTRIAL APPLICABILITY
The data storage device according to the present disclosure is configured to efficiently store data on a plurality of robot malfunctions even with a limit in memory capacity. The data storage device according to the present disclosure is useful for more accurate analysis of robot malfunction and industrially worthful.
›REFERENCE MARKS IN THE DRAWINGS
1 display
2 robot control device
3 data storage device
4 servomotor (drive unit)
10 a first acquisition unit
10 b second acquisition unit
10 c third acquisition unit
11 a first determination unit
11 b second determination unit
11 c third determination unit
12 memory
13 controller
20 robot
30 robot system
S 901 to S 909 step
910 data memory file
Claims as granted
7 claimsLog in to read the claims of this application.
Log in to unlockClassifications
4 codes- B25J19/06
- B25J9/00
- B25J9/16
- G06F17/00
Claim changes
SoonSee which claims were amended, added or cancelled during examination, with every added and removed word marked.
The published claims of this application are not paired with the granted ones in what we hold.
File wrapper
See the full prosecution history — every USPTO and applicant action on this file, in order.
Log in to unlockDocuments
Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.
Log in to unlockChain of title
See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.
Log in to unlock