WO1998024011A1 - Dispositif de commande de robot ayant une fonction de simulation de route des operations - Google Patents

Dispositif de commande de robot ayant une fonction de simulation de route des operations Download PDF

Info

Publication number
WO1998024011A1
WO1998024011A1 PCT/JP1997/004319 JP9704319W WO9824011A1 WO 1998024011 A1 WO1998024011 A1 WO 1998024011A1 JP 9704319 W JP9704319 W JP 9704319W WO 9824011 A1 WO9824011 A1 WO 9824011A1
Authority
WO
WIPO (PCT)
Prior art keywords
path
robot
operation path
control device
program
Prior art date
Application number
PCT/JP1997/004319
Other languages
English (en)
French (fr)
Inventor
Atsushi Watanabe
Ryuichi Hara
Kazunori Ban
Original Assignee
Fanuc Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Ltd filed Critical Fanuc Ltd
Priority to US09/117,140 priority Critical patent/US6463358B1/en
Priority to JP52452198A priority patent/JP4091124B2/ja
Priority to EP97913449A priority patent/EP0889383B1/en
Priority to DE69739070T priority patent/DE69739070D1/de
Publication of WO1998024011A1 publication Critical patent/WO1998024011A1/ja

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • 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/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/427Teaching successive positions by tracking the position of a joystick or handle to control the positioning servo of the tool head, master-slave control
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36419Compare modified, corrected path with stored reference, difference too large alarm
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40311Real time simulation
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40523Path motion planning, path in space followed by tip of robot

Definitions

  • An object of the present invention is to prevent a failure caused by erroneous teaching of a mouth robot, which may occur when constructing an automation system using an industrial robot, and to secure a safe working environment. Operation path simulation technology
  • the method of confirming the operation on the offline system of (2) does not require the actual operation of the robot, so the safety of the confirmation work itself is ensured.
  • the model or arrangement of the node or peripheral device is changed after the operation program whose operation has been confirmed offline has been downloaded to the actual device, the operation will continue. The program and ram will be corrected, and eventually it will be necessary to confirm by (I) low-speed operation.
  • One object of the present invention is to eliminate the use of an off-line simulation system, and to perform each operation path teaching correction. It is possible to simulate the corrected motion path without repeating the low-speed regeneration operation of the actual machine, and to provide useful information for finding an error in the path teaching. It is. Another purpose is that even if the reproduction operation of the actual machine is started or attempted to be started after the operation path teaching is corrected, the contents of the correction are incorrect. When the possibility of the accident is discovered, the operation of the robot is stopped so that an accident can be avoided. This increases the safety and efficiency of teaching work
  • the present invention provides a normal function including an operation program storage unit, an operation program reproduction unit, and an actual operation unit for causing a robot to perform an actual operation at the time of operation program reproduction.
  • the robot control device has an operation path simulation function.
  • the operation path simulation function of the robot control device of the present invention is used when the operation program stored in the operation program storage means is reproduced. It is provided with path storage means for storing the operation path described by the program and path comparison means for comparing the operation path described by the old and new operation programs.
  • the operation / non-operation of these path storage means, path comparison means, and actual operation means can be selectively designated according to the embodiment.
  • the robot When playing back the operation program, the robot may be left in a non-operation state, or the robot may be operated. O In addition, it is possible to selectively combine their activation and non-activation so that BX Ah can be performed. Good.
  • the operation path comparison means employed in the present invention uses the first operation path stored in the path storage means as a reference operation path, and is different from an operation program that describes the reference operation path.
  • the operation path described by the second operation program is compared with the reference operation path. Then, the difference existing between the two motion paths is evaluated with respect to the position of the robot (typically, the tip of the tool) or both the position and the posture, and the evaluation result is output. .
  • the operation path is stored by the path storage means in a form including the interpolation point data, and when the path comparison means compares the difference between the reproduction operation path and the reference operation path, the path comparison means determines the interpolation points of both paths.
  • the evaluation result output by the path comparing means is automatically displayed on a display of a teaching operation panel or the like, and the evaluation result is displayed on a reproduction operation path. Outputs a predetermined message when it indicates that there is a difference between the reference operation path and the reference operation path that exceeds the reference (for example, the output of the reference covering is displayed as a z-on display). , Sound alarm activation signal output, etc.).
  • FIG. 1 is a main block diagram showing a hardware configuration of a robot control device.
  • FIG. 2 is a flowchart showing an outline of the processing in the first embodiment of the present invention.
  • FIG. 3 is a flowchart showing an outline of a comparison process performed in the first embodiment or the third embodiment of the present invention.
  • FIG. 4 is a flowchart showing the outline of the processing in the second embodiment of the present invention.
  • FIG. 5 is a flowchart showing an outline of a comparison process executed in the second embodiment of the present invention.
  • FIG. 6 is a flowchart showing an outline of the processing in the third embodiment of the present invention.
  • the ⁇ -bottle control device of the present invention is a software control that executes a process described later on a robot control device having a normal hardware configuration. It can be embodied by equipping it with a door.
  • Figure 1 shows such a robot controller.
  • the general hardware configuration of the device is shown in the block diagram of the main part.
  • the bus 107 has a main CPU 101, RAM, ROM, non-volatile memory (such as EEPROM) memory 102, and an interface for teaching operation panel. , An input / output interface for external devices 106 and a servo control unit 105 are connected in parallel.
  • the teaching operation panel 104 connected to the teaching operation panel interface 103 has a normal display function, and the operator operates the teaching operation panel 1 Through the manual operation of 04, the robot operation program was taught, in addition to creating, modifying, registering, or setting various parameters. Executes the regeneration operation of the operation program and the jog sending.
  • the display is also used to display simulation results (described below).
  • the system program that supports the basic functions of the robot and the robot controller is stored in the ROM of the memory 102.
  • the robot operation program and related setting data taught according to the application are stored in the non-volatile memory 102 of the memory 102. Be done.
  • the RAM of the memory 102 is used as a storage area for temporary storage of data in various types of arithmetic processing performed by the CPU 101.
  • the servo controller 105 has servo controllers #l to #n (n: the total number of robot axes), and performs arithmetic processing for robot control (trajectory planning and trajectory planning). (Interpolation, inverse conversion, etc.), and receives the movement command created by The servo motors that make up the actuators of the mechanism are controlled via each servo amplifier. However, as described below, when executing the “movement trajectory storage—actual machine non-operation mode” according to the method of the present invention, a movement command is passed to the servo control unit 105. Rather, the servo motor of each axis of the robot does not operate.
  • Mode flag F1? 3 Set in memory 102.
  • Each of the flags F1 to F3 is a binary register set as a mode selection switch, and takes a value of "0" or "1". The operator sets the flag value “0” or “1” in advance by operating the teaching operation panel 104, and the desired operation mode is set. Can be selected.
  • FIG. 2 is a flowchart explaining the main points of the processing in the first embodiment of the present invention.
  • the above flags F1 to F3 are set (mode selection), and processing is started when the operator inputs a processing start command from the teaching operation panel 104.
  • the CPU 101 reads and interprets an operation command for one block of the operation program created in the teaching work up to that point (here, this also includes the case of an operation end instruction). (Step S1).
  • operation commands include absolute position movement commands, relative position movement commands, speed commands, positioning methods (positioning ratios) at target positions, external input / output commands, and the like.
  • the process proceeds to step S3, and the movement target point (position And posture) are calculated.
  • the data of the moving target point is calculated using the data on the coordinate system specified as the reference coordinate system. For example, if a certain work coordinate system is specified, data representing a moving target point on the work coordinate system can be obtained. In addition, in the case of each axis movement command, data expressing the movement target position by each axis value can be obtained.
  • the flag F1 is checked for a straight line, and it is determined whether or not the mode is for executing the simulation.
  • step S6 moving target position, command speed, movement type [linear movement circular movement Z, movement of each axis, etc.], acceleration / deceleration conditions, etc.).
  • a trajectory plan is made (Step S6), interpolation points on each axis are obtained (Step S7), and a movement command is created based on the result, and the servo control unit 105 of each axis is created. (Step S 8).
  • steps S7 and S8 are repeated for each interpolation cycle to complete the movement process for one block. Then, the process returns to step S1 to start processing for the next one-block operation statement.
  • step S 10 the moving target point and other operating condition data (command speed, moving type, acceleration / deceleration conditions, etc.) calculated at step S 3 are copied, and the memory 10 2 Temporarily memorize the free space. It is determined whether or not the moving target point calculated in step S3 is described by data expressed on an orthogonal coordinate system (step S, Ashiye) If so, the process proceeds directly to step S13. If no, the data is converted to data expressed on the orthogonal coordinate system by a forward conversion operation, and then (step S13). Step s1 2), proceed to step S1 3
  • step S13 the data S representing the moving target point, a specific robot coordinate system as a reference for comparing the routes (for example, a mouth-based coordinate system in advance is used). Setting) The position and orientation of the tool coordinate system are expressed above to determine whether or not to perform a review. If yes, go directly to step S15. If no, convert between coordinate systems. After being converted into data represented on the mouth-bottom coordinate system by the calculation (step S14), the process proceeds to step S15.
  • step S15 it is determined whether or not a mode for executing the simulation in the comparison mode is set.
  • step S 16 the process proceeds to step S 16, where the motion path, that is, the movement target point and the movement type (linear movement / arc movement / each axis movement) is determined.
  • a number indicating the simulation execution opportunity is assigned and stored in the memory 102. For example, if this simulation is the third simulation for an operation program with the program name "AA”, then "SIM03AA" What is it?
  • Comparison processing Is a process for comparing the current travel route with a reference route and recording the comparison result as needed. Examples of the algorithm used will be described later.
  • step S18 the process proceeds to step S18, and the data (moving target point and other operating condition data) temporarily stored in step S10 is read. Exit and go to step S5.
  • step S5 the processing of the movement of the actual robot (step S5) is performed.
  • Steps S6 to S8) or a process of simulating the arrival at the target point (step S9) is executed, and the process returns to step S1.
  • the movement of the actual robot is performed in steps S2 and S3 based on the data read out in step S18. Is repeated until the judgment output is obtained, and the result of the comparison process 17 (detailed description) is displayed on the display attached to the teaching operation panel 104 and the process is completed. (Step S19). If the result of the comparison process 17 indicates that the route is changed more than the standard, a process for generating a predetermined message such as outputting an alarm signal for operating a buzzer or the like is performed. It is preferable to perform
  • the comparison process compares the travel route simulated this time with the reference route, determines whether or not the route has a "separation" that exceeds a predetermined amount, and makes necessary determinations. Compared accordingly This is a process for recording the result.
  • one or more indices indicating the "distance" between the two routes are used.
  • Various algorithms can be adopted for calculating the index indicating the distance and evaluating the comparison result, but the first embodiment is shown in the flowchart of FIG. Processing shall be applied.
  • the reference route is usually the past and latest step S 1
  • a specific route for example, a route whose safety has been confirmed at low speed operation
  • a specific route can be specified separately using the simulation execution opportunity number described above. You may do it.
  • the process shown in the flowchart of FIG. 3 evaluates the distance between routes with respect to the position and the posture.
  • the distance between the paths is evaluated using an index d p evaluated from the viewpoint of the position of the tool tip point and an index d c evaluated from the viewpoint of the posture.
  • the main points of each step are as follows.
  • one point stored in the memory 102 for the reference route is determined according to whether the motion type of the motion is an arc movement (step C1). Or read the data of the two movement target points. If the motion type is not arc movement, but linear movement or each axis movement, the movement target point is only the end point of the block's linear movement. Since the recorded data is the data representing the position and orientation of the tool tip point at the end point of this linear movement on the robot coordinate system based on the same, this is Transformation matrix T ref (Step C 2).
  • the target point of movement is the middle point and end point of the circular movement of the block, so the position and attitude of the tool tip point at these two points are indicated.
  • the homogeneous transformation matrix is read. This is represented by T ⁇ T and T ref 2 (step C7).
  • the data obtained in step S14 for this simulated path is converted to T (for linear movement or each axis movement) or T1, T2 ( In the case of arc movement, it is represented by).
  • each matrix is composed of a sub-matrix R representing rotation (3 rows X 3 columns) and a vector representing translation (1 rows 3 columns).
  • the submatrix R is represented by the following equation: n (1 row x 3 columns), Orientation vector o (1 row x 3 columns), and ap-a (1 row) X 3 column) and expressed as the following equations (1) to (6). In the following description, this notation is quoted.
  • step C3 or C8 the indices d, d1, and d2 representing the distance between the tool tip points with respect to the movement target points of both paths are expressed by the following equations (7) to (9). calculate .
  • step C4 or C9 the tool tip
  • the point-to-point distance indexes d, d1, and d2 are compared with the reference value dst, and the distance determination index Ad is obtained by the following equation (10) or (11), and the sign and the absolute value are recorded. . If the sign is +, it means that the distance between the tool tip points exceeds the criterion, and if it is 1 or 0, it means that the distance between the tool tip points is less than the criterion.
  • step C5 indices f, g, h, f1,... -G2, h2 representing the attitude difference between the tool end points with respect to the movement target points of both paths. Is calculated by the following equations (12) to (20). Immediately, the difference in posture at the tool tip point is disassembled into a normal vector, an orientation vector, and an approach vector, and then compared and evaluated.
  • the symbol II II in each formula represents the norm of the vector.
  • step C6 or C11 the tool tip point attitude difference index is compared with each of the reference values fst, gst, hst, and the difference determination index ⁇ f, ⁇ g and mh are expressed by the following equations (2 1) to (2 3
  • ⁇ f f--f st • • • • (2 1)
  • G g-gst (2 2)
  • mm h h-hst (2 3)
  • mm f MAX [f 1 f 2]-f st • • (2 4)
  • ⁇ g MAX [g 1 g 2] — gst • • (2 5)
  • ⁇ h MAX [hih 2] — hst • • • (26)
  • the posture difference determination index ⁇ f, ⁇ g or ⁇ h If the sign is +, it means that the difference of the posture component exceeds the standard, and if it is 0, it means that the difference is below the standard.
  • step S17 The above is an outline of the comparison processing executed in step S17, and the data recorded in steps C4 and C9 or steps C6 and C11 are described.
  • the data is displayed at step S19 as described above.
  • at least one of the distance determination indices ⁇ (1, the attitude difference determination indices ⁇ f, ⁇ g, and Ah has a code of ten, an alarm signal is output and voice, It is preferable to issue a predetermined message such as a blinking display to call attention of the operator.
  • the recording of the operation path and the comparison of the path based on the operation path are performed for each operation instruction block of the operation program.
  • the movement is performed based only on the movement target points specified in.
  • the accuracy of the operation path record and the path comparison based on it may be reduced for a path section in which the movement form of the arc movement or each axis movement is specified. . Therefore, in the second embodiment described below, the operation route recording and the route comparison are performed. In this way, processing is performed in consideration of the position and posture of a point (interpolation point) on the path between the movement target points to improve the accuracy of the circular movement or the path section of each axis movement.
  • FIG. 4 is a flowchart for explaining the main points of the processing in the second embodiment of the present invention, which is an alternative to the flowchart of FIG. 2 in the first embodiment.
  • setting of flags F1 to F3 mode selection
  • processing is started when the operator inputs a processing start command from the teaching operation panel 104. Be done.
  • the CPU 101 reads and interprets one block of the operation instruction (including the case of the operation end instruction) of the operation program created by the teaching work up to that point (decode). ) Yes (Step HI).
  • operation instructions include absolute position movement instructions, relative position movement instructions, speed instructions, positioning methods (positioning ratios) at target positions, and external I / O instructions.
  • the read block does not indicate the end of the operation (No in step H2), proceed to step H3 and move from the given movement command to the movement target point. (Position and orientation).
  • the data of the moving target point is calculated based on the data on the coordinate system specified as the reference coordinate system.
  • the trajectory is read in step HI and interpreted according to the operating conditions (movement target position, command speed, movement type [linear movement / arc movement Z each axis movement, etc.], acceleration / deceleration conditions, etc.).
  • the operating conditions moving target position, command speed, movement type [linear movement / arc movement Z each axis movement, etc.], acceleration / deceleration conditions, etc.).
  • step H6 the value of the flag F1 is checked, and it is determined whether or not the mode is for executing the simulation.
  • the interpolation point to be processed in this step H8 is a trapping point on the movement path that is not closest to the movement completion simulated processing and that is closest to the front of the movement path.
  • the movement target point specified by the block (however, the middle point in the case of circular movement is not a target) is treated as the final interpolation point in processing.
  • step HI0 it is determined whether or not the intercepting point to be processed in step H8 is the final interpolation point, that is, the movement target point. If yes, the process returns to step HI to start processing for the next one-block operation statement. If no, the process returns to step H5 to find the next interpolation point. Thereafter, the processing of steps H5 to H8 and HI0 is repeated until the Jesus is output at step HI0.
  • processing H 9 increment of movement command / output to servo
  • processing H 9 increment of movement command / output to servo
  • This processing is not particularly different from the processing for normal regeneration operation. Actual operation
  • the processing returns to step HI and processing for the next one-block operation command is started.
  • step HI1 the movement target point and interpolation point calculated in step H3H5 and other operation condition data (command speed, movement type, acceleration / deceleration conditions, etc.) are duplicated, and Temporarily store in the free area of memory 102.
  • step S3 it is determined whether or not the movement target point and the interpolation point calculated in steps H3 and H5 are described by data expressed on a rectangular coordinate system. If the answer is yes, the process directly proceeds to step HI4. If the answer is no, the data is converted to data expressed on the orthogonal coordinate system by a forward conversion operation. (Step H 13), and go to Step H 14
  • step H14 the data representing the moving target point and the interpolated point expresses the position and orientation on a specific Lohot coordinate system used as a reference for comparing the routes! Judge whether or not to go. If yes, go directly to step H16. If no, express on Lohot coordinate system by conversion operation between coordinate systems. After the data is converted into the input data (step H15), the process proceeds to step H16.
  • step H18 the process proceeds to step H18 to perform comparison processing.
  • the comparison process is a process for comparing the current travel route with the reference route and recording the comparison result as necessary, as in the case of the first embodiment. There are some players S in the point of doing.
  • the comparison process described later is completed for an example of an algorithm, the process proceeds to step H19, and the data temporarily stored in step H11 (1 ⁇ 1) (movement ⁇ ) , O Interpolation point and other operating condition data) ⁇ Read and proceed to step H7.
  • step H7 and below, depending on the value of the flag F2 ("0," or "1"), the processing for simulating the arrival at the target point (step S7) is performed.
  • Step H8 ⁇ H10 ⁇ H5 ⁇ H6 ⁇ H7) or processing of the movement of the actual machine (Step H9 ⁇ H10 ⁇ H5 ⁇ H6 ⁇ H After step 7), the process returns to step H11.However, if the Jesus is output at step H10 (processing for one block is completed), step H11 is executed. Return to H1.
  • step H2 Is displayed on the display attached to the teaching pendant 104, and the process ends (step H20).
  • step HI8 if the result of the comparison process (step HI 8) indicates that the route is changed beyond the standard, an alarm signal is output to activate the buzzer. For example, it is preferable to perform processing for issuing a message.
  • step H18 a comparison process (step H18) performed in the second embodiment will be described.
  • the comparison process performed in the second embodiment is performed such that each time the execution opportunity of step HI8 arrives once, one of the interpolation points of the movement route simulated this time and the corresponding reference route are used.
  • This is a process for comparing the interpolation points of the two, determining whether there is a “separation” between the two points beyond a certain amount, and recording the comparison result as necessary.
  • the index shown in the flowchart of FIG. 5 is used by using the index of "distance" according to the first embodiment. Note that the movement target point (excluding the middle point in the case of circular movement) shall be treated as the final interpolation point.
  • the reference route is usually a route recorded in the past and the latest actual operation opportunity.
  • a specific route for example, a route for which safety was confirmed during low-speed operation is separately specified. ) May be specified using the above-mentioned simulation execution opportunity number.
  • the process shown in the flowchart of FIG. 5 evaluates the position and orientation of a set of interpolation points corresponding to the distance between routes.
  • the distance is the same as in the first embodiment. It is evaluated using the index dp evaluated from the viewpoint of the position of the rule tip point and the index dc evaluated from the viewpoint of the posture.
  • the main points of each step are as follows.
  • the data (homogeneous transformation matrix) T representing the position and orientation of the tip point of the rule at the i-th interpolation point of the reference path on the reference robot coordinate system Read ref (i)
  • the matrix T ref (i) and the matrix T (i) representing the position and orientation of the tool tip point at the i-th interpolation point of the current path are In the following description represented by the following equations (27) and (28), this notation will be cited.
  • step K3 an index d (i) representing the distance between the tool tip points with respect to the i-th interpolation point of both paths is calculated by the following equation (29).
  • d (i) I p (i)-pref (i) I (29)
  • the distance index d (i) between the tool tip points is set to a reference value d st.
  • the distance determination index d (i) is obtained by the following equation (30), and the sign and the absolute value thereof are recorded. If the sign is +, it means that the distance between the tool tip points exceeds the standard. If it is 1 or 0, it means that the distance between the tool tip points is less than the standard.
  • step K5 the indices f), g (i), h (i) representing the attitude difference of the tool tip point with respect to the i-th interpolation point of both paths are calculated by the following equations. It is calculated by (31) to (33). That is, the attitude difference of the tool tip point is decomposed into a normal vector, an orientation vector, and an approach vector, and compared and evaluated.
  • step K 6 these tool tip point posture difference indices are used as reference values f st, g st, h st, the attitude difference determination indices ⁇ f (i), ⁇ g (i), and 11 (! are obtained by the following equations (34) to (36), and the sign and absolute value thereof are recorded. .
  • a h (i) h (i)-h st (36)
  • the above is an outline of the comparison processing executed in step HI 8, and the comparison is performed in step K 4 or
  • the data recorded in K6 is displayed in step H20.
  • the display data becomes enormous, so that the data which has been appropriately sorted, processed, etc. may be displayed. I like it.
  • the maximum value of the distance difference determination index d (i) and the maximum values of the posture difference determination indexes Af (i), Ag (i), Ah (i) are displayed. Can be considered.
  • an alarm signal is output and sound and flashing display are not performed. It is similar to the case of the first embodiment that it is preferable to issue a predetermined message to call the operator's attention.
  • the robot controllers of the first embodiment and the second embodiment operate in the following six modes according to the setting of the mode flags F1 to F3. It turns out that operation is possible.
  • the remaining modes are also useful in the first and second embodiments. For example, if the operation program whose safety has been confirmed is reproduced in the mode of (4), and then the teaching path is corrected and then reproduced in the mode of (5), the step S Using a step H20 (message of comparison result display / alarm, etc.), a certain relay can quickly and easily confirm the presence or absence of a large route change without actual operation.
  • the process is started under the condition that the operation is performed, the actual operation can be stopped when the comparison result between the operation route and the reference route indicates that there is a possibility of erroneous teaching.
  • the robot can be stopped after moving the ⁇ -bottom to a position where there is a possibility of erroneous teaching, and subsequent correction teaching can be performed. It becomes easier.
  • Flag F4 is set in memory 102. This flag F4 is a binary register that is set to invalidate the production operation as necessary, and corrects "0" or "1" according to the following definition. Take.
  • the above-mentioned flags F1 to F3 are set (mode selection), and the operator inputs a processing start command from the teaching operation panel 104. Processing is started at and. CPU 101 clears flag F4 to "0". After that (Step Gl), the operation command for one block of the operation program created in the teaching work up to that point (including the case of the operation end instruction in this case) Is read and interpreted (decoded) (step G2).
  • step G4 As long as the read block does not indicate the end of the operation (No in step G3), go to step G4 and move from the given move command to the move target point. (Position and attitude) are calculated.
  • the data of the moving target point is calculated based on the data on the coordinate system specified as the reference coordinate system.
  • step G5 the value of the flag F1 is checked, and it is determined whether or not the mode is for executing the simulation.
  • step G1 moving target position, command speed, movement type C linear movement Z arc movement Z each axis movement, etc.), acceleration / deceleration conditions, etc.
  • step G8 moving target position, command speed, movement type C linear movement Z arc movement Z each axis movement, etc.
  • acceleration / deceleration conditions, etc. A trajectory plan is made accordingly (step G8), an interpolation point on each axis is obtained (step G9), and a movement command is created based on the interpolation point, and the servo controller 10 of each axis is created.
  • Step G10 Transfer to 5 (Step G10)
  • Steps G9 and G10 are repeated at each interpolation cycle, and the steps are omitted after completing the movement processing for one block.
  • step G12 the moving target point and other operating condition data (command speed, moving type, acceleration / deceleration conditions, etc.) calculated at step G4 are duplicated and stored in memory. Temporarily store in the free space of 102.
  • step G13 it is determined whether or not the moving target point calculated in step G4 is described by data expressed on an orthogonal coordinate system. If yes, go directly to step G15.If no, convert to data represented on a rectangular coordinate system by forward transformation. ( Step G14) Proceed to step G15.
  • step G15 the data representing the movement target point is stored in a specific robot coordinate system (for example, a preset boat coordinate system is set in advance) on which a route comparison is performed. It is determined whether or not the position and orientation of the Nore coordinate system are represented.If yes, the process directly proceeds to Step G17.If no, the conversion operation between the coordinate systems is performed. Thus, the data is converted into the data set on the robot coordinate system (step G16), and the process proceeds to step G7.
  • a specific robot coordinate system for example, a preset boat coordinate system is set in advance
  • the comparison process is a process for comparing the current travel route with the reference route and, if necessary, recording the comparison in Sci.
  • the error rhythm used in the first embodiment (see FIG. 3) n that but does not return Ri-click the the details of available
  • the flag F4 is inverted to 1 in order to invalidate the actual operation mode (step G21).
  • step G22 the data (moving target point and other operating condition data) temporarily stored in step S12 is read, and the process proceeds to step S6.
  • step G 11 the process of mimicking the arrival at the target point (step G 11 ) And return to step G2 (no actual operation).
  • step G7 is performed only when the value of the flag F4 is "0". Then, proceed to step G8 or lower, and execute the process of moving the actual robot.
  • step G 19 the result of the comparison process (step G 19) is transmitted to the teaching operation panel 1.
  • step G 19 the result of the comparison process.
  • the reason that the flag F4 is inverted to the force S "1" is that the steps G19 and G20 are the paths to be taken to actual operation in steps G19 and G20. This means that a difference between the reference driving route and the regenerative driving route has been found that exceeds the standard, and the actual operation is continued (if it is the first route, start). Is This is because there is a possibility of causing a risk due to wrong teaching. In other words, by using the output representing the result of the comparison process included in the simulation, the danger caused by erroneous teaching can be avoided.
  • the regeneration operation is performed without using the off-line simulation system and without the actual operation of the robot body.
  • the actual operation is performed while comparing the reproduction path with the reference path, and when a possibility of danger due to erroneous teaching is found, the actual operation is performed. You can disable the operation mode and stop the robot. Therefore, the safety and efficiency of the teaching work are improved.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Description

明 細 書
動作経路シ ミ ュ レ ーシ ョ ン機能を有する ロ ボ ッ ト 制御装 技 休了 分 野
本発明は 、 産業用 ロ ボ ッ ト を用いて 自 動化シ ス テ ム を 構築する に際し て生じ得る 口 ボ ッ 卜 の誤教示によ る 障害 を回避し 、 安全な作業環境を確保する ための動作経路シ ミ ュ レ 一 シ ョ ン技術に関する
背 技 術
ロ ボ ッ ト に対し て必要な動作の教示を行なっ た場合 、 教示が正し く 行なわれたか否か 、 就ず く 意図せざ る経路 移動を伴 う よ う な教示が されていないか否かを確認する こ と は 、 口 ボ ッ ト 作業 自 体の適正化のみな らず 、 人身事 故や周辺機器と の干渉事故を防止する とい う 観点か ら 見 ても 極めて重要な事柄であ る 。 こ の よ う な観点で教示動 作の確認を行な う 手法 と し ては 、 従来 よ り 次の 2 つの手 法が知 られてレヽ る 。 .
( I ) 低いオーバ ラ イ ド値の指定な ど によ り 非常に低 い速度で動作する 条件を付けた上で 、 教示さ れたプロ グ ラ ム の再生運転を行い 、 目 視によ っ て動作の安全を確認 する 。
( I I ) ォフ ラ イ ン で教示 と 動作確認を行な う シ ス テ ム を利用 し 、 動作の安全をオ フ ラ イ ン シ ス テ ム上で十分確 認 し て力 ら 、 実際に使用する 口 ポ ッ ト コ ン ト ロ ーラ に動 作プロ グラ ム をダ ウ ン ロ ー ドする 。 しかし 、 これらの手法はそれぞれ問題点を含んでい る 先ず上記の ( I ) の方法は 、 不測の事故を確実に避け る ため に極端な低速動作 と オペレータ の細心の注意が要求 さ れる ため 、 作業効率が非常に悪 く オペレータ にか る 負担も 大き い 。 一般に 、 希望通 り の動作の教示を完了す る までには何回か の修正作業を要する のが常であ る カゝ ら その度毎に低速運転によ る 動作確認を行なえば 、 教示作 業全体を通 し て の消費時間は膨大なも の と な る 。 また 、 ー且教示を完了 し た後に 、 使用するハ ン ドゃ周辺機器の 機種変更ゃ配置変更な ど によ つ て動作プ口 グ ラ ムが修正 される こ と ち 多 く 、 それに伴 う 動作確認作業にも 多 く の 時間を費やすこ と にな る 。
一方 ) のオフ ラ イ ンシ ス テ ム 上で動作確認を行 な う 方法は 、 ロ ホ ッ 卜 の実際の動作を要し ないので確認 作業 自 体の安全性は確保さ れる が 、 動作確認の信頼性を 高め よ う とする と 、 ォフ ラ イ ン シ ス テ ム上で ロ ポ ッ ト 動 作を忠実に再現する 必要があ り 、 そのため のデータ入力 作業な どの負担が非常に大きい 。 また 、 オフ ラ イ ンで動 作確認を終えた動作プ口 グラ ムを実機にダ ウ ン ロ ー ド し た後にノヽ ン ドや周辺機器の機種や配置の変更があれば 、 やは り 動作プロ グ、ラ ムが修正さ れる こ と にな り 、 結局 ( I ) の低速動作によ る確認が必要にな る 。
発 明 の 開 示
本発明の 1 つの 目 的は 、 ォフ ラ イ ンの シ ミ ュ レ ー シ ョ ン シ ス テ ム を使用せず 、 且つ 、 動作経路教示修正の度に 実機の低速再生運転を繰 り 返 さ な く と も 、 修正後の動作 経路を シ ミ ュ レ ー ト し 、 経路教示の誤 り を発見する ため に有用 な情報の提供を 可能にする こ と であ る 。 ま た 、 も う 一つの 目 的は 、 動作経路教示修正後 に実機の再生運転 を 開始し た場合あ る い は開始し よ う と し た場合てあ っ て も 、 該修正内容に誤 り の 可能性を発見 し た時には ロ ボ ッ ト の動作を停止 さ せて事故を未然に回避出来る よ う にす る こ と であ る 。 こ れに よ り 、 教示作業の安全性 と 効率が 高め ら れる
本発明は 、 動作プ ロ グ ラ ム格納手段 、 動作プ ロ グ ラ ム 再生手段 、 動作プ ロ グ ラ ム再生時に ロ ボ ッ ト に実動作を 行なわせる 実動作手段な ど に よ る 通常機能の他に 、 動作 経路シ ミ ュ レ 一シ ョ ン機能を ロ ボ ッ ト 制御装置に持たせ た 。
本発明の ロ ボ ッ ト 制御装置の動作経路シ ミ ュ レ ーシ ョ ン機能は 、 動作プ ロ グ ラ ム格納手段に格納 さ れた動作プ 口 グ ラ ム の再生時にそ の動作プ ロ グ ラ ム が記述する 動作 経路を記憶す る 経路記憶手段 と 、 新旧動作プ ロ グ ラ ムの 記述する 動作経路を比較する 経路比較手段を備え る 。 こ れ ら 経路記憶手段 、 経路比較手段 、 実動作手段の作動 / 非作動は 、 実施の形態に応 じ て選択的 に指定 さ れ得る 。 ま た 、 動作プ ロ グラ ム の再生に際 し て 、 ロ ボ ッ 卜 を非動 作の ま ま行な え る よ う に し て も 良 く 、 ま た 、 ロ ボ ッ ト を 動作 さ せて行な え る よ う に し ても 良い o 更 に 、 それ ら の 作動 Z非作動を選択的 に組合せて BX Ah出来る よ う に し て 良 い 。
本発明で採用 さ れる 動作経路比較手段は 、 経路記憶手 段に記憶 さ れた第 1 の動作経路を参照動作経路 と し 、 参 照動作経路を記述する 動作プ ロ グ ラ ム と は別 の第 2 の動 作プ ロ グラ ム の再生時に 、 前記第 2 の動作プ ロ グラ ム が 記述する 動作経路を前記参照動作経路 と 比較する 。 そ し て 、 両動作経路間 に存在する 差異を ロ ボ ッ ト ( 典型的に はツ ール先端点 ) の位置あ る い は位置 と 姿勢の双方につ いて評価 し 、 評価結果を 出力す る 。
経路記憶手段に よ る 動作経路の記憶を補間点デー タ を 含む形態で実行 し 、 経路比較手段が再生動作経路 と 参照 動作経路の差異を比較する 際に 、 それ ら 両経路の補間点 に関す る デー タ を用い る よ う にすれば 、 再生動作経路 と 参照動作経路の差異評価の精度を 高め る こ と が出来る 。
更 に 、 好ま し い実施形態におい ては 、 経路比較手段に よ り 出力 さ れた評価結果を教示操作盤のデ ィ ス プレ イ な ど に 自 動表示 し た り 、 評価結果が再生動作経路 と 参照動 作経路の間 に基準を越え る 差異があ る こ と を示すも の で あ る 場合に所定の メ ッ セージを 出力 ( 例え ば 、 基準ォー バの ゥ オ ーニ ング表示出力 、 音声ア ラ ーム作動信号出力 な ど ) し た り する 機能が追加 さ れる 。
動作プ ロ グ ラ ム の再生に よ り ロ ボ ッ ト を実際に動作さ せた場合に 、 経路比較手段か ら 再生動作経路 と 参照動作 経路の 間 に基準を越え る 差異があ る こ と を記述する 評価 結果が 出力 さ れた と き には 、 ロ ボ ッ ト の実動作状態を無 効化し て以後の ロ ボ ッ ト の動作を禁止出来る よ う に し て も 良い 。 こ の よ う にすれば 、 再生動作経路 と 参照動作経 路の 間の差異をチェ ッ ク し なが ら ロ ボ ッ ト の実際の動作 を進行させ 、 実動作の経路が参照経路か ら大き く ははず れる よ う な場合には 、 ロ ボ ッ ト の実動作を止め させて危 険の未然の回避 と 誤教示個所の発見に資する こ と が出来 る 。
図面の簡単な説明
図 1 は 、 ロ ホ ッ ト 制御装置のハー ド ウ ェ ア構成を示す 要部プ ロ ッ ク 図 、
図 2 は 、 本発明の第 1 実施例におけ る処理の概要を示 すフ ロ ーチ ャ ー ト
図 3 は 、 本発明の第 1 実施例あ るいは第 3 実施例で実 行さ れる 比較処理の概要を示すフ ロ ーチ ャ ー ト 、
図 4 は 、 本発明の第 2 実施例におけ る 処理の概要を示 すフ 口 一チ ャ ー ト
図 5 は 、 本発明の第 2 実施例で実行さ れる 比較処理の 概要を示すフ ロ ーチ ャ ー ト 、
図 6 は 、 本発明の第 3 実施例におけ る 処理の概要を示 すフ ロ ーチ ャ ー ト であ る 。
発明を実施する ため の最良の形態 本発明の π ボ グ ト 制御装置は 、 通常のハー ド ウ ェ ア構 成を有する ロ ボ ッ ト 制御装置に 、 後述する よ う な処理を 実行する ソ フ ト ゥ エア を装備させる こ と によ っ て具体化 する こ と が出来る 。 図 1 は 、 その よ う な ロ ボ ッ ト 制御装 置の一般的なハー ド ウ ユ ア構成を要部プ ロ ッ ク 図で示 し たも のであ る 。 バス 1 0 7 に 、 メ イ ン C P U 1 0 1 、 R A M 、 R O M 、 不揮発性 メ モ リ ( E E P R O Mな ど ) 力 ら な る メ モ リ 1 0 2 、 教示操作盤用 イ ン タ ーフ ェ イ ス 1 0 3 、 外部装置用の入出力 イ ン タ ーフ ェ イ ス 1 0 6 及び サーボ制御部 1 0 5 が並列に接続さ れてい る 。
教示操作盤用 イ ン タ ーフ ェ イ ス 1 0 3 に接続さ れる 教 示操作盤 1 0 4 は通常のディ ス プレ イ 機能付の も ので 、 オペレ ー タ は 、 こ の教示操作盤 1 0 4 の マエ ユ アル操作 を通 し て 、 ロ ボ ッ ト の動作プ ロ グ ラ ムの作成 、 修正 、 登 録 、 あ る いは各種パ ラ メ ー タ の設定の他 、 教示 さ れた動 作プ ロ グ ラ ムの再生運転 、 ジ ョ グ送 り 等を実行する 。 又 、 ディ スプレ イ はシ ミ ュ レ ーシ ョ ン結果の表示 ( 後述 ) に も 使用 さ れる 。
ロ ボ ッ ト 及びロ ボ ッ ト 制御装置の基本機能を支え る シ ステ ムプ ロ グラ ム は 、 メ モ リ 1 0 2 の R O Mに格納 さ れ る 。 ま た 、 アプ リ ケーシ ョ ン に応 じ て教示 さ れる ロ ボ ッ ト の動作プ ロ グ ラ ム並びに関連設定デー タ は 、 メ モ リ 1 0 2 の不揮発性 メ モ リ 1 0 2 に格納 さ れる 。 そ し て 、 メ モ リ 1 0 2 の R A Mは 、 C P U 1 0 1 が行な う 各種演算 処理におけ る デー タ の一時記憶の記憶領域に使用 さ れる 。
サーボ制御部 1 0 5 はサーボ制御器 # l 〜 # n ( n : ロ ボ ッ ト の総軸数 ) を備え てお り 、 ロ ボ ッ ト 制御の ため の演算処理 ( 軌道計画作成 と それに基づ く 補間 、 逆変換 な ど ) を経て作成 さ れた移動指令を受け 、 ロ ボ ッ ト 各軸 機構部のァ ク チ ユ エー タ を構成する サーボモー タ を各サ ーボア ンプを介 し て制御する 。 但し 、 次に述べ る よ う に 本発明の方式に従っ て 「 動作軌跡記憶一 実機非動作モ ー ド 」 を 実行する 場合には 、 サーボ制御部 1 0 5 に移動指 令が渡 さ れる こ と はな く 、 ロ ボ ッ ト 各軸のサーボモー タ は動作し なレヽ 。
以下 、 3 つ の実施例 ( 第 1 〜第 3 実施例 ) につい て 口 ボ ッ ト 制御装置で実行 さ れる 処理を説明する 。
第 1 あ る い は第 2 の実施例で実行 さ れる 処理に関連 し て 、 経路記憶手段 、 経路比較手段及び ロ ボ ッ ト 実機の作 動ノ非作動を指定する 手段 と し て 、 下記のモ ー ド フ ラ グ F 1 〜 ? 3 カ メ モ リ 1 0 2 内 に設定 さ れる 。 各フ ラ グ F 1 〜 F 3 は 、 モー ド 選択ス ィ ッ チ と し て設定 さ れる 2 値 レ ジ ス タ で 、 いずれも " 0 " ま たは " 1 " の値を と る 。 オペ レ ー タ は 、 教示操作盤 1 0 4 の操作に よ っ て フ ラ グ の値 " 0 " ま たは " 1 " を予め設定す る こ と で 、 希望す る オペレ ー シ ョ ン モー ド を選択する こ と が出来る 。
F 1 : 本発明 に特徴的なシ ミ ュ レ ー シ ョ ン機能のオ ン ( F 1 = 1 ) /オフ ( F 1 = 0 ) を選択す る ス ィ ッ チ と し て機能す る フ ラ グ
F 2 : 実動作 ( ロ ボ ッ ト 実機動作 ) の オ ン ( F 2 = l ) Zオフ ( F 2 = 0 ) を選択する ス ィ ッ チ と し て機能す る フ ラ グ
F 3 : 比較モー ド ( 今回経路 と 参照経路 と を比較する モ ー ド ) の オ ン ( F 3 = l ) /オ フ ( F 3 = 0 ) を選択 する ス ィ ッチ と し て機能する フ ラ グ
図 2 は 、 本発明の第 1 実施例におけ る 処理の要点を説 明する フ ロ ーチャー ト であ る 。 上記フ ラ グ F 1 〜 F 3 の 設定 ( モー ド選択 ) を行い 、 オペ レー タ が教示操作盤 1 0 4 か ら処理開始指令を入力する こ と で処理が開始され る 。 C P U 1 0 1 はそれまでの教示作業で作成さ れた動 作プロ グラ ムの 1 ブロ ッ ク 分の動作命令 ( こ こ では動作 終了命令のケース も 含むも の とする ) を読み込み 、 解釈 ( デコ ー ド ) する ( ステ ッ プ S 1 ) 。
一般に 、 動作命令 ( 動作終了命令は除 く ) は 、 絶対位 置移動命令 、 相対位置移動命令 、 速度命令 、 目標位置に おけ る位置決め方法 ( 位置決め割合 ) 、 外部入出力命令 な ど を包含 し ている 。 読み込まれたプロ ッ ク が動作終了 を指示する も のでない限 り ( ステ ッ プ S 2 で ノ ー ) 、 ス テ ツ プ S 3 へ進み 、 与え られた移動命令か ら移動 目 標点 ( 位置 と 姿勢 ) を算出する 。 移動 目 標点のデータ は 、 準 拠座標系 と し て指定されている座標系上のデータで計算 さ れる 。 例えば 、 あ る ワ ーク座標系が指定されていれば 、 ワ ー ク座標系上で移動 目標点を表現するデータ が得られ る 。 また 、 各軸移動命令であれば 、 各軸値で移動 目 標位 置を表現するデータ が得られる 。 次いで 、 ス テ ッ プ S 4 でフ ラ グ F 1 のィ直をチェ ッ ク し 、 シ ミ ュ レ ー シ ョ ンを実 行する モー ドか否か判断さ れる 。
F 1 = 0 ( シ ミ ュ レ ー シ ョ ン非実行 ) であれば 、 ス テ ッ プ S 5 へ進み 、 実動作の要否をフ ラ グ F 2 の値で判別 する 。 F 2 = 0 であれば実動作不要のモー ド を意味する か ら 、 ステ ッ プ S 9 へ進み 、 そのブロ ッ ク で指定さ れた 移動 目標点への移動完了を擬制する 処理 ( 次ブ ロ ッ ク の 処理へ進むための内部処理 ) を実行する 。 次いで 、 ステ ッ プ S 1 へ戻 り 、 次の 1 プ ロ ッ ク の動作命令文に対する 処理を開始する 。
ステ ッ プ S 5 でも し F 2 = 1 であれば実動作のモー ド を意味する か ら 、 ステ ッ プ S 6 〜 S 8 で通常の再生運転 のための処理を実行する 。 即ち 、 ステ ッ プ S 1 で読み込 まれ 、 解釈さ れた動作条件 ( 移動 目 標位置 、 指令速度 、 移動形式 [ 直線移動 円弧移動 Z各軸移動な ど ] 、 加減 速条件等 ) に応じ て軌道計画を立て ( ス テ ッ プ S 6 ) 、 各軸上での補間点を求め ( ス テ ッ プ S 7 ) 、 それに基づ く 移動指令を作成し て各軸のサーボ制御部 1 0 5 へ渡す ( ス テ ッ プ S 8 ) 。
なお 、 図 2 のフ ロ ーチ ャ ー ト では省略し たが 、 ス テ ツ プ S 7 、 S 8 は 、 補間周期毎に繰 り 返され 、 1 ブ ロ ッ ク 分の移動処理を完了 し てか ら ステ ッ プ S 1 へ戻 り 、 次の 1 プ ロ ッ ク の動作命令文に対する 処理を開始する 。
シ ミ ュ レ ー シ ョ ンを実行する ため にフ ラ グ F 1 が F 1 = 1 に設定さ れてい る場合には 、 ステ ッ プ S 4 力、 ら ステ ッ プ S 1 0 へ進む 。 ス テ ッ プ S 1 0 で は 、 ス テ ッ プ S 3 で算出 された移動 目標点その他の動作条件データ ( 指令 速度 、 移動形式 、 加減速条件等 ) を複製し 、 メ モ リ 1 0 2 の空き領域に一時的に記憶する 。 ス テ ッ プ S 3 で算出 れた移動 目 標点が直交座 標系上で表現されたデ一タ で記述 さ れてい る か否かを判 断し ( ステ ツ プ S 、 あ し ィ エ ス であれば直接ス テ ッ プ S 1 3 へ進み 、 も し ノ ー であれば順変換演算によ つ て直交座標系上で表現さ れたデ一タ に変換し た上で ( ス テ ツ プ s 1 2 ) 、 ステ ツ プ S 1 3 へ進む
ステ ツ プ S 1 3 では 、 移動 目 標点を表わすデ —タ カ S 、 経路比較を行な う 基準 と される 特定の ロ ボ ッ ト 座標系 ( 例えば 、 予め 口 ッ ト ベー ス座標系を設定 ) 上でツー ル座標系の位置及び姿勢を表現し て レヽ るか否かを判断し イ エ ス であれば直接ステ ッ プ S 1 5 へ進み 、 ノ 一であれ ば座標系間の変換演算によ っ て 口 ボ ッ ト 座標系上で表現 さ れたデ一タ に変換し た後に ( ステ ツ プ S 1 4 ) 、 ス テ ッ プ S 1 5 へ進む
ス テ ツ プ S 1 5 では 、 シ ミ ュ レ ー シ ョ ン を比較モ ー ド で実行する モー ド が設定さ れてい る か否かを判断する 。
し F 3 = 0 ( 非比較モー ド ) であれば 、 ス テ ッ プ S 1 6 へ進み 、 動作経路 、 即ち移動 目 標点 と 運動形式 ( 直線 移動 /円弧移動 /各軸移動の別 ) をシ ミ ュ レ ー シ ョ ン実 行機会を表わす番号を付し て メ モ リ 1 0 2 に記憶する 。 例えば 、 今回のシ ミ ュ レ ー シ ヨ ンがプロ グラ ム名 「 A A 」 を持つ動作プロ グラ ム に対する 3 回 目 の シ ミ ュ レ一 シ ヨ ン であれば 、 「 S I M 0 3 A A 」 な ど とする 。
これに対し て 、 も し F 3 = 1 ( 比較モ ー ド ) であれば ス テ ッ プ S 1 7 へ進み 、 比較処理を実行する 。 比較処理 は 、 今回の移動経路を参照経路 と 比較 し 、 必要に応 じ て 比較結果を記録する ため の処理で 、 利用 さ れる アルゴ リ ズム の例な ど につい て は後述する 。
比較処理が完了 し た ら 、 ス テ ッ プ S 1 8 へ進み 、 ス テ ッ プ S 1 0 で一時記憶 し ておい たデー タ ( 移動 目 標点そ の他の動作条件デー タ ) を読み出 し 、 ス テ ッ プ S 5 へ進 む 。
既に述べた よ う に 、 ス テ ッ プ S 5 以下では 、 フ ラ グ F 2 の値 ( " 0 " ま たは " 1 " ) に応 じ て 、 ロ ボ ッ ト 実機 の移動の処理 ( ス テ ッ プ S 6 〜 S 8 ) ま たは 目 標点到達 の擬制の処理 ( ス テ ッ プ S 9 ) を 実行 し てス テ ッ プ S 1 へ戻る 。 ロ ボ ッ ト 実機の移動は 、 言 う ま でも な く 、 ス テ ッ プ S 1 8 で読み出 さ れたデー タ に基づい て行なわれる 以上の処理サイ ク ルを 、 ス テ ッ プ S 2 でイ エ ス の判断出 力が得 ら れる ま で繰 り 返し 、 比較処理 1 7 ( 内容詳述 ) の結果を教示操作盤 1 0 4 付属のデ ィ ス プレ イ に表示 し て処理を終了する ( ス テ ッ プ S 1 9 ) 。 なお 、 比較処理 1 7 の結果が基準以上の経路変更を意味 し てい る 場合に は 、 ブザーの作動等の ためのア ラ ーム信号を 出力する な ど所定の メ ッ セージを発する ため の処理を行な う こ と が 好ま し レヽ 。
次に 、 ス テ ッ プ S 1 7 で行なわれる 比較処理につい て 説明す る 。 比較処理は 、 今回シ ミ ュ レ ー ト し てい る 移動 経路を参照経路 と 比較 し 、 経路に所定量を越え る よ う な 「 隔た り 」 があ る か否かを判定し 、 必要に応 じ て比較結 果を記録する ための処理であ る 。 そのため に 、 両経路間 の 「 隔た り 」 を表わす 1 個または 2 個以上の指標を用い る 。 隔た り を表わす指標を算出 し 、 比較結果を評価する アルゴ リ ズム については種々 のも のが採用可能であ る が 、 第 1 実施例では図 3 の フ ロ ーチ ャ ー ト に示し た処理によ る も の とする 。
なお 、 参照経路は通常は過去且つ最新のステ ッ プ S 1
6 の実行機会で記録さ れた経路 と さ れる が 、 別途特定の 経路 ( 例え ば低速運転で安全を確認し た経路 ) を前述し たシ ミ ユ レーシ ョ ン実行機会番号を用いて指定出来る よ う に し ても 良い 。
図 3 の フ ロ ーチ ャー ト に示し た処理は 、 経路間距離を 位置及び姿勢について評価する も のであ る 。 経路間の隔 た り は 、 ツール先端点の位置の観点か ら評価する 指標 d p と 姿勢の観点か ら評価する 指標 d c を用いて評価さ れ る 。 各ス テ ッ プの要点を記せば下記の通 り であ る 。
先ず経路比較のため に 、 当該動作の運動形式が円弧移 動であ るか否かに応じ て ( ステ ッ プ C 1 ) 、 参照経路に ついて メ モ リ 1 0 2 に記憶されてい る 1 点または 2 点の 移動 目 標点のデータ を読み出す。 運動形式が円弧移動で な く 、 直線移動あ る いは各軸移動であ る 場合には 、 移動 目 標点はそのブ ロ ッ ク の直線移動の終点のみである 。 記 録さ れてい る のは 、 こ の直線移動の終点におけ る ツール 先端点の位置及び姿勢を基準 と さ れる ロ ボ ッ ト 座標系上 で表わすデータ であ る か ら 、 これを同次変換行列 T r e f で表わすこ と にする ( ステ ッ プ C 2 ) 。
運動形式が円弧移動である場合には 、 移動 目標点はそ のプロ ッ ク の円弧移動の中間点 と 終点であ る か ら 、 これ ら 2 点におけ る ツール先端点の位置及び姿勢を表わす同 次変換行列が読み出 さ れる 。 これを T r e Π , T r e f 2で表 わすこ と にする ( ステ ッ プ C 7 ) 。 同様に 、 今回の シ ミ ュ レ ー ト 経路につ い て ス テ ッ プ S 1 4 で求め たデータ を T ( 直線移動ま たは各軸移動の場合 ) あ るいは T 1 , T 2 ( 円弧移動の場合 ) で表わす 。
当分野で良 く 知 られている よ う に 、 各行列は回転を表 わす部分行列 R ( 3 行 X 3 列 ) と 並進を表わすベ ク 卜 ル ( 1 行 3 列 ) で構成され 、 更に 、 部分行列 Rは ノ 一 マルベ ク ト ル n ( 1 行 X 3 列 ) 、 オ リ ェ ン テ一シ ヨ ンべ タ ト ル o ( 1 行 X 3 列 ) 、 ァプロ —チベタ ト ル a ( 1 行 X 3 列 ) を用いて下記式 ( 1 ) 〜 ( 6 ) の よ う に表記出 来る 。 以下の説明ではこ の表記を 引用する 。
T = (1)
Figure imgf000015_0002
77 (2)
T2 = (3)
Figure imgf000015_0003
Figure imgf000015_0001
Trefl = (5)
Figure imgf000016_0001
Tref2 = (6)
Figure imgf000016_0002
ス テ ッ プ C 3 または C 8 では 、 両経路の移動 目標点に 関 し てツール先端点間の距離を表わす指標 d , d 1 , d 2 を次の各式 ( 7 ) 〜 ( 9 ) で算出する 。
直線移動あ る いは各軸移動の場合 ( ス テ ッ プ C 3 ) ; d = | p - p ref | • · · ( 7 ) 円弧移動の場合 ( ス テ ッ プ C 8 ) ;
d 1 = | p i — p re f 1 | • · · ( 8 ) d 2 = | p 2 - p re f 2 I • · · ( 9 ) 更にステ ッ プ C 4 または C 9 では 、 ツ ール先端点間距 離指標 d , d 1 , d 2 を基準値 d st と 比較 し 、 距離判定 指標 A d を次式 ( 1 0 ) あるいは ( 1 1 ) で求めて 、 そ の符号並びに絶対値を記録する 。 符号が +であればツー ル先端点間距離が基準を越えてい る こ と を意味し 、 一 ま たは 0 であればツール先端点間距離基準以下である こ と を意味し ている 。
直線移動あ るいは各軸移動の場合 ( ステ ッ プ C 4 ) ;
Δ d = d — d s t • • • ( 1 0 ) 円弧移動の場合 ( ス テ ッ プ C 9 ) ;
厶 d = M A X [ d l , d 2 ] _ - d st · · · ( 1 1 ) 次に 、 姿勢変化の評価を行な う 。 先ずス テ ッ プ C 5 ま たは C 1 0 では 、 両経路の移動 目 標点に関し てツール先 端点の姿勢差を表わす指標 f , g , h , f 1 · . · - g 2 , h 2 を次の各式 ( 1 2 ) 〜 ( 2 0 ) で算出する 。 即 ち 、 ツール先端点の姿勢差を ノ ーマルベク ト ル 、 オ リ エ ンテーシ ヨ ンべク ト ル 、 アプ ロ ーチべク ト ルに分解し て 比較及び評価する 。 なお 、 各式におけ る記号 II II はべク ト ルの ノ ルム を表わ し てい る 。
直線移動あ る いは各軸移動の場合 ( ス テ ッ プ C 5 ) ; f = II n — n ref II • · · ( 1— 2 ) g = II o — o ref II • · · ( 1 3 ) h = II a — a ref II • * · f 4 ) 円弧移動の場合 ( ステ ッ プ C 1 0 )
f 1 = II n 1 ― n r e f 1 || • · · ( 1 5 ) f 2 = II n 2 - n re f 2 II • · · ( 1 6 ) 1 = II o 1 ― o r e f 1 II • · · ( 1 7 ) g 2 = II o 2 一 o re f 2 II • · · ( 1 8 ) h 1 = II a 1 一 a r e f 1 || • · · ( 1 9 ) h 2 = II a 2 ― a re f 2 || • · · ( 2 0 ) 更にステ ツ プ C 6 または C 1 1 では れら ツール先端 点姿勢差指標を各基準値 f st , g s t , h stと 比較し 勢差判定指標 Δ f , Δ g , 厶 h を次式 ( 2 1 ) 〜 ( 2 3
) あ るレヽは ( 2 4 ) 〜 ( 2 6 ) で求め 、 その符号並びに 絶対値を記録する 。
Δ f = f - - f st • • • ( 2 1 ) 厶 g = g - g s t ( 2 2 ) 厶 h = h - h s t ( 2 3 ) 厶 f = M A X [ f 1 f 2 ] - f st • • ( 2 4 ) Δ g = M A X [ g 1 g 2 ] — g s t • • ( 2 5 ) Δ h = M A X [ h i h 2 ] — h s t • • ( 2 6 ) 距離判定指標 A d の場合 と 同様に 、 姿勢差判定指標 Δ f , Δ gあ る い は Δ hの符号が + であれば 、 その 姿勢成分 につレ、 て差異が基準を越え てい る こ と を意味し 、 一 ま た は 0 であれば基準以下であ る こ と を意味 し てい る 。
以上がス テ ッ プ S 1 7 で実行 さ れる 比較処理の概要で あ り 、 ス テ ツ プ C 4 , C 9 あ る い はス テ ッ プ C 6 , C 1 1 で記録 さ れたデー タ は 、 上述 し た通 り 、 ス テ ッ プ S 1 9 で表示 さ れる 。 ま た 、 距離判定指標 Δ (1、 姿勢差判定 指標 Δ f , Δ g , A hの 内の少な く と も 1 つの符号が 十 で あ る 時には 、 ア ラ ーム信号を 出力 し て音声 、 点滅表示を 行な う な ど所定の メ ッ セージを発 し てオペレ ー タ の注意 を喚起する こ と が好ま し レヽ 。
以上が第 1 実施例 におけ る 処理の概要であ る が 、 こ の 第 1 実施例では動作経路の記録 と それに基づ く 経路比較 が 、 動作プ ロ グラ ム の動作命令プ ロ ッ ク 毎に指定さ れて い る 移動 目 標点のみに基づい て行なわれてい る 。 その た め 、 円 弧移動あ る い は各軸移動の運動形式が指定さ れて い る 経路区間 について 、 動作経路記録 と それに基づ く 経 路比較の精度が低 く な る おそれがあ る 。 そ こ で 、 次に説 明する 第 2 実施例では 、 動作経路記録 と 経路比較に際 し て移動 目 標点間の経路途上の点 ( 補間点 ) の位置及び姿 勢を考慮し た処理を実行し 、 円弧移動あ るいは各軸移動 の経路区間につい ての精度向上を図っ ている 。
図 4 は 、 本発明の第 2 実施例におけ る 処理の要点を説 明する フ ロ ーチ ャー ト で 、 第 1 実施例における 図 2 の フ 口 —チ ャー ト に代わ る も のである 。 第 1 実施例の場合 と 同様に 、 フ ラ グ F 1 〜 F 3 の設定 ( モー ド 選択 ) を行い 、 オペレータ が教示操作盤 1 0 4 か ら処理開始指令を入力 する こ と で処理が開始さ れる 。 C P U 1 0 1 はそれまで の教示作業で作成さ れた動作プ ロ グ ラ ムの 1 ブロ ッ ク 分 の動作命令 ( 動作終了命令のケース も 含む。 ) を読み込 み 、 解釈 ( デコ ー ド ) する ( ステ ッ プ H I ) 。
一般に 、 動作命令 ( 動作終了命令は除 く ) は絶対位置 移動命令 、 相対位置移動命令 、 速度命令 、 目 標位置にお け る位置決め方法 ( 位置決め割合 ) 、 外部入出力命令な ど を包含 し ている 。 読み込まれたブ ロ ッ ク が動作終了を 指示する も のでない限 り ( ス テ ッ プ H 2 で ノ ー ) 、 ス テ ッ プ H 3 へ進み 、 与え られた移動命令か ら移動 目 標点 ( 位置 と 姿勢 ) を算出する 。 第 1 実施例の場合 と 同 じ く 、 移動 目 標点のデータ は準拠座標系 と し て指定さ れてい る 座標系上のデータ で計算 さ れる 。
次いで 、 ステ ッ プ H I で読み込まれ 、 解釈さ れた動作 条件 ( 移動 目標位置 、 指令速度 、 移動形式 [ 直線移動/ 円弧移動 Z各軸移動な ど ] 、 加減速条件等 ) に応じ て軌 道計画を立て ( ス テ ッ プ H 4 ) 、 各軸上での補間点を求 め る ( ス テ ッ プ H 5 ) 。
続 く ステ ッ プ H 6 でフ ラ グ F 1 の値をチェ ッ ク し 、 シ ミ ュ レ ー シ ヨ ンを実行する モ ー ドか否かを判断する 。
F 1 - 0 ( シ ミ ュ レ ー シ ョ ン非実行 ) であれば 、 ス テ ッ プ H 7 へ進み 、 実動作の要否を フ ラ グ F 2 の値で判別 する 。 F 2 = 0 であれば実動作不要のモ ー ド を意味する か ら 、 ステ ッ プ H 8 へ進み 、 一つの補間点への移動完了 を擬制する 処理を実行する 。
なお 、 こ のステ ッ プ H 8 で処理対象 と さ れる 補間点は 、 移動完了の擬制処理が完了 し てお らず 、 且つ 、 動作経路 上最も 手前側の捕間点であ る 。 また 、 そのブロ ッ ク で指 定さ れている移動 目標点 ( 但し 、 円弧移動の場合の 中点 は対象外 ) は 、 処理上最終補間点 と し て扱 う も の とする 。
そ し て 、 次のステ ッ プ H I 0 では 、 ステ ッ プ H 8 で処 理対象 と された捕間点が最終補間点 、 即ち 、 移動 目標点 であ る か否かを判断する 。 も し イ エス であれば 、 ステ ツ プ H I へ戻 り 、 次の 1 ブロ ッ ク の動作命令文に対する 処 理を開始する 。 ノ ーであれば 、 ステ ッ プ H 5 へ戻 り 、 次 の補間点を求め る 。 以下 、 ステ ッ プ H I 0 でイ エスが出 力 さ れる まで 、 ステ ッ プ H 5 〜 H 8 及び H I 0 の処理が 繰 り 返さ れる 。
F 1 = 0 , F 2 - 1 の場合には 、 ス テ ッ プ H 8 の擬制 移動処理に代えて実動作のための処理 H 9 ( 移動指令の 作成/サーボへ出力 ) が行なわれる 。 こ の処理は通常の 再生運転時のための処理 と 特に変わ り はない 。 実動作の 場合も 、 移動 目 標点に到達し た ら ( ス テ ッ プ H I 0 でィ エス ) 、 ス テ ッ プ H I へ戻 り 次の 1 ブ ロ ッ ク の動作命令 文に対する 処理を開始する 。
シ ミ ユ レ ーシ ョ ン を実行する ため にフ ラ グ F 1 が F 1 = 1 に設定さ れてい る 場合には 、 ス テ ツ プ H 6 か ら ス テ ッ プ H I 1 へ進む 。 ステ ッ プ H I 1 では 、 ス テ ツ プ H 3 H 5 で算出 された移動 目 標点及び補間点並びに他の動作 条件データ ( 指令速度 、 移動形式 、 加減速条件等 ) を複 製し 、 メ モ リ 1 0 2 の空き領域に一時的に する 。
更に 、 ス テ ッ プ H 3 , H 5 で算出 さ れた移動 目標点及 び補間点が直交座標系上で表現さ れたデ一タで記述 さ れ てい る か否かを判断し ( ステ ッ プ H 1 ) 、 ィ ェ ス であ れば直接ス テ ッ プ H I 4 へ進み 、 ノ 一であれば順変換演 算によ っ て直交座標系上で表現されたデ一タ に変換し た 上で ( ス テ ッ プ H 1 3 ) 、 ス テ ッ プ H 1 4 へ進む
ス テ ッ プ H 1 4 では 、 移動 目標点及び補間点を表わす データ が 、 経路比較を行な う 基準 と さ れる 特定の ロ ホ ッ ト 座標系上で位置及び姿勢を表現し て!/ヽるか否かを判断 し 、 イ エス であれば直接ス テ ッ プ H 1 6 へ進み 、 ノ ーで あれば座標系間の変換演算によ っ て ロ ホ ッ ト 座標系上で 表現さ れたデータ に変換し た上で ( ス テ ツ プ H 1 5 ) 、 ス テ ッ プ H 1 6 へ進む 。
ス テ ッ プ H 1 6 では 、 シ ミ ュ レ一シ ョ ン を比較モー ド で実行する モー ド が設定されている か否かを判断する 。 も し F 3 = 0 ( 非比較モー ド ) であれば 、 ス テ ッ プ H 1 7 へ進み 、 動作経路 ( 移動 目 標点 、 補間点 、 運動形式 ) を シ ミ ユ レ 一 シ ョ ン実行機会を表わす番号を付 し て メ モ リ 1 0 2 に記憶する 。 例え ば 、 今回の シ ミ ュ レ ー シ ョ ン がプ ロ グラ ム名 「 B B 」 を持つ動作プ ロ グ ラ ム に対する 2 回 目 の シ ミ ュ レ ー シ ヨ ン であれば 、 「 S I M 0 2 B B 」 な ど と する 。
こ れに対 し て 、 あ し F 3 = 1 ( 比較モ一ド ) であれば ス テ ツ プ H 1 8 へ進み 、 較処理を行な う 。 比較処理は 、 第 1 実施例の場合 と 同様 、 今回の移動経路を 参照経路 と 比較 し 、 必要に応 じ て比較結果を記録する ため の処理で あ る が 、 経路比較を捕間点を考盧 し て行な う 点で若干の レヽ カ Sあ る 。 アルゴ リ ズムの例な ど については後述する 比較処理が完了 し た ら 、 ス テ ッ プ H 1 9 へ進み 、 ス テ ッ プ H 1 1 で一時 し 1^ し ておい たデー タ ( 移動 ίτΠ 、 o 補間点そ の他の動作条件デー タ ) ^読み出 し 、 ス テ ッ プ H 7 へ進む 。 既に述べた よ う に 、 ス テ ツ プ H 7 以下では フ ラ グ F 2 の値 ( " 0 ,, ま たは " 1 " ) に応 じ て 、 目 標 点到達の擬制の処理 ( ス テ ツ プ H 8 → H 1 0 → H 5 → H 6 → H 7 ) 、 あ る い は 口 ッ ト 実機の移動の処理 ( ス テ ッ プ H 9 → H 1 0 → H 5 → H 6 → H 7 ) を経て 、 ス テ ツ プ H 1 1 へ戻る 。 但し 、 ス テ ツ プ H 1 0 でイ エス が出力 ( 1 ブ ロ ッ ク 分処理完了 ) さ れた場合には、 ス テ ツ プ H 1 へ戻る 。
以上の処理サイ ク ルを 、 ス テ ッ プ H 2 でイ エ ス の判断 出力 が得 ら れる ま で繰 り 返 し 、 比較処理 1 8 ( 内容詳述 ) の結果を教示操作盤 1 0 4 付属のディ スプレ イ に表示 して処理を終了する ( ス テ ッ プ H 2 0 ) 。 なお 、 第 1 実 施例の場合 と 同様 、 比較処理 ( ステ ッ プ H I 8 ) の結果 が基準以上の経路変更を意味し てい る 場合には 、 ブザー の作動のため にア ラーム信号を出力する な ど 、 メ ッ セ一 ジを発する ための処理を行な う こ と が好ま しレ、 。
次に 、 第 2 実施例で行なわれる 比較処理 ( ス テ ッ プ H 1 8 ) について説明する 。 第 2 実施例で行なわれる 比較 処理は 、 ステ ッ プ H I 8 の実行機会が 1 回到来する 毎に 今回シ ミ ュ レー ト し てい る移動経路の補間点の 1 つ と 、 それに対応する 参照経路の補間点を比較し 、 両者間に所 定量を越え る よ う な 「 隔た り 」 があ る か否かを判定し 、 必要に応じ て比較結果を記録する ための処理であ る 。 こ こ では 、 第 1 実施例に準じ た 「 隔た り 」 の指標を用い 、 図 5 の フ ロ ーチ ャ ー ト に示 し たアルゴ リ ズム を利用する も の とする 。 なお 、 移動 目 標点 ( 円弧移動の場合は中点 は除外 ) は最終補間点 と し て扱 う も の とする 。
また 、 第 1 実施例の場合 と 同様 、 参照経路については 通常は過去且つ最新の実動作機会で記録さ れた経路 と さ れる が 、 別途特定の経路 ( 例えば低速運転で安全を確認 し た経路 ) を前述し たシ ミ ュ レ ーシ ョ ン実行機会番号を 用いて指定出来る よ う に し ても 良い 。
図 5 の フ ロ ーチ ャ ー ト に示し た処理は 、 経路間距離を 対応し合 う 1 組の補間点の位置及び姿勢について評価す る も のである 。 隔た り は 、 第 1 実施例の場合 と 同様 、 ッ ール先端点の位置の観点か ら評価する指標 d p と 姿勢の 観点か ら評価する 指標 d c を用いて評価さ れる 。 各ステ ッ プの要点を記せば下記の通 り であ る 。
先ず 、 ス テ ッ プ H I 8 の実行機会が到来する 毎に補間 点順序指標 i を 1 ア ッ プする ( ス テ ッ プ K 1 ) 。 なお 、 補間点順序指標 i の初期 ί直 ( 図 4 の フ ロ ーチ ャ ー ト の処 理開始時の値 ) は 0 と し 、 ステ ッ プ H I 0 でイ エス 出力 あれば、 i = 0 にク リ ア さ れる も の と する ( 図 4 の フ ロ 一チ ヤ ー ト で図示省略 ) 。
続 く ス テ ッ プ 2 で 、 参照経路の i 番 目 の補間点にお け る ッ—ル先端点の位置及び姿勢を基準ロ ボ ッ ト 座標系 上で表わすデータ ( 同次変換行列 ) T ref ( i )を読み出す 刖述し た と 同様に 、 行列 T ref ( i )並びに今回経路の i 番 目 の補間点におけ る ツール先端点の位置及び姿勢を表わ す行列 T ( i ) は 、 下記式 ( 2 7 ) , ( 2 8 ) で表 さ れる 以下の説明ではこ の表記を引用する 。
T = (27)
Figure imgf000024_0001
TreKi) = (28)
Figure imgf000024_0002
ス テ ッ プ K 3 では 、 両経路の i 番 目 の補間点に関 し て ツール先端点間の距離を表わす指標 d ( i ) を次の式 ( 2 9 ) で算出する 。 d ( i ) = I p ( i ) - p re f ( i ) I · · · ( 2 9 ) 更にス テ ッ プ K 4 では 、 ツール先端点間距離指標 d ( i ) を基準値 d stと 比較し 、 距離判定指標 d( i )を次式 ( 3 0 ) 求め 、 その符号並びに絶対値を記録する 。 符号 が + であればツール先端点間距離が基準を越えてい る こ と を意味し 、 一 または 0 であればツール先端点間距離基 準以下であ る こ と を意味している 。
厶 d( i ) = d ( i )— d st · · · ( 3 0 ) 次に 、 姿勢変化の評価を行な う 。 先ずス テ ッ プ K 5 で は 、 両経路の i 番 目 の補間点に関 し てツール先端点の姿 勢差を表わす指標 f ) , g ( i ) , h ( i ) を次の各式 ( 3 1 ) 〜 ( 3 3 ) で算出する 。 即ち 、 ツ ール先端点の 姿勢差を ノ ーマルべク ト ル 、 オ リ エ ン テー シ ョ ンべク ト ル 、 アプロ ーチベク ト ルに分解し て比較及び評価する 。
f ( i ) = II n ( i ) - n re f ( i ) II ' —— ( 3 1 ) g ( i ) - II o ( i ) - o re f ( i ) II ' —— ( 3 2 ) h ( i ) = || a ( i ) - a re f ( i ) II —— - ( 3 3 ) 更にステ ッ プ K 6 ではこれら ツール先端点姿勢差指標 を各基準値 f st, g st , h stと 比較し 、 姿勢差判定指標 Δ f ( i ) , Δ g ( i ) , 厶 11 ( ! )を次式 ( 3 4 ) 〜 ( 3 6 ) で 求め 、 その符号並びに絶対値を記録する 。 距離判定指標 △ d ( i )の場合 と 同様に 、 姿勢差判定指標 A f ( i ) , Δ g( i ) あ る いは Δ h ( i )の符号が +であれば 、 その姿勢成分につ いて差異が基準を越えてい る こ と を意味し 、 一 または 0 であれば基準以下であ る こ と を意味し ている 。 厶 f ( i ) = f ( i ) — f st · · · ( 3 4 )
A g ( i ) = g ( i ) - g st · · · ( 3 5 )
A h ( i ) = h ( i ) - h st · · · ( 3 6 ) 以上がス テ ッ プ H I 8 で実行さ れる 比較処理の概要で あ り 、 ス テ ッ プ K 4 あ る い は K 6 で記録さ れたデー タ は ス テ ッ プ H 2 0 で表示 さ れる 。 但し 、 第 2 実施例では 、 全補間点のデー タ を表示す る と 表示デー タ が膨大 と な る の で 、 適当 な選別 、 加工等を行な っ たデー タ を表示す る こ と が好ま しい 。 例え ば 、 距離差判定指標 d ( i ) の最 大値 と 、 姿勢差の判定指標 A f ( i ) , A g ( i ) , A h( i )の最 大値な ど を表示する こ と が考え ら れる 。
ま た 、 こ れ ら 距離判定指標 、 姿勢差判定指標の 内の少 な く と も 1 つ の符号が + であ る 時には 、 ア ラ ー ム信号を 出力 し て音声 、 点滅表示を行 う な ど 、 所定の メ ッ セージ を発 し てオペレ ー タ の注意を喚起する こ と が好ま し い こ と は 、 第 1 実施例の場合 と 同様であ る 。
以上の説明か ら 、 第 1 実施例 、 第 2 実施例の ロ ボ ッ ト 制御装置は 、 モー ド フ ラ グ F 1 〜 F 3 の設定に応 じ て次 の 6 つ の モ ー ド で の動作が可能な事が判 る 。
( 1 ) F 1 = 0 ; F 2 = l に設定し た場合 ( F 3 は任意 ) ; 動作経路シ ミ ュ レ ー シ ョ ン を行なわず 、 実動作を行 な う 。 即ち 、 通常の再生運転のモー ド
( 2 ) F 1 = 0 ; F 2 = 0 に設定し た場合 ( F 3 は任 意 ) ; 動作経路シ ミ ュ レ ー シ ョ ン を行なわず 、 実動作も 行なわ ないモ ー ド ( 3 ) F 1 ; F 2 = 0 ; F 3 = 0 に設定し た場 合 ; 動作経路シ ミ ユ レ一シ ョ ン を行ない 、 動作経路を記 録する が 、 実動作は行なわない
( 4 ) F 1 ; F 2 = 1 ; F 3 = 0 に設定し た場 合 ; 動作経路シ ミ ユ レ 一 シ ヨ ン と 実動作を併行実施し 、 動作経路を記録する 。
( 5 ) F 1 ; F 2 = 0 ; F 3 = 1 に設定し た場 合 ; 動作経路シ ミ ユ レ 一 シ ヨ ンを行ない 、 動作経路を参 照経路 と 比較する が 、 実動作は行なわなレヽ 。
( 6 ) F 1 ; F 2 F 3 = 1 に設定し た場 合 ; 動作経路シ ミ ユ レ一シ ヨ ン と 実動作を併行実施し 、 動作経路 と 参照経路の比較も 行な う 。
· - - で 、 上 (Sし α¾明 し た第 1 、 第 2 の実施例に関する 限 り 、 上記 6 個の モ ー ド の内 、 ( 2 ) と ( 6 ) は実際上の 意味が薄い と 考え られる の で 、 これに対応する フ ラ グ設 定 ( F 1 = F 2 = 0 及ぴ F 1 = F 2 = F 3 = 1 ) を禁則 化しても 良い ( 伹し 、 後者は次に述べる第 3 の実施例で 有用化さ れる こ と に注思 ) ο
残 り の モ一 ド は第 1 、 第 2 の実施例においても 有用で あ る 。 例えば 、 安全を確認済みの動作プ ロ グ ラ ム を ( 4 ) の モ一ド で再生し 、 その後 、 教示経路を修正し た後に ( 5 ) の モ ー ド で再生すれば 、 ステ ツ プ S 1 9 あ る レヽは ス テ ツ プ H 2 0 ( 比較結果表示 /警報等の メ ッ セージ ) を利用 し て実動作な し に大き な経路変更の有無や内容を 迅速且つ簡便に確認出来る 。 次に 、 第 3 の実施例につい て説明する 。 こ の実施例で は 、 上記 ( 6 ) の組合せ ( F 1 = 1 ; F 2 = 1 ; F 3 = 1 ) に設定し て動作経路シ ミ ュ レ ーシ ヨ ン と 実動作を併 行実施する 条件で処理を開始する が 、 動作経路 と 参照経 路の比較結果が誤教示の可能性を示唆する よ う なも ので あ る 場合には実動作を停止 させる こ と が出来る 。 これに よ り 、 誤教示の可能性のあ る個所の手前まで π ボ ッ 卜 を 移動さ せた上で ロ ボ ッ ト 停止 させる こ と が可能にな り 、 以後の修正教示な ど がや り 易 く な る 。
第 3 の実施例で実行される 処理においては 、 ロ ボ ッ 卜 制御装置の運転モー ド を切換可能に指定する 手段 と し て 前述のモー ド フ ラ グ F 1 〜 F 3 に加えて 、 フ ラ グ F 4 が メ モ リ 1 0 2 内 に設定さ れる 。 こ の フ ラ グ F 4 は 、 実動 作を必要に応じ て無効化する ため に設定さ れる 2 値レ ジ ス タ で 、 下記の定義に従っ て " 0 " または " 1 " の ί直を と る 。
F 4 : F 4 = 1 は実動作無効化のオン状態 ( 実動作阻 止する ) 、 F 4 = 0 は実動作無効化のオフ = 0 ( 実動作 阻止せず ) ) を意味する 。
第 3 実施例におけ る 処理の要点は 、 図 6 のフ ロ ーチヤ 一 卜 に示し た通 り であ る 。
第 1 、 第 2 実施例の場合 と 同様 、 上記フ ラ グ F 1 〜 F 3 の設定 ( モー ド選択 ) を行い 、 オペ レー タ が教示操作 盤 1 0 4 か ら処理開始指令を入力する こ と で処理が開始 さ れる 。 C P U 1 0 1 は 、 フ ラ グ F 4 を " 0 " にク リ ア し た上で ( ス テ ッ プ G l ) 、 それまでの教示作業で作成 された動作プ ロ グラ ムの 1 プ ロ ッ ク 分の動作命令 ( こ こ では動作終了命令のケー ス も 含むも の とする ) を読み込 み 、 解釈 ( デコ ー ド ) する ( ステ ッ プ G 2 ) 。
読み込まれたブ ロ ッ ク が動作終了を指示する も の でな レヽ限 り ( ス テ ッ プ G 3 で ノ ー ) 、 ステ ッ プ G 4 へ進み 、 与え られた移動命令か ら移動 目標点 ( 位置 と 姿勢 ) を算 出する 。 移動 目 標点のデータ は 、 準拠座標系 と し て指定 さ れてい る座標系上のデータ で計算 さ れる 。 次いで 、 ス テ ツ プ G 5 でフ ラ グ F 1 の値をチェ ッ ク し 、 シ ミ ュ レ一 シ ョ ンを実行するモー ドか否か判断さ れる 。
F 1 = 0 ( シ ミ ュ レ ー シ ョ ン非実行 ) であれば 、 ス テ ッ プ G 6 へ進み 、 実動作の要否をフ ラ グ F 2 の値で判別 する 。 F 2 = 0 であれば実動作不要を意味するか ら 、 ス テ ツ プ G 1 1 へ進み 、 そのブロ ッ ク で指定さ れた移動 目 標点への移動完了を擬制する 処理 ( 次プ ロ ッ ク の処理へ 進むための内部処理 ) を実行する 。 次いで 、 ステ ッ プ G 2 へ戻 り 、 次の 1 ブ ロ ッ ク の動作命令文に対する 処理を 開始する 。
ステ ッ プ G 6 でも し F 2 = l であれば実動作のモー ド が設定さ れている こ と を意味する 。 しカゝ し 、 第 3 実施例 では 、 無条件に実動作を伴 う 再生運転のための処理を実 行する のではな く 、 実動作のモー ド を無効化するか否か を決定する フ ラ グ F 4 の値をチェ ッ ク し ( ステ ッ プ G 7 ) 、 F 4 = 0 の場合に限 り ス テ ッ プ G 8〜 G 1 0 で実動 作のための処理を行な う 。 即ち 、 ス テ ッ プ G 1 で読み込 まれ 、 解釈 さ れた動作条件 ( 移動 目 標位置 、 指令速度 、 移動形式 C 直線移動 Z円弧移動 Z各軸移動な ど ] 、 加減 速条件等 ) に応じ て軌道計画を立て ( ス テ ッ プ G 8 ) 、 各軸上での補間点を求め ( ステ ッ プ G 9 ) 、 それに基づ く 移動指令を作成し て各軸のサーボ制御部 1 0 5 へ渡す ( ステ ツ プ G 1 0 )
なお 、 記載を省略し た力; 、 ス テ ッ プ G 9 、 G 1 0 は 、 補間周期毎に繰 り 返され 、 1 ブ ロ ッ ク 分の移動処理を完 了 し てか ら ス テ ッ プ G 1 へ戻 り 、 次の 1 ブ ロ ッ ク の動作 命令文に対する処理を開始する ( 第 1 実施例の場合 と 同 様 ) 。 また 、 ス テ ツ プ G 7 で F 4 == 1 であれば実動作の 処理を進め る こ と な く ステ ッ プ G 2 3 を経て処理を終了 する ( 詳細後述 ) 。
シ ミ ュ レ ー シ ョ ンを実行する ため にフ ラ グ F 1 が F 1 = 1 に設定さ れてい る場合には 、 ステ ッ プ G 5 力、 ら ス テ ッ プ G 1 2 へ進む 。 ス テ ッ プ G 1 2 では 、 ス テ ッ プ G 4 で算出 さ れた移動 目 標点そ の他の動作条件データ ( 指令 速度 、 移動形式 、 加減速条件等 ) を複製し 、 メ モ リ 1 0 2 の空き領域に一時的に記憶する 。
更に 、 ス テ ッ プ G 4 で算出 さ れた移動 目標点が直交座 標系上で表現さ れたデータ で記述されている か否かを判 断し ( ス テ ツ プ G 1 3 ) 、 も し イ エ ス であれば直接ス テ ッ プ G 1 5 へ迤み 、 も し ノ ーであれば順変換演算によ つ て直交座標系上で表現さ れたデータ に変換し た上で ( ス テ ッ プ G 1 4 ) ステ ツ プ G 1 5 へ進む。
ステ ッ プ G 1 5 では 、 移動 目標点を表わすデータ が 、 経路比較を行な ラ 基準 と さ れる 特定の ロ ボ ッ ト 座標系 ( 例えば 、 予め ボ ッ 卜 ス座標系を設定 ) 上でツー ノレ座標系の位置及び姿勢を表現し てい るか否かを判断し ち し ィ ェスであれば直接ステ ッ プ G 1 7 へ進み 、 も し ノ 一であれば座標系間の変換演算によ っ て ロ ボ ッ ト 座標系 上で さ れた ータ に変換し た上で ( ステ ッ プ G 1 6 ) 、 ス テ ッ プ G 7 へ進む 。
ステ ッ プ G 1 7 では 、 シ ミ ユ レ一シ ヨ ンを比較モー ド で実行する モ ー ド、 が設定さ れてレヽる か否かを判断する 。 ち し F 3 = 0 ( 非比較モ一ド ) であれば 、 ステ ッ プ G 1 8 へ進み 、 動作 路 、 即ち移動 目 標点 と 運動形式 ( 直線 移動 /円弧移動 各軸移動の別 ) をン ^ ュ レ ー シ ョ ン実 行機会を表わす 号を付し て メ モ リ 1 0 2 <c~ Be fe る 。 例えば 、 今回のシ ミ ュ レ一シ ヨ ン がプ 口 グ ラ ム名 「 A A 」 を持つ動作プ口 グ ラ ム に対する 3 回 目 の シ ミ ュ レ 一 シ ョ ン であれば 「 G I M 0 3 A A J な ど とする 。 ステ ッ プ G 1 8 が完了 し た ら 、 ステ ツ プ G 2 2 へ進む。
れに対し て し F 3 = 1 ( 比較モ ー ド ) であれば ステ ッ プ G 1 9 進み 、 比較処理を実行する 。 比較処理 は 、 今回の移動 路を参照経路 と 比較し 、 必要に応じ て 比較 を Sci録する ための処理で 、 こ こ では第 1 実施例 で利用 し たァル リ ズ ム ( 図 3 参照 ) が利用出来る の で 詳細を繰 り 返さ ない n 但し 、 距離判定指標 △ d、 姿勢差判定指標 Δ ί" , A g, △ hの内の少な く と も ] つの符号が +であ る場合 、 即ち 、 基準を越え る経路の差異があ る と 判断された場合には 、 実動作のモー ド を無効化する ため にフ ラ グ F 4 を 1 に反 転する ( ス テ ッ プ G 2 1 ) o
続 く ス テ ッ プ G 2 2 では 、 ス テ ッ プ S 1 2 で一時記憶 し ておいたデータ ( 移動 目 標点その他の動作条件データ ) を読み出 し 、 ステ ツ プ S 6 へ進む 。
既述の通 り 、 フ ラ グ F 2 の値力 S " 0 " であれば 、 フ ラ グ F 4 の値如何に関わ らず 、 目 標点到達の擬制の処理 ( ステ ッ プ G 1 1 ) を実行し てステ ッ プ G 2 へ戻る ( 実 動作な し ) 。
これに対し て 、 フ ラ グ F 2 の値力 S " 1 " であ る場合に は 、 フ ラ グ F 4 の値が " 0 " であ る 場合に限 り 、 ステ ツ プ G 7 力、 ら ステ ッ プ G 8 以下へ進み 、 ロ ボ ッ ト 実機の移 動の処理を実行する 。
即ち 、 F 4 = 1 であ る場合には 、 その経路についての 実動作を行なわず 、 ステ ツ プ G 2 3 へ進んで 、 比較処理 ( ステ ッ プ G 1 9 ) の結果を教示操作盤 1 0 4 付属のデ イ スプレ イ に表示し て処理を終了する 。 何故な ら ば 、 フ ラ グ F 4 力 S " 1 " に反転し てい る と レヽ う こ と は 、 ステ ツ プ G 1 9 , G 2 0 において 、 これか ら 実動作に移ろ う と する経路 ( 再生運転経路 ) と 参照経路 と の間に基準を越 え る 経路の差異が見い出 さ れたこ と を意味し てい る ので 実動作を続行 ( 最初の経路であれば開始 ) する こ と は 、 誤教示に起因する危険を招 く 可能性があ る か ら であ る 。 換言すれば 、 シ ミ ュ レ ー シ ョ ン に含まれる 比較処理の結 果を表わす出力を利用する こ と によ っ て 、 誤教示に起因 する危険が未然に回避さ れる 。
また 、 F 4 = 1 が原因で ロ ボ ッ ト が停止 し た場合 、 そ の位置は誤教示の可能性のあ る経路の手前であ る か ら 、 ステ ッ プ G 2 3 で表示さ れる結果 、 特に基準オーバ内容 を知 らせる メ ッセージを参考にし て 、 誤教示の修復など 必要な措置を速やかに と る 上で有利 と なる 。
本発明 によれば 、 ォフ フ ラ イ ン の シ ミ ュ レ ー シ ョ ン シ ステムを使用せず 、 且つ 、 ロ ボ ッ ト 本体の実動作を伴わ ずに再生運転を行な う こ と で 、 安全を損ねる 可能性のあ る誤教示経路を発見出来る 。 また 、 実動作を伴 う 再生運 転の開始によ り 、 再生経路を参照経路 と 比較し なが ら実 動作を進め 、 誤教示によ る 危険発生の可能性が発見さ れ た場合に実動作のモー ド を無効化し て ロ ボ ッ ト を停止 さ せる こ と が出来る 。 従っ て 、 教示作業の安全性 と 効率が 高め られる 。

Claims

請 求 の 範 囲
1 . ロ ボ ッ ト の動作経路をシ ミ ュ レ ー シ ョ ンする機能を 有する ロ ボ ッ ト 制御装置であっ て 、
第 1 の動作プ ロ グラ ム を格納する 手段 と 、
前記ロ ボ ッ ト を実際に動作させる こ と な く 、 前記第 1 の動作プロ グラ ム を再生する 手段 と 、
前記第 1 の動作プ ロ グラ ム の再生時に 、 第 1 の動作プ ロ グラ ム に記述さ れた第 1 の動作経路を示すデータ を記 憶する経路記憶手段 と 、
第 2 の動作プ ロ グラ ム の再生時に 、 前記第 2 の動作プ ロ グラ ム に記述さ れた第 2 の動作経路を示すデータ を前 記第 1 の動作経路を示すデータ と 比較する経路比較手段 と 、
前記第 2 の動作経路 と 前記第 1 の動作経路 と の差異を 評価する 評価手段 と 、
前記評価手段によ る 評価結果を出力する 出力手段 と を 備え る 、 ロ ボ ッ ト 制御装置。
2 . 前記経路比較手段は 、 前記第 2 の動作経路 と 前記第 1 の動作経路中の ロ ボ ッ ト の位置及び姿勢を比較し 、 前 記評価手段は 、 ロ ボ ッ ト の位置及び姿勢を考慮し て前記 第 2 の動作経路 と 前記第 1 の動作経路の差異を評価する 、 請求の範囲第 1 項に記載の ロ ボ ッ ト 制御装置 。
3 . 前記出力手段によ り 出力 された評価結果を表示する 表示手段を更に備え る 、 請求の範囲第 1 項に記載の ロ ボ ッ ト 制御装置。
4 . 前記出力手段か ら 、 前記第 2 の動作経路 と 前記第 1 の動作経路の間に基準を越え る 差異があ る こ と を示す評 価結果が出力 された と き に 、 所定の メ ッ セージを出力す る 手段を更に備え る 、 請求の範囲第 1 項に記載の ロ ボ ッ ト 制御装置 。
5 . ロ ボ ッ ト の動作経路をシ ミ ュ レ ー シ ョ ンする機能を 有する ロ ボ ッ ト 制御装置であっ て 、
第 1 の動作プ ロ グ ラ ム を格納する 手段 と 、
前記ロ ボ ッ ト を実際に動作させる こ と な く 、 前記第 1 の動作プ ロ グラ ム を再生する 手段 と 、
前記第 1 の動作プ ロ グ ラ ムの再生時に 、 第 1 の動作プ ロ グラ ム に記述された第 1 の動作経路を示すデータ を補 間点データ を含めて記憶する経路記憶手段 と 、
第 2 の動作プロ グラ ムの再生時に 、 前記第 2 の動作プ ロ グラ ム に記述さ れた第 2 の動作経路を示すデータ を前 記第 1 の動作経路を示すデータ と 比較する経路比較手段 と 、
前記第 2 の動作経路 と 前記第 1 の動作経路 と の差異を 評価する 評価手段 と 、
前記評価手段によ る評価結果を出力する 出力手段 と を 備え る 、 ロ ボ ッ ト 制御装置。
6 . 前記経路比較手段は 、 前記第 2 の動作経路 と 前記第 1 の動作経路中の ロ ボ ッ ト の位置及び姿勢を比較し 、 前 記評価手段は 、 ロ ボ ッ ト の位置及び姿勢を考慮し て前記 第 2 の動作経路 と 前記第 1 の動作経路の差異を評価する 、 請求の範囲第 5 項に記載の ロ ボ ッ ト 制御装置 。
7 . 前記出力手段によ り 出力 さ れた評価結果を表示する 表示手段を更に備え る 、 請求の範囲第 5 項に記載の ロ ボ ッ ト 制御装置。
8 . 前記出力手段か ら 、 前記第 2 の動作経路 と 前記第 1 の動作経路の間に基準を越え る 差異があ る こ と を示す評 価結果が出力 された と き に 、 所定の メ ッ セージを出力す る 手段を更に備え る 、 請求の範囲第 5 項に記載の ロ ボ ッ ト 制御装置 。
9 . ロ ボ ッ ト の動作経路をシ ミ ュ レ ー シ ョ ンする機能を 有する ロ ボ ッ ト 制御装置であっ て 、
第 1 の動作プロ グラ ム を格納する手段 と 、
前記ロ ボ ッ ト を実際に動作させて 、 前記第 1 の動作プ ロ グラ ム を再生する 手段 と 、
前記第 1 の動作プ ロ グ ラ ム の再生時に 、 第 1 の動作プ ロ グラ ム に記述された第 1 の動作経路を示すデータ を記 憶する経路記憶手段と 、
第 2 の動作プロ グラ ムの再生時に 、 前記第 2 の動作プ ロ グラ ム に記述された第 2 の動作経路を示すデータ を前 記第 1 の動作経路を示すデータ と 比較する経路比較手段 と 、
前記第 2 の動作経路 と 前記第 1 の動作経路 と の差異を 評価する評価手段 と 、
前記評価手段によ る 評価結果を出力する 出力手段 と を 備え る 、 ロ ボ ッ ト 制御装置。
1 0 . 前記経路比較手段は 、 前記第 2 の動作経路 と 前記 第 1 の動作経路中の ロ ボ ッ ト の位置及び姿勢を比較し 、 前記評価手段は 、 ロ ボ ッ ト の位置及び姿勢を考慮し て前 記第 2 の動作経路 と 前記第 1 の動作経路の差異を評価す る 、 請求の範囲第 9 項に記載の ロ ボ ッ ト 制御装置。
1 1 . 前記出力手段によ り 出力 さ れた評価結果を表示す る表示手段を更に備え る 、 請求の範囲第 9 項に記載の 口 ボ ッ ト 制御装置。
1 2 . 前記出力手段か ら 、 前記第 2 の動作経路 と 前記第 1 の動作経路の間に基準を越え る 差異があ る こ と を示す 評価結果が出力 された と き に 、 所定の メ ッ セージを出力 する 手段を更に備え る 、 請求の範囲第 9 項に記載の ロ ボ ッ ト 制御装置。
1 3 . 前記出力手段か ら 、 前記第 2 の動作経路 と 前記第 1 の動作経路の間に基準を越え る 差異があ る こ と を示す 評価結果が出力 された と き に 、 前記ロ ボ ッ ト の実際の動 作を無効化する 実動作無効化手段を更に備え る 、 請求の 範囲第 9 項に記載の ロ ボ ッ ト 制御装置。
1 4 . ロ ボ ッ ト の動作経路をシ ミ ュ レ ー シ ョ ンする機能 を有する ロ ボ ッ ト 制御装置であっ て 、
第 1 の動作プロ グラ ムを格納する 手段 と 、
前記ロ ボ ッ ト を実際に動作させて 、 前記第 1 の動作プ ロ グラ ムを再生する 手段 と 、
前記第 1 の動作プ ロ グ ラ ムの再生時に 、 第 1 の動作プ ロ グラ ム に記述された第 1 の動作経路を示すデータ を補 間点データ を含めて記憶する経路記憶手段 と 、
第 2 の動作プロ グラ ムの再生時に 、 前記第 2 の動作プ ロ グラ ム に記述さ れた第 2 の動作経路を示すデータ を前 記第 1 の動作経路を示すデータ と 比較する経路比較手段 と 、
前記第 2 の動作経路 と 前記第 1 の動作経路 と の差異を 評価する 評価手段 と 、
前記評価手段によ る 評価結果を出力する 出力手段 と を 備え る 、 ロ ボ ッ ト 制御装置 。
1 5 . 前記経路比較手段は 、 前記第 2 の動作経路 と 前記 第 1 の動作経路中の ロ ボ ッ ト の位置及び姿勢を比較し 、 前記評価手段は 、 ロ ボ ッ ト の位置及び姿勢を考慮し て前 記第 2 の動作経路 と 前記第 1 の動作経路の差異を評価す る 、 請求の範囲第 1 4 項に記載の ロ ボ ッ ト 制御装置。
1 6 . 前記出力手段によ り 出力 さ れた評価結果を表示す る 表示手段を更に備え る 、 請求の範囲第 1 4 項に記載の ロ ボ ッ ト 制御装置。
1 7 . 前記出力手段か ら 、 前記第 2 の動作経路 と 前記第 1 の動作経路の間に基準を越え る 差異があ る こ と を示す 評価結果が出力 された と き に 、 所定の メ ッ セージを出力 する 手段を更に備え る 、 請求の範囲第 1 4 項に記載の 口 ボ ッ ト 制御装置 。
1 8 . 前記出力手段か ら 、 前記第 2 の動作経路 と 前記第 1 の動作経路の間に基準を越え る 差異がある こ と を示す 評価結果が出力 された と き に 、 前記ロ ボ ッ ト の実際の動 作を無効化する 実動作無効化手段を更に備え る 、 請求の 範囲第 1 4 項に記載の ロ ボ ッ ト 制御装置。
PCT/JP1997/004319 1996-11-26 1997-11-26 Dispositif de commande de robot ayant une fonction de simulation de route des operations WO1998024011A1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US09/117,140 US6463358B1 (en) 1996-11-26 1997-11-26 Robot control device having operation route simulation function
JP52452198A JP4091124B2 (ja) 1996-11-26 1997-11-26 動作経路シミュレーション機能を有するロボット制御装置
EP97913449A EP0889383B1 (en) 1996-11-26 1997-11-26 Robot control device having operation route simulation function
DE69739070T DE69739070D1 (de) 1996-11-26 1997-11-26 Vorrichtung zur robotersteuerung mit aufgabenrouten-simulationsfunktion

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP8/329041 1996-11-26
JP32904196 1996-11-26

Publications (1)

Publication Number Publication Date
WO1998024011A1 true WO1998024011A1 (fr) 1998-06-04

Family

ID=18216951

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1997/004319 WO1998024011A1 (fr) 1996-11-26 1997-11-26 Dispositif de commande de robot ayant une fonction de simulation de route des operations

Country Status (5)

Country Link
US (1) US6463358B1 (ja)
EP (1) EP0889383B1 (ja)
JP (1) JP4091124B2 (ja)
DE (1) DE69739070D1 (ja)
WO (1) WO1998024011A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015160277A (ja) * 2014-02-27 2015-09-07 ファナック株式会社 ロボットの動作経路を生成するロボットシミュレーション装置
US9925664B2 (en) 2014-02-27 2018-03-27 Fanuc Corporation Robot simulation device for generation motion path of robot
JP2019084648A (ja) * 2017-11-09 2019-06-06 キヤノン株式会社 ロボット教示方法、ロボット教示装置、ロボットシステム、プログラム及び記録媒体
WO2020067241A1 (ja) * 2018-09-28 2020-04-02 日本電産株式会社 ロボット制御装置及びロボット制御方法

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE513900C2 (sv) * 1999-01-19 2000-11-20 Abb Ab Anordning för övervakning av driften av en drivinrättning
JP4203696B2 (ja) * 1999-10-20 2009-01-07 株式会社安川電機 産業用機械の動作確認方法および装置
US20030045947A1 (en) * 2001-08-30 2003-03-06 The Boeing Company System, method and computer program product for controlling the operation of motion devices by directly implementing electronic simulation information
JP2005515910A (ja) * 2002-01-31 2005-06-02 ブレインテック カナダ インコーポレイテッド シングルカメラ3dビジョンガイドロボティクスの方法および装置
DE10347169A1 (de) * 2003-10-07 2005-05-12 Traub Drehmaschinen Gmbh Verfahren zur Steuerung einer Werkzeugmaschine und Werkzeugmaschinensteuerung
US7890194B2 (en) * 2005-12-13 2011-02-15 Brooks Automation, Inc. Robotics programming interface
DE102004026185A1 (de) * 2004-05-28 2005-12-22 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Betreiben einer Maschine, wie eines Mehrachs- Industrieroboters
JP2006099347A (ja) * 2004-09-29 2006-04-13 Fanuc Ltd ロボット移動制御方法
US7627394B2 (en) * 2005-12-20 2009-12-01 Kuka Roboter Gmbh Robot trajectory control including emergency evacuation path system and method
WO2007149183A2 (en) * 2006-05-25 2007-12-27 Braintech Canada, Inc. System and method of robotically engaging an object
DE102006025165A1 (de) * 2006-05-30 2007-10-18 Siemens Ag Einrichtung zur Bewegungsführung eines Maschinenelementes einer Maschine
WO2008036354A1 (en) * 2006-09-19 2008-03-27 Braintech Canada, Inc. System and method of determining object pose
FR2918477A1 (fr) * 2007-07-04 2009-01-09 Aldebaran Robotics Soc Par Act Procede d'edition de mouvements d'un robot
US7957583B2 (en) * 2007-08-02 2011-06-07 Roboticvisiontech Llc System and method of three-dimensional pose estimation
JP2009090403A (ja) * 2007-10-05 2009-04-30 Fanuc Ltd ロボット動作範囲設定装置
US8214415B2 (en) * 2008-04-18 2012-07-03 Motion Engineering Incorporated Interpolator for a networked motion control system
US8559699B2 (en) 2008-10-10 2013-10-15 Roboticvisiontech Llc Methods and apparatus to facilitate operations in image based systems
EP2345512A1 (en) 2010-01-14 2011-07-20 Syddansk Universitet Method of finding feasible joint trajectories for an n-dof robot with rotation invariant process (N>5)
US8972056B2 (en) 2010-01-14 2015-03-03 Syddansk Universitet Method of finding feasible joint trajectories for an n-dof robot with rotation invariant process (n>5)
DE102011011542B4 (de) * 2011-02-17 2016-05-25 Convergent Information Technologies Gmbh Verfahren zur automatisierten Programmierung und Optimierung von robotischen Arbeitsabläufen
JP5860073B2 (ja) * 2014-02-13 2016-02-16 ファナック株式会社 加工条件変更後の誤加工を防止する数値制御装置
JP6350037B2 (ja) * 2014-06-30 2018-07-04 株式会社安川電機 ロボットシミュレータおよびロボットシミュレータのファイル生成方法
JP6006277B2 (ja) * 2014-11-06 2016-10-12 ファナック株式会社 産業用ロボットのプログラム修正装置及びプログラム修正方法
DE102016004836B3 (de) * 2016-04-24 2017-05-18 Haddadin Beteiligungs UG (haftungsbeschränkt) Steuerung eines Robotersystems
JP2018126796A (ja) * 2017-02-06 2018-08-16 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6250906A (ja) * 1985-08-30 1987-03-05 Toshiba Corp 産業用ロボツトの制御装置
JPS6426909A (en) * 1987-07-23 1989-01-30 Oki Electric Ind Co Ltd Detecting system for working abnormality of robot
JPH01145703A (ja) * 1987-12-01 1989-06-07 Fanuc Ltd ロボットの誤動作監視方式
JPH01312605A (ja) * 1988-06-13 1989-12-18 Sodick Co Ltd 放電加工機
JPH02100704A (ja) * 1988-10-08 1990-04-12 Fanuc Ltd ロボットプログラミングチェック方式
JPH03250304A (ja) * 1990-02-28 1991-11-08 Pentel Kk ロボットの動作検証装置
JPH06126667A (ja) * 1992-10-13 1994-05-10 Fanuc Ltd 5軸多関節ロボットの制御方法
JPH0736516A (ja) * 1993-06-28 1995-02-07 Ricoh Co Ltd シミュレーション装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4035706A (en) * 1973-07-26 1977-07-12 Hymie Cutler Offset path generating system particularly useful for numerical control machines
US4260940A (en) * 1975-10-28 1981-04-07 Unimation, Inc. Programmable automatic assembly system
US4433382A (en) * 1981-07-20 1984-02-21 Cincinnati Milacron Inc. Apparatus for automatically adjusting the programmed location of a robot arm
JPS5833711A (ja) * 1981-08-24 1983-02-28 Fanuc Ltd 数値制御装置
AU3583084A (en) * 1983-12-10 1985-06-13 Aida Engineering Ltd. Playback grinding robot
DE3408523A1 (de) * 1984-03-08 1985-09-12 Siemens AG, 1000 Berlin und 8000 München Verfahren zur ueberwachung der durch die steuerung der antriebe einer rechnergesteuerten werkzeugmaschine oder eines industrieroboters erzeugten bahn
US4817017A (en) * 1985-04-08 1989-03-28 Mitsubishi Denki Kabushiki Kaisha Industrial robot
US4685067A (en) * 1986-02-20 1987-08-04 Cincinnati Milacron Inc. Control system for program controlled manipulator having multiple triggered functions between programmed points
US4803640A (en) * 1986-05-12 1989-02-07 Matsushita Electric Industrial Co., Ltd. Control arrangement for an industrial robot
US4786848A (en) * 1987-07-27 1988-11-22 Davidson Textron Inc. Water jet trim head simulator
US4831549A (en) * 1987-07-28 1989-05-16 Brigham Young University Device and method for correction of robot inaccuracy
US5046022A (en) * 1988-03-10 1991-09-03 The Regents Of The University Of Michigan Tele-autonomous system and method employing time/position synchrony/desynchrony
JPH02161503A (ja) * 1988-12-14 1990-06-21 Mitsubishi Heavy Ind Ltd ロボットにおける教示位置データの修正・再生方法
KR100191107B1 (ko) * 1990-11-06 1999-06-15 이데이 노부유끼 신호 처리 방법
EP0523889B1 (en) * 1991-07-06 1996-12-27 Daihen Corporation Apparatus for controlling industrial robot to perform coordinated operation using teaching playback method and method thereof
JP3250304B2 (ja) 1993-03-19 2002-01-28 松下電器産業株式会社 ゴミ処理機
JPH06324733A (ja) * 1993-05-12 1994-11-25 Fanuc Ltd センサ付きロボットの制御方法及び装置
KR100201020B1 (ko) * 1994-03-11 1999-06-15 모리시타 요이찌 컴퓨터시뮬레이션부착 nc제어미세가공방법과 이 방법에 사용하는 장치
US5495410A (en) * 1994-08-12 1996-02-27 Minnesota Mining And Manufacturing Company Lead-through robot programming system
JPH08202428A (ja) * 1995-01-24 1996-08-09 Nissan Motor Co Ltd 教示プログラム自動生成装置
JP3537229B2 (ja) * 1995-07-28 2004-06-14 ファナック株式会社 ロボットの制御方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6250906A (ja) * 1985-08-30 1987-03-05 Toshiba Corp 産業用ロボツトの制御装置
JPS6426909A (en) * 1987-07-23 1989-01-30 Oki Electric Ind Co Ltd Detecting system for working abnormality of robot
JPH01145703A (ja) * 1987-12-01 1989-06-07 Fanuc Ltd ロボットの誤動作監視方式
JPH01312605A (ja) * 1988-06-13 1989-12-18 Sodick Co Ltd 放電加工機
JPH02100704A (ja) * 1988-10-08 1990-04-12 Fanuc Ltd ロボットプログラミングチェック方式
JPH03250304A (ja) * 1990-02-28 1991-11-08 Pentel Kk ロボットの動作検証装置
JPH06126667A (ja) * 1992-10-13 1994-05-10 Fanuc Ltd 5軸多関節ロボットの制御方法
JPH0736516A (ja) * 1993-06-28 1995-02-07 Ricoh Co Ltd シミュレーション装置

Non-Patent Citations (1)

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

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015160277A (ja) * 2014-02-27 2015-09-07 ファナック株式会社 ロボットの動作経路を生成するロボットシミュレーション装置
US9573273B2 (en) 2014-02-27 2017-02-21 Fanuc Corporation Robot simulation device for generating motion path of robot
US9925664B2 (en) 2014-02-27 2018-03-27 Fanuc Corporation Robot simulation device for generation motion path of robot
JP2019084648A (ja) * 2017-11-09 2019-06-06 キヤノン株式会社 ロボット教示方法、ロボット教示装置、ロボットシステム、プログラム及び記録媒体
JP2021175595A (ja) * 2017-11-09 2021-11-04 キヤノン株式会社 シミュレータ、ロボット教示装置、ロボットシステム、シミュレーション方法、プログラム及び記録媒体
WO2020067241A1 (ja) * 2018-09-28 2020-04-02 日本電産株式会社 ロボット制御装置及びロボット制御方法

Also Published As

Publication number Publication date
DE69739070D1 (de) 2008-12-11
JP4091124B2 (ja) 2008-05-28
EP0889383A4 (en) 2004-04-21
EP0889383B1 (en) 2008-10-29
EP0889383A1 (en) 1999-01-07
US6463358B1 (en) 2002-10-08

Similar Documents

Publication Publication Date Title
WO1998024011A1 (fr) Dispositif de commande de robot ayant une fonction de simulation de route des operations
EP0383944B1 (en) Action teaching method and control apparatus for a robot
JP2006110702A (ja) 学習制御機能を備えたロボット及びロボットの制御方法
JPH11175130A (ja) ロボットの制御装置
JPH02100704A (ja) ロボットプログラミングチェック方式
JP3207409B2 (ja) ロボットのツール姿勢制御方法
JPH05345286A (ja) ロボットの手動送り方法
JP3466111B2 (ja) 数値制御装置
JP2662864B2 (ja) 産業用ロボット制御装置
JPH1158276A (ja) ロボットのオフラインシミュレーションシステム
JPH0991017A (ja) ロボット動作経路確認装置
JP4196911B2 (ja) 軌道決定システムおよび軌道決定方法
JP2004188594A (ja) ロボット制御装置
JP2577003B2 (ja) ロボットの制御方法
JP4560191B2 (ja) 数値制御装置
JP2009083000A (ja) ロボットの動作チェック機能を備えたロボット制御装置及び制御方法
JP3253452B2 (ja) 産業用ロボット
JP2002082705A (ja) ロボット制御装置
JPH05165514A (ja) 数値制御装置の補間方式
JP3644551B2 (ja) ロボットの制御方法
JP2007199936A (ja) ロボット制御装置
JP2007144623A (ja) 移動情報測定装置
JPH04359302A (ja) ロボットの制御方法
JPH06270082A (ja) 補軸を有するロボットの制御方法
JP2005031981A (ja) 数値制御装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WWE Wipo information: entry into national phase

Ref document number: 1997913449

Country of ref document: EP

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 09117140

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 1997913449

Country of ref document: EP