The present invention relates to a robot arm having a joint that connects a plurality of links to each other and a joint sensor that detects a state of the joint, a robot control apparatus used with the robot arm, and a robot system including the robot arm.
Conventionally, various robots have been used in production sites such as a factory. Recently, multi-joint robot arms for performing a more complex operation have been put into practical use and in wide-spread use. A motor and a reducer are mounted in a joint of such type of robot arms, and an excessive load applied to the joint may cause a failure.
One of the factors of an excessive load being applied to a joint of a robot arm may be vibration or impact applied to the robot arm in a non-operating state, in particular, during transportation or installation. Further, in an operating state, there may be a case where a robot arm comes into contact with other objects such as a structure, a workpiece, a tool, or the like.
In particular, in a non-operating state, one countermeasure against vibration or impact on a robot arm being transported may be, for example, a use of a transport box for packing which has a built-in impact recorder that measures an acceleration as disclosed in Japanese Patent No. 3366240 described below, though not dedicated to a robot arm. With the use of such a packing scheme for transportation of a robot arm, it is possible to accurately prove the presence or absence of impact during transportation, for example.
Further, with respect to vibration or impact on an operating robot arm, a joint angle detector may be provided to a joint of the arm, and a damage level of a reduction motor after an excessive load is applied may be measured, as disclosed in Japanese Patent Application Laid-Open No. 2015-3357, for example. According to the configuration of Japanese Patent Application Laid-Open No. 2015-3357, it is possible to measure a level of vibration, impact, or damage applied to a joint without disassembling a robot arm.
According to the scheme of Japanese Patent No. 3366240, it is possible to calculate a load applied to each joint by transporting a robot arm with a dedicated transport box and analyzing a recorded acceleration. However, Japanese Patent No. 3366240 illustrates a configuration of a general transport box, which does not directly detect vibration or impact applied to a targeted portion such as a joint of a robot arm, for example. It is therefore necessary to perform a process in which an acceleration of a position of the transport box at which a sensor is mounted is converted into a load on each joint of the robot arm, and it is not so easy to accurately perform such a conversion process. Further, since a dedicated vibration recorder device is needed, there is a problem of increase in transport cost.
Further, in the configuration of Japanese Patent Application Laid-Open No. 2015-3357, occurrence of an excessive load in a joint can be detected during an operation of a robot arm. However, at a timing when a main power supply is shut off and a robot control apparatus is unable to be involved, such as during transportation or during close of work hours at nighttime, for example, a load state of a joint cannot be detected. Thus, in a state during transportation or during close of work hours at nighttime, vibration or impact on an arm cannot be measured or recorded, it is difficult to prove the presence or absence of an excessive load of a non-operating period.
Accordingly, the object of the present invention is to enable information on a state of each joint for a robot arm to be recorded at the robot arm alone at a timing when a main power supply is shut off and a robot control apparatus is unable to be involved, for example, such as during transportation or during close of work hours at nighttime.
To solve the object described above, in a configuration of a robot arm according to one aspect of the present invention, in a robot arm including a plurality of links; a joint connecting the plurality of links to each other; and a sensor that detects a state of the joint, a configuration including a logging device that records output information of the sensor; and a powering unit that supplies power to the sensor and the logging device in a state where a drive power supply of the joint is shut off is employed.
Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
Embodiments for implementing the present invention will be described below with reference to the attached drawings. Note that the embodiment described below is a mere example, and those skilled in the art may appropriately change detailed configurations within a scope not departing from the spirit of the present invention, for example. Further, numerical values used in the embodiment are reference numerical values and are not intended to limit the present invention.
The robot arm unit 200 has a vertical multi-joint robot arm 201 having joints with several axes (around two to six axes), for example, and a robot hand 202 attached to the tip of the robot arm 201 as an end effector.
The robot arm 201 forming a main portion of the robot arm unit 200 is coupled on a base portion 210 (base end link) fixed on a work stage such that a plurality of links 211 to 216 that transfer displacement or force can bend (pivot) or rotate at joints J1 to J6.
In the present embodiment, the robot arm 201 is formed of the joints J1 to J6 of six axes including three bending axes and three rotating axes. Here, bending refers to movement in which two links are bent at a certain point of a coupling part, and rotating refers to movement in which two links are relatively rotated about a rotation axis in the longitudinal direction of the two links, which are referred to as a bending portion and a rotating portion, respectively. In the case of the present embodiment, the robot arm 201 is formed of the six joints J1 to J6, in which the joints J1, J4, and J6 are rotating portions and the joints J2, J3, and J5 are bending portions, for example.
The robot hand 202 has a plurality of fingers 220 (or claws) and a hand base 221 and is attached to the tip of the robot arm 201, that is, to the tip of the link 216 (tip link) via a force sensor 260. The plurality of fingers 220 are supported by the hand base 221 so as to move inward or outward in a radial direction about a center axis relative to the hand base 221. By operating the plurality of fingers 220 to be closed, it is possible to hold a workpiece W1 (first workpiece), for example. Further, by operating the plurality of fingers 220 to be opened, it is possible to release the workpiece W1. The robot hand 202 can perform a fitting operation to fit the workpiece W1 (fitting component) into a workpiece W2 (fitted component: second workpiece) by holding the workpiece W1 by the plurality of fingers 220, for example.
The robot arm 201 has a plurality of (six) joint drive devices 230 provided to respective joints J1 to J6 and used for driving the joints J1 to J6, respectively. Note that, while only the joint drive device 230 for the joint J2 is illustrated in
In
The joint J2 has an encoder 235 (motor angle detection unit) that measures a rotation angle of the rotary shaft 232 (input shaft of the reducer 233) of the motor 231. Further, the joint J2 has an encoder 236 (joint angle detection unit) that measures an angle of the link 212 relative to the link 211 (a rotation angle of the output shaft of the reducer 233). The angle of the joint J2 (joint angle) is measured by the encoder 236.
The motor 231 is an electric motor that can be servo-controlled, for example, and can be formed of a brushless DC servo motor or an AC servo motor, for example.
The encoder 235 is desirably an absolute type rotary encoder, for example. Although details are not depicted, the encoder 235 can be formed of an (absolute value) angle encoder of a single rotation, a counter of the total number of rotations of the (absolute value) angle encoder, a backup battery, which is a powering unit that supplies electric power to the counter, and the like. Further, the powering unit may be a member that accumulates externally supplied electric power. Even when power supply from a main power supply (801 in
Further, the encoder 236 is a rotary encoder that detects the relative angle between neighboring two links. In the joint J2, the encoder 236 is a rotary encoder that measures the relative angle between the link 211 and the link 212. While the encoder 236 may have a configuration (not illustrated in detail) in which an encoder scale is provided to the link 211 and a detection head is provided to the link 212, for example, the link on which the encoder scale is mounted and the link on which the detection head is mounted may be opposite. The link 211 and the link 212 are coupled so as to rotate freely via a cross roller bearing 237.
The motor 231 is covered with a motor cover 238 and protected. A brake unit (not illustrated) is provided between the motor 231 and the encoder 235. A primary function of the brake unit is to hold the attitude of the robot arm 201 when powered off.
The reducer 233 is formed of a compact and lightweight strain wave gearing reducer having a large reduction ratio, for example, in the present embodiment. The reducer 233 has a wave generator 241, which is an input shaft coupled to the rotary shaft 232 of the motor 231, and a circular spline 242, which is an output shaft fixed to the link 212. Note that, while directly coupled to the link 212, the circular spline 242 may be formed integrally with the link 212.
Further, the reducer 233 has a flex spline 243 arranged between the wave generator 241 and the circular spline 242 and fixed to the link 211. The flex spline 243 is slowed down at a reduction ratio N with respect to rotation of the wave generator 241 and rotates relatively to the circular spline 242. Therefore, the rotation of the rotary shaft 232 of the motor 231 is slowed down to the number of rotations of 1/N at the reducer 233, which causes the link 212 to which the circular spline 242 is fixed to pivot relatively to the link 211 to which the flex spline 243 is fixed and thereby causes the joint J2 to bend.
The robot control apparatus 300 has a main control unit 330, a plurality of joint control units 340 (the number of which corresponds to the number of joints: six in the first embodiment), and an output shaft signal recorder unit 380.
The main control unit 330 is formed of a computer and has a CPU 301 as a calculation unit. Further, the main control unit 330 has a ROM 302, a RAM 303, and an HDD 304 as a storage unit. Further, the main control unit 330 has a storage disk drive 305 and various interfaces 311 to 313.
The ROM 302, the RAM 303, the HDD 304, the storage disk drive 305, and the various interfaces 311 to 313 are connected to the CPU 301 via a bus. A basic program such as BIOS has been stored in the ROM 302. The RAM 303 is a storage device that temporarily stores various data such as a calculation process result of the CPU 301.
The HDD 304 is a storage device that stores a calculation process result of the CPU 301, externally acquired various data, or the like and is also a device that stores a program 320 used for causing the CPU 301 to execute a calculation process described later. The CPU 301 performs each step of the robot control method based on the program 320 stored (stored or loaded) in the HDD 304.
The storage disk drive 305 can read various data, a program, or the like stored in the storage disk 321. Any storage form may be employed for the storage disk drive 305 and the storage disk 321, and the storage disk 321 may be, for example, an optical disk (CD(DVD)-R(OM)) or the like. Further, the name of “storage disk” is used for the purpose of illustration, and the storage disk 321 may be a semiconductor memory (disk) such as various flash memories widely used as storage devices. Note that an external storage device (not illustrated) such as a rewritable nonvolatile memory, an external HDD, or the like may be further connected to the main control unit 330.
The teaching pendant 400, which is a teaching unit, is connected to the interface 311. The teaching pendant 400 designates a teaching point that teaches the robot arm unit 200, that is, target joint angles of respective joints J1 to J6 (target rotation positons of the motors 231 of respective joints J1 to J6) in accordance with a user input operation. The data of a teaching point is output to the HDD 304 through the interface 311 and the bus.
The HDD 304 can load data of a teaching point designated by the teaching pendant 400. The CPU 301 can read data of the teaching point set (stored or loaded) in the HDD 304.
A monitor 500 (display device), which is a display unit, is connected to the interface 312 and can display a setting state or a control state of the robot system 100, for example, in a form of a text or an image based on control of the CPU 301. With the use of the monitor 500, information on the state of each joint of the robot arm 201 logged as described later or information on the load on each joint acquired based thereon can be displayed.
The joint control unit 340 is connected to the interface 313. While the robot arm 201 has six joints J1 to J6 and the robot control apparatus 300 has six joint control units 340 accordingly in the present embodiment, only one of the joint control units 340 is depicted in
The CPU 301 calculates the track of the robot arm 201 based on the preset teaching point and outputs a position instruction signal indicating a target rotation position (a control amount of a rotation angle) of the rotary shaft 232 of the motor 231 to each joint control unit 340 at a predetermined time interval.
The joint control unit 340 has a CPU 351, an EEPROM 352 and a RAM 353 as storage units, an interface 361, detection circuits 362 and 363, and a motor drive circuit 365, and these components are connected via a bus. The CPU 351 executes a calculation process in accordance with a program 370. The EEPROM 352 is a storage device that stores the program 370. The RAM 353 is a storage device that temporarily stores various data such as a calculation process result of the CPU 351.
The main control unit 330 described above has a plurality of (six) interfaces 313 (only one of the interfaces 313 is illustrated in
The encoder 235 described above is connected to the detection circuit 362, and the encoder 236 is connected to the detection circuit 363. A pulse signal indicating a measured angle detection value is output from each of the encoders 235 and 236. The detection circuits 362 and 363 acquire the pulse signals from the encoders 235 and 236, convert the pulse signals into a signal that can be acquired by the CPU 351, and output the signal to the CPU 351.
The motor drive circuit 365 is a motor driver having a semiconductor switching element, for example, which outputs a pulse-width-modulated three-phase AC PWM waveform voltage to the motor 231 in accordance with an input current instruction and thereby supplies a current to the motor 231.
The CPU 351 of the joint control unit 340 calculates a current output amount (current instruction) supplied to the motor 231 so that the rotation position (rotation angle) of the motor 231 approaches the instructed position input from the CPU 301 of the main control unit 330 and outputs the current instruction to the motor drive circuit 365.
The motor drive circuit 365 supplies a current corresponding to the input current instruction to the motor 231. The motor 231 then generates a drive torque in response to power supply from the motor drive circuit 365 and transfers the torque to the wave generator 241, which is the input shaft of the reducer 233. In the reducer 233, the circular spline 242, which is the output shaft, rotates at the number of rotations of 1/N relative to the rotation of the wave generator 241. Thereby, the link 212 rotates relatively with respect to the link 211.
As discussed above, the joint control unit 340 of each of the joints (J1 to J6) supplies a current to the motor 231 so that the rotation position of the motor 231 approaches the instructed position input from the main control unit 330 to control the joint angle of each of the joints J1 to J6.
Note that the CPU 351, the EEPROM 352, and the RAM 353 of the joint control unit 340 may be arranged for each joint as described above. However, only one set of the above may be arranged as control on the robot arm 201 side that integrally controls the entire joint control unit 340 of each of the joints (J1 to J6).
As described above, the robot control apparatus 300 uses the main control unit 330 and the joint control unit 340 and executes the programs 320 and 370, which are operation programs, to operate the robot arm 201.
Each control unit on the robot arm 201 side described above basically operates by the main power supply 801. While the power supply unit of the robot arm 201 is illustrated here by a conceptual block as the main power supply 801, several different forms may be considered as the specific configuration thereof. For example, the main power supply 801 may be configured to be supplied with DC power from the robot control apparatus 300 side by a power supply line included in the interface 361. Further, the main power supply 801 may be configured by using a power supply unit that transforms and stabilizes a commercial power supply. In any cases, however, power supply from the main power supply 801 to each control unit on the robot arm 201 side described above can be turned on or shut off by the control of the robot control apparatus 300. Further, in a configuration in which the main power supply 801 is supplied from the robot control apparatus 300 side in particular, power supply from the main power supply 801 is shut off when the robot arm 201 and the robot control apparatus 300 are disconnected from each other during transportation or the like. Further, in a state where power supply from the main power supply 801 is shut off, the motor 231, which is a drive source of each of the joints (J1 to J6), is obviously unable to be powered, and driving of the motor 231, that is, joint driving is unable to be performed. In terms of the above, in other words, the main power supply 801 can be considered as “drive power supply” that drives (each of) joint parts of the robot arm 201.
On the other hand, in the present embodiment, the output shaft signal recorder unit 380 is arranged to the robot arm 201 so as to be able to log (record) the state of each of the joints (J1 to J6) (the joint angle in the present embodiment) in a state where power supply from the main power supply 801 (drive power supply of the joint) is shut off. The output shaft signal recorder unit 380 has a CPU 381 and an EEPROM 382 and a RAM 384 as storage units.
The CPU 381 of the output shaft signal recorder unit 380 performs acquisition of output shaft information detected from the encoders 235 and 236 in accordance with an acquisition program 383. The EEPROM 382 forms a storage device that stores the acquisition program 383. The RAM 384 is a storage device that temporarily stores output shaft data acquired by the CPU 381.
The output shaft signal recorder unit 380 as a logging device is configured to be able to operate with a power supply device 901 even in a state where a main power supply (801) supplied to a drive source of a joint (the motor 231) is shut off. In a state where the main power supply (801) is shut off, the power supply device 901 supplies power of a battery 902, which is a powering unit, to the CPU 381, the EEPROM 382, and the RAM 384 to operate the output shaft signal recorder unit 380 as a logging device.
The output shaft signal recorder unit 380 forms a logging device that records (logs) an output value of the joint sensor (the encoders 235 and 236 in the present embodiment) in the storage device (for example, the RAM 384) in association with clock information. For example, a device such as a real time clock (RTC) is arranged in the output shaft signal recorder unit 380. Further, output information acquired from the joint sensor and the clock information of the RTC at the time of acquisition are stored in the storage device (for example, the RAM 384) in association with a particular storage format. Alternatively, a scheme in which output information is acquired from the joint sensor in synchronization with the clock of the CPU 381 and sequentially stored in the storage device (for example, the RAM 384) may be employed. In such a case, with the start time or the like of a logging process being recorded in the head of log information or the like, it is possible to determine the time of an output event of the joint sensor in a load measurement (evaluation) process or the like described later. Further, when start of logging is instructed from the robot control apparatus 300 side, the log start time may be recorded on the robot control apparatus 300 side and used in the load measurement (evaluation) process described later. As discussed above, any scheme of associating output information from the joint sensor with clock information may be employed.
Note that, in the description below, the joint sensor used for recording output may be the encoder 236 on the output shaft side of the reducer 233 (or the joint). Thus, the output of the joint sensor is considered as “output shaft signal”, and the name of the output shaft signal recorder unit 380 is used as a logging device. Further, as the storage device used for recording (logging) the output value of the joint sensor in association with clock information, not only the RAM 384 (backed up by the battery 902) but also the EEPROM 382 or the like may be used.
Note that, while a case where a computer readable storage medium is the HDD 304 or the EEPROM 352 and the programs 320 and 370 are stored in the HDD 304 or the EEPROM 352 will be described in the present embodiment, the configuration is not limited thereto. For example, the programs 320 and 370 may be stored in any storage medium as long as it is a computer readable storage medium. For example, as a storage medium used for supplying the programs 320 and 370, the storage disk 321 illustrated in
The robot control apparatus 300 has the function of the main control unit 330 and the joint control unit 340 corresponding to each of the joints J1 to J6, which are the first control unit 350, and a load processing unit 390 of the output shaft. The load processing unit 390 also has the function of acquiring log information in the storage unit 386 from the robot arm 201 side, and in this sense, the load processing unit 390 can be considered as a log acquisition device.
The main control unit 330 has a track calculation unit 331, and each joint control unit 340 has a motor control unit 341. The CPU 301 of the main control unit 330 functions as the track calculation unit 331 with the program 320.
Further, the motor control unit 341 of each of the joint control units 340 corresponds to the function of the CPU 351 and the motor drive circuit 365 operated by the program 370. Each of the joint control units 340 corresponds to the function of the CPU 351 operated by the program 370.
The control operation of the main control unit 330 will now be described. The track calculation unit 331 calculates movement (track) of the robot arm 201 based on data of a teaching point. The teaching point is set as a point in a joint space or a task space by the teaching pendant 400 operated by an operator.
Parameters representing flexibility of the robot arm 201 are defined as joint angles, and the joint angle of the joints J1 to J6 of the robot arm 201 are denoted as θ1 to θ6, respectively. The configuration of the robot arm 201 is denoted as (θ1, θ2, θ3, θ4, θ5, θ6) and can be considered as a single point in the joint space. In such a way, when the parameter representing flexibility of the robot arm 201 (for example, a joint angle or an expansion length) is denoted as a value on the coordinate axis, the configuration of the robot arm 201 can be expressed as a point in the joint space. In this way, the joint space is a space whose coordinate axis defines the joint angle of the robot arm 201.
The track calculation unit 331 generates a path of the robot arm 201 that connects a plurality of set teaching points by using a predetermined interpolation method (for example, linear interpolation, arc interpolation, joint interpolation, or the like). The track calculation unit 331 then generates a track of the robot arm 201 from the generated path of the robot arm 201.
The path of the robot arm 201 here is a sequence set of points in a joint space or a task space. The track of the robot arm 201 represents a path using time as a parameter and, in the present embodiment, is a set of instructed positions of the motors 231 of respective joints J1 to J6 for each time.
The track data is calculated in advance before the robot arm 201 is operated and is pre-stored (preset) in a storage unit, for example, the HDD 304. Note that, while a case where the calculation of track data is performed by the CPU 301 of the main control unit 330 is described, a configuration in which track data may be calculated by another computer (not illustrated) and pre-stored (preset) in the storage unit, for example, the HDD 304 of the main control unit 330 may be employed.
Next, each of the joint control units 340 will be described. The motor control unit 341 is input with a position instruction from the track calculation unit 331. The position instruction from the track calculation unit 331 is a position instruction calculated based on the teaching point as described above. The motor control unit 341 references the input position instruction and the value of the encoder 235 and performs position control (feedback control) of the motor 231 so that the rotation position of the motor 231 approaches the instructed position.
Further, the motor 231 of the joint drive device 230, the reducer 233, the encoders 235 and 236, and the output shaft signal recorder unit 380, which is the second control unit, are arranged in the joint of the robot arm 201. The output shaft signal recorder unit 380 is formed of a signal processing unit 385 that processes a signal of the output-side encoder 236 and a battery unit 387, which is a powering unit that actuates the storage unit 386 that stores the processed data. The output-side encoder 236, the storage unit 386, and the battery unit 387 can be integrally formed on the same circuit substrate, for example.
The output shaft signal recorder unit 380 performs only the output signal process and the recording process of the encoder 235 or 236, has no motor control function for controlling the motor 231, and thus does not require a large power and consumes power around a few watts. Thus, the battery unit 387 that powers and drives the output shaft signal recorder unit 380 may be a compact battery or capacitor and therefore can be easily implemented in the space inside the body of the robot arm 201. Note that the battery unit 387 may also serve as a backup battery of the encoder described above.
Further, by using a connector or the like of the robot arm 201 used for being connected to the robot control apparatus 300, a configuration in which an external powering unit, an external battery, or an external storage circuit corresponding to the battery unit 387 and the output shaft signal recorder unit 380 described above can be externally attached may be employed. Such a configuration provides a possibility of using a large-capacity external battery or a large-capacity external recorder circuit for recording of the joint output shaft signal, for example, which enables a long term logging (recording) operation.
As described above, in the present embodiment, the output shaft signal recorder unit 380 and the battery unit 283, which is a powering unit, are implemented inside the robot arm 201. Thus, even in a state where the main control unit 330 is not connected, the output shaft signal recorder unit 380 can acquire and record (log) the output shaft signal in the storage unit 386. That is, even when a robot arm (unit) is in a non-operating state such as transportation or installation, information on the output shaft can be recorded (logged).
Next, the load processing unit 390 of the output shaft will be described. The load processing unit 390 of the output shaft is provided in the robot control apparatus 300. The load processing unit 390 has a load calculation unit 391 that extracts output shaft information stored in the storage unit 386 described above and calculates the load applied to a joint, for example, the reducer 233 and an excessive load determination unit 392 that determines an excessive load from a load calculation result.
Next, an output shaft information acquisition (logging) mode of the robot arm 201 will be described.
In the present embodiment, in step S1 of
Further, the output shaft information recording mode can be utilized not only during an operation of transportation or installation but also in a state where the main power supply (801) is activated even though not connected to the robot control apparatus 300 via a cable or the like such as close of work hours at nighttime. That is, this mode is to power the output shaft signal recorder unit 380 (logging device) with the power of the battery unit 283 to perform logging in a state where power supply from the main power supply (801) to the drive source (the motor 231) of a joint of the robot arm 201 is shut off.
A method of transferring to the output shaft information recording mode may be transfer caused by operating the teaching pendant 400 connected to the robot control apparatus 300 or transfer caused by a timer operation or a trigger operation with a threshold. This “trigger operation with a threshold” includes, for example, a scheme of triggering the mode in response to electrical disconnection of the connection between the robot control apparatus 300 and the robot arm 201 via a level or the like of a particular signal line connecting the robot control apparatus 300 and the robot arm 201. Further, as another method, a personal computer or the like used for inspection may be connected to the connection connector of the robot control apparatus 300 to enable acquisition mode transfer or various setting to be performed.
Further, while the configuration of connecting a personal computer or the robot control apparatus 300 has been described in the present embodiment, an operating switch or a display (for example, 905 of
Next, the CPU 381 detects angle information on the output shaft via the detection circuit 363 from the output-side encoder 236 of the robot arm 201 (step S2).
Next, the CPU 381 performs signal processing to convert a pulse signal of output shaft information into storable information by using the signal processing unit 385 (step S3). Furthermore, the CPU 381 records the converted output shaft information in the storage unit 386 (step S4). At this time, output information of the output-side encoder 236 (joint sensor) and clock information are stored in the storage unit 386 in association with each other in any manner as described above.
The angle information from the output-side encoder 236 is a pulse signal, and the signal processing unit 385 performs a process to convert the total number of pulses per rotation into information (1801) of (temporal change of) the joint angle as illustrated in
Note that the motor 231 of the present embodiment is implemented with a brake (not illustrated), and since a brake works when the motor 231 is not powered, the motor angle does not change. Thus, the storage of the encoder 235 is not essential. When no brake is implemented to the motor 231, however, the motor 231 may rotate due to a load, and in such a case, recording in the encoder 235 is performed, output of both encoders or the difference thereof is recorded, and the load may be evaluated.
Subsequently, the CPU 381 of the output shaft signal recorder unit 380 (logging device) determines whether or not it is within a preset recording time period (step S5). This “recording time period” corresponds to a time length in which the output shaft information recording mode is allowed in the robot arm 201 and may be around several to several ten hours, for example. Since the “recording time period” is limited due to the storage capacity of the storage unit 386 or the capacitance of the battery unit 283, the “recording time period” of the output shaft information recording mode can be limited or set in advance in accordance with a measuring time period, for example, an expected transport period or the like in the present embodiment. Note that the value of the “recording time period” can be set from the robot control apparatus 300 side by using a suitable setup mode or the like. Further, a recording cycle or the like for joint information may be set manually or automatically in accordance with “recording time period”. Here, if it is within the “recording time period” (step S5, Yes), the CPU 381 repeats the process of steps S2 to S5 until a predetermined “recording time period” is reached. Note that a suitable timer circuit or the RTC device described above (not illustrated) can be used for measurement of the “recording time period”.
If the predetermined “recording time period” is reached in step S5 (step S5, No), the recording ends (step S6). Thereby, the output shaft information acquisition mode ends.
In the present embodiment, when the robot control apparatus 300 and the robot arm 201 are connected to each other after the robot arm 201 is caused to perform the output shaft information acquisition mode, the recorded output information of the joint sensor (the encoder 236 or 235) is caused to be extracted to the robot control apparatus 300 side. In the robot control apparatus 300, based on the read output information of the joint sensor (the encoder 236 or 235), load evaluation for respective joints (J1 to J6) can be performed.
Once the robot control apparatus 300 is connected to the robot arm 201 (step S7 of
Next, the load of each joint is calculated by the load calculation unit 391 of the load processing unit 390 of the robot control apparatus 300 by using a scheme illustrated in
By performing such load torque calculation, it is possible to acquire temporal load torque data as illustrated in
Next, the calculation result is transmitted to the excessive load determination unit 392, and if the load torque is within a preset tolerance range (1901 to 1902 in
Note that the process of load acquisition and evaluation and, alternatively or in addition, alert in steps S8 to S12 may be considered as a process of robot arm diagnosis that generates diagnosis information on a robot arm in accordance with an output data state of a joint sensor. This robot arm diagnosis may be not only to alert the excessive load but also to generate and output robot arm diagnosis information so as to specifically instruct the operator to perform any of inspection, examination, overhaul, part replacement, or the like in accordance with the level of the load torque value.
As described above, in the present embodiment, since load measurement is performed by the encoder 236 mounted on the robot arm 201, a special device such as an acceleration sensor is not required. Further, since the encoder 236 is mounted on each joint, there is an advantage of being capable of accurately acquiring a load of each joint and performing accurate (excessive) load determination (evaluation). In comparison to the scheme of using packing as disclosed in Japanese Patent No. 3366240, since output of a joint sensor of each joint of an arm can be directly logged according to the configuration of the present embodiment, the measurement accuracy can be significantly improved.
Moreover, in the present embodiment, the output shaft signal recorder unit 380 is provided inside the robot arm 201 separately from the robot control apparatus 300, and the output of a joint sensor of each joint can be logged in an arm alone. Therefore, information on the output shaft can be recorded also in a state where the robot control apparatus 300 is not connected, for example, in a non-operating state or during transportation or installation, and it is possible to reliably prove the presence or absence of an excessive load that may cause a failure.
Next, a robot system according to a second embodiment of the present invention will be described by using
In the first embodiment, the encoder 236 (joint angle detection unit) that measures the output shaft angle is used as a joint sensor that detects the state of a joint. In contrast, as illustrated in
In the present embodiment, with the torque sensor 501 being arranged on the output side of the reducer 233 of a joint, the force applied to the output shaft of the joint can be detected. For example, when the operating load on the workpiece (W2, W1) is limited or the like, the torque of each joint of the robot arm 201 can be controlled. This enables robot control such as control so that the operating load on the workpiece (W2, W1) does not exceed a tolerance value.
In the control system, as illustrated in
A logging (recording as a log) process of the output information (output shaft information) of the joint sensor (the torque sensor 501) of the robot arm 201 of the present embodiment can be performed as illustrated in
As is clear from the comparison of
As described above, in the present embodiment, since load measurement is performed by the torque sensor 501 mounted on the robot arm 201, no process such as joint angle-to-torque conversion calculation is required. Further, the torque sensor 501 mounted on a joint for robot control can be used to accurately acquire a load of the joint, which provides an advantage of being capable of performing accurate (excessive) load determination (evaluation). In comparison to the scheme of using packing as disclosed in Japanese Patent No. 3366240, since output of a joint sensor of each joint of an arm can be directly logged also in the present embodiment, the measurement accuracy can be significantly improved.
In the present embodiment, modified examples in which a part of the configuration of the first or second embodiment described above is changed will be described. In each of the embodiments described above, a joint load is acquired and evaluated based on log information acquired from the arm side by the robot control apparatus 300 after the arm is connected to the robot control apparatus 300 after a logging operation (an output shaft information acquisition mode) is performed at the robot arm 201.
However, the robot arm 201 may be configured to alone analyze the logged information to detect an excessive load state and perform an alert process, for example. To this end, the display 905 of
Further, to perform acquisition and evaluation of a joint load on (only) the robot arm 201 side, the acquisition and evaluation process of the joint load in steps S7 to S11 of
The output shaft signal record mode (logging) can be performed in a similar manner to the above as illustrated in
The excessive load alert may be to turn on or blink an alert color (for example, red or the like) by using the display 905 (
As discussed above, the robot arm 201 is configured to alone analyze logged information to detect an excessive load state and perform an alert process, for example. Thereby, in a state where the robot arm 201 is not connected to the robot control apparatus 300, for example, during transportation or the like, it is possible to detect an excessive load state of a joint and perform an alert process without the robot control apparatus 300.
Further, the configuration illustrated in the first and second embodiments can be utilized to record (log) joint information even in a state where the robot arm 201 is physically connected to the robot control apparatus 300. For example, joint information can be recorded (logged) in a period in which a main power supply (801) that powers a drive source (the motor 231) of joints (J1 to J6) is shut off, such as in close of work hours at nighttime after the robot system 100 is installed. The output shaft signal recorder unit 380 can perform control so as to start an output shaft signal record mode (logging) at the time when the main power supply is turned off based on voltage detection of the main power supply (801 in
Further, the output shaft signal recorder unit 380 may be configured to log output information of both the encoder 235 or 236 and the torque sensor 501 illustrated in the first and second embodiments, respectively. In such a case, by combining the output information of the encoder and the output information of the torque sensor, it is possible to perform more various load analysis (acquisition), load evaluation, or diagnosis processing.
According to the configuration described above, a joint sensor that detects a state of a joint is provided to a robot arm, and output information from the joint sensor can be logged (recorded as a log) by being powered by a powering unit even in a state where a main power supply is shut off. Thus, without connection to the robot control apparatus that is a main controller, a robot arm can alone log information on a state of the joint of the arm thereof. It is therefore possible to record information on an output shaft during a non-operating period such as transportation or installation and reliably prove the presence or absence of an excessive load which may cause a failure.
Embodiment(s) of the present invention can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as a ‘non-transitory computer-readable storage medium’) to perform the functions of one or more of the above-described embodiment(s) and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiment(s), and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s) and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more processors (e.g., central processing unit (CPU), micro processing unit (MPU)) and may include a network of separate computers or separate processors to read out and execute the computer executable instructions. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™), a flash memory device, a memory card, and the like.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
Number | Date | Country | Kind |
---|---|---|---|
2016-190275 | Sep 2016 | JP | national |
This application is a Continuation of International Patent Application No. PCT/JP2017/030683, filed Aug. 28, 2017, which claims the benefit of Japanese Patent Application No. 2016-190275, filed Sep. 28, 2016, both of which are hereby incorporated by reference herein in their entirety.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2017/030683 | Aug 2017 | US |
Child | 16283538 | US |