WO2021009976A1 - 制御システム、制御装置及び制御方法 - Google Patents

制御システム、制御装置及び制御方法 Download PDF

Info

Publication number
WO2021009976A1
WO2021009976A1 PCT/JP2020/014290 JP2020014290W WO2021009976A1 WO 2021009976 A1 WO2021009976 A1 WO 2021009976A1 JP 2020014290 W JP2020014290 W JP 2020014290W WO 2021009976 A1 WO2021009976 A1 WO 2021009976A1
Authority
WO
WIPO (PCT)
Prior art keywords
estimated
external force
motor
unit
estimation unit
Prior art date
Application number
PCT/JP2020/014290
Other languages
English (en)
French (fr)
Inventor
慶太 嶌本
剛 横矢
Original Assignee
株式会社安川電機
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
Priority claimed from PCT/JP2019/028261 external-priority patent/WO2021009903A1/ja
Application filed by 株式会社安川電機 filed Critical 株式会社安川電機
Priority to CN202080051279.XA priority Critical patent/CN114127659B/zh
Priority to EP20839682.0A priority patent/EP4002053A4/en
Priority to JP2021532676A priority patent/JP7222427B2/ja
Publication of WO2021009976A1 publication Critical patent/WO2021009976A1/ja
Priority to US17/574,581 priority patent/US11750133B2/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • H02P23/14Estimation or adaptation of motor parameters, e.g. rotor time constant, flux, speed, current or voltage
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4062Monitoring servoloop, e.g. overload of servomotor, loss of feedback or reference
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4142Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by the use of a microprocessor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37391Null, initial load, no load torque detection or other parameter at no load
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37612Transfer function, kinematic identification, parameter estimation, response
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37621Inertia, mass of rotating, moving tool, workpiece, element
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37632By measuring current, load of motor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41213Lookup table for load, motor torque as function of actual position
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/42Servomotor, servo controller kind till VSS
    • G05B2219/42168Measuring of needed force for servo
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/42Servomotor, servo controller kind till VSS
    • G05B2219/42295Detect augmenting torque of drive motor

Definitions

  • the present disclosure relates to control systems, control devices and control methods.
  • the estimated disturbance torque is obtained by a disturbance observer from the torque command to each axis motor of the robot and the speed detection value of each axis, and the estimated disturbance torque is subjected to high-pass filter processing and then coordinate conversion.
  • a robot system that estimates an external force is disclosed.
  • the present disclosure provides a control system, a control device, and a control method effective for improving the estimation accuracy of an external force.
  • the control system is a first method of estimating a first external force acting on a motor based on at least a motor for driving a drive target, a control unit for driving the motor, and a driving force command in the control unit.
  • the estimation unit the data storage unit that stores profile data representing the transition of the estimated value estimated by the first estimation unit, and the first estimation unit when the control unit is driving the motor based on a predetermined operation pattern.
  • a second estimation unit that estimates a second external force acting on the driving target based on the estimated value newly estimated by the above and the profile data stored in the data storage unit is provided.
  • the control device includes a control unit that drives a motor that drives a drive target, and a first estimation unit that estimates a first external force acting on the motor based on at least a driving force command in the control unit.
  • a data storage unit that stores profile data representing the transition of the estimated value estimated by the first estimation unit, and a new estimation unit when the control unit is driving the motor based on a predetermined operation pattern.
  • a second estimation unit that estimates a second external force acting on the driving target based on the estimated value estimated in the above and the profile data stored in the data storage unit is provided.
  • a control method is to drive a motor that drives a driving object and to estimate a first external force acting on the motor based on at least a driving force command for driving the motor. And, the profile data showing the transition of the estimated value of the first external force is stored in the data storage unit, and the estimated value of the first external force newly estimated when the motor is driven based on the predetermined operation pattern. And estimating the second external force acting on the driving target based on the profile data stored in the data storage unit.
  • the control system 1 is a system in which a drive target is made to perform a desired operation by a motor. There are no particular restrictions on the shape, structure, and size of the drive target, and the number and size of motors. In the following, a case where there is one motor and the driving target is one rigid body will be illustrated.
  • the control system 1 includes a motor 2, a sensor 3, and a control device 100.
  • the motor 2 drives the drive target 4.
  • the motor 2 may be a rotary motor that rotationally drives the drive target 4, or may be a linear motor that displaces the drive target 4 along a straight line.
  • the motor 2 may be a synchronous motor or an induction motor.
  • the motor 2 may be a permanent magnet type synchronous motor such as an SPM (Surface Permanent Magnet) motor or an IPM (Interior Permanent Magnet) motor, or a synchronous motor having no permanent magnet such as a synchronous reluctance motor. There may be.
  • the sensor 3 detects the response value of the motor 2 corresponding to the control command.
  • the response value include the position or speed of the motor 2.
  • the rotation angle of the output shaft of the motor 2 corresponds to the "position”
  • the rotation speed of the output shaft of the motor 2 corresponds to the "speed”.
  • Specific examples of the sensor 3 include a rotary encoder that outputs a pulse signal having a frequency proportional to the operating speed of the motor 2. According to the rotary encoder, both the position and the speed of the motor 2 can be acquired.
  • the control device 100 controls the motor 2 so that the drive target 4 performs a desired operation. Further, the control device 100 estimates the external force acting on the drive target 4 by a sensorless method that does not use a force sensor. As illustrated later, the control device 100 may control the motor 2 based on the estimated external force, or may detect the contact between the drive target 4 and the peripheral object based on the estimated external force. The state of the surrounding object may be estimated based on the estimated external force.
  • the external force acting on the motor 2 can be estimated based on the driving force command by the control device 100. For example, when the driving force generated by the motor 2 sufficiently follows the driving force command, it can be estimated that an external force substantially matching the driving force command is acting on the motor 2.
  • the external force acting on the drive target 4 Since the external force acting on the drive target 4 is also transmitted to the motor 2, the external force acting on the motor 2 includes the external force acting on the drive target 4. However, the external force acting on the motor 2 includes at least the inertial force of the driving target 4 in addition to the external force acting on the driving target 4. Further, the external force acting on the motor 2 includes components that are difficult to model, such as Coulomb friction, viscous friction, and variations in the shape, size, and weight of the driving object 4. Therefore, it is difficult to estimate the external force acting on the drive target 4 with high accuracy only based on the external force acting on the motor 2. On the other hand, the control device 100 improves the estimation accuracy of the external force acting on the drive target 4 by the sensorless method.
  • the control device 100 drives the motor 2, estimates the first external force acting on the motor 2 at least based on the driving force command for driving the motor 2, and changes in the estimated value of the first external force.
  • the profile data representing the above is stored in the data storage unit, the first external force newly estimated when the motor 2 is driven based on a predetermined operation pattern, and the profile data stored in the data storage unit.
  • the second external force acting on the driving target 4 is estimated, and is configured to execute.
  • the control device 100 has an operation pattern storage unit 111, a control unit 112, a first estimation unit 113, a profile generation unit 114, and a data storage unit as functional configurations (hereinafter referred to as “functional blocks”). It includes 115 and a second estimation unit 116.
  • the operation pattern storage unit 111 stores at least one operation pattern.
  • the operation pattern is data representing the transition (time change) of the operation target value of the motor 2.
  • an operation pattern includes at least one operation command.
  • the operation command determines at least the target position of the drive target 4.
  • the operation command may include the target speed of the drive target 4 instead of the target position of the drive target 4, or may include both the target position and the target speed of the drive target 4.
  • the operation pattern may include a plurality of operation commands in a time series.
  • the operation pattern storage unit 111 may store a plurality of operation patterns. Each of the plurality of operation patterns may be a unit program for constructing an operation program for causing the drive target 4 to perform a series of operations.
  • the control unit 112 drives the motor 2. For example, the control unit 112 generates drive power for operating the drive target 4 based on the operation pattern stored in the operation pattern storage unit 111, and supplies the drive power to the motor 2. For example, the control unit 112 acquires information on the current position and current speed of the drive target 4 based on the detected value of the sensor 3, and generates drive power so as to make these follow the target position and target speed.
  • control unit 112 performs proportional calculation, proportional / integral calculation, proportional / integral / differential calculation, or the like on the deviation between the target position and the current position (hereinafter referred to as “positional deviation”) to obtain the position deviation.
  • positional deviation the deviation between the target position and the current position
  • control unit 112 performs proportional calculation, proportional / integral calculation, proportional / integral / differential calculation, or the like on the deviation between the target speed and the current speed (hereinafter referred to as “speed deviation”) to reduce the speed deviation.
  • speed deviation proportional calculation, proportional / integral calculation, proportional / integral / differential calculation, or the like on the deviation between the target speed and the current speed
  • the control unit 112 calculates a current command for making the driving force of the motor 2 follow the driving force command, and generates driving power so as to supply the driving current corresponding to the current command to the motor 2.
  • the first estimation unit 113 estimates the first external force acting on the motor 2 based on at least the driving force command in the control unit 112. For example, the first estimation unit 113 may output a force corresponding to the driving force command as the estimation result of the first external force.
  • the drive current matches the current command
  • the drive current and the drive force command correlate with each other. In such a case, being based on the detected value of the driving current and being based on the current command are substantially synonymous with being based on the driving force command.
  • the first estimation unit 113 may be a disturbance observer that estimates the first external force based on at least the driving force command and the response value of the motor 2. For example, the first estimation unit 113 estimates the inertial force acting on the motor 2 from the drive target 4 based on the response value of the motor 2 (for example, the current speed and the current position) and the known rigid body model of the drive target 4. , The value obtained by subtracting the inertial force from the driving force command may be output as the estimation result of the first external force.
  • the profile generation unit 114 generates profile data representing the transition of the estimated value estimated by the first estimation unit 113. For example, the profile generation unit 114 repeatedly acquires the estimated value of the first external force from the first estimation unit 113 during the period when the control unit 112 drives the motor 2 based on the operation pattern stored in the operation pattern storage unit 111, and the period. Generates profile data representing the time change of the estimated value of the first external force in. The profile data generated thereby represents the transition of the estimated value estimated by the first estimation unit 113 when the control unit 112 drives the motor 2 based on the operation pattern in the past.
  • the profile generation unit 114 may generate profile data in a state where no external force is applied to the drive target 4.
  • the profile data generated thereby represents the transition of the estimated value estimated by the first estimation unit 113 in a state where no external force is applied to the driving target 4.
  • the profile generation unit 114 may generate profile data for each of the plurality of operation patterns. As a result, a plurality of profile data corresponding to each of the plurality of operation patterns are generated. Each of the plurality of profile data represents the transition of the estimated value estimated by the first estimation unit 113 when the control unit 112 has driven the motor 2 in the past based on the corresponding operation pattern.
  • the data storage unit 115 stores the profile data generated by the profile generation unit 114.
  • the data storage unit 115 may store the plurality of profile data described above.
  • the data storage unit 115 may store the estimated value of the first external force and the operation pattern in association with each other.
  • FIG. 2 is a table illustrating profile data.
  • the profile data includes a plurality of records in a time series. Each record contains a drive time, a position, a speed, and an estimate of the first external force.
  • the drive time is the elapsed time from the start of the operation of the motor 2 based on the operation pattern to the estimation of the first external force (the drive time of the motor 2 based on the operation pattern).
  • the position is the position of the motor 2 at the time of estimating the first external force.
  • the position here may be the target position or the position detected by the sensor 3.
  • the speed is the speed of the motor 2 at the time of estimating the first external force.
  • the speed here may be the target speed or the speed detected by the sensor 3.
  • the data storage unit 115 replaces the discrete values as illustrated in FIG.
  • a function or the like representing the relationship with the estimated value of may be stored as profile data.
  • the operation pattern may be a unit program for constructing an operation program.
  • the second estimation unit 116 is referred to as an estimated value newly estimated by the first estimation unit 113 (hereinafter, referred to as “new estimated value”) when the control unit 112 is driving the motor 2 based on the operation pattern. ) And the profile data stored in the data storage unit 115, the second external force acting on the driving target 4 is estimated. For example, the second estimation unit 116 extracts an estimated value corresponding to the new estimated value (hereinafter, referred to as “estimated value to be compared”) from the profile data, and sets the new estimated value and the estimated value to be compared. The second external force is estimated based on the difference. For example, the second estimation unit 116 outputs a value obtained by subtracting the estimated value to be compared from the new estimated value as the estimation result of the second external force.
  • the second estimation unit 116 may extract an estimated value to be compared from the profile data based on the drive time according to the operation pattern (the elapsed time 9 from the start of operation of the motor 2 based on the operation pattern).
  • the second estimation unit 116 extracts an estimated value corresponding to the driving time at the time when the first estimated unit 113 outputs a new estimated value from the profile data.
  • the second estimation unit 116 may extract an estimated value corresponding to the newly estimated estimated value from the profile data based on the response value of the motor 2. For example, the second estimation unit 116 may extract an estimated value corresponding to the position of the motor 2 at the time when the first estimated unit 113 outputs a new estimated value from the profile data. The second estimation unit 116 may extract an estimated value corresponding to the speed of the motor 2 at the time when the first estimated unit 113 outputs a new estimated value from the profile data. The second estimation unit 116 may extract an estimated value corresponding to the position and speed of the motor 2 at the time when the first estimated unit 113 outputs a new estimated value from the profile data.
  • the control device 100 may further include a data selection unit 121 as shown in FIG.
  • the data selection unit 121 selects profile data corresponding to the operation pattern from a plurality of profile data of the data storage unit 115 when or before the control unit 112 starts driving the motor 2 based on the operation pattern.
  • the second estimation unit 116 estimates the second external force based on the profile data selected by the data selection unit 121.
  • control device 100 may further include a data update unit 122.
  • the data update unit 122 updates the profile data stored in the data storage unit 115. Updating includes overwriting the existing profile data and writing new profile data while leaving the existing profile data as the old version.
  • the data update unit 122 determines whether or not the profile data needs to be updated based on the profile data stored in the data storage unit 115 and the estimated value newly estimated by the first estimation unit 113, and needs to be updated. If it is determined, the profile data may be updated based on the estimated value newly estimated by the first estimation unit 113.
  • the control device 100 further has a log data storage unit 129.
  • the log data storage unit 129 stores log data representing the transition of the relationship between the estimated value newly estimated by the first estimation unit 113 and the profile data.
  • the log data storage unit 129 stores the transition of the second external force estimated by the second estimation unit 116 as log data during the period in which the control unit 112 drives the motor 2 based on the operation pattern.
  • the log data storage unit 129 may store the estimated value of the second external force in association with the operation pattern.
  • the log data storage unit 129 may store a record in which the position and speed of the motor 2 and the estimated value of the second external force are associated with each other in time series.
  • the position / speed may be a target position / speed, or may be a position / speed detected by the sensor 3.
  • the data update unit 122 determines whether or not the profile data needs to be updated based on the log data stored in the log data storage unit 129. For example, the data update unit 122 determines whether or not the profile data needs to be updated based on whether or not the log data satisfies a predetermined determination criterion (hereinafter, referred to as “update determination criterion”).
  • update determination criterion a predetermined determination criterion
  • the profile data needs to be updated when the above-mentioned components that are difficult to model (Coulomb friction, viscous friction, variation in shape, size, weight, etc. of the driving object 4) change over time. Therefore, the update determination criteria are set in advance based on the characteristics that appear in the log data due to changes in the components that are difficult to model.
  • the value of the estimated value of the second external force exceeds the predetermined threshold value over the entire range of the predetermined range in the log data, which is an example of the update determination criterion.
  • the bearing is deteriorated or damaged, it is considered that a periodic change appears in the second external force in the log data.
  • the magnitude of the specific frequency component exceeds a predetermined threshold value is also mentioned as an example of the update determination criterion.
  • the fact that the second external force when the driving target 4 is in the posture exceeds the predetermined threshold value can also be a criterion for updating.
  • the data update unit 122 causes the profile generation unit 114 to regenerate the profile data, and causes the profile data of the data storage unit 115 to be updated by the regenerated profile data.
  • the data update unit 122 stores the uniform rise component in the profile data stored in the data storage unit 115. May be added over the entire area of.
  • the control unit 112 may drive the motor 2 based on the operation pattern stored in the operation pattern storage unit 111 and the second external force estimated by the second estimation unit 116. For example, the control unit 112 calculates a correction value for following the external force based on the second external force estimated by the second estimation unit 116, and the action of the second external force determines the target position and target speed based on the operation pattern based on the correction value. Impedance control that corrects in the direction may be performed. The control unit 112 calculates the compensation value based on the model generated in advance by machine learning so as to represent the relationship between the second external force and the correction value, and the second external force newly estimated by the second estimation unit 116. You may.
  • the control unit 112 may further execute feedforward control in which the feedforward compensation value is calculated based on the first external force estimated by the first estimation unit 113 and the feedforward compensation value is added to the driving force command.
  • the first estimation unit 113 is an estimation condition for the first estimated value by estimating the first external force for calculating the feedforward compensation value and the first external force for estimating the second external force.
  • the filter condition for the driving force command may be changed.
  • the control device 100 may further include a contact detection unit 124.
  • the contact detection unit 124 detects the contact between the driving target 4 and a peripheral object based on at least the second external force estimated by the second estimation unit 116.
  • the contact detection unit 124 may detect contact between the driving target 4 and a peripheral object based on the increase in the second external force estimated by the second estimation unit 116.
  • the control device 100 may be configured to further classify the drive result of the motor 2 based on the operation pattern into any of two or more types based on at least the estimated second external force.
  • the control device 100 further includes a classification reference storage unit 125 and a classification unit 126.
  • the classification standard storage unit 125 stores a standard for classifying the drive result of the motor 2 into one of two or more types. Specific examples of the two or more types include the quality of the operation result with respect to a predetermined standard, the quality of the work after the drive target 4 acts directly or indirectly, and after the drive target 4 acts directly or indirectly. The state of the work, etc.
  • the classification unit 126 may classify the operation of the drive target 4 into "excellent” or "bad".
  • the classification reference storage unit 125 has an upper limit profile representing an upper limit of the transition of the second external force when the operation of the drive target 4 is excellent, and a lower limit of the transition of the second external force when the operation of the drive target 4 is excellent. Memorize the lower limit profile that represents.
  • the classification unit 126 classifies the operation of the drive target 4 as "excellent", and the estimated value of the second external force is the upper limit profile and the lower limit profile. When it is located outside the profile, the operation of the drive target 4 is classified as "defective".
  • the classification unit 126 may classify the state of the work on which the drive target 4 acts directly or indirectly into “excellent” or “poor".
  • the classification standard storage unit 125 stores an upper limit profile representing the upper limit of the transition of the second external force when the work is excellent and a lower limit profile representing the lower limit of the transition of the second external force when the work is excellent. ..
  • the classification unit 126 classifies the state of the work as "excellent", and the estimated value of the second external force is the upper limit profile and the lower limit profile. If it is located outside the space, the state of the work is classified as "defective".
  • the classification unit 126 may classify the state of the work on which the drive target 4 directly or indirectly acts into three or more subdivided categories. For example, the classification unit 126 may classify the dimensions of each part of the work into three or more categories.
  • the classification standard storage unit 125 stores a table or a function representing the relationship between the second external force and the size of the work. The classification unit 126 calculates the dimensions of each part of the work based on the table or function and the estimated value of the second external force.
  • the classification unit 126 classifies the drive result of the motor 2 based on the second external force estimated by the second estimation unit and the operation pattern based on the control unit 112 when the second external force is estimated. May be good.
  • the classification standard storage unit 125 may store the classification standard for each operation pattern, and the classification unit 126 may select the classification standard corresponding to the operation pattern based on the control unit 112.
  • the classification reference storage unit 125 may store a model generated in advance by machine learning so as to represent the relationship between the second external force and the drive result of the motor 2.
  • the classification unit 126 classifies the driving result based on the transition of the estimated value of the second external force (for example, the transition stored by the log data storage unit 129) and the above model.
  • the model may be generated so as to represent the relationship between the combination of the second external force and the operation pattern of the motor 2 when the second external force is generated, and the driving result of the motor 2.
  • the classification reference storage unit 125 is generated so as to represent the relationship between the transition of the second external force, the operation pattern of the motor 2 when the transition of the second external force is generated, and the state of the work. Memorize the model that was created.
  • the classification unit 126 classifies the work states into three or more types based on the transition of the estimated value of the second external force, the operation pattern based on the control unit 112 when the transition of the estimated value occurs, and the above model. Classify into.
  • the second estimation unit 116 estimates the second external force based on the first external force acting on the motor 2. Therefore, the drive results of the motor 2 should be classified into two or more categories in consideration of the malfunction of at least one of the drive target 4 and the motor 2 and the change in the situation inside the control system 1 due to the slight fluctuation. Can be done. It is also possible to estimate the deterioration of the driving target 4 based on the estimation result of the second external force.
  • the control device 100 may further include a deterioration estimation unit 127 and a deterioration notification unit 128.
  • the deterioration estimation unit 127 estimates the deterioration of the drive target 4 based on at least the second external force estimated by the second estimation unit 116.
  • the deterioration notification unit 128 notifies the deterioration of the drive target 4 estimated by the deterioration estimation unit 127 by transmitting notification data, displaying a notification to the display device, or the like.
  • the estimation result of the second external force includes additional components due to changes over time in the above-mentioned components that are difficult to model (Coulomb friction, viscous friction, variation in shape, size, weight, etc. of the driving object 4).
  • the deterioration estimation unit 127 estimates the deterioration of the drive target 4 based on the additional component.
  • the above log data contains an additional component that uniformly rises over almost the entire range from the start of recording to the completion of recording.
  • the deterioration estimation unit 127 is driven with an increase in Coulomb friction. Estimate the deterioration of subject 4.
  • the deterioration estimation unit 127 estimates the deterioration of the drive target 4 accompanied by the increase in viscous friction.
  • the deterioration estimation unit 127 estimates the deterioration of the bearing unit.
  • the deterioration estimation unit 127 determines that the drive target is driven when the second external force when the drive target 4 is in the posture exceeds a predetermined threshold value.
  • the deterioration of 4 may be estimated.
  • the deterioration estimation unit 127 is divided into a model generated in advance by machine learning so as to represent the relationship between the transition of the second external force and the deterioration of the drive target 4, and the transition of the second external force estimated by the second estimation unit 116. Based on this, the deterioration of the drive target 4 may be estimated.
  • FIG. 6 is a block diagram illustrating the hardware configuration of the control device 100.
  • the control device 100 has a circuit 190.
  • the circuit 190 includes one or more processors 191 and a memory 192, a storage 193, an input / output port 194, and a driver circuit 195.
  • the storage 193 has a computer-readable storage medium, such as a non-volatile semiconductor memory.
  • the storage 193 estimates the first external force acting on the motor 2 based on at least the driving force command for driving the motor 2 and the motor 2, and changes the estimated value of the first external force.
  • the profile data to be represented is stored in the data storage unit, the first external force newly estimated when the motor 2 is driven based on a predetermined operation pattern, and the profile data stored in the data storage unit 115.
  • the second external force acting on the drive target 4 is estimated based on the above, and the program for causing the control device 100 to execute is stored.
  • the storage 193 stores a program for configuring each of the above-mentioned functional blocks in the control device 100.
  • the memory 192 temporarily stores the program loaded from the storage medium of the storage 193 and the calculation result by the processor 191.
  • the processor 191 constitutes each functional block of the control device 100 by executing the above program in cooperation with the memory 192.
  • the input / output port 194 inputs / outputs an electric signal to / from the sensor 3 according to a command from the processor 191.
  • the driver circuit 195 outputs drive power to the motor 2 in accordance with a command from the processor 191.
  • control device 100 is not necessarily limited to one that configures each function by a program.
  • the control device 100 may configure at least a part of its functions by a dedicated logic circuit or an ASIC (Application Specific Integrated Circuit) that integrates the logic circuit.
  • ASIC Application Specific Integrated Circuit
  • Control procedure Hereinafter, as an example of the control method, a control procedure executed by the control device 100 will be illustrated.
  • This control procedure is to drive the motor 2, estimate the first external force acting on the motor 2 based at least based on the driving force command for driving the motor 2, and change the estimated value of the first external force.
  • the profile data representing the above is stored in the data storage unit, the first external force newly estimated when the motor 2 is driven based on a predetermined operation pattern, and the profile data stored in the data storage unit.
  • the second external force acting on the driving target 4 is estimated based on the above.
  • This control procedure may further include generating profile data.
  • a procedure for generating profile data and a procedure for driving the motor 2 based on the generated profile data will be illustrated.
  • FIG. 7 is a flowchart illustrating a procedure for generating profile data for each operation pattern when the operation pattern storage unit 111 stores a plurality of operation patterns.
  • the control device 100 first executes steps S01, S02, S03, S04, S05, S06, and S07.
  • step S01 the profile generation unit 114 selects any one of the plurality of operation patterns of the operation pattern storage unit 111.
  • the selected motion pattern is referred to as a "target motion pattern”.
  • step S02 the control unit 112 acquires information on the current position and the current speed of the drive target 4 based on the detected value of the sensor 3.
  • step S03 the control unit 112 calculates a driving force command based on the target position and the target speed based on the target operation pattern and the current position and the current speed of the driving target 4.
  • the control unit 112 performs proportional calculation, proportional / integral calculation, proportional / integral / differential calculation, or the like on the deviation between the target position and the current position (hereinafter referred to as “positional deviation”) to obtain the position deviation.
  • positional deviation the control unit 112 performs proportional calculation, proportional / integral calculation, proportional / integral / differential calculation, or the like on the deviation between the target speed and the current speed (hereinafter referred to as “speed deviation”) to reduce the speed deviation.
  • speed deviation proportional calculation, proportional / integral calculation, proportional / integral / differential calculation, or the like on the deviation between the target speed and the current speed
  • step S04 the control unit 112 calculates a current command for making the driving force of the motor 2 follow the driving force command, and generates driving power so as to supply the driving current corresponding to the current command to the motor 2.
  • step S05 the first estimation unit 113 estimates the first external force acting on the motor 2 based on at least the driving force command in the control unit 112.
  • step S06 the profile generation unit 114 adds the record including the first external force estimated in step S05 to the profile data of the target operation pattern. For example, the profile generation unit 114 adds a record to the storage area of the profile data in the operation pattern storage unit 111.
  • step S07 the profile generation unit 114 confirms whether the operation of the motor 2 according to the target operation pattern is completed.
  • step S07 If it is determined in step S07 that the operation of the motor 2 according to the target operation pattern is not completed, the control device 100 returns the process to step S02. After that, the addition of the record to the profile data corresponding to the target operation pattern is repeated until the operation of the motor 2 according to the target operation pattern is completed. As a result, profile data representing the transition of the first external force is generated.
  • step S07 When it is determined in step S07 that the operation of the motor 2 according to the target operation pattern is completed, the control device 100 executes step S08.
  • step S08 the profile generation unit 114 confirms whether the generation of profile data has been completed for all the operation patterns stored in the operation pattern storage unit 111.
  • step S09 the profile generation unit 114 changes the target operation pattern to another operation pattern for which profile data has not been generated. After that, the profile generation unit 114 returns the process to step S02. After that, the selection of the operation pattern and the generation of the profile data are repeated until the profile data is generated for all the operation patterns.
  • step S08 When it is determined in step S08 that the generation of profile data has been completed for all the operation patterns, the control device 100 completes the generation of profile data.
  • FIG. 8 is a flowchart illustrating the driving procedure of the motor. More specifically, FIG. 8 shows a flowchart of an impedance control procedure for changing a target position / target speed based on an operation pattern based on the estimation result of the second external force.
  • the control device 100 first executes steps S11, S12, S13, S14, and S15.
  • step S11 the data selection unit 121 receives the profile data corresponding to the operation pattern based on the control unit 112 (the operation pattern selected by the motor 2 to drive the motor 2), and the data selection unit 121 selects a plurality of profile data of the data storage unit 115. Select from.
  • the operation pattern based on the control unit 112 is referred to as a "driving operation pattern”
  • the selected profile data is referred to as a "selecting profile”.
  • step S12 the control unit 112 acquires information on the current position and current speed of the drive target 4 based on the detected value of the sensor 3.
  • step S13 the control unit 112 calculates the driving force command based on the target position and the target speed based on the driving operation pattern and the current position and the current speed of the driving target 4, as in step S03.
  • step S14 the control unit 112 generates driving power so that the driving force of the motor 2 follows the driving force command, as in step S04.
  • step S15 the profile generation unit 114 confirms whether the operation of the motor 2 according to the driving operation pattern is completed.
  • step S15 When it is determined in step S15 that the operation of the motor 2 according to the drive operation pattern is not completed, the control device 100 executes steps S16, S17, S18, and S19.
  • step S16 the first estimation unit 113 newly estimates the first external force acting on the motor 2 based on at least the driving force command in the control unit 112.
  • step S17 the second estimation unit 116 extracts the estimated value (the estimated value to be compared) corresponding to the estimated value (the new estimated value) newly estimated by the first estimation unit 113 from the selected profile. To do.
  • step S18 the second estimation unit 116 estimates the second external force based on the difference between the new estimated value and the estimated value to be compared.
  • step S19 the control unit 112 calculates a compensation value based on the estimated value of the second external force, and changes the next target position / speed based on the driving operation pattern to the action direction of the second external force. After that, the control device 100 returns the process to step S12. After that, until the driving operation pattern is completed, the driving of the motor 2 based on the driving operation pattern is continued while estimating the second external force and changing the target position and the target speed based on the estimation result.
  • step S15 When it is determined in step S15 that the operation of the motor 2 based on the drive operation pattern is completed, the drive of the motor 2 based on the drive operation pattern is completed.
  • FIG. 9 is a flowchart showing a modified example of the motor driving procedure. More specifically, FIG. 9 shows a control procedure for detecting contact between the driving target 4 and a peripheral object based on the estimation result of the second external force. Steps S21 to S28 from selection of the driving operation pattern to estimation of the second external force are the same as steps S11 to S18 described above. After estimating the second external force in step S28, the control device 100 executes step S29. In step S29, the contact detection unit 124 confirms whether or not the drive target 4 and the peripheral object are in contact with each other based on the estimated value of the second external force.
  • step S29 When it is determined in step S29 that the drive target 4 and the peripheral object are not in contact with each other, the control device 100 returns the process to step S22. After that, the driving of the motor 2 based on the driving operation pattern is continued while monitoring the presence or absence of contact between the driving target 4 and the peripheral object.
  • step S29 When it is determined in step S29 that the drive target 4 and the peripheral object are in contact with each other, the control device 100 forcibly completes a series of processes without returning to step S22. This completes the driving of the motor 2 based on the driving operation pattern.
  • FIG. 10 is a flowchart showing another modified example of the driving procedure of the motor 2. More specifically, FIG. 10 shows a procedure for classifying the work states into two or more types based on the estimation result of the second external force after the driving of the motor 2 based on the operation pattern is completed. Steps S31 to S38 from the selection of the driving operation pattern to the estimation of the second external force are the same as the steps S11 to S18 described above. After estimating the second external force in step S38, the control device 100 returns the process to step S32. After that, the driving of the motor 2 based on the driving operation pattern is continued until the driving operation pattern is completed.
  • step S39 the classification unit 126 classifies the state of the work on which the driving target 4 directly or indirectly acts into two or more types based on at least the estimation result of the second external force.
  • the deterioration estimation unit 127 may estimate the deterioration of the drive target 4 based on at least the estimation result of the second external force. This completes the driving of the motor 2 based on the driving operation pattern.
  • the above configuration is also applicable to a system in which there are a plurality of motors and the drive target includes a plurality of rigid bodies.
  • the above configuration is also applicable to a robot system including the articulated robot illustrated in FIG.
  • the robot 10 shown in FIG. 11 is a so-called 6-axis vertical articulated robot, and has a base 11, a swivel portion 12, arms 13, 14, 15, and a tool holding portion 16.
  • the base 11 is fixed on the floor, the base, or an AGV (Automated Guided Vehicle) in the work area.
  • the swivel portion 12 is provided on the base 11 so as to swivel around the vertical axis 31.
  • the arm 13 is connected to the swivel portion 12 so as to swing around the axis 32 that intersects (for example, orthogonally) the axis 31.
  • the intersection here includes a case where there is a twisting relationship such as a so-called grade separation.
  • the arm 14 is connected to the tip of the arm 13 so as to swing around the axis 33 parallel to the axis 32.
  • the arm 15 is connected to the tip of the arm 14 so as to swing around an axis 34 that intersects the axis 33 along the arm 14 and swings around an axis 35 that intersects (for example, is orthogonal to) the axis 34.
  • the tool holding portion 16 is connected to the tip end portion of the arm 15 so as to rotate around the axis 36 along the center of the arm 15.
  • the tool holding portion 16 holds various tools 17 such as a hand for gripping the work, a welding torch, a painting gun, and a screw tightening tool.
  • the motor 21 swings the swivel portion 12 around the axis 31, the motor 22 swings the arm 13 around the axis 32, the motor 23 swings the arm 14 around the axis 33, and the motor 24 swings the arm 14 around the axis 33.
  • the tip of the arm 14 is swiveled around 34, the motor 25 swings the arm 15 around the axis 35, and the motor 26 swivels the tool holding portion 16 around the axis 36.
  • the tool holding unit 16 and the tool 17 are the driving targets of the motor 26.
  • the arm 15, the tool holding portion 16, and the tool 17 are the driving targets of the motor 25.
  • the tip of the arm 14, the arm 15, the tool holding portion 16 and the tool 17 are the driving targets of the motor 24.
  • the arms 14, 15, the tool holding portion 16 and the tool 17 are the driving targets of the motor 23.
  • the arms 13, 14, 15, the tool holding portion 16 and the tool 17 are the driving targets of the motor 22.
  • the swivel portion 12, the arms 13, 14, 15, the tool holding portion 16 and the tool 17 are the driving targets of the motor 21.
  • the shape and the moment of inertia of the drive target by the motor can change.
  • the shape and moment of inertia of the object to be driven by the motor 21 change depending on the drive of the motors 22, 23, 24, 25, 26.
  • the profile generation unit 114 provides profile data in which the transition of the estimated value of the first external force is associated with the operation pattern of the robot 10 as a whole for the motors 21, 22, 23, 24, 25, and 26, respectively. May be generated and stored in the data storage unit 115.
  • Specific examples of the operation pattern of the robot 10 as a whole include data representing changes in the target position and the target posture of the tool holding unit 16.
  • the first estimation unit 113 outputs a new estimated value to each of the motors 21, 22, 23, 24, 25, and 26 based on the driving force command.
  • the second estimation unit 116 extracts the estimated value of the comparison target from each profile data, and estimates the second external force based on the difference between the new estimated value and the estimated value of the comparison target. Execute for each of 21, 22, 23, 24, 25, and 26.
  • the control system 1 acts on the motor 2 based on at least the motor 2 that drives the drive target 4, the control unit 112 that drives the motor 2, and the driving force command in the control unit 112.
  • the first estimation unit 113 for estimating an external force
  • the data storage unit 115 for storing profile data representing the transition of the estimated value estimated by the first estimation unit 113
  • the control unit 112 for the motor 2 based on a predetermined operation pattern.
  • the second external force acting on the driving target 4 is estimated based on the estimated value newly estimated by the first estimation unit 113 and the profile data stored in the data storage unit 115 while driving.
  • a second estimation unit 116 is provided.
  • the first external force acting on the motor 2 contains components that are difficult to model, such as Coulomb friction, viscous friction, and variations in the shape, size, and weight of the drive target 4 by the motor 2. These components can be a factor that lowers the estimation accuracy of the external force (the second external force acting on the drive target 4) based on the force acting on the motor 2.
  • the first external force newly estimated while the motor 2 is operating according to the operation pattern and the profile data representing the transition of the first external force estimated in the past are used. The external force is estimated based on this. If the newly estimated first external force contains a component that is difficult to model as described above, the previously estimated first external force also contains a similar component.
  • the profile data may represent the transition of the estimated value estimated by the first estimation unit 113 when the control unit 112 drives the motor 2 based on the operation pattern in the past.
  • the second external force can be estimated based on the new first external force estimated while driving the motor 2 in the operation pattern and the past first external force estimated while driving the motor 2 in the same operation pattern. Therefore, the estimation accuracy of the external force is further improved.
  • the profile data may represent the transition of the estimated value estimated by the first estimation unit 113 in a state where no external force is acting on the driving target 4. In this case, the estimation accuracy of the external force is further improved by using the profile data in the state where the external force is not acting on the driving target 4 as a reference.
  • the data storage unit 115 stores a plurality of profile data including the profile data, the plurality of profile data correspond to a plurality of operation patterns, and each of the plurality of profile data is in the past based on the corresponding operation patterns.
  • the control unit 112 drives the motor
  • the transition of the estimated value estimated by the first estimation unit 113 is represented, and the control unit 112 drives and controls the motor 2 based on any of a plurality of operation patterns.
  • the system 1 further includes a data selection unit that selects profile data corresponding to the operation pattern based on the control unit 112 from a plurality of profile data
  • the second estimation unit 116 is based on the profile data selected by the data selection unit 121.
  • the second external force may be estimated. In this case, the estimation accuracy of the external force can be further improved by providing profile data for each operation pattern and using it properly according to the operation pattern.
  • the first estimation unit 113 may be a disturbance observer that estimates the first external force based on at least the driving force command and the response value of the motor 2. In this case, the estimation accuracy of the external force is further improved. For example, according to the disturbance observer, of the effects of the operation of the drive target 4 on the motor 2, the portion that can be modeled (hereinafter referred to as “modeled effect”) is removed from the external force acting on the motor 2. The first external force can be estimated. According to the first external force estimated by removing the modeled influence, the newly estimated first external force is estimated even when the actual operation of the drive target 4 and the operation pattern deviate from each other. Since the modeled influence is removed in advance from both the value and the profile data, the above deviation is unlikely to affect the estimation accuracy of the second external force.
  • the second estimation unit 116 extracts an estimated value corresponding to the newly estimated estimated value from the profile data, and based on the difference between the newly estimated estimated value and the extracted estimated value, the second external force May be estimated. In this case, the second external force can be easily estimated.
  • the second estimation unit 116 extracts an estimated value corresponding to a newly estimated estimated value (hereinafter, may be referred to as an “estimated value to be compared”) from the profile based on the driving time according to the operation pattern. You may. In this case, the estimated value to be compared can be easily extracted based on the driving time according to the operation pattern.
  • the second estimation unit 116 may extract an estimated value corresponding to the newly estimated estimated value from the profile data based on the response value of the motor 2.
  • the estimated value corresponding to the newly estimated estimated value can be more appropriately extracted based on the response value of the motor 2.
  • the second estimation unit 116 may extract the estimated value of the comparison target based on the current position of the motor 2, or may extract the estimated value of the comparison target based on the current speed of the motor 2. Estimates for comparison may be extracted based on both the current position and the current velocity of 2.
  • the estimation accuracy of the external force can be further improved by extracting the estimated value at the position close to the current position.
  • the estimation accuracy of the external force can be further improved by extracting the estimated value at a speed close to the current speed. Further, when extracting the estimated value to be compared based on both the current position and the current speed of the motor 2, the estimation accuracy of the external force is obtained by extracting the estimated value at the position close to the current position and the speed close to the current speed. Can be further improved.
  • the control system 1 may further include a data update unit 122 that updates profile data. In this case, the estimation accuracy of the external force can be maintained.
  • the data update unit 122 determines whether or not the update is necessary based on the profile data stored in the data storage unit 115 and the estimated value newly estimated by the first estimation unit 113, and determines that the update is necessary. In that case, the profile data may be updated based on the estimated value newly estimated by the first estimation unit 113. In this case, the profile data can be updated in a timely manner in response to changes in the situation such as aging deterioration and environmental changes. Therefore, the estimation accuracy of the external force is further improved.
  • the control unit 112 may drive the motor 2 based on the operation pattern and the second external force estimated by the second estimation unit 116. In this case, torque control is possible without a torque sensor.
  • the control system 1 further includes a classification unit 126 that classifies the driving result of the motor 2 by the control unit 112 based on the operation pattern into two or more categories based on at least the second external force estimated by the second estimation unit 116. You may. In this case, the improvement of the estimation accuracy of the external force contributes to the estimation of the appropriate state of the driving target 4 and the surrounding objects. Further, as described above, the second estimation unit 116 estimates the second external force based on the first external force acting on the motor 2. Therefore, the drive results of the motor 2 should be classified into two or more categories in consideration of the malfunction of at least one of the drive target 4 and the motor 2 and the change in the situation inside the control system 1 due to the slight fluctuation. Can be done.
  • the classification unit 126 may classify the drive result based on the second external force estimated by the second estimation unit 116 and the operation pattern based on the control unit 112 when the second external force is estimated. .. In this case, since the classification based on the operation pattern and the second external force at that time is possible, more accurate classification is possible.
  • the control system 1 may further include a deterioration estimation unit 127 that estimates the deterioration of the drive target 4 based on at least the second external force estimated by the second estimation unit 116.
  • the estimation result of the external force can also be used for predicting the deterioration of the driving target 4.
  • the control system 1 may further include a contact detection unit 124 that detects contact between the drive target 4 and a peripheral object based on at least the second external force estimated by the second estimation unit 116. In this case, the improvement of the estimation accuracy of the external force contributes to appropriate contact detection.
  • Control system 1,21,22,23,24,25,26 ... Motor, 4 ... Drive target, 100 ... Control device, 112 ... Control unit, 113 ... First estimation unit, 115 ... Data storage unit, 116 ... second estimation unit, 121 ... data selection unit, 122 ... data update unit, 124 ... contact detection unit, 126 ... classification unit, 127 ... deterioration estimation unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Power Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Control Of Electric Motors In General (AREA)

Abstract

制御システム1は、駆動対象4を駆動するモータ2と、モータ2を駆動する制御部112と、制御部112における駆動力指令に少なくとも基づいて、モータ2に作用する第1外力を推定する第1推定部113と、第1推定部113が推定した推定値の推移を表すプロファイルデータを記憶するデータ記憶部115と、所定の動作パターンに基づいて制御部112がモータ2を駆動している際に、第1推定部113により新たに推定された推定値と、データ記憶部115に記憶されたプロファイルデータとに基づいて、駆動対象4に作用する第2外力を推定する第2推定部116と、を備える。

Description

制御システム、制御装置及び制御方法
 本開示は、制御システム、制御装置及び制御方法に関する。
 特許文献1には、ロボットの各軸モータへのトルク指令と各軸の速度検出値から外乱オブザーバにより推定外乱トルクを求め、推定外乱トルクに対しハイパスフィルタ処理を行った後、座標変換を行って外力を推定するロボットシステムが開示されている。
特開2012-11403号公報
 本開示は、外力の推定精度向上に有効な制御システム、制御装置及び制御方法を提供する。
 本開示の一側面に係る制御システムは、駆動対象を駆動するモータと、モータを駆動する制御部と、制御部における駆動力指令に少なくとも基づいて、モータに作用する第1外力を推定する第1推定部と、第1推定部が推定した推定値の推移を表すプロファイルデータを記憶するデータ記憶部と、所定の動作パターンに基づいて制御部がモータを駆動している際に、第1推定部により新たに推定された推定値と、データ記憶部に記憶されたプロファイルデータとに基づいて、駆動対象に作用する第2外力を推定する第2推定部と、を備える。
 本開示の他の側面に係る制御装置は、駆動対象を駆動するモータを駆動する制御部と、制御部における駆動力指令に少なくとも基づいて、モータに作用する第1外力を推定する第1推定部と、第1推定部が推定した推定値の推移を表すプロファイルデータを記憶するデータ記憶部と、所定の動作パターンに基づいて制御部がモータを駆動している際に、第1推定部により新たに推定された推定値と、データ記憶部に記憶されたプロファイルデータとに基づいて、駆動対象に作用する第2外力を推定する第2推定部と、を備える。
 本開示の更に他の側面に係る制御方法は、駆動対象を駆動するモータを駆動することと、モータを駆動するための駆動力指令に少なくとも基づいて、モータに作用する第1外力を推定することと、第1外力の推定値の推移を表すプロファイルデータをデータ記憶部に記憶させることと、所定の動作パターンに基づいてモータを駆動している際に、新たに推定した第1外力の推定値と、データ記憶部に記憶されたプロファイルデータとに基づいて、駆動対象に作用する第2外力を推定することと、を含む。
 本開示によれば、外力の推定精度向上に有効な制御システム、制御装置及び制御方法を提供することができる。
制御システムの構成を例示する模式図である。 プロファイルデータを例示するテーブルである。 制御装置の変形例を示すブロック図である。 制御装置の更なる変形例を示すブロック図である。 制御装置の更なる変形例を示すブロック図である。 制御システムのハードウェア構成を例示する模式図である。 プロファイルデータの生成手順を例示するフローチャートである。 モータの駆動手順を例示するフローチャートである。 モータの駆動手順の変形例を示すフローチャートである。 モータの駆動手順の他の変形例を示すフローチャートである。 ロボットの概略構成を例示する模式図である。
 以下、実施形態について、図面を参照しつつ詳細に説明する。説明において、同一要素又は同一機能を有する要素には同一の符号を付し、重複する説明を省略する。
〔制御システム〕
 本実施形態に係る制御システム1は、モータによって駆動対象に所望の動作をさせるシステムである。駆動対象の形状・構造・大きさ、並びにモータの数及び大きさに特に制限はない。以下においては、モータが1つであり、駆動対象が1つの剛体である場合を例示する。
 図1に示すように、制御システム1は、モータ2と、センサ3と、制御装置100とを備える。モータ2は、駆動対象4を駆動する。モータ2は、駆動対象4を回転駆動する回転型モータであってもよいし、駆動対象4を直線に沿って変位させるリニア型モータであってもよい。モータ2は、同期電動機であってもよいし、誘導電動機であってもよい。モータ2は、SPM(Surface Permanent Magnet)モータ、又はIPM(Interior Permanent Magnet)モータ等の永久磁石型の同期電動機であってもよいし、シンクロナスリラクタンスモータのように永久磁石を有しない同期電動機であってもよい。
 センサ3は、制御指令に対応するモータ2の応答値を検出する。応答値の具体例としては、モータ2の位置又は速度が挙げられる。なお、モータ2が回転型である場合、モータ2の出力軸の回転角度が「位置」に相当し、モータ2の出力軸の回転速度が「速度」に相当する。センサ3の具体例としては、モータ2の動作速度に比例した周波数のパルス信号を出力するロータリーエンコーダが挙げられる。ロータリーエンコーダによれば、モータ2の位置及び速度の両方を取得することができる。
 制御装置100は、駆動対象4に所望の動作をさせるようにモータ2を制御する。また、制御装置100は、力センサを用いないセンサレス方式にて、駆動対象4に作用する外力を推定する。後に例示するように、制御装置100は、推定した外力に基づいてモータ2を制御してもよいし、推定した外力に基づいて駆動対象4と周辺物体との接触を検知してもよいし、推定した外力に基づいて周辺物体の状態を推定してもよい。
 ここで、モータ2に作用する外力は、制御装置100による駆動力指令に基づいて推定可能である。例えば、モータ2が発生する駆動力が、駆動力指令に十分に追従している場合、駆動力指令に実質的に一致する外力がモータ2に作用していると推定することが可能である。
 駆動対象4に作用する外力は、モータ2にも伝わるので、モータ2に作用する外力は、駆動対象4に作用する外力を含む。しかしながら、モータ2に作用する外力は、駆動対象4に作用する外力の他に、少なくとも駆動対象4の慣性力を含む。更に、モータ2に作用する外力は、クーロン摩擦、粘性摩擦、駆動対象4の形状・大きさ・重さのばらつき等、モデル化が難しい成分も含んでいる。このため、単にモータ2に作用する外力に基づくのみでは、駆動対象4に作用する外力を高い精度で推定するのは難しい。これに対し、制御装置100は、駆動対象4に作用する外力のセンサレス方式による推定精度を向上させる。
 制御装置100は、モータ2を駆動することと、モータ2を駆動するための駆動力指令に少なくとも基づいて、モータ2に作用する第1外力を推定することと、第1外力の推定値の推移を表すプロファイルデータをデータ記憶部に記憶させることと、所定の動作パターンに基づいてモータ2を駆動している際に、新たに推定した第1外力と、データ記憶部に記憶されたプロファイルデータとに基づいて、駆動対象4に作用する第2外力を推定することと、を実行するように構成されている。例えば制御装置100は、機能上の構成(以下、「機能ブロック」という。)として、動作パターン記憶部111と、制御部112と、第1推定部113と、プロファイル生成部114と、データ記憶部115と、第2推定部116とを備える。
 動作パターン記憶部111は、少なくとも1つの動作パターンを記憶する。動作パターンは、モータ2の動作目標値の推移(時間変化)を表すデータである。例えば動作パターンは、少なくとも1つの動作コマンドを含む。動作コマンドは、少なくとも駆動対象4の目標位置を定める。動作コマンドは、駆動対象4の目標位置に代えて駆動対象4の目標速度を含んでいてもよいし、駆動対象4の目標位置及び目標速度の両方を含んでいてもよい。動作パターンは、時系列の複数の動作コマンドを含んでいてもよい。動作パターン記憶部111は、複数の動作パターンを記憶していてもよい。複数の動作パターンのそれぞれは、駆動対象4に一連の動作を行わせるための動作プログラムを構成するための単位プログラムであってもよい。
 制御部112は、モータ2を駆動する。例えば制御部112は、動作パターン記憶部111が記憶する動作パターンに基づいて駆動対象4を動作させるための駆動電力を生成し、モータ2に供給する。例えば制御部112は、センサ3の検出値に基づいて駆動対象4の現在位置及び現在速度の情報を取得し、これらを目標位置及び目標速度に追従させるように駆動電力を生成する。
 一例として、制御部112は、目標位置と現在位置との偏差(以下、「位置偏差」という。)に比例演算、比例・積分演算、又は比例・積分・微分演算等を施して、位置偏差を縮小させるための目標速度を算出する。また、制御部112は、目標速度と現在速度との偏差(以下、「速度偏差」という。)に比例演算、比例・積分演算、又は比例・積分・微分演算等を施して、速度偏差を縮小させるための駆動力指令を算出する。
 なお、モータ2が回転型である場合、モータ2の出力軸のトルクが駆動力に相当する。制御部112は、モータ2の駆動力を駆動力指令に追従させるための電流指令を算出し、電流指令に応じた駆動電流をモータ2に供給するように駆動電力を生成する。
 第1推定部113は、制御部112における上記駆動力指令に少なくとも基づいて、モータ2に作用する第1外力を推定する。例えば第1推定部113は、駆動力指令に一致する力を第1外力の推定結果として出力してもよい。なお、駆動電流が電流指令に一致する場合、駆動電流と駆動力指令とは相関することとなる。このような場合、駆動電流の検出値に基づくことと、電流指令に基づくことは、駆動力指令に基づくことと実質的に同義である。
 第1推定部113は、駆動力指令と、モータ2の応答値とに少なくとも基づいて、第1外力を推定する外乱オブザーバであってもよい。例えば第1推定部113は、モータ2の応答値(例えば現在速度及び現在位置)と、駆動対象4の既知の剛体モデルとに基づいて、駆動対象4からモータ2に作用する慣性力を推定し、当該慣性力を駆動力指令から減算した値を第1外力の推定結果として出力してもよい。
 プロファイル生成部114は、第1推定部113が推定した推定値の推移を表すプロファイルデータを生成する。例えばプロファイル生成部114は、動作パターン記憶部111が記憶する動作パターンに基づいて制御部112がモータ2を駆動した期間に第1外力の推定値を第1推定部113から繰り返し取得し、当該期間における第1外力の推定値の時間変化を表すプロファイルデータを生成する。これにより生成されたプロファイルデータは、過去に動作パターンに基づいて制御部112がモータ2を駆動した際に、第1推定部113により推定された推定値の推移を表すものとなる。
 プロファイル生成部114は、駆動対象4に外力が作用していない状態で、プロファイルデータを生成してもよい。これにより生成されたプロファイルデータは、駆動対象4に外力が作用していない状態で、第1推定部113が推定した推定値の推移を表すものとなる。
 動作パターン記憶部111が複数の動作パターンを記憶する場合に、プロファイル生成部114は、複数の動作パターンのそれぞれに対してプロファイルデータを生成してもよい。これにより、複数の動作パターンにそれぞれ対応する複数のプロファイルデータが生成される。複数のプロファイルデータのそれぞれは、対応する動作パターンに基づいて過去に制御部112がモータ2を駆動した際に、第1推定部113により推定された推定値の推移を表すものとなる。
 データ記憶部115は、プロファイル生成部114が生成したプロファイルデータを記憶する。データ記憶部115は、上述の複数のプロファイルデータを記憶してもよい。データ記憶部115は、第1外力の推定値と動作パターンとを対応付けて記憶してもよい。
 図2は、プロファイルデータを例示するテーブルである。プロファイルデータは、時系列の複数のレコードを含む。各レコードは、駆動時間と、位置と、速度と、第1外力の推定値とを含む。駆動時間は、動作パターンに基づくモータ2の動作の開始時から第1外力の推定時までの経過時間(動作パターンに基づくモータ2の駆動時間)である。位置は、第1外力の推定時におけるモータ2の位置である。ここでの位置は、目標位置であってもよいし、センサ3により検出された位置であってもよい。速度は、第1外力の推定時におけるモータ2の速度である。ここでの速度は、目標速度であってもよいし、センサ3により検出された速度であってもよい。なお、データ記憶部115は、図2に例示するような離散値に代えて、経過時間と位置との関係を表す関数、経過時間と速度との関係を表す関数、及び経過時間と第1外力の推定値との関係を表す関数等をプロファイルデータとして記憶してもよい。
 上述したように、動作パターンは、動作プログラムを構成するための単位プログラムであってもよい。この場合、動作プログラムにおける複数の動作パターンの実行順序に対応して、当該複数の動作パターンに対応するプロファイルデータを繋ぎ合わせることで、動作プログラムに対応するプロファイルデータを容易に生成することが可能となる。
 第2推定部116は、動作パターンに基づいて制御部112がモータ2を駆動している際に、第1推定部113により新たに推定された推定値(以下、「新規の推定値」という。)と、データ記憶部115に記憶されたプロファイルデータとに基づいて、駆動対象4に作用する第2外力を推定する。例えば第2推定部116は、プロファイルデータから、新規の推定値に対応する推定値(以下、「比較対象の推定値」という。)を抽出し、新規の推定値と比較対象の推定値との差に基づいて第2外力を推定する。例えば第2推定部116は、新規の推定値から比較対象の推定値を減算した値を第2外力の推定結果として出力する。
 一例として、第2推定部116は、動作パターンによる駆動時間(動作パターンに基づくモータ2の動作開始からの経過時間9に基づいて、プロファイルデータから比較対象の推定値を抽出してもよい。例えば第2推定部116は、第1推定部113が新規の推定値を出力した時点における駆動時間に対応する推定値をプロファイルデータから抽出する。
 第2推定部116は、モータ2の応答値に基づいて、プロファイルデータから、新たに推定された推定値に対応する推定値を抽出してもよい。例えば第2推定部116は、第1推定部113が新規の推定値を出力した時点におけるモータ2の位置に対応する推定値をプロファイルデータから抽出してもよい。第2推定部116は、第1推定部113が新規の推定値を出力した時点におけるモータ2の速度に対応する推定値をプロファイルデータから抽出してもよい。第2推定部116は、第1推定部113が新規の推定値を出力した時点におけるモータ2の位置及び速度に対応する推定値をプロファイルデータから抽出してもよい。
 データ記憶部115が複数のプロファイルデータを記憶する場合に、制御装置100は、図3に示すようにデータ選択部121を更に備えてもよい。データ選択部121は、制御部112が動作パターンに基づくモータ2の駆動を開始する時又は開始する前に、当該動作パターンに対応するプロファイルデータをデータ記憶部115の複数のプロファイルデータから選択する。この場合、第2推定部116は、データ選択部121が選択したプロファイルデータに基づいて、第2外力を推定する。
 図4に示すように、制御装置100は、データ更新部122を更に備えてもよい。データ更新部122は、データ記憶部115が記憶するプロファイルデータを更新する。更新することは、既存のプロファイルデータを上書きすることと、既存のプロファイルデータを旧版として残しつつ新たなプロファイルデータを書き込むこととを含む。
 データ更新部122は、データ記憶部115に記憶されたプロファイルデータと、第1推定部113が新たに推定した推定値とに基づいて、プロファイルデータの更新の要否を判断し、更新が必要だと判断された場合に、第1推定部113が新たに推定した推定値に基づいてプロファイルデータを更新してもよい。
 例えば制御装置100は、ログデータ記憶部129を更に有する。ログデータ記憶部129は、第1推定部113が新たに推定した推定値と、プロファイルデータとの関係の推移を表すログデータを記憶する。例えばログデータ記憶部129は、動作パターンに基づいて制御部112がモータ2を駆動する期間において、第2推定部116が推定した第2外力の推移をログデータとして記憶する。
 ログデータ記憶部129は、第2外力の推定値と、動作パターンとを対応付けて記憶してもよい。例えばログデータ記憶部129は、モータ2の位置及び速度と第2外力の推定値とを対応付けたレコードを時系列で記憶してもよい。位置・速度は、目標位置・目標速度であってもよいし、センサ3により検出された位置・速度であってもよい。
 データ更新部122は、ログデータ記憶部129が記憶するログデータに基づいて、プロファイルデータの更新の要否を判定する。例えばデータ更新部122は、ログデータが所定の判定基準(以下、「更新判定基準」という。)を満たすか否かに基づいてプロファイルデータの更新の要否を判定する。
 ここで、プロファイルデータは、上述したモデル化が難しい成分(クーロン摩擦、粘性摩擦、駆動対象4の形状・大きさ・重さのばらつき等)が経時的に変化した場合に更新が必要となる。そこで、更新判定基準は、上記モデル化が難しい成分の変化によりログデータに現れる特性に基づいて予め設定される。
 例えば、クーロン摩擦が経時的に大きくなる場合、ログデータは、記録開始から記録完了までのほぼ全域に亙って均一に上昇することが想定される。これに対応し、ログデータ内の所定範囲の全域に亙って、第2外力の推定値の値が所定の閾値を超えていることが、更新判定基準の一例として挙げられる。
 また、粘性摩擦が経時的に大きくなる場合、ログデータにおいて、速度と第2外力との相関レベルが高くなると考えられる。これに対応し、ログデータ内における速度と第2外力との相関レベルが所定の閾値を超えていることも、更新判定基準の一例として挙げられる。
 軸受け部が劣化・損傷した場合、ログデータにおいて、第2外力に周期的な変化が現れると考えられる。これに対応し、ログデータの第2外力の周波数解析結果において、特定の周波数成分の大きさが所定の閾値を超えることも、更新判定基準の一例として挙げられる。
 更に、駆動対象4が明らかに無負荷であると想定できる所定姿勢がある場合、駆動対象4が当該姿勢であるときの第2外力が所定の閾値を超えることも、更新判定基準となり得る。
 更新が必要であると判定した場合、データ更新部122は、プロファイル生成部114にプロファイルデータを再生成させ、再生成したプロファイルデータによってデータ記憶部115のプロファイルデータを更新させる。なお、クーロン摩擦の例として示したように、所定範囲の全域に亙ってログデータが均一に上昇する場合、データ更新部122は、均一な上昇成分を、データ記憶部115が記憶するプロファイルデータの全域に亙って加算してもよい。
 制御部112は、動作パターン記憶部111が記憶する動作パターンと、第2推定部116が推定した第2外力とに基づいて、モータ2を駆動してもよい。例えば制御部112は、第2推定部116が推定した第2外力に基づいて外力追従用の補正値を算出し、当該補正値により、動作パターンに基づく目標位置・目標速度を第2外力の作用方向に補正するインピーダンス制御を実行してもよい。制御部112は、第2外力と補正値との関係を表すように機械学習により予め生成されたモデルと、第2推定部116が新たに推定した第2外力とに基づいて補償値を算出してもよい。
 制御部112は、第1推定部113が推定した第1外力に基づいてフィードフォワード補償値を算出し、フィードフォワード補償値を駆動力指令に加算するフィードフォワード制御を更に実行してもよい。この場合、第1推定部113は、フィードフォワード補償値を算出するための第1外力の推定と、第2外力を推定するための第1外力の推定とで、第1推定値に対する推定条件(例えば駆動力指令に対するフィルタ条件)を変更してもよい。
 図5に示すように、制御装置100は、接触検知部124を更に備えてもよい。例えば接触検知部124は、少なくとも第2推定部116が推定した第2外力に基づいて、駆動対象4と周辺物体との接触を検知する。例えば接触検知部124は、第2推定部116が推定した第2外力の上昇に基づいて、駆動対象4と周辺物体との接触を検知してもよい。
 制御装置100は、少なくとも推定した第2外力に基づいて、動作パターンに基づくモータ2の駆動結果を2以上の類のいずれかに分類することを更に実行するように構成されていてもよい。例えば制御装置100は、分類基準記憶部125と、分類部126とを更に備える。
 分類基準記憶部125は、モータ2の駆動結果を2以上の類のいずれかに分類するための基準を記憶する。2以上の類の具体例としては、所定の基準に対する動作結果の良否、駆動対象4が直接的又は間接的に作用した後のワークの良否、駆動対象4が直接的又は間接的に作用した後のワークの状態等が挙げられる。
 一例として、分類部126は、駆動対象4の動作を「優良」又は「不良」に分類してもよい。例えば分類基準記憶部125は、駆動対象4の動作が優良である場合における第2外力の推移の上限を表す上限プロファイルと、駆動対象4の動作が優良である場合における第2外力の推移の下限を表す下限プロファイルとを記憶する。分類部126は、第2外力の推定値が上限プロファイルと下限プロファイルとの間に位置する場合には駆動対象4の動作を「優良」に分類し、第2外力の推定値が上限プロファイルと下限プロファイルとの間の外に位置する場合には駆動対象4の動作を「不良」に分類する。
 分類部126は、駆動対象4が直接的又は間接的に作用したワークの状態を「優良」又は「不良」に分類してもよい。例えば分類基準記憶部125は、ワークが優良となる場合における第2外力の推移の上限を表す上限プロファイルと、ワークが優良となる場合における第2外力の推移の下限を表す下限プロファイルとを記憶する。分類部126は、第2外力の推定値が上限プロファイルと下限プロファイルとの間に位置する場合にはワークの状態を「優良」に分類し、第2外力の推定値が上限プロファイルと下限プロファイルとの間の外に位置する場合にはワークの状態を「不良」に分類する。
 分類部126は、駆動対象4が直接的又は間接的に作用したワークの状態をより細分化された3以上の類に分類してもよい。例えば分類部126は、ワークの部位ごとの寸法を3以上の類に分類してもよい。例えば分類基準記憶部125は、第2外力とワークの寸法との関係を表すテーブル又は関数等を記憶する。分類部126は、テーブル又は関数と、第2外力の推定値とに基づいてワークの各部の寸法を算出する。
 分類部126は、第2推定部が推定した第2外力と、当該第2外力が推定されている際に、制御部112が基づく動作パターンとに基づいて、モータ2の駆動結果を分類してもよい。この場合、分類基準記憶部125が分類基準を動作パターンごとに記憶し、制御部112が基づく動作パターンに対応する分類基準を分類部126が選択してもよい。
 分類基準記憶部125は、第2外力と、モータ2の駆動結果との関係を表すように予め機械学習により生成されたモデルを記憶していてもよい。この場合分類部126は、第2外力の推定値の推移(例えばログデータ記憶部129が記憶する推移)と、上記モデルとに基づいて駆動結果を分類する。モデルは、第2外力と、当該第2外力が生じている際のモータ2の動作パターンとの組み合わせと、モータ2の駆動結果との関係を表すように生成されていてもよい。
 一例として、分類基準記憶部125は、第2外力の推移と、当該第2外力の推移が生じている際のモータ2の動作パターンとの組み合わせと、ワークの状態との関係を表すように生成されたモデルを記憶する。分類部126は、第2外力の推定値の推移と、当該推定値の推移が生じている際に制御部112が基づく動作パターンと、上記モデルとに基づいて、ワークの状態を3以上の類に分類する。
 第2推定部116は、モータ2に作用する第1外力に基づいて第2外力を推定する。このため、駆動対象4及びモータ2の少なくともいずれかの不具合、微変動に起因して制御システム1の内部で生じる状況変化も考慮して、モータ2の駆動結果を2以上の類に分類することができる。また、第2外力の推定結果に基づいて、駆動対象4の劣化を推定することも可能である。例えば制御装置100は、図4に示すように、劣化推定部127と、劣化報知部128とを更に備えてもよい。
 劣化推定部127は、少なくとも第2推定部116が推定した第2外力に基づいて、駆動対象4の劣化を推定する。劣化報知部128は、劣化推定部127により推定された駆動対象4の劣化を、報知データの送信又は表示デバイスへの報知表示等により報知する。
 第2外力の推定結果は、上述したモデル化が難しい成分(クーロン摩擦、粘性摩擦、駆動対象4の形状・大きさ・重さのばらつき等)の経時的な変化に起因する付加成分を含む。劣化推定部127は、上記付加成分に基づいて駆動対象4の劣化を推定する。
 例えば、クーロン摩擦が経時的に大きくなる場合、上記ログデータは、記録開始から記録完了までのほぼ全域に亙って均一に上昇する付加成分を含む。これに対応し、ログデータ内の所定範囲の全域に亙って、第2外力の推定値の値が所定の閾値を超えている場合に、劣化推定部127は、クーロン摩擦の上昇を伴う駆動対象4の劣化を推定する。
 また、粘性摩擦が経時的に大きくなる場合、ログデータにおいて、速度と第2外力との相関レベルが高くなると考えられる。これに対応し、ログデータ内における速度と第2外力との相関レベルが所定の閾値を超えている場合に、劣化推定部127は、粘性摩擦の上昇を伴う駆動対象4の劣化を推定する。
 軸受け部が劣化・損傷した場合、ログデータにおいて、第2外力に周期的な変化が現れると考えられる。これに対応し、ログデータの第2外力の周波数解析結果において、特定の周波数成分の大きさが所定の閾値を超える場合に、劣化推定部127は、軸受け部の劣化を推定する。
 更に、駆動対象4が明らかに無負荷であると想定できる所定姿勢がある場合、劣化推定部127は、駆動対象4が当該姿勢であるときの第2外力が所定の閾値を超える場合に駆動対象4の劣化を推定してもよい。
 劣化推定部127は、第2外力の推移と、駆動対象4の劣化との関係を表すように予め機械学習により生成されたモデルと、第2推定部116が推定した第2外力の推移とに基づいて、駆動対象4の劣化を推定してもよい。
 図6は、制御装置100のハードウェア構成を例示するブロック図である。図6に示すように、制御装置100は、回路190を有する。回路190は、一つ又は複数のプロセッサ191と、メモリ192と、ストレージ193と、入出力ポート194と、ドライバ回路195とを含む。ストレージ193は、例えば不揮発性の半導体メモリ等、コンピュータによって読み取り可能な記憶媒体を有する。ストレージ193は、モータ2を駆動することと、モータ2を駆動するための駆動力指令に少なくとも基づいて、モータ2に作用する第1外力を推定することと、第1外力の推定値の推移を表すプロファイルデータをデータ記憶部に記憶させることと、所定の動作パターンに基づいてモータ2を駆動している際に、新たに推定した第1外力と、データ記憶部115に記憶されたプロファイルデータとに基づいて、駆動対象4に作用する第2外力を推定することと、制御装置100に実行させるためのプログラムを記憶している。例えばストレージ193は、上述した各機能ブロックを制御装置100に構成させるためのプログラムを記憶している。
 メモリ192は、ストレージ193の記憶媒体からロードしたプログラム及びプロセッサ191による演算結果を一時的に記憶する。プロセッサ191は、メモリ192と協働して上記プログラムを実行することで、制御装置100の各機能ブロックを構成する。入出力ポート194は、プロセッサ191からの指令に従って、センサ3との間で電気信号の入出力を行う。ドライバ回路195は、プロセッサ191からの指令に従って、モータ2に駆動電力を出力する。
 なお、制御装置100は、必ずしもプログラムにより各機能を構成するものに限られない。例えば制御装置100は、専用の論理回路又はこれを集積したASIC(Application Specific Integrated Circuit)により少なくとも一部の機能を構成してもよい。
〔制御手順〕
 以下、制御方法の一例として、制御装置100が実行する制御手順を例示する。この制御手順は、モータ2を駆動することと、モータ2を駆動するための駆動力指令に少なくとも基づいて、モータ2に作用する第1外力を推定することと、第1外力の推定値の推移を表すプロファイルデータをデータ記憶部に記憶させることと、所定の動作パターンに基づいてモータ2を駆動している際に、新たに推定した第1外力と、データ記憶部に記憶されたプロファイルデータとに基づいて、駆動対象4に作用する第2外力を推定することと、を含む。この制御手順は、プロファイルデータを生成することを更に含んでいてもよい。以下、プロファイルデータの生成手順と、生成したプロファイルデータに基づくモータ2の駆動手順とを例示する。
(プロファイルデータの生成手順)
 図7は、動作パターン記憶部111が複数の動作パターンを記憶する場合に、動作パターンごとのプロファイルデータを生成する手順を例示するフローチャートである。
 図7に示すように、制御装置100は、まずステップS01,S02,S03,S04,S05,S06,S07を実行する。ステップS01では、プロファイル生成部114が、動作パターン記憶部111の複数の動作パターンのいずれか一つを選択する。以下、選択された動作パターンを「対象動作パターン」という。ステップS02では、制御部112が、センサ3の検出値に基づいて駆動対象4の現在位置及び現在速度の情報を取得する。
 ステップS03では、制御部112が、対象動作パターンに基づく目標位置及び目標速度と、駆動対象4の現在位置及び現在速度とに基づいて駆動力指令を算出する。一例として、制御部112は、目標位置と現在位置との偏差(以下、「位置偏差」という。)に比例演算、比例・積分演算、又は比例・積分・微分演算等を施して、位置偏差を縮小させるための目標速度を算出する。その後、制御部112は、目標速度と現在速度との偏差(以下、「速度偏差」という。)に比例演算、比例・積分演算、又は比例・積分・微分演算等を施して、速度偏差を縮小させるための駆動力指令を算出する。
 ステップS04では、制御部112が、モータ2の駆動力を駆動力指令に追従させるための電流指令を算出し、電流指令に応じた駆動電流をモータ2に供給するように駆動電力を生成する。ステップS05では、第1推定部113が、制御部112における上記駆動力指令に少なくとも基づいて、モータ2に作用する第1外力を推定する。
 ステップS06では、プロファイル生成部114が、ステップS05で推定された第1外力を含むレコードを、対象動作パターンのプロファイルデータに追加する。例えばプロファイル生成部114は、動作パターン記憶部111における当該プロファイルデータの記憶領域にレコードを追加する。ステップS07では、プロファイル生成部114が、対象動作パターンによるモータ2の動作が完了したかを確認する。
 ステップS07において対象動作パターンによるモータ2の動作が完了していないと判定した場合、制御装置100は処理をステップS02に戻す。以後、対象動作パターンによるモータ2の動作が完了するまで、対象動作パターンに対応するプロファイルデータへのレコードの追加が繰り返される。これにより、第1外力の推移を表すプロファイルデータが生成される。
 ステップS07において対象動作パターンによるモータ2の動作が完了したと判定した場合、制御装置100はステップS08を実行する。ステップS08では、動作パターン記憶部111が記憶する全ての動作パターンに対してプロファイルデータの生成が完了したかをプロファイル生成部114が確認する。
 ステップS08においてプロファイルデータの生成が完了していない動作パターンが残っていると判定した場合、制御装置100はステップS09を実行する。ステップS09では、プロファイル生成部114が、対象動作パターンを、プロファイルデータが生成されていない他の動作パターンに変更する。その後、プロファイル生成部114は処理をステップS02に戻す。以後、全ての動作パターンに対してプロファイルデータが生成されるまで、動作パターンの選択とプロファイルデータの生成とが繰り返される。
 ステップS08において全ての動作パターンに対してプロファイルデータの生成が完了したと判定した場合、制御装置100はプロファイルデータの生成を完了する。
(駆動手順)
 図8は、モータの駆動手順を例示するフローチャートである。より具体的に、図8は、第2外力の推定結果に基づいて動作パターンに基づく目標位置・目標速度を変更するインピーダンス制御手順のフローチャートを示す。
 図8に示すように、制御装置100は、まずステップS11,S12,S13,S14,S15を実行する。ステップS11では、制御部112が基づく動作パターン(モータ2を駆動するためにモータ2が選択している動作パターン)に対応するプロファイルデータを、データ選択部121がデータ記憶部115の複数のプロファイルデータから選択する。以下、制御部112が基づく動作パターンを「駆動用動作パターン」といい、選択されたプロファイルデータを「選択中プロファイル」という。
 ステップS12では、制御部112が、センサ3の検出値に基づいて駆動対象4の現在位置及び現在速度の情報を取得する。ステップS13では、制御部112が、ステップS03と同様に、駆動用動作パターンに基づく目標位置及び目標速度と、駆動対象4の現在位置及び現在速度とに基づいて駆動力指令を算出する。ステップS14では、制御部112が、ステップS04と同様に、モータ2の駆動力を駆動力指令に追従させるように駆動電力を生成する。ステップS15では、プロファイル生成部114が、駆動用動作パターンによるモータ2の動作が完了したかを確認する。
 ステップS15において駆動用動作パターンによるモータ2の動作が完了していないと判定した場合、制御装置100はステップS16,S17,S18,S19を実行する。ステップS16では、第1推定部113が、制御部112における上記駆動力指令に少なくとも基づいて、モータ2に作用する第1外力を新たに推定する。ステップS17では、第2推定部116が、第1推定部113により新たに推定された推定値(上記新規の推定値)に対応する推定値(上記比較対象の推定値)を選択中プロファイルから抽出する。
 ステップS18では、第2推定部116が、新規の推定値と比較対象の推定値との差に基づいて第2外力を推定する。ステップS19では、制御部112が、第2外力の推定値に基づく補償値を算出し、駆動用動作パターンに基づく次の目標位置・目標速度を第2外力の作用方向に変更する。その後、制御装置100は処理をステップS12に戻す。以後、駆動用動作パターンが完了するまで、第2外力の推定と、推定結果に基づく目標位置・目標速度の変更を行いながら、駆動用動作パターンに基づくモータ2の駆動が継続される。
 ステップS15において駆動用動作パターンによるモータ2の動作が完了したと判定した場合、駆動用動作パターンに基づくモータ2の駆動が完了する。
 図9は、モータの駆動手順の変形例を示すフローチャートである。より具体的に、図9は、第2外力の推定結果に基づいて駆動対象4と周辺物体との接触を検知する制御手順を示す。駆動用動作パターンの選択から、第2外力の推定までのステップS21~S28は、上述したステップS11~S18と同じである。ステップS28において第2外力を推定した後、制御装置100はステップS29を実行する。ステップS29では、接触検知部124が、第2外力の推定値に基づいて、駆動対象4と周辺物体とが接触しているか否かを確認する。
 ステップS29において駆動対象4と周辺物体とが接触していないと判定した場合、制御装置100は処理をステップS22に戻す。以後、駆動対象4と周辺物体との接触の有無を監視しながら、駆動用動作パターンに基づくモータ2の駆動が継続される。
 ステップS29において駆動対象4と周辺物体とが接触していると判定した場合、制御装置100は、一連の処理をステップS22に戻すことなく強制完了させる。以上で駆動用動作パターンに基づくモータ2の駆動が完了する。
 図10は、モータ2の駆動手順の他の変形例を示すフローチャートである。より具体的に、図10は、動作パターンに基づくモータ2の駆動が完了した後に、第2外力の推定結果に基づいてワークの状態を2以上の類に分類する手順を示す。駆動用動作パターンの選択から、第2外力の推定までのステップS31~S38は、上述したステップS11~S18と同じである。ステップS38において第2外力を推定した後、制御装置100は処理をステップS32に戻す。以後、駆動用動作パターンが完了するまで、駆動用動作パターンに基づくモータ2の駆動が継続される。
 ステップS35において駆動用動作パターンによるモータ2の動作が完了したと判定した場合、制御装置100はステップS39を実行する。ステップS39では、分類部126が、少なくとも第2外力の推定結果に基づいて、駆動対象4が直接的又は間接的に作用したワークの状態を2以上の類に分類する。ステップS39では、分類部126によるワークの状態の分類に代えて、又は加えて、劣化推定部127が、少なくとも第2外力の推定結果に基づいて駆動対象4の劣化を推定してもよい。以上で駆動用動作パターンに基づくモータ2の駆動が完了する。
〔応用例〕
 上述した構成は、モータが複数であり、駆動対象が複数の剛体を含むシステムにも適用可能である。例えば上述した構成は、図11に例示する多関節ロボットを含むロボットシステムにも適用可能である。
 図11に示すロボット10は、所謂6軸の垂直多関節ロボットであり、基台11と、旋回部12と、アーム13,14,15と、ツール保持部16とを有する。基台11は、作業エリアにおいて床、台、又はAGV(Automated Guided Vehicle)上に固定される。旋回部12は、鉛直な軸線31まわりに旋回するように基台11上に設けられている。
 アーム13は、軸線31に交差(例えば直交)する軸線32まわりに揺動するように旋回部12に接続されている。ここでの交差は、所謂立体交差のようにねじれの関係にある場合を含む。アーム14は、軸線32に平行な軸線33まわりに揺動するように、アーム13の先端部に接続されている。アーム15は、アーム14に沿い軸線33に交差する軸線34まわりに旋回し、軸線34に交差(例えば直交)する軸線35まわりに揺動するようにアーム14の先端部に接続されている。
 ツール保持部16は、アーム15の中心に沿う軸線36まわりに旋回するように、アーム15の先端部に接続されている。ツール保持部16は、ワークを把持するハンド、溶接トーチ、塗装ガン、又はねじ締めツール等の様々なツール17を保持する。
 モータ21は、軸線31まわりに旋回部12を旋回させ、モータ22は、軸線32まわりにアーム13を揺動させ、モータ23は、軸線33まわりにアーム14を揺動させ、モータ24は、軸線34まわりにアーム14の先端部を旋回させ、モータ25は、軸線35まわりにアーム15を揺動させ、モータ26は、軸線36まわりにツール保持部16を旋回させる。
 制御システム1においては、ツール保持部16及びツール17がモータ26の駆動対象である。アーム15、ツール保持部16及びツール17がモータ25の駆動対象である。アーム14の先端部、アーム15、ツール保持部16及びツール17がモータ24の駆動対象である。アーム14,15、ツール保持部16及びツール17がモータ23の駆動対象である。アーム13,14,15、ツール保持部16及びツール17がモータ22の駆動対象である。旋回部12、アーム13,14,15、ツール保持部16及びツール17がモータ21の駆動対象である。
 このように、いずれかのモータの駆動対象中に他のモータが含まれる構成においては、モータによる駆動対象の形状及び慣性モーメントが変化し得る。例えば、モータ21による駆動対象の形状および慣性モーメントが、モータ22,23,24,25,26の駆動によって変化する。このような場合、プロファイル生成部114は、ロボット10全体としての動作パターンに第1外力の推定値の推移を対応付けたプロファイルデータをモータ21,22,23,24,25,26のそれぞれに対して生成し、データ記憶部115に記憶させてもよい。ロボット10全体としての動作パターンの具体例としては、ツール保持部16の目標位置及び目標姿勢の推移を表すデータが挙げられる。
 この場合、第1推定部113は、モータ21,22,23,24,25,26のそれぞれに対して、駆動力指令に基づいて新規の推定値を出力する。第2推定部116は、比較対象の推定値をそれぞれのプロファイルデータから抽出することと、新規の推定値と比較対象の推定値との差に基づいて第2外力を推定することとを、モータ21,22,23,24,25,26のそれぞれに対して実行する。
〔本実施形態の効果〕
 以上に説明したように、制御システム1は、駆動対象4を駆動するモータ2と、モータ2を駆動する制御部112と、制御部112における駆動力指令に少なくとも基づいて、モータ2に作用する第1外力を推定する第1推定部113と、第1推定部113が推定した推定値の推移を表すプロファイルデータを記憶するデータ記憶部115と、所定の動作パターンに基づいて制御部112がモータ2を駆動している際に、第1推定部113により新たに推定された推定値と、データ記憶部115に記憶されたプロファイルデータとに基づいて、駆動対象4に作用する第2外力を推定する第2推定部116と、を備える。
 モータ2に作用する第1外力は、クーロン摩擦、粘性摩擦、モータ2による駆動対象4の形状・大きさ・重さのばらつき等、モデル化が難しい成分を含んでいる。これらの成分は、モータ2に作用する力に基づく外力(駆動対象4に作用する第2外力)の推定精度を低下させる要因となり得る。これに対し、制御装置100によれば、動作パターンに従ってモータ2が動作している最中に新たに推定された第1外力と、過去に推定された第1外力の推移を表すプロファイルデータとに基づいて外力が推定される。新たに推定された第1外力が、上述のモデル化が難しい成分を含む場合、過去に推定された第1外力も同様の成分を含む。このため、新たに推定された第1外力と、過去に推定された第1外力の推移を表すプロファイルデータとに基づくことによって、モデル化が難しい成分の影響を除去して外力を推定することが可能である。従って、外力の推定精度向上に有効である。
 プロファイルデータは、過去に動作パターンに基づいて制御部112がモータ2を駆動した際に、第1推定部113により推定された推定値の推移を表してもよい。この場合、動作パターンでモータ2を駆動しながら推定された新たな第1外力と、同じ動作パターンでモータ2を駆動しながら推定された過去の第1外力とに基づいて第2外力を推定できるので、外力の推定精度が更に向上する。
 プロファイルデータは、駆動対象4に外力が作用していない状態で、第1推定部113が推定した推定値の推移を表してもよい。この場合、駆動対象4に外力が作用していない状態でのプロファイルデータを基準とすることで、外力の推定精度が更に向上する。
 データ記憶部115は、プロファイルデータを含む複数のプロファイルデータを記憶し、複数のプロファイルデータは複数の動作パターンにそれぞれ対応しており、複数のプロファイルデータのそれぞれは、対応する動作パターンに基づいて過去に制御部112がモータを駆動した際に、第1推定部113により推定された推定値の推移を表し、制御部112は、複数の動作パターンのいずれかに基づいてモータ2を駆動し、制御システム1は、制御部112が基づく動作パターンに対応するプロファイルデータを複数のプロファイルデータから選択するデータ選択部を更に備え、第2推定部116は、データ選択部121が選択したプロファイルデータに基づいて、第2外力を推定してもよい。この場合、動作パターンごとにプロファイルデータを設け、それを動作パターンに応じて使い分けることで、外力の推定精度を更に向上させることができる。
 第1推定部113は、駆動力指令と、モータ2の応答値とに少なくとも基づいて、第1外力を推定する外乱オブザーバであってもよい。この場合、外力の推定精度が更に向上する。例えば、外乱オブザーバによれば、駆動対象4の動作がモータ2に及ぼす影響のうち、モデル化が可能な分(以下、「モデル化した影響」という。)を、モータ2に作用する外力から除去した第1外力を推定することができる。モデル化した影響を除去して推定された第1外力によれば、駆動対象4の実際の動作と動作パターンとの乖離が生じた場合であっても、新たに推定された第1外力の推定値及びプロファイルデータの両方から、モデル化した影響が予め除去されているので、上記乖離が第2外力の推定精度に影響を及ぼし難い。
 第2推定部116は、プロファイルデータから、新たに推定された推定値に対応する推定値を抽出し、新たに推定された推定値と、抽出した推定値との差に基づいて、第2外力を推定してもよい。この場合、第2外力を容易に推定することができる。
 第2推定部116は、動作パターンによる駆動時間に基づいて、プロファイルから、新たに推定された推定値(以下、「比較対象の推定値」という場合がある。)に対応する推定値を抽出してもよい。この場合、動作パターンによる駆動時間に基づくことで、比較対象の推定値を容易に抽出することができる。
 第2推定部116は、モータ2の応答値に基づいて、プロファイルデータから、新たに推定された推定値に対応する推定値を抽出してもよい。この場合、モータ2の応答値に基づくことで、新たに推定された推定値に対応する推定値をより適切に抽出することができる。例えば、第2推定部116は、モータ2の現在位置に基づいて比較対象の推定値を抽出してもよく、モータ2の現在速度に基づいて比較対象の推定値を抽出してもよく、モータ2の現在位置及び現在速度の両方に基づいて比較対象の推定値を抽出してもよい。モータ2の現在位置に基づいて比較対象の推定値を抽出する場合、現在位置に近い位置における推定値を抽出することで、外力の推定精度を更に向上させることができる。モータ2の現在速度に基づいて比較対象の推定値を抽出する場合、現在速度に近い速度における推定値を抽出することで、外力の推定精度を更に向上させることができる。更に、モータ2の現在位置及び現在速度の両方に基づいて比較対象の推定値を抽出する場合、現在位置に近い位置で且つ現在速度に近い速度における推定値を抽出することで、外力の推定精度を更に向上させることができる。
 制御システム1は、プロファイルデータを更新するデータ更新部122を更に備えていてもよい。この場合、外力の推定精度を維持することができる。
 データ更新部122は、データ記憶部115に記憶されたプロファイルデータと、第1推定部113が新たに推定した推定値とに基づいて、更新の要否を判断し、更新が必要だと判断された場合に、第1推定部113が新たに推定した推定値に基づいて、プロファイルデータを更新してもよい。この場合、経年劣化や環境変化などの状況の変化に対応してプロファイルデータをタイムリーに更新することができる。従って、外力の推定精度が更に向上する。
 制御部112は、動作パターンと、第2推定部116が推定した第2外力とに基づいて、モータ2を駆動してもよい。この場合、トルクセンサレスでトルクによるコントロールが可能になる。
 制御システム1は、少なくとも第2推定部116が推定した第2外力に基づいて、動作パターンに基づく制御部112によるモータ2の駆動結果を、2以上の類に分類する分類部126を更に備えていてもよい。この場合、外力の推定精度の向上が、駆動対象4と周辺物体の適切な状態に推定に寄与する。また、上述のように、第2推定部116は、モータ2に作用する第1外力に基づいて第2外力を推定する。このため、駆動対象4及びモータ2の少なくともいずれかの不具合、微変動に起因して制御システム1の内部で生じる状況変化も考慮して、モータ2の駆動結果を2以上の類に分類することができる。
 分類部126は、第2推定部116が推定した第2外力と、当該第2外力が推定されている際に、制御部112が基づく動作パターンとに基づいて、駆動結果を分類してもよい。この場合、動作パターンと、その際の第2外力との基づく分類が可能なため、より正確な分類が可能である。
 制御システム1は、少なくとも第2推定部116が推定した第2外力に基づいて、駆動対象4の劣化を推定する劣化推定部127を更に備えていてもよい。この場合、外力の推定結果を、駆動対象4の劣化予知にも活用することができる。
 制御システム1は、少なくとも第2推定部116が推定した第2外力に基づいて、駆動対象4と周辺物体との接触を検知する接触検知部124を更に備えていてもよい。この場合、外力の推定精度の向上が、適切な接触検知に寄与する。
 以上、実施形態について説明したが、本開示は必ずしも上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で様々な変更が可能である。
 1…制御システム、2,21,22,23,24,25,26…モータ、4…駆動対象、100…制御装置、112…制御部、113…第1推定部、115…データ記憶部、116…第2推定部、121…データ選択部、122…データ更新部、124…接触検知部、126…分類部、127…劣化推定部。

Claims (17)

  1.  駆動対象を駆動するモータと、
     前記モータを駆動する制御部と、
     前記制御部における駆動力指令に少なくとも基づいて、前記モータに作用する第1外力を推定する第1推定部と、
     前記第1推定部が推定した推定値の推移を表すプロファイルデータを記憶するデータ記憶部と、
     所定の動作パターンに基づいて前記制御部が前記モータを駆動している際に、前記第1推定部により新たに推定された前記推定値と、前記データ記憶部に記憶された前記プロファイルデータとに基づいて、前記駆動対象に作用する第2外力を推定する第2推定部と、を備える制御システム。
  2.  前記プロファイルデータは、過去に前記動作パターンに基づいて前記制御部が前記モータを駆動した際に、前記第1推定部により推定された推定値の推移を表す、請求項1記載の制御システム。
  3.  前記プロファイルデータは、前記駆動対象に外力が作用していない状態で、前記第1推定部が推定した推定値の推移を表す、請求項2記載の制御システム。
  4.  前記データ記憶部は、前記プロファイルデータを含む複数のプロファイルデータを記憶し、前記複数のプロファイルデータは複数の動作パターンにそれぞれ対応しており、複数のプロファイルデータのそれぞれは、対応する動作パターンに基づいて過去に前記制御部が前記モータを駆動した際に、前記第1推定部により推定された推定値の推移を表し、
     制御部は、前記複数の動作パターンのいずれかに基づいて前記モータを駆動し、
     前記制御システムは、前記制御部が基づく動作パターンに対応するプロファイルデータを前記複数のプロファイルデータから選択するデータ選択部を更に備え、
     前記第2推定部は、前記データ選択部が選択したプロファイルデータに基づいて、前記第2外力を推定する、請求項2又は3記載の制御システム。
  5.  前記第1推定部は、前記駆動力指令と、前記モータの応答値とに少なくとも基づいて、前記第1外力を推定する外乱オブザーバである、請求項1~4のいずれか一項記載の制御システム。
  6.  前記第2推定部は、
      前記プロファイルデータから、前記新たに推定された推定値に対応する推定値を抽出し、
      前記新たに推定された推定値と、前記抽出した推定値との差に基づいて、前記第2外力を推定する、請求項1~5のいずれか一項記載の制御システム。
  7.  前記第2推定部は、前記動作パターンによる駆動時間に基づいて、前記プロファイルから、前記新たに推定された推定値に対応する推定値を抽出する、請求項6記載の制御システム。
  8.  前記第2推定部は、前記モータの応答値に基づいて、前記プロファイルデータから、前記新たに推定された推定値に対応する推定値を抽出する、請求項6又は7記載の制御システム。
  9.  前記プロファイルデータを更新するデータ更新部を更に備える、請求項1~8のいずれか一項記載の制御システム。
  10.  前記データ更新部は、
     前記データ記憶部に記憶されたプロファイルデータと、前記第1推定部が新たに推定した推定値とに基づいて、更新の要否を判断し、
     更新が必要だと判断された場合に、前記第1推定部が新たに推定した推定値に基づいて、前記プロファイルデータを更新する、請求項9記載の制御システム。
  11.  前記制御部は、前記動作パターンと、前記第2推定部が推定した第2外力とに基づいて、前記モータを駆動する、請求項1~9のいずれか一項記載の制御システム。
  12.  少なくとも前記第2推定部が推定した第2外力に基づいて、前記動作パターンに基づく前記制御部による前記モータの駆動結果を、2以上の類に分類する分類部を更に備える、請求項1~10のいずれか一項記載の制御システム。
  13.  前記分類部は、前記第2推定部が推定した第2外力と、当該第2外力が推定されている際に、前記制御部が基づく前記動作パターンとに基づいて、前記駆動結果を分類する、請求項12記載の制御システム。
  14.  少なくとも前記第2推定部が推定した第2外力に基づいて、前記駆動対象の劣化を推定する劣化推定部を更に備える、請求項1~13のいずれか一項記載の制御システム。
  15.  少なくとも前記第2推定部が推定した第2外力に基づいて、前記駆動対象と周辺物体との接触を検知する接触検知部を更に備える、請求項1~14のいずれか一項記載の制御システム。
  16.  駆動対象を駆動するモータを駆動する制御部と、
     前記制御部における駆動力指令に少なくとも基づいて、前記モータに作用する第1外力を推定する第1推定部と、
     前記第1推定部が推定した推定値の推移を表すプロファイルデータを記憶するデータ記憶部と、
     所定の動作パターンに基づいて前記制御部が前記モータを駆動している際に、前記第1推定部により新たに推定された前記推定値と、前記データ記憶部に記憶された前記プロファイルデータとに基づいて、前記駆動対象に作用する第2外力を推定する第2推定部と、を備える制御装置。
  17.  駆動対象を駆動するモータを駆動することと、
     前記モータを駆動するための駆動力指令に少なくとも基づいて、前記モータに作用する第1外力を推定することと、
     前記第1外力の推定値の推移を表すプロファイルデータをデータ記憶部に記憶させることと、
     所定の動作パターンに基づいて前記モータを駆動している際に、新たに推定した前記第1外力の推定値と、前記データ記憶部に記憶された前記プロファイルデータとに基づいて、前記駆動対象に作用する第2外力を推定することと、を含む制御方法。
PCT/JP2020/014290 2019-07-18 2020-03-27 制御システム、制御装置及び制御方法 WO2021009976A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202080051279.XA CN114127659B (zh) 2019-07-18 2020-03-27 控制系统、控制方法以及非易失性存储器件
EP20839682.0A EP4002053A4 (en) 2019-07-18 2020-03-27 CONTROL SYSTEM, CONTROL DEVICE AND CONTROL METHOD
JP2021532676A JP7222427B2 (ja) 2019-07-18 2020-03-27 制御システム、制御装置及び制御方法
US17/574,581 US11750133B2 (en) 2019-07-18 2022-01-13 External force estimation during motor control

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JPPCT/JP2019/028261 2019-07-18
PCT/JP2019/028261 WO2021009903A1 (ja) 2019-07-18 2019-07-18 ロボットシステム、ロボットの制御方法、サーボシステム
US201962940912P 2019-11-27 2019-11-27
US62/940,912 2019-11-27

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/574,581 Continuation US11750133B2 (en) 2019-07-18 2022-01-13 External force estimation during motor control

Publications (1)

Publication Number Publication Date
WO2021009976A1 true WO2021009976A1 (ja) 2021-01-21

Family

ID=74209787

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/014290 WO2021009976A1 (ja) 2019-07-18 2020-03-27 制御システム、制御装置及び制御方法

Country Status (5)

Country Link
US (1) US11750133B2 (ja)
EP (1) EP4002053A4 (ja)
JP (1) JP7222427B2 (ja)
CN (1) CN114127659B (ja)
WO (1) WO2021009976A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021049597A (ja) * 2019-09-24 2021-04-01 ソニー株式会社 情報処理装置、情報処理システム及び情報処理方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009297827A (ja) * 2008-06-12 2009-12-24 Fuji Electric Holdings Co Ltd ロボット暴走判定方法およびロボット制御装置
JP2012011403A (ja) 2010-06-30 2012-01-19 Yaskawa Electric Corp ロボットシステム
JP2013066965A (ja) * 2011-09-21 2013-04-18 Toshiba Corp ロボット制御装置、外乱判定方法およびアクチュエータ制御方法
JP2013225284A (ja) * 2012-04-20 2013-10-31 Linestream Technologies 動作システムのパラメータ推定法、そのパラメータ推定システム、動作プロファイルの生成方法およびその生成システム
JP2018065221A (ja) * 2016-10-19 2018-04-26 ファナック株式会社 機械学習により外力の検出精度を向上させた人協調ロボットシステム
JP2018089744A (ja) * 2016-12-02 2018-06-14 ファナック株式会社 ロボットを制御するロボット制御装置、およびロボットに加わる外乱値を推定する方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4891764A (en) * 1985-12-06 1990-01-02 Tensor Development Inc. Program controlled force measurement and control system
US5103404A (en) * 1985-12-06 1992-04-07 Tensor Development, Inc. Feedback for a manipulator
JPH074765B2 (ja) 1986-03-03 1995-01-25 長尾 高明 曲面加工装置
JPS6347058A (ja) 1986-08-13 1988-02-27 Daikin Ind Ltd ロボツトの制御装置
JP2676793B2 (ja) 1988-06-30 1997-11-17 トヨタ自動車株式会社 倣い制御ロボット
US4886529A (en) 1988-07-08 1989-12-12 Showa Precision Machinery Co., Ltd. Polishing robot and polishing method using the same
JPH04135189A (ja) 1990-09-21 1992-05-08 Hitachi Ltd ロボット制御装置
DE69636230T2 (de) 1995-09-11 2007-04-12 Kabushiki Kaisha Yaskawa Denki, Kitakyushu Robotersteuerung
JP3383614B2 (ja) 1999-08-04 2003-03-04 技術研究組合医療福祉機器研究所 水平多関節型ロボットアームのインピーダンス制御装置
KR100486582B1 (ko) * 2002-10-15 2005-05-03 엘지전자 주식회사 왕복동식 압축기의 스트로크 검출장치 및 방법
US7456592B2 (en) * 2003-12-17 2008-11-25 Lg Electronics Inc. Apparatus and method for controlling operation of reciprocating compressor
JP5262811B2 (ja) * 2008-10-31 2013-08-14 トヨタ自動車株式会社 車両のバネ上制振制御装置
JP2011125986A (ja) 2009-12-21 2011-06-30 Saito-Seiki Co Ltd 角ブロックの表面研削装置
US8710777B2 (en) 2012-04-20 2014-04-29 Linestream Technologies Method for automatically estimating inertia in a mechanical system
JP6136337B2 (ja) 2013-02-15 2017-05-31 株式会社Ihi 姿勢検知制御装置、研磨装置、および、姿勢検知制御方法
JPWO2015025356A1 (ja) * 2013-08-19 2017-03-02 株式会社安川電機 モータ駆動システムおよびモータ制御装置
JP2016028842A (ja) 2014-07-17 2016-03-03 株式会社ロボテック アクチュエータシステム
JP6088583B2 (ja) 2015-06-08 2017-03-01 ファナック株式会社 ロボットと力の表示機能を備えたロボット制御装置
JP6457569B2 (ja) * 2017-02-24 2019-01-23 ファナック株式会社 サーボモータ制御装置、サーボモータ制御方法、及びサーボモータ制御用プログラム
CN107016208B (zh) * 2017-04-17 2021-09-03 珞石(山东)智能科技有限公司 一种基于抖动控制的工业机器人外力估计方法
CN107204726B (zh) * 2017-07-20 2020-03-17 广东美芝制冷设备有限公司 永磁同步电机的控制方法及系统
JPWO2019065427A1 (ja) 2017-09-26 2020-10-15 倉敷紡績株式会社 ロボットハンドシステム制御方法およびロボットハンドシステム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009297827A (ja) * 2008-06-12 2009-12-24 Fuji Electric Holdings Co Ltd ロボット暴走判定方法およびロボット制御装置
JP2012011403A (ja) 2010-06-30 2012-01-19 Yaskawa Electric Corp ロボットシステム
JP2013066965A (ja) * 2011-09-21 2013-04-18 Toshiba Corp ロボット制御装置、外乱判定方法およびアクチュエータ制御方法
JP2013225284A (ja) * 2012-04-20 2013-10-31 Linestream Technologies 動作システムのパラメータ推定法、そのパラメータ推定システム、動作プロファイルの生成方法およびその生成システム
JP2018065221A (ja) * 2016-10-19 2018-04-26 ファナック株式会社 機械学習により外力の検出精度を向上させた人協調ロボットシステム
JP2018089744A (ja) * 2016-12-02 2018-06-14 ファナック株式会社 ロボットを制御するロボット制御装置、およびロボットに加わる外乱値を推定する方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4002053A4

Also Published As

Publication number Publication date
US11750133B2 (en) 2023-09-05
EP4002053A4 (en) 2023-12-13
US20230006590A1 (en) 2023-01-05
JP7222427B2 (ja) 2023-02-15
CN114127659A (zh) 2022-03-01
JPWO2021009976A1 (ja) 2021-01-21
EP4002053A1 (en) 2022-05-25
CN114127659B (zh) 2024-02-27

Similar Documents

Publication Publication Date Title
JP6400750B2 (ja) 学習制御機能を備えた制御システム及び制御方法
US9073210B2 (en) Information processing method, apparatus, and computer readable medium
CN108422420B (zh) 具有学习控制功能的机器人系统以及学习控制方法
US9701014B2 (en) Robot control device for preventing misjudgment by collision judging part
JP4813618B2 (ja) イナーシャと摩擦を同時に推定する機能を有する電動機の制御装置
US8543239B2 (en) Robot control apparatus
JP5382359B2 (ja) ロボットシステム
US10350749B2 (en) Robot control device having learning control function
CN111438687A (zh) 判定装置
CN110340909B (zh) 使用电动机编码器和传感器来进行学习控制的机器人系统
JP2016013613A (ja) ロボット制御方法、ロボット装置、プログラム、記録媒体及び組立部品の製造方法
CN112109080B (zh) 调整辅助装置
US20180361576A1 (en) Learning device, controller, and control system
JP5318727B2 (ja) 情報処理方法及び装置並びにプログラム
JP2017124455A (ja) ロボット装置、ロボット制御方法、プログラム及び記録媒体
WO2021009976A1 (ja) 制御システム、制御装置及び制御方法
US20230278205A1 (en) Robot system and robot control device
US11951625B2 (en) Control method for robot and robot system
WO2016185589A1 (ja) 故障診断装置及び故障診断方法
KR101485003B1 (ko) 로봇의 위치 및 자세 제어 장치 및 방법
EP4241930A1 (en) Robot control in working space
TWI663031B (zh) 適應性夾持的控制方法及電動夾爪
JP7098062B2 (ja) ロボットの動作調整装置、動作制御システムおよびロボットシステム
JP5290934B2 (ja) 情報処理方法及び装置並びにプログラム
US20230234223A1 (en) Modeling of controlled object

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20839682

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021532676

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020839682

Country of ref document: EP

Effective date: 20220218