WO2019064917A1 - Robot simulator - Google Patents

Robot simulator Download PDF

Info

Publication number
WO2019064917A1
WO2019064917A1 PCT/JP2018/028994 JP2018028994W WO2019064917A1 WO 2019064917 A1 WO2019064917 A1 WO 2019064917A1 JP 2018028994 W JP2018028994 W JP 2018028994W WO 2019064917 A1 WO2019064917 A1 WO 2019064917A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
task
timing chart
unit
state
Prior art date
Application number
PCT/JP2018/028994
Other languages
French (fr)
Japanese (ja)
Inventor
小菅 昌克
ナット タン ドアン
常田 晴弘
吉田 昌弘
Original Assignee
日本電産株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電産株式会社 filed Critical 日本電産株式会社
Priority to JP2019544369A priority Critical patent/JP7151713B2/en
Publication of WO2019064917A1 publication Critical patent/WO2019064917A1/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4069Simulating machining process on screen

Definitions

  • the present invention relates to a robot simulator.
  • Patent Document 1 describes simulating the operation of a robot in which a grinding tool is attached to an arm.
  • Patent No. 4961447 gazette
  • work element means the minimum unit of work performed by the robot in a series of work such as “take” or “place” an object.
  • this invention aims at supporting examination of every operation element with respect to the execution result of a series of operation
  • a program execution unit that executes a robot program including a task that is information related to work elements of the robot, and a control signal to the robot based on an execution result by the program execution unit.
  • a state information acquired by the state information acquiring unit acquiring from the robot state information which is information indicating a state according to the elapsed time of the robot operated by the control signal, and based on the state information acquired by the state information acquiring unit
  • a display control unit for displaying on the display device a first timing chart indicating a state of the robot such that a period corresponding to a work element of the task can be identified on a time axis. is there.
  • FIG. 1 is a view showing the overall configuration of a robot simulator according to the first embodiment.
  • FIG. 2 is a diagram showing a hardware configuration of each device included in the robot simulator of the first embodiment.
  • FIG. 3 is a view showing a three-dimensional CAD window according to an example of the first embodiment.
  • FIG. 4 is a view showing a teaching window according to an example of the first embodiment.
  • FIG. 5 is a diagram for conceptually explaining a job.
  • FIG. 6 is a diagram for conceptually explaining a task.
  • FIG. 7 is a view showing transition of a window for teaching according to an example of the first embodiment.
  • FIG. 8 is a diagram showing an example of the task list.
  • FIG. 9 is a view showing an example of a timing chart displayed by the robot simulator according to the first embodiment.
  • FIG. 9 is a view showing an example of a timing chart displayed by the robot simulator according to the first embodiment.
  • FIG. 10 is a view showing a three-dimensional CAD window according to an example of the first embodiment.
  • FIG. 11 is a functional block diagram of the robot simulator according to the first embodiment.
  • FIG. 12 is an example of a sequence chart showing processing of the robot simulator according to the first embodiment.
  • FIG. 13 is a view showing the overall configuration of a robot simulator according to the second embodiment.
  • FIG. 14 is a diagram showing a hardware configuration of each device included in the robot simulator of the second embodiment.
  • FIG. 15 is a view showing an example of a timing chart displayed by the robot simulator according to the second embodiment.
  • FIG. 16 is a functional block diagram of a robot simulator according to the second embodiment.
  • FIG. 17 is a view showing an example of a timing chart displayed by the robot simulator according to the third embodiment.
  • FIG. 18 is a view showing an example of a timing chart displayed by the robot simulator according to the third embodiment.
  • work element means the minimum unit of work performed by the robot in a series of work such as “take” or "place” an object.
  • object means an object that is the target of the robot's work, and is not limited to the object that the robot grips (for example, the workpiece that is the processing object), but an object related to the robot's work (for example, the robot Also includes a shelf) on which an object to be gripped is placed.
  • the robot simulator according to the first embodiment simulates the operation of an actual robot without connecting it to the actual robot, and displays the state of the robot on a timing chart.
  • FIG. 1 is a view showing the overall configuration of a robot simulator 1 of the present embodiment.
  • FIG. 2 is a diagram showing a hardware configuration of each device included in the robot simulator 1 of the present embodiment.
  • the robot simulator 1 includes an information processing device 2 and a robot control device 3.
  • the information processing device 2 and the robot control device 3 are communicably connected by, for example, a communication network cable EC.
  • the information processing apparatus 2 is an apparatus for teaching an operation to a robot installed in a factory line.
  • the information processing device 2 is provided to perform off-line teaching by the operator, and is disposed, for example, at a position away from the factory where the robot is installed (for example, a work place of the operator).
  • the robot control device 3 executes a robot program transmitted from the information processing device 2.
  • the robot control device 3 is not connected to the robot, but when connected to the robot, it is possible to send a control signal according to the execution result of the robot program to the robot to operate the robot. Therefore, preferably, the robot control device 3 is disposed in the vicinity of the actual robot.
  • the information processing device 2 includes a control unit 21, a storage 22, an input device 23, a display device 24, and a communication interface unit 25.
  • the control unit 21 includes a central processing unit (CPU), a read only memory (ROM), and a random access memory (RAM).
  • the ROM stores a three-dimensional CAD application program and teaching software.
  • the CPU executes three-dimensional CAD application software (hereinafter referred to as “CAD software” as appropriate) on the ROM and teaching software in the RAM.
  • the teaching software and the CAD software execute processing in cooperation via an API (Application Program Interface).
  • the control unit 21 continuously displays images in frame units in order to perform moving image reproduction by CAD software.
  • the storage 22 is a large-capacity storage device such as a hard disk drive (HDD) or a solid state drive (SSD), and is configured to be sequentially accessible by the CPU of the control unit 21. As described later, the storage 22 stores a task database 221, a hierarchical list database 222, a three-dimensional model database 223, and an execution log database 224. The storage 22 stores data of a three-dimensional model that is referred to when executing CAD software. In the example of the present embodiment, the storage 22 stores data of a three-dimensional model of a robot and an object (for example, a pen, a cap, a product, a pen tray, a cap tray, a product tray described later). The storage 22 stores execution log data acquired from the robot control device 3.
  • HDD hard disk drive
  • SSD solid state drive
  • the execution log data includes robot program execution results and robot state data to be described later.
  • the robot state data is used to create a timing chart to be described later.
  • the robot state data may also be used to reproduce the motion of the robot in a virtual space by animation (animation) by three-dimensional CAD.
  • the input device 23 is a device for receiving an operation input by an operator, and includes a pointing device.
  • the display device 24 is a device for displaying execution results of teaching software and CAD software, and includes a display drive circuit and a display panel.
  • the communication interface unit 25 includes a communication circuit for performing network communication with the robot control device 3.
  • the robot control device 3 includes a control unit 31, a storage 32, and a communication interface unit 33.
  • the control unit 31 includes a CPU, a ROM, a RAM, and a control circuit.
  • the control unit 31 executes a robot program received from the information processing device 2 and outputs execution log data.
  • the execution log data includes the execution result of the robot program and robot state data of the robot that executes the work described in the robot program.
  • the storage 32 includes data of a model of a robot manipulator (a robot body including the arm 51 and the hand 52).
  • the control unit 31 is a physical quantity (for example, an angular displacement of the joint angle of the arm 51, an angular velocity, a position of the hand 52, etc.) according to the passage of time during execution of the job of each unit constituting the manipulator based on the execution result of the robot program. Etc.).
  • the data of the physical quantity is included in the robot state data.
  • the storage 32 is a mass storage device such as an HDD or an SSD, and is configured to be sequentially accessible by the CPU of the control unit 31.
  • the storage 32 stores a robot program and execution log data in addition to data of a model of a robot manipulator.
  • the communication interface unit 33 includes a communication circuit for performing network communication with the information processing device 2.
  • CAD software and teaching software are executed by the information processing apparatus 2.
  • the execution result of CAD software is displayed in a CAD window, and the execution result of teaching software is displayed in a teaching window.
  • the operator causes both the CAD window and the teaching window to be displayed on the information processing apparatus 2 or causes the information processing apparatus 2 to display the CAD window and the teaching window while switching between the CAD window and the teaching window. I do.
  • FIG. 3 shows a CAD window W1 according to an example of the present embodiment.
  • CAD CAD window W1
  • FIG. 3 an image in a state where the robot R, the pen tray 11, the cap tray 12, the jig 13, and the product tray 14 are arranged in a virtual space on the table T (hereinafter referred to as “CAD as appropriate”
  • the image is displayed.
  • the robot R performs a series of operations for assembling a product (a finished product with the cap fitted on the pen) by fitting the cap on the pen.
  • a pen group P composed of a plurality of pens is disposed on the pen tray 11, and a cap group C composed of a plurality of caps is disposed on the cap tray 12.
  • the jig 13 is a member for the robot R to temporarily arrange a pen and fit a cap.
  • the product tray 14 is a member for placing a product.
  • each pen included in the pen group P, each cap included in the cap group C, the pen tray 11, the cap tray 12, the jig 13, and the product tray 14 are work targets of the robot R. It is an example of an object. Further, a product in which a cap is fitted to a pen is also an example of an object.
  • FIG. 4 shows a teaching window W2 according to an example of the present embodiment. Displayed in the teaching window W2 is a robot R included in the CAD image of FIG. 3 and a hierarchical list showing hierarchical relationships of objects.
  • the teaching software can create hierarchical lists in conjunction with CAD software.
  • a tree structured data format is prepared by the teaching software as a hierarchical list.
  • the operator drags the robot R and the object in the CAD image to a desired node of the data format of the tree structure while selecting the robot R and the object in the CAD image with the CAD window and the teaching window displayed. .
  • the hierarchical list can be completed by sequentially performing this operation on all objects required to teach the robot R.
  • the name of each node displayed in the hierarchical list the name of the original three-dimensional model may be applied as it is, but the name may be changed later.
  • FIG. 3 exemplifies a CAD image when there is one robot, when two or more robots exist, the two or more robots can be registered in the hierarchical list.
  • nodes 61 to 63 mean the following contents.
  • the hand sequence is set for each object held by the hand 52 because it depends on the object held by the hand 52 of the robot R. If a task to be described later is created when the hand sequence is not set, a program based on the task can not be executed, so a warning display may be output to the display device 24.
  • the components of the object include jig (JIG), pen tray (PenTray), cap tray (CapTray), product tray (ProductTray), pens (Pen1, Pen2, ..., Pen12), caps (Cap1, Cap2, ... ,, Cap12) and products (PenProduct1, PenProduct2, ..., PenProduct12) are included.
  • JIG pen tray
  • CapTray cap tray
  • ProductTray product tray
  • pens Pen1, Pen2, ..., Pen12
  • caps Cap1, Cap2, ... ,, Cap12
  • products PenProduct1, PenProduct2, ..., PenProduct12
  • Node 64 (PenProduct): jig in a state of holding product (PenProduct)
  • Node 65 (PenJ): jig in a state of holding pen (Pen)
  • Node 66 (CapJ): holding a cap (Cap) Jig of state
  • PenTray Below the nodes of the pen tray (PenTray), nodes corresponding to the pens Pen1, Pen2, ..., Pen12 are provided. Below the nodes of the cap tray (CapTray), nodes corresponding to the caps Cap1, Cap2, ..., Cap12 are provided. Below the nodes of the product tray (ProductTray), nodes corresponding to the products PenProduct 1, PenProduct 2,..., PenProduct 12 are provided.
  • Robot R in the hierarchical list Robot_R in FIG. 4
  • objects jig (JIG), pen tray (PenTray), cap tray (CapTray), product tray (ProductTray), pens Pen1, Pen2, ..., Pen12 , Caps Cap1, Cap2, ..., Cap12, and products PenProduct1, PenProduct2, ..., PenProduct12
  • JIG pen tray
  • CapTray cap tray
  • ProductTray product tray
  • pens Pen1, Pen2, ..., Pen12 Caps Cap1, Cap2, ..., Cap12
  • PenProduct1, PenProduct2, ..., PenProduct12 are in a state associated with the data of the corresponding three-dimensional model. Therefore, even if there is a change in the robot R and the three-dimensional model of the object in the hierarchical list after the hierarchical list is created, it is not necessary to register again in the hierarchical list.
  • FIG. 5 is a diagram for conceptually explaining a job.
  • FIG. 6 is a diagram for conceptually explaining a task.
  • a job is a series of tasks performed by the robot R.
  • a task is information on a work element which is a minimum unit of work performed by the robot R in a series of work. Accordingly, as shown in FIG. 5, the period corresponding to the job (JOB), a plurality of tasks T 1, T 2, ..., and duration of a plurality of work elements corresponding to T n-1, T n, the robot The movement between R's work elements (that is, “movement between tasks”) is included. As shown in FIG. 5, in the present embodiment, a plurality of tasks are defined for the job performed by the robot R.
  • Each task includes a plurality of motions (meaning “movement of robot R”) M 1 to M n .
  • the tasks may include hand sequences (HS) in addition to motion.
  • the hand sequence is a series of processes for gripping an object by the hand 52 of the robot R. Between adjacent motions, a waiting time WT due to an interlock or the like described later may be set.
  • a line with an arrow conceptually shows the trajectory of the hand 52 of the robot R.
  • the trajectory includes approach points AP1 and AP2 which are passing points before reaching the target point TP of the work element, the target point TP, and departure points DP1 and DP2 which are passing points after reaching the target point TP.
  • the target point TP indicates the position of the target object of the work element.
  • the motion of the robot R before reaching the approach point AP1 corresponds to the movement between work elements (that is, the movement between the previous work element and the work elements shown in FIG. 6).
  • the movement of the robot R after the departure point DP2 corresponds to the movement between work elements (that is, the movement between the work element shown in FIG. 6 and the next work element).
  • the motion of the robot R from the approach point AP1 to the departure point DP2 corresponds to one work element and one task, and the movement of the robot R between adjacent points in the work element corresponds to one motion. That is, the task may include, in addition to the information on the work element, information on at least one of the target point TP, the approach point AP, and the departure point DP.
  • interlock is set in approach point AP1, AP2 is illustrated.
  • the interlock operates the robot R at the target point TP, the approach point AP, and / or the departure point DP until a predetermined signal is input in order to avoid interference with other robots etc. It is processing to make it wait.
  • the task may include information on the interlock setting including the point of setting the interlock and the timeout value of the waiting time due to the interlock.
  • FIG. 7 is a view showing transition of a window for teaching according to an example of the present embodiment.
  • the operator points to one of the nodes 61 to 63 of the hand of the hand of the robot R (Robot_R) included in the robot area RA.
  • Robot_R the operator points to one of the nodes 61 to 63 of the hand of the hand of the robot R (Robot_R) included in the robot area RA.
  • a teaching window W3 for task creation in FIG. 7 is displayed.
  • the teaching window W3 is a screen for performing detailed setting of tasks, and displays items of task name (Name), type of work element (Function), and target of work element (Target).
  • name type of work element
  • Tuget target of work element
  • any work from a pull-down menu consisting of candidates of a plurality of types of work elements set in advance (for example, Pick up, Place, etc.) It is configured to be able to select an element.
  • an object to be a work object is selected with the pointing device from the object area PA of the hierarchical list, and left-click operation is selected in the item of Target (Target) in the teaching window W3.
  • the target object is input.
  • the name (Name) of the task is automatically determined and displayed based on the data.
  • the operator points at node 61 in robot area RA and the pointing device Right click on and select "Create task”.
  • the pen tray is displayed in the item of the target (Target) of the teaching window W3.
  • “PenTray” is input.
  • "Pick up” is selected from candidates for a plurality of types of work elements.
  • the teaching window W3 shown in FIG. 7 is displayed. .
  • a task with the name "Pickup_Pen1_From_PenTray” is created as information related to the work element "take pen 1 from pen tray".
  • the operator intuitively performs the task by designating the target of the work element (here, “Pen Pen1”) and the start point (for example, “Pen tray”) or the end point of the work element on the hierarchical list. Can be created.
  • the name of the task is the work content of the work element (for example, "Pickup"), the work target (for example, "Pen Pen 1"), the target (for example, "pen tray”) which is the start point of the work element, or the end point
  • the contents of the task can be immediately understood from the name of the task because it is automatically created so as to include the object.
  • an approach point AP, a target point TP, and a departure point DP included in the task may be automatically created.
  • the operator may operate the button b1 (“detail setting”) of the teaching window W3 to set one or more approach points and / or departure points.
  • the center of gravity of the object is set as the target point TP, and a predetermined coordinate is set in the local coordinate system of the object based on the center of gravity of the object.
  • the approach point AP and the departure point DP may be set on the axis (for example, on the Z axis).
  • Motion parameters are parameters relating to the motion of the hand 52 of the robot R between adjacent approach points AP included in the task, between the approach point AP and the target point TP, and between the target point TP and the departure point DP. It is. For example, such parameters include moving speed, acceleration, acceleration time, deceleration time, posture of the robot R, and the like.
  • motion parameter setting By selecting “motion parameter setting”, the motion parameter can be changed from the default value.
  • interlock setting it is possible to change from the default value the timeout value of the interlock waiting time and the setting of the operation when the waiting time exceeds the timeout value and it is judged as an error.
  • a button b2 (“Create") is provided in the teaching window W3 of FIG. By operating the button b2 ("Create”), the task set by the teaching window W3 is registered in a task list described later.
  • a program for executing a work element corresponding to a task shown in FIG. 6 consists of the following functions, each function corresponding to a robot R It is described by a program for executing motion. Note that the following move (AP1) may be separately defined as movement between work elements.
  • the task list is information on a list of a plurality of tasks corresponding to each of a plurality of work elements included in a job performed by the robot R.
  • the tasks created for the specific job by the teaching window W3 are sequentially registered in the task list corresponding to the job.
  • the order of the plurality of tasks included in the task list indicates the execution order of the plurality of work elements respectively corresponding to the plurality of tasks.
  • the teaching window W4 in FIG. 8 displays an example of a task list corresponding to a job (“Pen Assembly”) which is a series of operations “attach a cap to a pen and assemble a product”.
  • An example of this task list includes tasks corresponding to the following six work elements (i) to (vi).
  • the teaching window W3 for creating a task shows a case where a task having a name shown in parentheses is created.
  • the operator can set the selected tasks in an arbitrary order in the task list by performing the drag operation while selecting any task with the pointing device in the task list.
  • a robot program is created in the information processing device 2, and the robot program is executed in the robot control device 3.
  • the simulation program is executed.
  • the robot controller 3 is not connected to a real robot, so the controller 31 of the robot controller 3 controls the manipulator based on the data of the model of the manipulator of the robot R recorded in the storage 32. Physical quantities (for example, angular displacement of joint angles of the arm 51, angular velocity, etc.) according to the passage of time of the respective parts constituting the computer are calculated as robot state data.
  • the execution log data including the job execution result and the robot state data is transmitted from the robot control device 3 to the information processing device 2.
  • the information processing device 2 creates and displays a timing chart based on the robot state data.
  • the timing chart created by the information processing device 2 is also referred to as an "offline timing chart".
  • the offline timing chart is an example of a second timing chart.
  • FIG. 9 shows an example of a timing chart displayed on the display device 24 of the information processing device 2.
  • the timing chart illustrated in FIG. 9 shows a timing chart corresponding to the task named “Pickup_Pen1_From_PenTray” in the job (“Pen Assembly”) illustrated in the teaching window W4 in FIG. ing.
  • the timing chart of FIG. 9 includes a part A which displays a graph and a part B which displays a task execution status, and the time from the job start time is displayed at the top. ing.
  • cursors CU1 to CU3 are provided. Each pointing device can move each cursor left and right.
  • the cursor CU1 indicates the time from the start time of the job, and the cursors CU2 and CU3 indicate times when the time indicated by the cursor CU1 is 0.
  • a portion (A) of FIG. 9 displays a waveform (graph) in which changes in reference time (for example, 1 ms) of the following robot state data of the robot R are plotted.
  • the position of the robot R is, for example, the position of the tip flange of the manipulator.
  • ⁇ Command value ("posX") of the position of the X coordinate (world coordinate system) of the robot R
  • ⁇ Command value of position of Y coordinate (world coordinate system) of robot R (“posY")
  • ⁇ Command value ("posZ”) of the position of Z coordinate (world coordinate system) of robot R
  • Angular Velocity angular velocity of joint angle of arm 51
  • the graph displayed in part A of FIG. 9 is only data of a part of a plurality of types of robot state data.
  • the operator can select the type of robot state data to be displayed from among the plurality of types of robot state data.
  • the task name (“Task Function”) and the motion state (“Motion status”) are displayed.
  • the task name (“Task Function”) is "Pickup_Pen1_From_PenTray” as described above, and the period (start time and end time) of the task included in the job is known from FIG.
  • the motion status ("Motion status") corresponds to the motion included in the task. That is, in the motion state ("Motion status"), the period (start time and end time) of the following three types of motion (here, including the hand sequence) can be known.
  • the start time and the end time of each motion match the execution start time and the execution end time of the function corresponding to each motion.
  • the start time of each task matches the start time of the first motion among the plurality of motions included in each task, and the end time of each task is the end time of the last motion among the plurality of motions included in each task Match with
  • -Move ... arc movement. It is mainly used for moving between approach points AP and for moving between departure points DP.
  • ⁇ Move (Line) ... linear movement. It is mainly used for the movement from the approach point AP to the target point TP and for the movement from the target point TP to the departure point DP.
  • HandSequence () ... Hand sequence processing
  • the cause of the error may be displayed in the column of the status of the teaching window W4 of FIG.
  • the cause of the error includes, for example, overspeeding, reaching of the target point, reaching of the singular point and the like.
  • the information processing apparatus 2 causes the robot R and the three-dimensional model of the object to operate in the virtual space based on the robot state data, and the motion of the robot R corresponding to the task as a simulation output. Display the animation (animation) of. Thereby, the operator can confirm the result of simulation of the job in the CAD window.
  • FIG. 10 shows an example of a CAD window W5 for reproducing a moving image of a result of simulation of a job.
  • buttons b4 to b8 are provided as operation objects by the operator.
  • the button b4 is an operation button for causing the robot R and the object to operate in the virtual space so that the same change in robot state data as in the timing chart shown in FIG. 9 (that is, at normal speed).
  • the button b5 is an operation button for operating the robot R and the object in the virtual space so that the robot state data changes at twice the normal speed.
  • the button b6 is an operation button for operating the robot R and the object in the virtual space so that the robot state data changes at a speed lower than the normal speed.
  • the button b7 is an operation button for temporarily stopping the robot R operating in the virtual space and the object.
  • the button b8 is an operation button for operating the robot R and the object in the virtual space by changing the robot state data (that is, performing reverse reproduction) so that the progress of time is in the reverse direction.
  • FIG. 11 is a functional block diagram of the robot simulator 1 according to the embodiment.
  • the robot simulator 1 includes a display control unit 101, a task creation unit 102, a program creation unit 103, a program execution unit 104, a state information calculation unit 105, a simulation unit 107, and an interlock setting unit 108.
  • the robot simulator 1 further includes a task database 221, a hierarchical list database 222, a three-dimensional model database 223, and an execution log database 224.
  • the CPU included in the control unit 21 executes the teaching software and / or the CAD software to perform the processing.
  • the display control unit 101 controls the display device 24 to display the execution results of the teaching software and the CAD software.
  • the control unit 21 of the information processing device 2 generates image data including the output of teaching software and CAD software, buffers it, and transmits it to the display device 24.
  • the display device 24 drives the display drive circuit to display an image on the display panel.
  • the task creation unit 102 has a function of creating a task that is information related to work elements of the robot with respect to the object based on the operation input of the operator.
  • the control unit 21 of the information processing device 2 receives an operation input of the operator from the input device 23, the control unit 21 of FIG.
  • the task is created as a file including information of the target of the work element (Target) and recorded in the storage 22.
  • the control unit 21 determines the task name in accordance with a predetermined rule, based on the type (Function) of the work element and the target (Target) of the work element.
  • the storage 22 stores a task database 221 including tasks created by the task creating unit 102.
  • the control unit 21 of the information processing device 2 sequentially creates tasks corresponding to a plurality of work elements included in a job performed by the robot, and thereby creates a plurality of tasks associated with the job as a task list.
  • each task is recorded in a state associated with a specific job.
  • the display control unit 101 refers to the task database 221 of the storage 22 and displays a task list, which is a list of a plurality of tasks, on the display device 24.
  • a task list which is a list of a plurality of tasks, on the display device 24.
  • the names of the tasks in the displayed task list are configured such that the work contents of the work elements of the robot can be recognized, so that a series of work contents can be intuitively understood by the operator intuitively. It has become.
  • the display control unit 101 displays hierarchical data in which the components of the robot and the components of the object are hierarchically described on the display device 24.
  • the control unit 21 of the information processing device 2 creates a hierarchical list by linking teaching software and CAD software. That is, the control unit 21 receives an operation input for dragging a robot and an object in a CAD image to a desired node of the data format of the tree structure in a state where the robot and the object are selected by the pointing device of the input device 23. Create a list
  • the control unit 21 records the created hierarchical list in the hierarchical list database 222 of the storage 22. In the hierarchical list, each node corresponding to the component of the robot and the component of the object in the data of the tree structure is associated with the corresponding data of the three-dimensional model recorded in the three-dimensional model database 223 It has become.
  • the task creating unit 102 has a function of creating a task based on an operation input of an operator specifying a component of a robot of hierarchical data and a component of an object.
  • the control unit 21 of the information processing device 2 displays a node indicating a hand of a robot corresponding to an operation of gripping a specific target and a node corresponding to the target from the hierarchical list. Create a task based on the operation input of the selected operator. By using the hierarchical list, the operator can create tasks intuitively according to the contents of work elements.
  • the program creation unit 103 has a function of creating a program for causing the robot 5 to execute a work element corresponding to the task based on the task created by the task creation unit 102.
  • the control unit 21 of the information processing device 2 selects the type of work element included in the task, the target of the work element, the approach point, the departure point, the motion parameter, and the interlock. Based on the settings, a function is created in which a program for causing the robot to execute the work element corresponding to the task is written.
  • the program creation unit 103 automatically creates a program by referring to the information included in the task and rewriting the coordinate position etc. in the format of a predetermined program according to the type of the work element stored in the storage 22. Do.
  • the program execution unit 104 has a function of executing a robot program including a task that is information on work elements of the robot.
  • the control unit 21 of the information processing device 2 controls the robot program (program for simulation) created based on at least one task via the communication interface unit 25 Send to 3
  • one job includes a plurality of work elements described by the task and movement between the work elements.
  • One task includes a plurality of motions and an optional hand sequence, and a program for executing a work element corresponding to the task is defined by a plurality of functions. Movement between work elements of the robot is defined by a function described by a program including predetermined default motion parameters.
  • the control unit 31 of the robot control device 3 executes a robot program for one job by sequentially executing a plurality of functions corresponding to each motion and hand sequence.
  • the state information calculation unit 105 has a function of calculating robot state data (example of state information) which is information indicating the state of the robot according to the passage of time based on the execution result by the program execution unit 104. Then, the display control unit 101 is a timing chart showing the state of the robot so that the period corresponding to the task element of the task can be identified on the time axis based on the robot state data obtained by the state information calculation unit 105. (Ie, the off-line timing chart) is displayed on the display device 24.
  • robot state data example of state information
  • example of state information is information indicating the state of the robot according to the passage of time based on the execution result by the program execution unit 104.
  • the display control unit 101 is a timing chart showing the state of the robot so that the period corresponding to the task element of the task can be identified on the time axis based on the robot state data obtained by the state information calculation unit 105. (Ie, the off-line timing chart) is displayed on the display device 24.
  • the control unit 31 of the robot control device 3 causes the information processing device 2 to sequentially execute the program created based on each task. Execute the received robot program. Then, the control unit 31 calculates robot state data in the entire job as the execution result of the robot program, and sequentially records the data in the storage 32.
  • the robot state data is data of physical quantities (for example, arm joint angle, arm speed and acceleration, hand position, etc.) indicating the state of the robot according to the elapsed time calculated based on the model of the manipulator 50. .
  • the control unit 21 of the information processing device 2 When acquiring the execution log data including the robot state data from the robot control device 3, the control unit 21 of the information processing device 2 records the execution log data in the execution log database 224.
  • the control unit 21 generates an image including an off-line timing chart of a predetermined format based on the acquired robot state data for each reference time, and displays the image on the display device 24.
  • the said timing chart is comprised so that the period corresponded to a specific work element can be identified about a series of operation
  • the robot state data may include information of a plurality of types of robots.
  • the display control unit 101 displays the off-line timing chart on the display device 24 based on the information of a part of the robot state data selected from the plurality of types by the operation input of the operator. It is also good. As a result, the operator can display robot status data of the type he / she wishes to check on the off-line timing chart.
  • the method of selecting the type of robot state data is not limited, for example, it is preferable that the display screen of the timing chart is configured to include a menu that allows the type of robot state data to be selected by an operation by the operator.
  • the storage 22 (an example of a storage unit) stores a three-dimensional model database 223 including a three-dimensional model of a robot in a virtual space and information of a three-dimensional model of an object.
  • the simulation unit 107 has a function of operating a three-dimensional model in a virtual space and displaying it on the display device 24 based on the robot state data obtained by the state information calculation unit 105.
  • the control unit 21 of the information processing device 2 reads the execution log data recorded in the execution log database 224, and based on the robot state data included in the execution log data, in the virtual space.
  • the robot and the three-dimensional model of the object are operated and displayed on the display device 24.
  • the operator can visually confirm the operation of the robot of each task, so the setting value of each task (for example, approach point, departure point, motion parameter, etc.) and the arrangement of the object (for example, FIG. It becomes easy to re-examine the arrangement of the cap tray 12 and the like 3).
  • the setting value of each task for example, approach point, departure point, motion parameter, etc.
  • the arrangement of the object for example, FIG. It becomes easy to re-examine the arrangement of the cap tray 12 and the like 3).
  • the simulation unit 107 makes the operation of the three-dimensional model faster or slower than the speed based on the robot state data, or the progress of time in the opposite direction. It may be displayed on Thereby, the operator can reproduce the simulation result at the operator's desired speed or by reverse reproduction.
  • the control unit 21 of the information processing device 2 makes the robot and the object three-dimensional by setting the speed higher or lower than the normal speed according to the operation by the operator on the button of the CAD window.
  • the model is reproduced as a moving image, or the three-dimensional model is reproduced in reverse and displayed on the display device 24. For example, since robot status data for each 1 ms reference time is recorded in the execution log database 224, the control unit 21 creates a reproduction frame according to the operation of the operator.
  • the interlock setting unit 108 has a function of setting a time-out value of the waiting time for waiting the operation of the robot at at least one of the target point, the approach point and the departure point set to the task based on the operation input of the operator.
  • the control unit 21 of the information processing device 2 performs the operation input of the operator received by the input device 23 (for example, the operation input in the teaching window W3 of FIG. 7).
  • the storage 22 is accessed, and the timeout value of the interlock waiting time set at the specific approach point or departure point included in the task included in the task database 221 is rewritten.
  • the interlock setting unit 108 allows the operator to easily set the timeout value of the standby time by the interlock for each work element when performing the off-line teaching of the robot.
  • the simulation unit 107 may operate the three-dimensional model in the virtual space by invalidating the standby time due to the interlock. That is, when the simulation program is executed, the three-dimensional model is operated without waiting for the interlock. As a result, the operator can check the execution result of the program paying attention to the movement of the robot without stopping the robot in the virtual space.
  • FIG. 12 is an example of a sequence chart showing job execution processing of the robot simulator according to the present embodiment.
  • the program creation unit 103 creates a robot program for causing the robot R to execute a job.
  • the robot program includes a plurality of functions in which programs for causing the robot R to execute the work elements corresponding to the tasks in the task list corresponding to the job are described.
  • the created robot program is transmitted from the information processing device 2 to the robot control device 3 (step S14) and executed by the robot control device 3. That is, the program execution unit 104 executes the robot program in task units (step S16).
  • the state information calculation unit 105 calculates robot state data which is information indicating the state of the robot R according to the passage of time based on the execution result by the program execution unit 104, and stores execution log data including the robot state data. Record in 32 (step S18).
  • the processes of steps S16 and S18 are performed until all tasks included in the task list are completed.
  • the robot control device 3 transmits the execution log data to the information processing device 2 (step S22).
  • the execution log data includes robot state data for each predetermined reference time (for example, 1 ms) along the time axis of the progress of the job, and the execution result of the robot program.
  • the information processing device 2 records the received execution log data in the execution log database 224.
  • the display control unit 101 sets a timing chart (offline, based on robot status data (that is, robot status data obtained by the status information calculation unit 105) included in the execution log data received in step S22 (offline)
  • the timing chart is displayed on the display unit 24 (step S24).
  • the simulation unit 107 operates the three-dimensional model in the virtual space based on the robot state data and displays it on the display device 24 (step S26).
  • the robot simulator 1 calculates robot state data based on the execution result of the robot program corresponding to the job, and based on the robot state data, determines the task element on the time axis.
  • An offline timing chart is displayed so that the corresponding period can be identified. Therefore, when displaying the result of simulation about a series of tasks of the robot, the period corresponding to the specific task can be identified, and the consideration for each task can be supported.
  • FIG. 13 is a view showing the overall configuration of a robot simulator 1A of the present embodiment.
  • FIG. 14 is a diagram showing a hardware configuration of each device included in the robot simulator 1A of the present embodiment.
  • symbol is attached
  • the robot simulator 1A includes an information processing device 2 and a robot control device 3A.
  • the information processing device 2 and the robot control device 3A are communicably connected by, for example, a communication network cable EC.
  • the robot control device 3A is common to the robot control device 3 of the first embodiment in that it executes the robot program transmitted from the information processing device 2, but the robot control in that it is connected to the robot R and the cable WC. Different from device 3.
  • the robot control device 3A is disposed in the vicinity of the actual robot.
  • the robot control device 3A includes a control unit 31A, a storage 32, and a communication interface unit 33.
  • the control unit 31A of the robot control device 3A executes a robot program to generate a control signal for the robot R.
  • the control signal for the robot R is a signal (for example, a pulse signal) indicating a command value for the robot R.
  • the command value for the robot R is, for example, a target value such as the position, velocity, or acceleration of the robot R.
  • the control unit 31A acquires robot state data, which is data indicating the state of the robot R, from the robot R.
  • the present embodiment differs from the first embodiment in that the robot state data acquired by the control unit 31A is acquired from the robot R instead of the operation value.
  • the robot state data of this embodiment includes input / output signals to / from the robot R.
  • the control unit 31 ⁇ / b> A sequentially records robot state data acquired from the robot R in the storage 32.
  • the control unit 31A reads robot state data for each predetermined reference time (for example, 1 ms) along the time axis of the progress of the job from the storage 32, and executes the read robot state data and the execution result of the robot program.
  • Log data is transmitted to the information processing device 2.
  • the robot R includes a manipulator 50 as a robot body, a control device 55, a sensor group 56, and an input / output unit 57.
  • the manipulator 50 is a main body of the robot R, and includes an arm 51 and a hand 52, and a plurality of motors for controlling the positions and angles of the arm 51 and the hand 52.
  • the control device 55 includes a servo mechanism that controls a motor provided in the manipulator 50 so as to follow a command value received from the robot control device 3A.
  • the sensor group 56 may include a plurality of sensors that detect the position, velocity, and acceleration of the manipulator 50, and the angle, angular velocity, and the like of each joint.
  • the robot state data transmitted from the controller 55 to the robot controller 3A may be a physical quantity of the manipulator 50 detected by any of the sensors of the sensor group 56, or a physical quantity that can be estimated from a control current value or the like for the motor. It may be For example, when the angular velocity sensor of the joint angle of the arm 51 is provided, the data of the angular velocity of the joint angle of the arm 51 may be a detection value of the angular velocity sensor, or a servo for controlling the motor of the manipulator 50 It may be a control current value in the mechanism.
  • the input / output unit 57 is an input / output interface with a system outside the robot R.
  • examples of the input signal include an interlock signal from an external system, and a signal for correcting the position of the object when the robot R is disposed in a line as described later. .
  • Timing Chart of this Embodiment the robot R of the actual machine is connected to the robot control device 3A, and based on the robot state data acquired from the robot R, a timing chart is created in the information processing device 2 Be done.
  • the timing chart created in the present embodiment is also referred to as an “online timing chart” as appropriate.
  • the on-line timing chart is an example of a first timing chart.
  • FIG. 15 shows an example of a timing chart of the present embodiment.
  • the timing chart of FIG. 15 includes a part C that is a part that displays input / output signals, in addition to a part A that is a part that displays a graph and a part B that is a part that displays the task execution status.
  • the robot state data included in the online timing chart may include the state of input / output signals in the robot. It is preferable that the input / output signals displayed on the online timing chart can be selected from the input / output signals provided to the robot R by the operation input of the operator.
  • a waveform (graph) in which changes at each reference time (for example, 1 ms) of the following robot state data acquired from the robot R are plotted is displayed.
  • ⁇ Acquisition value of position of robot R's X coordinate (world coordinate system) ("posX") ⁇ Acquisition value of position of Y coordinate (world coordinate system) of robot R ("posY")
  • PosZ Acquisition value of position of robot R's Z coordinate (world coordinate system)
  • Angular Velocity Acquired value of angular velocity of joint angle of arm 51
  • the start time and the end time of each motion coincide with the execution start time and the execution end time of the function corresponding to each motion.
  • the start time of each task matches the start time of the first motion among the plurality of motions included in each task, and the end time of each task is the end time of the last motion among the plurality of motions included in each task Match with
  • part C of FIG. 15 the state (ON (H level) or OFF (L level)) of the I / O (input / output signal) is displayed.
  • the numbers in [] are predetermined I / O numbers, and the characters following [] indicate the contents of I / O.
  • the input-output signal contained in C part may show indeterminate. In the example shown in FIG. 15, I / O of the following contents is shown.
  • Pen Set A camera is provided in the working environment of the actual robot R, and is turned on when the camera recognizes the pen tray. When the pen tray is fixed and arranged, it is always on. However, when the pen tray is carried in a line, the camera switches from OFF to ON when it recognizes the pen in the pen tray.
  • Vision lock on Indicates a correction timing for correcting the command value for the robot R based on the position of the pen tray recognized by the camera installed in the working environment of the robot R of the actual machine. It turns ON when the correction timing is reached. The correction timing is preset for the task.
  • Hand 1 grasp ... Turns on when the hand holds the pen. The timing of ON differs depending on the hand sequence. ⁇ [17] Hand1 release ... It turns ON when the hand releases the pen.
  • the robot R of the actual machine is turned on during the picking up operation, it can be understood that the user has failed to grasp the object and drops it.
  • the period (start time and end time) of each task included in the job of robot R and each task are included.
  • Period of motion (start time and end time) to be known.
  • the time t3 which is the correction timing of the command value for the robot R is later than the time t2 which is the start time of the motion corresponding to the command value.
  • FIG. 16 is a functional block diagram of a robot simulator 1A according to the embodiment.
  • the robot simulator 1A includes a display control unit 101, a task creation unit 102, a program creation unit 103, a program execution unit 104, a state information acquisition unit 106, a simulation unit 107, and an interlock setting unit 108.
  • the robot simulator 1A according to the present embodiment differs from the robot simulator 1 according to the first embodiment in that the state information acquisition unit 106 is provided instead of the state information calculation unit 105.
  • control unit 21 of the information processing device 2 recognizes, for example, an operation input to the button b3 of the teaching window W3 (FIG. 8). And transmit the robot program to the robot control apparatus 3A.
  • the control unit 31A of the robot control device 3A executes the received program for a real machine.
  • the state information acquisition unit 106 generates a control signal for the robot based on the execution result by the program execution unit 104, and robot state data, which is information indicating a state according to the passage of time of the robot operating according to the control signal, It has a function to acquire from a robot.
  • the display control unit 101 determines the state of the robot so that the period corresponding to the task element of the task can be identified on the time axis based on the robot state data obtained by the state information acquisition unit 106.
  • the timing chart ie, the on-line timing chart
  • the control unit 31A of the robot control device 3A sequentially executes the program created based on each task, from the information processing device 2 Execute the received robot program. Then, the control unit 31A generates a control signal including a command value for the robot R every time the function included in the robot program is executed, and transmits the control signal to the robot R.
  • the control device 55 of the robot R controls the motor provided in the manipulator 50 so as to follow the command value received from the robot control device 3A, and transmits robot state data to the robot control device 3A.
  • the robot state data is a physical quantity of the manipulator 50 detected by any of the sensors of the sensor group 56 or an estimated value (for example, a control current value or the like) of the physical quantity of the manipulator 50.
  • the control unit 31A of the robot control device 3A sequentially records the robot state data acquired from the robot R in the storage 32.
  • the control unit 31A reads robot state data accumulated in the storage 32 every predetermined reference time (for example, 1 ms), and transmits execution log data including robot state data read every predetermined reference time to the information processing apparatus 2 Do.
  • the control unit 21 of the information processing device 2 records the received execution log data in the execution log database 224.
  • control unit 21 generates an image including a timing chart (on-line timing chart) of a predetermined format based on robot state data included in the execution log data, and displays the display device 24. Display on The timing chart can make it possible to identify a period corresponding to a specific work element in a series of work of the robot.
  • the robot in the robot state data, may include plural types of information.
  • the display control unit 101 displays an online timing chart on the display device 24 based on the information of a part of the robot state data selected from the plurality of types by the operation input of the operator. It is also good.
  • the simulation unit 107 may have a function of operating the three-dimensional model in the virtual space and displaying it on the display device 24 based on the robot state data obtained by the state information acquisition unit 106. At this time, the simulation unit 107 causes the motion of the three-dimensional model to be faster or slower than the speed based on the robot state data, or to make the progress of time reverse. It may be displayed on the display device 24.
  • the control unit 21 of the information processing device 2 causes the display device 24 to operate the three-dimensional model of the robot and the object in the virtual space based on the robot state data for each reference time acquired from the robot R. indicate.
  • the operator can visually confirm the operation of the robot of each task, so the setting value of each task (for example, approach point, departure point, motion parameter, etc.) and the arrangement of the object (for example, FIG. It becomes easy to re-examine the arrangement of the cap tray 12 and the like 3).
  • the setting value of each task for example, approach point, departure point, motion parameter, etc.
  • the arrangement of the object for example, FIG. It becomes easy to re-examine the arrangement of the cap tray 12 and the like 3).
  • the process of displaying the online timing chart and reproducing the moving image of the three-dimensional model is substantially in common with the process of the flowchart shown in FIG. 12, but in step S18, robot state data is acquired from the robot R Differs in that they are recorded.
  • the robot simulator 1A of this embodiment transmits a command value to the robot based on the execution result of the robot program corresponding to the job, and acquires robot state data from the robot. Then, based on the acquired robot state data, the robot simulator 1A displays the online timing chart so that the period corresponding to the task element of the task can be identified on the time axis. Therefore, when displaying the result of a series of tasks of a real robot, it is possible to identify a period corresponding to a specific task, and to support consideration for each task.
  • the robot simulator of the present embodiment has the functions of the robot simulator 1 of the first embodiment and the functions of the robot simulator 1A of the second embodiment, and both the off-line timing chart and the on-line timing chart are displayed on the display device 24. indicate. That is, in the present embodiment, the display control unit 101 displays the offline timing chart (example of the second timing chart) and the online timing chart (example of the first timing chart) as the state of the robot in a period equivalent to the task element of the task. Are displayed on the display device 24 so that they can be compared. With this display, it is possible to compare and examine robot state data in the case where the same job is connected to the robot and in the case where the robot is not connected to each other for each work element included in the job.
  • robot state data (computed robot state data and robots obtained by executing robot programs created for the same job)
  • the acquired robot state data is recorded.
  • the control unit 21 of the information processing device 2 displays the off-line timing chart based on the calculated robot state data and the on-line timing chart based on the robot state data acquired from the robot on the display 24 that can be compared. .
  • the display mode that makes it possible to compare the offline timing chart and the online timing chart is not limited.
  • the offline timing chart is displayed on the upper side of the display screen
  • the online timing chart is displayed on the lower side of the display screen.
  • the display control unit 101 displays the off-line timing chart and the on-line timing chart in a switchable manner, or superimposes the off-line timing chart and the on-line timing chart on a common time axis and displays them on the display device 24. . With this display mode, it becomes easy to compare the off-line timing chart and the on-line timing chart.
  • FIG. 17 shows an example in which the off-line timing chart and the on-line timing chart are superimposed and displayed on a common time axis.
  • the off-line timing chart shown in FIG. 9 is displayed superimposed on the on-line timing chart shown in FIG. 15 on a common time axis.
  • FIG. 18 shows an example in which the off-line timing chart and the on-line timing chart are displayed switchably.
  • a tab named “Result # 1 (robot not connected)” corresponding to the offline timing chart and a name “Result # 2 (robot connected) corresponding to the online timing chart And tabs are provided switchably.
  • FIG. 18 shows the case where the tab named “Result # 1 (robot not connected)” is selected, and has the same display content as the off-line timing chart of FIG.
  • the display control unit 101 may display an off-line timing chart or an on-line timing chart on the display device 24 so that the states of robots in different work elements can be compared. Thereby, it is possible to compare the state of the robot among different work elements among the plurality of work elements included in the robot's job.
  • the control unit 21 of the information processing device 2 controls the information processing device 2 based on the operation input of the operator who selects two tasks among the plurality of tasks included in the job.
  • the unit 21 creates a timing chart in which the periods of the two selected tasks are configured in parallel.
  • the timing chart is created such that the start times of the selected two task periods coincide.
  • the simulation unit 107 operates the three-dimensional model based on robot state data in a partial period designated based on the operator's operation input among the periods displayed in the off-line timing chart or the on-line timing chart. It may be displayed on the display device 24. As a result, it is possible to confirm the operation of the robot in the period that the operator wants to focus on during the entire period of the job.
  • the offline timing chart or the online timing chart is provided with a button b4 (an operation button for operating the robot and the object at a normal speed) as illustrated in FIG.
  • the control unit 21 of the information processing device 2 reproduces the moving image corresponding to the off-line timing chart or the on-line timing chart based on the operation input of the button b4. At this time, by operating the cursors CU1 to CU3 provided on the timing chart, it is possible to designate a period to be a reproduction target of a moving image as a part of the periods displayed on the timing chart.
  • the display control unit 101 may display the on-line timing chart on the display device 24 so that the states of the robots in different execution results can be compared even with the same work element. Thereby, it is possible to grasp the variation of the state of the robot when trying the same task a plurality of times.
  • the control unit 21 of the information processing device 2 plots and plots a plurality of robot state data acquired by executing the robot program a plurality of times such that the start times of jobs coincide with each other. Create a timing chart.
  • the information processing device 2 may provide useful information based on robot state data acquired from the robot control device 3. For example, by providing information obtained by statistically processing the movement distance and the number of movements between work elements in a job, it is possible to support consideration of the location, direction, etc. of supply and / or discharge of an object in a line. Also, the time ratio between the operation time of the robot in the job and the waiting time may be calculated and presented. As a result, it is possible to support consideration of improvement of the work order in the job or slowing down of unnecessary high speed operation.
  • the robot simulator according to the embodiment described above does not have to have all the functions described in the functional block diagram of FIG. 11 or FIG. 16, and may have at least a part of the functions.
  • the robot simulator is illustrated as including the two devices of the information processing device and the robot control device, but the invention is not limited thereto, and may be configured as an integrated device.
  • the input device of the information processing apparatus includes the pointing device
  • the present invention is not limited thereto, and another device may be used.
  • a display panel provided with a touch input function may be used to receive touch input by an operator.

Abstract

[Problem] To assist the examination of individual operation elements with respect to the result of execution of a series of operations performed by a robot. [Solution] According to one embodiment, the present invention comprises: a program execution unit that executes a robot program including tasks, which are information pertaining to operation elements of a robot; a condition information acquisition unit that generates a control signal for the robot on the basis of the result of execution by the program execution unit, and acquires from the robot condition information, which is information indicating a condition that corresponds to the passage of time with respect to the robot operating due to the control signal; and a display control unit that displays, on a display device, a first timing chart indicating the condition of the robot on the basis of the condition information obtained by the condition information acquisition unit, the first timing chart being displayed so that it will become possible to distinguish between periods that correspond to the operation elements of the tasks on a time axis.

Description

ロボットシミュレータRobot simulator
 本発明は、ロボットシミュレータに関する。 The present invention relates to a robot simulator.
 ロボットの動作をティーチング(教示)するとともに、ロボットの3次元モデルによりロボットにティーチングした動作をシミュレーションすることが知られている。例えば特許文献1には、アームに研削加工ツールを装着したロボットの動作のシミュレートすることが記載されている。 It is known to teach (teaching) the motion of a robot and to simulate the motion taught to the robot by a three-dimensional model of the robot. For example, Patent Document 1 describes simulating the operation of a robot in which a grinding tool is attached to an arm.
特許第4961447号公報Patent No. 4961447 gazette
 ところで、教示対象となるロボットが行う一連の作業に複数の作業要素が含まれる場合に、当該一連の作業のロボットの実行結果に対して、複数の作業要素の各々について確認したいという要請がある。ここで、「作業要素」とは、物体を「取る」や「置く」等、一連の作業の中でロボットが行う最小単位の作業を意味する。作業要素ごとのロボットの状態に着目することで、ロボットによる一連の作業のティーチング、及び/又は、ロボットと作業の対象物の配置の改善を図ることができる。 By the way, when a plurality of work elements are included in a series of work performed by a robot to be taught, there is a demand to check each of the plurality of work elements in the execution result of the robot of the series of works. Here, “work element” means the minimum unit of work performed by the robot in a series of work such as “take” or “place” an object. By focusing on the state of the robot for each work element, it is possible to improve the teaching of a series of work by the robot and / or the arrangement of the robot and the work target.
 そこで、本発明は、ロボットによる一連の作業の実行結果に対して、作業要素ごとの検討を支援することを目的とする。 Then, this invention aims at supporting examination of every operation element with respect to the execution result of a series of operation | work by a robot.
 本願の例示的な第1発明は、ロボットの作業要素に関する情報であるタスクを含むロボットプログラムを実行するプログラム実行部と、前記プログラム実行部による実行結果に基づいて前記ロボットに対する制御信号を生成し、当該制御信号によって動作する前記ロボットの時間の経過に応じた状態を示す情報である状態情報を、前記ロボットから取得する状態情報取得部と、前記状態情報取得部により得られた前記状態情報に基づいて、時間軸において前記タスクの作業要素に相当する期間が識別可能となるように、前記ロボットの状態を示す第1タイミングチャートを表示装置に表示する表示制御部と、を備えた、ロボットシミュレータである。 In an exemplary first invention of the present application, there is provided a program execution unit that executes a robot program including a task that is information related to work elements of the robot, and a control signal to the robot based on an execution result by the program execution unit. Based on the state information acquired by the state information acquiring unit acquiring from the robot state information which is information indicating a state according to the elapsed time of the robot operated by the control signal, and based on the state information acquired by the state information acquiring unit And a display control unit for displaying on the display device a first timing chart indicating a state of the robot such that a period corresponding to a work element of the task can be identified on a time axis. is there.
 本発明によれば、ロボットによる一連の作業の実行結果に対して、作業要素ごとの検討を支援することができる。 According to the present invention, it is possible to support examination of each work element with respect to the execution result of a series of work by a robot.
図1は、第1の実施形態のロボットシミュレータの全体構成について示す図である。FIG. 1 is a view showing the overall configuration of a robot simulator according to the first embodiment. 図2は、第1の実施形態のロボットシミュレータに含まれる各装置のハードウェア構成を示す図である。FIG. 2 is a diagram showing a hardware configuration of each device included in the robot simulator of the first embodiment. 図3は、第1の実施形態の一例に係る3次元CAD用ウィンドウを示す図である。FIG. 3 is a view showing a three-dimensional CAD window according to an example of the first embodiment. 図4は、第1の実施形態の一例に係る教示用ウィンドウを示す図である。FIG. 4 is a view showing a teaching window according to an example of the first embodiment. 図5は、ジョブを概念的に説明するための図である。FIG. 5 is a diagram for conceptually explaining a job. 図6は、タスクを概念的に説明するための図である。FIG. 6 is a diagram for conceptually explaining a task. 図7は、第1の実施形態の一例に係る教示用ウィンドウの遷移を示す図である。FIG. 7 is a view showing transition of a window for teaching according to an example of the first embodiment. 図8は、タスクリストの一例を示す図である。FIG. 8 is a diagram showing an example of the task list. 図9は、第1の実施形態に係るロボットシミュレータによって表示されるタイミングチャートの一例を示す図である。FIG. 9 is a view showing an example of a timing chart displayed by the robot simulator according to the first embodiment. 図10は、第1の実施形態の一例に係る3次元CAD用ウィンドウを示す図である。FIG. 10 is a view showing a three-dimensional CAD window according to an example of the first embodiment. 図11は、第1の実施形態に係るロボットシミュレータの機能ブロック図である。FIG. 11 is a functional block diagram of the robot simulator according to the first embodiment. 図12は、第1の実施形態に係るロボットシミュレータの処理を示すシーケンスチャートの例である。FIG. 12 is an example of a sequence chart showing processing of the robot simulator according to the first embodiment. 図13は、第2の実施形態のロボットシミュレータの全体構成について示す図である。FIG. 13 is a view showing the overall configuration of a robot simulator according to the second embodiment. 図14は、第2の実施形態のロボットシミュレータに含まれる各装置のハードウェア構成を示す図である。FIG. 14 is a diagram showing a hardware configuration of each device included in the robot simulator of the second embodiment. 図15は、第2の実施形態に係るロボットシミュレータによって表示されるタイミングチャートの一例を示す図である。FIG. 15 is a view showing an example of a timing chart displayed by the robot simulator according to the second embodiment. 図16は、第2の実施形態に係るロボットシミュレータの機能ブロック図である。FIG. 16 is a functional block diagram of a robot simulator according to the second embodiment. 図17は、第3の実施形態に係るロボットシミュレータによって表示されるタイミングチャートの一例を示す図である。FIG. 17 is a view showing an example of a timing chart displayed by the robot simulator according to the third embodiment. 図18は、第3の実施形態に係るロボットシミュレータによって表示されるタイミングチャートの一例を示す図である。FIG. 18 is a view showing an example of a timing chart displayed by the robot simulator according to the third embodiment.
 以下、本発明のロボットシミュレータの実施形態について説明する。
 以下の説明において、「作業要素」とは、物体を「取る」や「置く」等、一連の作業の中でロボットが行う最小単位の作業を意味する。
 「対象物」とは、ロボットの作業の対象となる物体を意味し、ロボットが把持する物体(例えば、加工対象物であるワーク)に限らず、ロボットの作業に関連する物体(例えば、ロボットが把持する物体を置く棚)をも含む。
Hereinafter, an embodiment of a robot simulator of the present invention will be described.
In the following description, "work element" means the minimum unit of work performed by the robot in a series of work such as "take" or "place" an object.
"Object" means an object that is the target of the robot's work, and is not limited to the object that the robot grips (for example, the workpiece that is the processing object), but an object related to the robot's work (for example, the robot Also includes a shelf) on which an object to be gripped is placed.
 (1)第1の実施形態
 第1の実施形態のロボットシミュレータは、ロボットの実機に接続することなく、ロボットの実機の動作をシミュレートし、ロボットの状態をタイミングチャートに表示する。
(1) First Embodiment The robot simulator according to the first embodiment simulates the operation of an actual robot without connecting it to the actual robot, and displays the state of the robot on a timing chart.
 (1-1)本実施形態に係るロボットシミュレータの構成
 以下、本実施形態のロボットシミュレータ1の構成について、図1および図2を参照して説明する。図1は、本実施形態のロボットシミュレータ1の全体構成について示す図である。図2は、本実施形態のロボットシミュレータ1に含まれる各装置のハードウェア構成を示す図である。
(1-1) Configuration of Robot Simulator According to Present Embodiment Hereinafter, the configuration of the robot simulator 1 according to the present embodiment will be described with reference to FIG. 1 and FIG. FIG. 1 is a view showing the overall configuration of a robot simulator 1 of the present embodiment. FIG. 2 is a diagram showing a hardware configuration of each device included in the robot simulator 1 of the present embodiment.
 図1に示すように、ロボットシミュレータ1は、情報処理装置2およびロボット制御装置3を備える。情報処理装置2とロボット制御装置3とは、例えば通信ネットワークケーブルECにより通信可能に接続される。
 情報処理装置2は、工場のラインに設置されたロボットに対して動作を教示するための装置である。情報処理装置2は、オペレータによるオフラインティーチングを行うために設けられており、例えばロボットが設置される工場から離れた位置(例えば、オペレータの作業場所)に配置される。
As shown in FIG. 1, the robot simulator 1 includes an information processing device 2 and a robot control device 3. The information processing device 2 and the robot control device 3 are communicably connected by, for example, a communication network cable EC.
The information processing apparatus 2 is an apparatus for teaching an operation to a robot installed in a factory line. The information processing device 2 is provided to perform off-line teaching by the operator, and is disposed, for example, at a position away from the factory where the robot is installed (for example, a work place of the operator).
 ロボット制御装置3は、情報処理装置2から送信されるロボットプログラムを実行する。本実施形態ではロボット制御装置3はロボットと接続されないが、ロボットと接続された場合には、ロボットプログラムの実行結果に応じた制御信号をロボットに送り、ロボットを動作させることが可能である。そのため、好ましくは、ロボット制御装置3は、ロボットの実機の近傍に配置される。 The robot control device 3 executes a robot program transmitted from the information processing device 2. In this embodiment, the robot control device 3 is not connected to the robot, but when connected to the robot, it is possible to send a control signal according to the execution result of the robot program to the robot to operate the robot. Therefore, preferably, the robot control device 3 is disposed in the vicinity of the actual robot.
 図2に示すように、情報処理装置2は、制御部21と、ストレージ22と、入力装置23と、表示装置24と、通信インタフェース部25とを備える。
 制御部21は、CPU(Central Processing Unit)、ROM(Read Only Memory)、および、RAM(Random Access Memory)を含む。ROMには、3次元CADアプリケーションプログラムと教示ソフトウェアが記憶されている。CPUは、ROM上の3次元CADアプリケーションソフトウェア(以下、適宜「CADソフトウェア」という。)と教示ソフトウェアをRAMに展開して実行する。教示ソフトウェアとCADソフトウェアは、API(Application Program Interface)を介して協調して処理を実行する。
 制御部21は、CADソフトウェアによる動画再生を行うために、フレーム単位で画像を連続的に表示する。
As shown in FIG. 2, the information processing device 2 includes a control unit 21, a storage 22, an input device 23, a display device 24, and a communication interface unit 25.
The control unit 21 includes a central processing unit (CPU), a read only memory (ROM), and a random access memory (RAM). The ROM stores a three-dimensional CAD application program and teaching software. The CPU executes three-dimensional CAD application software (hereinafter referred to as “CAD software” as appropriate) on the ROM and teaching software in the RAM. The teaching software and the CAD software execute processing in cooperation via an API (Application Program Interface).
The control unit 21 continuously displays images in frame units in order to perform moving image reproduction by CAD software.
 ストレージ22は、HDD(Hard Disk Drive)あるいはSSD(Solid State Drive)等の大容量記憶装置であり、制御部21のCPUにより逐次アクセス可能に構成されている。後述するように、ストレージ22には、タスクデータベース221、階層型リストデータベース222、3次元モデルデータベース223、および、実行ログデータベース224が格納される。
 ストレージ22には、CADソフトウェアを実行するときに参照される3次元モデルのデータが格納される。本実施形態の例では、ストレージ22には、ロボットおよび対象物(例えば、後述するペン、キャップ、製品、ペントレイ、キャップトレイ、製品トレイ)の3次元モデルのデータが格納される。
 ストレージ22には、ロボット制御装置3から取得した実行ログデータが格納される。実行ログデータには、ロボットプログラムの実行結果と、後述するロボット状態データとが含まれる。
 ロボット状態データは、後述するタイミングチャートの作成に使用される。ロボット状態データはまた、3次元CADによってロボットの動作を仮想空間内で動画(アニメーション)により再現するために使用されてもよい。
The storage 22 is a large-capacity storage device such as a hard disk drive (HDD) or a solid state drive (SSD), and is configured to be sequentially accessible by the CPU of the control unit 21. As described later, the storage 22 stores a task database 221, a hierarchical list database 222, a three-dimensional model database 223, and an execution log database 224.
The storage 22 stores data of a three-dimensional model that is referred to when executing CAD software. In the example of the present embodiment, the storage 22 stores data of a three-dimensional model of a robot and an object (for example, a pen, a cap, a product, a pen tray, a cap tray, a product tray described later).
The storage 22 stores execution log data acquired from the robot control device 3. The execution log data includes robot program execution results and robot state data to be described later.
The robot state data is used to create a timing chart to be described later. The robot state data may also be used to reproduce the motion of the robot in a virtual space by animation (animation) by three-dimensional CAD.
 入力装置23は、オペレータによる操作入力を受け付けるためのデバイスであり、ポインティングデバイスを含む。
 表示装置24は、教示ソフトウェアおよびCADソフトウェアの実行結果を表示するためのデバイスであり、表示駆動回路および表示パネルを含む。
 通信インタフェース部25は、ロボット制御装置3との間でネットワーク通信を行うための通信回路を含む。
The input device 23 is a device for receiving an operation input by an operator, and includes a pointing device.
The display device 24 is a device for displaying execution results of teaching software and CAD software, and includes a display drive circuit and a display panel.
The communication interface unit 25 includes a communication circuit for performing network communication with the robot control device 3.
 ロボット制御装置3は、制御部31と、ストレージ32と、通信インタフェース部33とを備える。
 制御部31は、CPU、ROM、RAM、および、制御回路を含む。制御部31は、情報処理装置2から受信するロボットプログラムを実行し、実行ログデータを出力する。上述したように、実行ログデータには、ロボットプログラムの実行結果と、ロボットプログラムに記述された作業を実行するロボットのロボット状態データとを含む。
 ストレージ32は、ロボットのマニピュレータ(アーム51、ハンド52を含むロボット本体)のモデルのデータを備えている。制御部31は、ロボットプログラムの実行結果に基づいて、マニピュレータを構成する各部のジョブを実行中の時間の経過に応じた物理量(例えば、アーム51の関節角の角度変位、角速度、ハンド52の位置等)を演算する。かかる物理量のデータが上記ロボット状態データに含まれる。
The robot control device 3 includes a control unit 31, a storage 32, and a communication interface unit 33.
The control unit 31 includes a CPU, a ROM, a RAM, and a control circuit. The control unit 31 executes a robot program received from the information processing device 2 and outputs execution log data. As described above, the execution log data includes the execution result of the robot program and robot state data of the robot that executes the work described in the robot program.
The storage 32 includes data of a model of a robot manipulator (a robot body including the arm 51 and the hand 52). The control unit 31 is a physical quantity (for example, an angular displacement of the joint angle of the arm 51, an angular velocity, a position of the hand 52, etc.) according to the passage of time during execution of the job of each unit constituting the manipulator based on the execution result of the robot program. Etc.). The data of the physical quantity is included in the robot state data.
 ストレージ32は、HDDあるいはSSD等の大容量記憶装置であり、制御部31のCPUにより逐次アクセス可能に構成されている。ストレージ32には、ロボットのマニピュレータのモデルのデータの他に、ロボットプログラムおよび実行ログデータが格納される。
 通信インタフェース部33は、情報処理装置2との間でネットワーク通信を行うための通信回路を含む。
The storage 32 is a mass storage device such as an HDD or an SSD, and is configured to be sequentially accessible by the CPU of the control unit 31. The storage 32 stores a robot program and execution log data in addition to data of a model of a robot manipulator.
The communication interface unit 33 includes a communication circuit for performing network communication with the information processing device 2.
 (1-2)オフラインティーチングにおけるユーザインタフェース
 ロボットのシミュレーションを実行する前に、オペレータは、情報処理装置2を使用して、ロボットに対するオフラインティーチングを行い、ロボットプログラムを作成する。ロボットプログラムを作成するに当たって、本実施形態の好ましい例では、CADソフトウェアと教示ソフトウェアを情報処理装置2に実行させる。
 CADソフトウェアの実行結果はCAD用ウィンドウに表示され、教示ソフトウェアの実行結果は教示用ウィンドウに表示される。オペレータは、CAD用ウィンドウと教示用ウィンドウの両方を情報処理装置2に表示させ、あるいはCAD用ウィンドウと教示用ウィンドウを切り替えながら情報処理装置2に表示させ、ティーチングやCADによる動画再生に関連する操作を行う。
(1-2) User Interface in Off-Line Teaching Before executing a simulation of a robot, the operator performs off-line teaching on the robot using the information processing apparatus 2 to create a robot program. In creating a robot program, in a preferred example of the present embodiment, CAD software and teaching software are executed by the information processing apparatus 2.
The execution result of CAD software is displayed in a CAD window, and the execution result of teaching software is displayed in a teaching window. The operator causes both the CAD window and the teaching window to be displayed on the information processing apparatus 2 or causes the information processing apparatus 2 to display the CAD window and the teaching window while switching between the CAD window and the teaching window. I do.
 図3に、本実施形態の一例に係るCAD用ウィンドウW1を示す。図3には、テーブルTの上に、ロボットRと、ペントレイ11と、キャップトレイ12と、治具13と、製品トレイ14とが、仮想空間に配置された状態の画像(以下、適宜「CAD画像」という。)が表示されている。
 図3に示す例では、ロボットRがペンにキャップを嵌めて製品(ペンにキャップが嵌められた状態の完成品)を組み立てる一連の作業を行うことが想定されている。ペントレイ11には複数のペンからなるペン群Pが配置され、キャップトレイ12には複数のキャップからなるキャップ群Cが配置されている。治具13は、ロボットRがペンを一時的に配置してキャップを嵌める作業を行うための部材である。製品トレイ14は、製品を置くための部材である。
FIG. 3 shows a CAD window W1 according to an example of the present embodiment. In FIG. 3, an image in a state where the robot R, the pen tray 11, the cap tray 12, the jig 13, and the product tray 14 are arranged in a virtual space on the table T (hereinafter referred to as “CAD as appropriate” The image is displayed.
In the example shown in FIG. 3, it is assumed that the robot R performs a series of operations for assembling a product (a finished product with the cap fitted on the pen) by fitting the cap on the pen. A pen group P composed of a plurality of pens is disposed on the pen tray 11, and a cap group C composed of a plurality of caps is disposed on the cap tray 12. The jig 13 is a member for the robot R to temporarily arrange a pen and fit a cap. The product tray 14 is a member for placing a product.
 図3に示す例では、ペン群Pに含まれる各ペン、キャップ群Cに含まれる各キャップ、ペントレイ11、キャップトレイ12、治具13、製品トレイ14の各々は、ロボットRの作業対象である対象物の例である。また、ペンにキャップが嵌められた製品も対象物の例である。 In the example illustrated in FIG. 3, each pen included in the pen group P, each cap included in the cap group C, the pen tray 11, the cap tray 12, the jig 13, and the product tray 14 are work targets of the robot R. It is an example of an object. Further, a product in which a cap is fitted to a pen is also an example of an object.
 (1-2-1)階層型リスト
 図4に、本実施形態の一例に係る教示用ウィンドウW2を示す。教示用ウィンドウW2に表示されているのは、図3のCAD画像に含まれているロボットR、および、対象物の階層関係を示す階層型リストである。
(1-2-1) Hierarchical List FIG. 4 shows a teaching window W2 according to an example of the present embodiment. Displayed in the teaching window W2 is a robot R included in the CAD image of FIG. 3 and a hierarchical list showing hierarchical relationships of objects.
 教示ソフトウェアは、CADソフトウェアと連携して階層型リストを作成することができる。階層型リストとして木構造のデータフォーマットが教示ソフトウェアによって用意される。オペレータは、CAD用ウィンドウと教示用ウィンドウを表示させた状態で、CAD画像内のロボットRおよび対象物をポインティングデバイスで選択した状態で上記木構造のデータフォーマットの所望のノードまでドラッグする操作を行う。この操作を、ロボットRの教示を行うのに必要となるすべての対象物に対して順に行うことで、階層型リストを完成させることができる。階層型リストに表示される各ノードの名称は、元となる3次元モデルの名称がそのまま適用されてもよいが、後で名称を変更できるようにしてもよい。 The teaching software can create hierarchical lists in conjunction with CAD software. A tree structured data format is prepared by the teaching software as a hierarchical list. The operator drags the robot R and the object in the CAD image to a desired node of the data format of the tree structure while selecting the robot R and the object in the CAD image with the CAD window and the teaching window displayed. . The hierarchical list can be completed by sequentially performing this operation on all objects required to teach the robot R. As the name of each node displayed in the hierarchical list, the name of the original three-dimensional model may be applied as it is, but the name may be changed later.
 以下の説明では、CAD画像内のロボットR、対象物を階層型リストのいずれかのノードに含めるようにすることを、ロボットR又は対象物を「階層型リストに登録する」という。図3では、ロボットが1体である場合のCAD画像を例示しているが、ロボットが2体以上存在する場合には、当該2体以上のロボットを階層型リストに登録することができる。 In the following description, to include the robot R in the CAD image and the object in any node of the hierarchical list is referred to as “registering the robot R or the object in the hierarchical list”. Although FIG. 3 exemplifies a CAD image when there is one robot, when two or more robots exist, the two or more robots can be registered in the hierarchical list.
 図4に示す階層型リストにおいて、ロボットR(Robot_R)のノードの下層には、ハンドに関連する3個のノードが設けられている。ハンドに対して複数のノードを設けているのは、ハンドに想定される作業状態を考慮するためである。すなわち、ノード61~63は、以下の内容を意味する。 In the hierarchical list shown in FIG. 4, three nodes related to the hand are provided under the nodes of the robot R (Robot_R). The reason for providing a plurality of nodes for the hand is to consider the working state assumed for the hand. That is, nodes 61 to 63 mean the following contents.
 ・ノード61(Pen)…ペンを把持する作業に対応したハンド
 ・ノード62(Cap)…キャップを把持する作業に対応したハンド
 ・ノード63(Pen_with_Cap)…キャップが嵌められたペンを把持する作業に対応したハンド
-Node 61 (Pen): a hand corresponding to an operation of holding a pen-Node 62 (Cap): a hand corresponding to an operation of holding a cap-Node 63 (Pen_with_Cap): for an operation of holding a pen on which a cap is fitted Corresponding hand
 ノード61~63のいずれかを対象として右クリック操作を行い、「ハンドシーケンス操作」を選択すると、アクチュエーション方式(シングルソレノイド、又はダブルソレノイド等)、センサ種類などのハンドシーケンスに関連する設定を行うことができる。
 ハンドシーケンスは、ロボットRのハンド52が把持する対象物に依存するため、ハンド52が把持する対象物ごとに設定される。ハンドシーケンスが設定されていない場合に後述するタスクを作成した場合には、タスクに基づくプログラムを実行できないため、表示装置24に警告表示を出力してもよい。
Perform right-click operation on any of the nodes 61 to 63 and select "hand sequence operation" to perform settings related to the hand sequence such as actuation method (single solenoid or double solenoid), sensor type, etc. be able to.
The hand sequence is set for each object held by the hand 52 because it depends on the object held by the hand 52 of the robot R. If a task to be described later is created when the hand sequence is not set, a program based on the task can not be executed, so a warning display may be output to the display device 24.
 対象物の構成要素には、治具(JIG)、ペントレイ(PenTray)、キャップトレイ(CapTray)、製品トレイ(ProductTray)、ペン(Pen1, Pen2,…,Pen12)、キャップ(Cap1, Cap2,…,Cap12)、および、製品(PenProduct1, PenProduct2,…,PenProduct12)が含まれる。
 治具(JIG)のノードの下位には、治具を対象とした作業に対応して、例えば、以下のノードが設けられる。
The components of the object include jig (JIG), pen tray (PenTray), cap tray (CapTray), product tray (ProductTray), pens (Pen1, Pen2, ..., Pen12), caps (Cap1, Cap2, ... ,, Cap12) and products (PenProduct1, PenProduct2, ..., PenProduct12) are included.
Below the nodes of the jig (JIG), for example, the following nodes are provided corresponding to the operation for the jig.
 ・ノード64(PenProduct)…製品(PenProduct)を保持した状態の治具
 ・ノード65(PenJ)…ペン(Pen)を保持した状態の治具
 ・ノード66(CapJ)…キャップ(Cap)を保持した状態の治具
Node 64 (PenProduct): jig in a state of holding product (PenProduct) Node 65 (PenJ): jig in a state of holding pen (Pen) Node 66 (CapJ): holding a cap (Cap) Jig of state
 ペントレイ(PenTray)のノードの下位には、ペンPen1, Pen2,…,Pen12に対応する各ノードが設けられる。キャップトレイ(CapTray)のノードの下位には、キャップCap1, Cap2,…,Cap12に対応する各ノードが設けられる。製品トレイ(ProductTray)のノードの下位には、製品PenProduct1, PenProduct2,…,PenProduct12に対応する各ノードが設けられる。 Below the nodes of the pen tray (PenTray), nodes corresponding to the pens Pen1, Pen2, ..., Pen12 are provided. Below the nodes of the cap tray (CapTray), nodes corresponding to the caps Cap1, Cap2, ..., Cap12 are provided. Below the nodes of the product tray (ProductTray), nodes corresponding to the products PenProduct 1, PenProduct 2,..., PenProduct 12 are provided.
 階層型リストの中のロボットR(図4のRobot_R)、および対象物(治具(JIG)、ペントレイ(PenTray)、キャップトレイ(CapTray)、製品トレイ(ProductTray)、ペンPen1, Pen2,…,Pen12、キャップCap1, Cap2,…,Cap12、および、製品PenProduct1, PenProduct2,…,PenProduct12)の各ノードは、各々に対応する3次元モデルのデータと関連付けられた状態となっている。そのため、階層型リストを作成後に階層型リスト内のロボットRおよび対象物の3次元モデルに変更があった場合であっても、階層型リストに再度登録する必要はない。 Robot R in the hierarchical list (Robot_R in FIG. 4), and objects (jig (JIG), pen tray (PenTray), cap tray (CapTray), product tray (ProductTray), pens Pen1, Pen2, ..., Pen12 , Caps Cap1, Cap2, ..., Cap12, and products PenProduct1, PenProduct2, ..., PenProduct12) are in a state associated with the data of the corresponding three-dimensional model. Therefore, even if there is a change in the robot R and the three-dimensional model of the object in the hierarchical list after the hierarchical list is created, it is not necessary to register again in the hierarchical list.
 (1-2-2)ジョブおよびタスクについて
 次に、ジョブおよびタスクについて、図5および図6を参照して説明する。
 図5は、ジョブを概念的に説明するための図である。図6は、タスクを概念的に説明するための図である。
(1-2-2) Jobs and Tasks Next, jobs and tasks will be described with reference to FIG. 5 and FIG.
FIG. 5 is a diagram for conceptually explaining a job. FIG. 6 is a diagram for conceptually explaining a task.
 ジョブとは、ロボットRが行う一連の作業である。タスクとは、一連の作業の中でロボットRが行う最小単位の作業である作業要素に関する情報である。従って、図5に示すように、ジョブ(JOB)に相当する期間には、複数のタスクT,T,…,Tn-1,Tに対応する複数の作業要素の期間と、ロボットRの作業要素間の移動(つまり、「タスク間移動」)とが含まれる。図5に示すように、本実施形態では、ロボットRが行うジョブに対して複数のタスクが定義される。 A job is a series of tasks performed by the robot R. A task is information on a work element which is a minimum unit of work performed by the robot R in a series of work. Accordingly, as shown in FIG. 5, the period corresponding to the job (JOB), a plurality of tasks T 1, T 2, ..., and duration of a plurality of work elements corresponding to T n-1, T n, the robot The movement between R's work elements (that is, “movement between tasks”) is included. As shown in FIG. 5, in the present embodiment, a plurality of tasks are defined for the job performed by the robot R.
 各タスクには、複数のモーション(「ロボットRの動き」を意味する。)M~Mが含まれる。タスクには、モーションの他、ハンドシーケンス(HS)が含まれてもよい。ハンドシーケンスは、ロボットRのハンド52による対象物の把持についての一連の処理である。隣接するモーションの間には、後述するインターロック等による待機時間WTが設定される場合がある。 Each task includes a plurality of motions (meaning “movement of robot R”) M 1 to M n . The tasks may include hand sequences (HS) in addition to motion. The hand sequence is a series of processes for gripping an object by the hand 52 of the robot R. Between adjacent motions, a waiting time WT due to an interlock or the like described later may be set.
 図6において、矢印付きの線は、ロボットRのハンド52の軌跡を概念的に示している。当該軌跡は、作業要素の目標点TPに到達する前の通過点であるアプローチ点AP1,AP2と、目標点TPと、目標点TPに到達した後の通過点であるデパーチャ点DP1,DP2とを含む。目標点TPは、作業要素の対象である対象物の位置を示している。 In FIG. 6, a line with an arrow conceptually shows the trajectory of the hand 52 of the robot R. The trajectory includes approach points AP1 and AP2 which are passing points before reaching the target point TP of the work element, the target point TP, and departure points DP1 and DP2 which are passing points after reaching the target point TP. Including. The target point TP indicates the position of the target object of the work element.
 図6に示す例では、アプローチ点AP1に到達する前のロボットRの動作が、作業要素間の移動(つまり、前の作業要素と図6に示す作業要素との間の移動)に相当する。デパーチャ点DP2から後のロボットRの動作が、作業要素間の移動(つまり、図6に示す作業要素と次の作業要素との間の移動)に相当する。アプローチ点AP1からデパーチャ点DP2までのロボットRの動作が1つの作業要素および1つのタスクに対応し、当該作業要素内において隣接する点間のロボットRの動きが1つのモーションに相当する。
 すなわち、タスクは、作業要素に関する情報のほか、目標点TP、アプローチ点AP、およびデパーチャ点DPのうち少なくともいずれかの点に関する情報を含んでもよい。
In the example shown in FIG. 6, the motion of the robot R before reaching the approach point AP1 corresponds to the movement between work elements (that is, the movement between the previous work element and the work elements shown in FIG. 6). The movement of the robot R after the departure point DP2 corresponds to the movement between work elements (that is, the movement between the work element shown in FIG. 6 and the next work element). The motion of the robot R from the approach point AP1 to the departure point DP2 corresponds to one work element and one task, and the movement of the robot R between adjacent points in the work element corresponds to one motion.
That is, the task may include, in addition to the information on the work element, information on at least one of the target point TP, the approach point AP, and the departure point DP.
 図6では、アプローチ点AP1,AP2においてインターロックが設定されている場合が例示されている。インターロックは、他のロボット等との干渉を回避するために、所定の信号が入力されるまで、目標点TP、アプローチ点AP、およびデパーチャ点DPの少なくともいずれかの点においてロボットRの動作を待機させる処理である。
 タスクには、インターロックを設定する点と、インターロックによる待機時間のタイムアウト値とを含むインターロック設定に関する情報を含んでもよい。
In FIG. 6, the case where interlock is set in approach point AP1, AP2 is illustrated. The interlock operates the robot R at the target point TP, the approach point AP, and / or the departure point DP until a predetermined signal is input in order to avoid interference with other robots etc. It is processing to make it wait.
The task may include information on the interlock setting including the point of setting the interlock and the timeout value of the waiting time due to the interlock.
 (1-2-3)タスクの作成
 次に、階層型リストを用いたタスクの作成方法について、図4および図7を参照して説明する。図7は、本実施形態の一例に係る教示用ウィンドウの遷移を示す図である。
 図4に示す階層型リストにおいてタスクを作成するには、先ず、ロボット領域RAに含まれるロボットR(Robot_R)のハンド(Hand)のノード61~63のうちいずれかのノードを、オペレータがポインティングデバイスで選択して右クリック操作を行い、「タスク作成」を選択する。すなわち、ノードの選択は、オペレータの操作入力に基づいて、タスクに対応する作業要素におけるロボットRのハンドの把持対象から選択される。
(1-2-3) Creation of Task Next, a method of creating a task using a hierarchical list will be described with reference to FIG. 4 and FIG. FIG. 7 is a view showing transition of a window for teaching according to an example of the present embodiment.
In order to create a task in the hierarchical list shown in FIG. 4, first, the operator points to one of the nodes 61 to 63 of the hand of the hand of the robot R (Robot_R) included in the robot area RA. Select with and right-click, and select "Create task". That is, the selection of the node is selected from among the gripping targets of the hand of the robot R in the work element corresponding to the task based on the operation input of the operator.
 「タスク作成」が選択されると、図7のタスク作成のための教示用ウィンドウW3が表示される。教示用ウィンドウW3はタスクの詳細設定を行うための画面であり、タスク名称(Name)と、作業要素の種別(Function)、作業要素の目標物(Target)の各項目が表示される。ここで、階層型リストの対象物領域PAの中からいずれかの対象物に対応するノードをポインティングデバイスで左クリックすることで、教示用ウィンドウW3の目標物(Target)の項目に、左クリックにより選択された対象物が入力される。作業要素の種別(Function)の欄には、予め設定された複数の種類の作業要素(例えば、取る(Pick up)、置く(Place)等)の候補からなるプルダウンメニューの中からいずれかの作業要素を選択できるように構成されている。 When “task creation” is selected, a teaching window W3 for task creation in FIG. 7 is displayed. The teaching window W3 is a screen for performing detailed setting of tasks, and displays items of task name (Name), type of work element (Function), and target of work element (Target). Here, by left-clicking a node corresponding to any one of the target object areas PA in the hierarchical list with the pointing device, the target (Target) item of the teaching window W3 is left-clicked. The selected object is input. In the column of the type of work element (Function), any work from a pull-down menu consisting of candidates of a plurality of types of work elements set in advance (for example, Pick up, Place, etc.) It is configured to be able to select an element.
 次いで、階層型リストの対象物領域PAの中から作業対象となる対象物をポインティングデバイスで選択して左クリック操作を行うことにより、教示用ウィンドウW3の目標物(Target)の項目に、選択された対象物が入力される。
 作業要素の種別(Function)と目標物(Target)の各項目についてデータが入力されると、当該データに基づいて、タスクの名称(Name)が自動的に決定されて表示される。
Then, an object to be a work object is selected with the pointing device from the object area PA of the hierarchical list, and left-click operation is selected in the item of Target (Target) in the teaching window W3. The target object is input.
When data is input for each item of the type of work element (Function) and the target (Target), the name (Name) of the task is automatically determined and displayed based on the data.
 例えば、ロボットRのハンドが何も把持していない状態において、「ペントレイからペンPen1を取る」という作業要素に対応するタスクを作成するには、ロボット領域RA内のノード61を、オペレータはポインティングデバイスで右クリックしてから「タスク作成」を選択する。次いで、階層型リストの対象物領域PAの中からペントレイ(PenTray)に対応するノード67を対象としてポインティングデバイスで左クリック操作を行うことで教示用ウィンドウW3の目標物(Target)の項目に、ペントレイ(PenTray)が入力される。作業要素の種別(Function)の欄では、複数の種類の作業要素の候補の中から「取る(Pick up)」を選択する。そして、階層型リストの対象物領域PAの中から作業対象となるペンPen1に対応するノード68を対象としてポインティングデバイスで左クリック操作を行うことで、図7に示す教示用ウィンドウW3が表示される。 For example, to create a task corresponding to the work element “take pen 1 from pen tray” in a state in which the hand of robot R is not gripping anything, the operator points at node 61 in robot area RA and the pointing device Right click on and select "Create task". Next, by performing a left click operation with the pointing device on the node 67 corresponding to the pen tray (PenTray) from the object area PA of the hierarchical list, the pen tray is displayed in the item of the target (Target) of the teaching window W3. (PenTray) is input. In the column of the type of work element (Function), "Pick up" is selected from candidates for a plurality of types of work elements. Then, by performing a left click operation with the pointing device on the node 68 corresponding to the pen Pen 1 to be worked out from the object area PA of the hierarchical list, the teaching window W3 shown in FIG. 7 is displayed. .
 以上の操作の結果、「ペントレイからペンPen1を取る」という作業要素に関する情報として、“Pickup_Pen1_From_PenTray”という名称のタスクが作成される。
 本実施形態では、作業要素の対象物(ここでは「ペンPen1」)と、作業要素の始点(例えば「ペントレイ」)若しくは終点とを階層型リスト上で指定することで、オペレータは直感的にタスクを作成することができる。また、タスクの名称は、作業要素の作業内容(例えば「Pickup」)と、作業対象(例えば「ペンPen1」)と、作業要素の始点となる対象物(例えば「ペントレイ」)、又は終点となる対象物とを含むように自動的に作成されるため、タスクの名称からタスクの内容が直ちに分かるようになっている。
As a result of the above operation, a task with the name "Pickup_Pen1_From_PenTray" is created as information related to the work element "take pen 1 from pen tray".
In the present embodiment, the operator intuitively performs the task by designating the target of the work element (here, “Pen Pen1”) and the start point (for example, “Pen tray”) or the end point of the work element on the hierarchical list. Can be created. Also, the name of the task is the work content of the work element (for example, "Pickup"), the work target (for example, "Pen Pen 1"), the target (for example, "pen tray") which is the start point of the work element, or the end point The contents of the task can be immediately understood from the name of the task because it is automatically created so as to include the object.
 タスクを作成した場合、タスクに含まれるアプローチ点AP、目標点TP、および、デパーチャ点DPについての情報が自動的に作成されてもよい。あるいは、オペレータが教示用ウィンドウW3のボタンb1(「詳細設定」)を操作し、1又は複数のアプローチ点及び/又はデパーチャ点を設定してもよい。自動的にアプローチ点AP、目標点TP、および、デパーチャ点DPを作成する場合、対象物の重心を目標点TPとして設定し、対象物の重心を基準とした対象物のローカル座標系において所定の軸上(例えばZ軸上)にアプローチ点APおよびデパーチャ点DPを設定してもよい。 When a task is created, information on an approach point AP, a target point TP, and a departure point DP included in the task may be automatically created. Alternatively, the operator may operate the button b1 (“detail setting”) of the teaching window W3 to set one or more approach points and / or departure points. When the approach point AP, the target point TP, and the departure point DP are automatically created, the center of gravity of the object is set as the target point TP, and a predetermined coordinate is set in the local coordinate system of the object based on the center of gravity of the object. The approach point AP and the departure point DP may be set on the axis (for example, on the Z axis).
 図7を参照すると、教示用ウィンドウW3のボタンb1(「詳細設定」)を操作することで、オペレータは、「アプローチ点、デパーチャ点設定」のほか、「モーションパラメータ設定」および「インターロック設定」のいずれかを選択することができる。
 モーションパラメータとは、タスクに含まれる隣接するアプローチ点AP間、アプローチ点APから目標点TPまでの間、および、目標点TPからデパーチャ点DPまでの間のロボットRのハンド52等の動きに関するパラメータである。例えば、かかるパラメータとして、移動速度、加速度、加速時間、減速時間、ロボットRの姿勢等が挙げられる。「モーションパラメータ設定」を選択することで、上記モーションパラメータをデフォルト値から変更することができる。
 「インターロック設定」を選択することで、インターロックの待機時間のタイムアウト値と、待機時間がタイムアウト値を超えてエラーと判断したときの動作の設定とを、デフォルト値から変更することができる。
Referring to FIG. 7, by operating button b1 (“detail setting”) of the teaching window W3, the operator can perform “motion parameter setting” and “interlock setting” in addition to “approach point, departure point setting”. You can choose one of these.
Motion parameters are parameters relating to the motion of the hand 52 of the robot R between adjacent approach points AP included in the task, between the approach point AP and the target point TP, and between the target point TP and the departure point DP. It is. For example, such parameters include moving speed, acceleration, acceleration time, deceleration time, posture of the robot R, and the like. By selecting “motion parameter setting”, the motion parameter can be changed from the default value.
By selecting “interlock setting”, it is possible to change from the default value the timeout value of the interlock waiting time and the setting of the operation when the waiting time exceeds the timeout value and it is judged as an error.
 図7の教示用ウィンドウW3には、ボタンb2(「作成」)が設けられている。ボタンb2(「作成」)が操作されることで、教示用ウィンドウW3によって設定されたタスクが後述するタスクリストに登録される。 A button b2 ("Create") is provided in the teaching window W3 of FIG. By operating the button b2 ("Create"), the task set by the teaching window W3 is registered in a task list described later.
 (1-2-4)タスクに基づくプログラムの作成
 例えば、図6に示すタスクに対応する作業要素を実行するためのプログラムは、以下の複数の関数からなり、各関数は、ロボットRに対応するモーションを実行させるためのプログラムによって記述されている。
 なお、以下のmove(AP1)は、作業要素間の移動として別に定義されてもよい。
(1-2-4) Creation of a Program Based on a Task For example, a program for executing a work element corresponding to a task shown in FIG. 6 consists of the following functions, each function corresponding to a robot R It is described by a program for executing motion.
Note that the following move (AP1) may be separately defined as movement between work elements.
 ・move(AP1) …アプローチ点AP1までの移動
 ・interlock(IL1)…アプローチ点AP1でインターロック(IL1)による待機
 ・move(AP2)…アプローチ点AP2までの移動
 ・interlock(IL2)…アプローチ点AP2でインターロック(IL2)による待機
 ・move(TP)…目標点TPまでの移動
 ・handSequence()…ハンドシーケンス処理
 ・move(DP1)…デパーチャ点DP1までの移動
 ・move(DP2)…デパーチャ点DP2までの移動
 なお、interlock(IL1)およびinterlock(IL2)の関数において、タスクごとの動作確認を行う場合、プログラムは作成されるが、インターロックによる待機時間のタイムアウト値が無効となっている。
Move (AP1): movement to approach point AP1 interlock (IL1): waiting by interlock (IL1) at approach point AP1 move (AP2): movement to approach point AP2 interlock (IL2): approach point AP2 Interlock (IL2) waits by • move (TP) ... move to the target point TP • handSequence () ... hand sequence process • move (DP1) ... move to the departure point DP1 • move (DP2) ... to the departure point DP2 In the case of performing operation check for each task in the functions of interlock (IL1) and interlock (IL2), a program is created but the timeout value of the waiting time due to interlock is invalid.
 (1-2-5)タスクリスト
 タスクリストとは、ロボットRが行うジョブに含まれる複数の作業要素の各々に対応する複数のタスクの一覧の情報である。特定のジョブを対象として教示用ウィンドウW3によって作成されたタスクは、順次、当該ジョブに対応するタスクリストに登録されていく。タスクリストに含まれる複数のタスクの順序は、当該複数のタスクにそれぞれ対応する複数の作業要素の実行順序を示していることが、ジョブを管理する上で好ましい。
(1-2-5) Task List The task list is information on a list of a plurality of tasks corresponding to each of a plurality of work elements included in a job performed by the robot R. The tasks created for the specific job by the teaching window W3 are sequentially registered in the task list corresponding to the job. In order to manage jobs, it is preferable that the order of the plurality of tasks included in the task list indicates the execution order of the plurality of work elements respectively corresponding to the plurality of tasks.
 図8の教示用ウィンドウW4は、「ペンにキャップを嵌めて製品を組み立てる」という一連の作業であるジョブ(「Pen Assembly」)に対応するタスクリストの一例を表示する。このタスクリストの一例は、以下の(i)~(vi)の6個の作業要素に対応するタスクを含む。この場合、タスク作成のための教示用ウィンドウW3によって、括弧内に表された名称のタスクが作成された場合を示している。
 (i) ペントレイからペンを取る (Pickup_Pen1_From_PenTray)
 (ii) 取ったペンを治具にセットする (Place_to_PenJ_in_PenProduct)
 (iii) キャップトレイからキャップを取る (Pickup_Cap1_From_CapTray)
 (iv) 治具上のペンにキャップを嵌める (Place_to_CapJ_in_PenJ)
 (v) キャップが嵌められたペンを取る (Pickup_PenProduct_From_JIG)
 (vi) キャップが嵌められたペンを製品トレイに置く (Place_to_PenProduct1_in_ProductTray)
The teaching window W4 in FIG. 8 displays an example of a task list corresponding to a job (“Pen Assembly”) which is a series of operations “attach a cap to a pen and assemble a product”. An example of this task list includes tasks corresponding to the following six work elements (i) to (vi). In this case, the teaching window W3 for creating a task shows a case where a task having a name shown in parentheses is created.
(i) Take the pen from the pen tray (Pickup_Pen1_From_PenTray)
(ii) Set the taken pen on the jig (Place_to_PenJ_in_PenProduct)
(iii) Remove the cap from the cap tray (Pickup_Cap1_From_CapTray)
(iv) Put the cap on the pen on the jig (Place_to_CapJ_in_PenJ)
(v) Take a pen with a cap (Pickup_PenProduct_From_JIG)
(vi) Place a pen with a cap on the product tray (Place_to_PenProduct1_in_ProductTray)
 オペレータは、タスクリストにおいて、いずれかのタスクをポインティングデバイスで選択した状態でドラッグ操作を行うことで、選択されたタスクをタスクリスト中の任意の順序に設定することができる。 The operator can set the selected tasks in an arbitrary order in the task list by performing the drag operation while selecting any task with the pointing device in the task list.
 図8に示すように、タスクリストのいずれかのタスクをポインティングデバイスで選択した状態で右クリックを行うと、「タスク編集」、「タスク追加」、「タスク削除」のいずれかの処理を選択できる。ここで、「タスク編集」が選択された場合には、選択されているタスクの教示用ウィンドウW3に戻って、当該タスクについての情報を変更することができる。「タスク追加」が選択された場合には、選択されているタスクのすぐ後の順序に、作成済みのタスクを読み込んで挿入するか、あるいは、教示用ウィンドウW3に戻ってタスクを作成して挿入することができる。「タスク削除」が選択された場合には、選択されているタスクをタスクリストから削除することができる。 As shown in FIG. 8, when right-clicking while selecting any task in the task list with the pointing device, one of “Edit task”, “Add task”, and “Delete task” can be selected. . Here, when “Edit task” is selected, it is possible to return to the teaching window W3 of the selected task to change the information on the task. When "Add task" is selected, the created task is read and inserted in the order immediately after the selected task, or the instruction window W3 is returned to create a task and inserted. can do. When "delete task" is selected, the selected task can be deleted from the task list.
 図8において、教示用ウィンドウW4内の任意の位置を対象として右クリック操作を行い、「プログラム出力」が選択された場合、ジョブに対応して、シミュレーション用プログラムと実機用プログラムの2種類のロボットプログラムを出力する。実機用プログラムはインターロックによる待機時間のタイムアウト値が有効となっているが、シミュレーション用プログラムはインターロックによる待機時間が無効化されている点で、両者は異なる。 In FIG. 8, when the right-click operation is performed on an arbitrary position in the teaching window W4 and “program output” is selected, two types of robots, a simulation program and a real machine program, corresponding to the job. Output the program The actual program is different from the other in that the timeout value of the standby time due to the interlock is valid, but the simulation program is that the standby time due to the interlock is invalidated.
 (1-2-6)ジョブのシミュレーション
 図8の教示用ウィンドウW4においてボタンb3が操作された場合、タスクリストに対応するロボットRのジョブのシミュレーションが実行される。
 ジョブのシミュレーションを実行するに当たっては、先ず、当該ジョブに対応するロボットプログラムが作成される。すなわち、タスクリストに含まれる各タスクに基づくプログラムは、前述したように、ロボットRに対応する複数のモーションを実行させるためのプログラムが記述された関数の集合体として表される。なお、連続するタスクに対応する作業要素の間のロボットRの移動についてのモーションパラメータ(移動速度、加速度、加速時間、減速時間等)は、デフォルト値として予め定められていてもよいし、オペレータが設定できるようにしてもよい。
 各タスクに基づくプログラムを組み合わせるに当たっては、入力信号あるいは条件によって実行するプログラムを切り替えるような分岐処理や、特定のプログラムを繰り返す処理等が組み込まれてもよい。
(1-2-6) Job Simulation When the button b3 is operated in the teaching window W4 of FIG. 8, simulation of a job of the robot R corresponding to the task list is executed.
When executing job simulation, first, a robot program corresponding to the job is created. That is, as described above, the program based on each task included in the task list is represented as a collection of functions in which programs for causing the robot R to execute a plurality of motions are described. Note that motion parameters (moving speed, acceleration, acceleration time, deceleration time, etc.) for the movement of the robot R between work elements corresponding to consecutive tasks may be predetermined as default values, or the operator It may be settable.
When combining programs based on each task, branch processing may be incorporated such as switching a program to be executed depending on input signals or conditions, processing for repeating a specific program, or the like.
 本実施形態では、情報処理装置2においてロボットプログラムが作成され、ロボット制御装置3において当該ロボットプログラムが実行される。本実施形態では、上記シミュレーション用プログラムが実行される。
 本実施形態では、ロボット制御装置3にロボットの実機が接続されていないため、ロボット制御装置3の制御部31は、ストレージ32に記録されているロボットRのマニピュレータのモデルのデータに基づいて、マニピュレータを構成する各部の時間の経過に応じた物理量(例えば、アーム51の関節角の角度変位、角速度等)を、ロボット状態データとして演算する。
In the present embodiment, a robot program is created in the information processing device 2, and the robot program is executed in the robot control device 3. In the present embodiment, the simulation program is executed.
In the present embodiment, the robot controller 3 is not connected to a real robot, so the controller 31 of the robot controller 3 controls the manipulator based on the data of the model of the manipulator of the robot R recorded in the storage 32. Physical quantities (for example, angular displacement of joint angles of the arm 51, angular velocity, etc.) according to the passage of time of the respective parts constituting the computer are calculated as robot state data.
 ジョブの実行結果とロボット状態データを含む実行ログデータは、ロボット制御装置3から情報処理装置2へ送信される。情報処理装置2は、ロボット状態データに基づいて、タイミングチャートを作成して表示する。本実施形態では、実機のロボットRがロボット制御装置3に接続されていない状態でジョブのシミュレーションが行われるため、情報処理装置2によって作成されるタイミングチャートを適宜、「オフラインタイミングチャート」ともいう。オフラインタイミングチャートは、第2タイミングチャートの一例である。 The execution log data including the job execution result and the robot state data is transmitted from the robot control device 3 to the information processing device 2. The information processing device 2 creates and displays a timing chart based on the robot state data. In the present embodiment, since the job simulation is performed in a state where the robot R of the actual machine is not connected to the robot control device 3, the timing chart created by the information processing device 2 is also referred to as an "offline timing chart". The offline timing chart is an example of a second timing chart.
 図9に、情報処理装置2の表示装置24において表示されるタイミングチャートの一例を示す。
 図9に例示するタイミングチャートは、図8の教示用ウィンドウW4において例示したジョブ(「Pen Assembly」)の中の「ペントレイからペンを取る (Pickup_Pen1_From_PenTray)」という名称のタスクに対応するタイミングチャートを示している。
 図9のタイミングチャートは、グラフを表示する部分であるA部と、タスクの実行状況について表示する部分であるB部と、を含み、最上部には、ジョブの開始時刻からの時間が表示されている。図9に示す例では、カーソルCU1~CU3が設けられている。ポインティングデバイスによって各カーソルを左右に移動させることができる。カーソルCU1は、ジョブの開始時刻からの時間を示しており、カーソルCU2,CU3はそれぞれ、カーソルCU1が示す時刻を0としたときの時間を示している。
FIG. 9 shows an example of a timing chart displayed on the display device 24 of the information processing device 2.
The timing chart illustrated in FIG. 9 shows a timing chart corresponding to the task named “Pickup_Pen1_From_PenTray” in the job (“Pen Assembly”) illustrated in the teaching window W4 in FIG. ing.
The timing chart of FIG. 9 includes a part A which displays a graph and a part B which displays a task execution status, and the time from the job start time is displayed at the top. ing. In the example shown in FIG. 9, cursors CU1 to CU3 are provided. Each pointing device can move each cursor left and right. The cursor CU1 indicates the time from the start time of the job, and the cursors CU2 and CU3 indicate times when the time indicated by the cursor CU1 is 0.
 図9のA部には、ロボットRの以下のロボット状態データの参照時間(例えば1ms)ごとの変化をプロットした波形(グラフ)が表示される。なお、ロボットRの位置とは、例えば、マニピュレータの先端フランジの位置である。
 ・ロボットRのX座標(ワールド座標系)の位置の指令値(“posX”)
 ・ロボットRのY座標(ワールド座標系)の位置の指令値(“posY”)
 ・ロボットRのZ座標(ワールド座標系)の位置の指令値(“posZ”)
 ・アーム51の関節角の角速度の指令値(“Angular Velocity”)
A portion (A) of FIG. 9 displays a waveform (graph) in which changes in reference time (for example, 1 ms) of the following robot state data of the robot R are plotted. The position of the robot R is, for example, the position of the tip flange of the manipulator.
· Command value ("posX") of the position of the X coordinate (world coordinate system) of the robot R
· Command value of position of Y coordinate (world coordinate system) of robot R ("posY")
· Command value ("posZ") of the position of Z coordinate (world coordinate system) of robot R
· Command value of angular velocity of joint angle of arm 51 (“Angular Velocity”)
 なお、図9のA部に表示されているグラフは、複数の種別のロボット状態データの一部の種別のデータに過ぎない。オペレータは、複数の種別のロボット状態データの中から、表示させるロボット状態データの種別を選択できる。 The graph displayed in part A of FIG. 9 is only data of a part of a plurality of types of robot state data. The operator can select the type of robot state data to be displayed from among the plurality of types of robot state data.
 図9のB部では、タスク名称(“Task Function”)とモーション状態(“Motion status”)が表示される。タスク名称(“Task Function”)は、上述したように“Pickup_Pen1_From_PenTray”であり、図9からジョブに含まれる当該タスクの期間(開始時刻および終了時刻)がわかる。
 モーション状態(“Motion status”)はタスクに含まれるモーションに対応している。すなわち、モーション状態(“Motion status”)では、以下の3種類のモーション(ここでは、ハンドシーケンスも含む。)の期間(開始時刻および終了時刻)がわかる。各モーションの開始時刻および終了時刻は、各モーションに対応する関数の実行開始時刻および実行終了時刻と一致する。各タスクの開始時刻は、各タスクに含まれる複数のモーションのうち最初のモーションの開始時刻と一致し、各タスクの終了時刻は、各タスクに含まれる複数のモーションのうち最後のモーションの終了時刻と一致する。
In part B of FIG. 9, the task name (“Task Function”) and the motion state (“Motion status”) are displayed. The task name ("Task Function") is "Pickup_Pen1_From_PenTray" as described above, and the period (start time and end time) of the task included in the job is known from FIG.
The motion status ("Motion status") corresponds to the motion included in the task. That is, in the motion state ("Motion status"), the period (start time and end time) of the following three types of motion (here, including the hand sequence) can be known. The start time and the end time of each motion match the execution start time and the execution end time of the function corresponding to each motion. The start time of each task matches the start time of the first motion among the plurality of motions included in each task, and the end time of each task is the end time of the last motion among the plurality of motions included in each task Match with
 ・Move(PTP)…円弧移動。主に、アプローチ点AP間の移動、および、デパーチャ点DP間の移動のうちのいずれかの移動に用いられる。
 ・Move(Line)…直線移動。主に、アプローチ点APから目標点TPまでの移動、および、目標点TPからデパーチャ点DPまでの移動のうちのいずれかの移動に用いられる。
 ・HandSequence()…ハンドシーケンス処理
-Move (PTP) ... arc movement. It is mainly used for moving between approach points AP and for moving between departure points DP.
・ Move (Line) ... linear movement. It is mainly used for the movement from the approach point AP to the target point TP and for the movement from the target point TP to the departure point DP.
・ HandSequence () ... Hand sequence processing
 ロボットRのロボット状態データを算出するときにエラーが発生した場合には、図8の教示用ウィンドウW4のステータス(Status)の欄に、エラー原因を表示してもよい。エラー原因としては、例えば、速度超過、目標点不到達、特異点到達等が挙げられる。 If an error occurs when calculating robot state data of the robot R, the cause of the error may be displayed in the column of the status of the teaching window W4 of FIG. The cause of the error includes, for example, overspeeding, reaching of the target point, reaching of the singular point and the like.
 好ましくは、本実施形態では、情報処理装置2は、ロボット状態データに基づいて、ロボットRおよび対象物の3次元モデルを仮想空間内で動作させ、シミュレーション出力として、タスクに対応するロボットRの動きの動画(アニメーション)の表示を行う。それによって、オペレータは、ジョブのシミュレーションの結果をCAD用ウィンドウで確認することができる。 Preferably, in the present embodiment, the information processing apparatus 2 causes the robot R and the three-dimensional model of the object to operate in the virtual space based on the robot state data, and the motion of the robot R corresponding to the task as a simulation output. Display the animation (animation) of. Thereby, the operator can confirm the result of simulation of the job in the CAD window.
 図10は、ジョブのシミュレーションの結果を動画再生するためのCAD用ウィンドウW5の一例を示している。CAD用ウィンドウW5に示す例では、オペレータによる操作対象として、ボタンb4~b8が提供される。
 ボタンb4は、図9に示すタイミングチャートと同じロボット状態データの変化となるように(つまり、通常速度により)、仮想空間においてロボットRおよび対象物の動作させるための操作ボタンである。ボタンb5は、通常速度の倍の速度でロボット状態データが変化するように、仮想空間においてロボットRおよび対象物の動作させるための操作ボタンである。ボタンb6は、通常速度より低速でロボット状態データが変化するように、仮想空間においてロボットRおよび対象物の動作させるための操作ボタンである。ボタンb7は、仮想空間において動作中のロボットRおよび対象物を一時的に停止させるための操作ボタンである。ボタンb8は、時間の進行が逆方向となるようにしてロボット状態データを変化させて(つまり、逆再生して)、仮想空間においてロボットRおよび対象物の動作させるための操作ボタンである。
FIG. 10 shows an example of a CAD window W5 for reproducing a moving image of a result of simulation of a job. In the example shown in the CAD window W5, buttons b4 to b8 are provided as operation objects by the operator.
The button b4 is an operation button for causing the robot R and the object to operate in the virtual space so that the same change in robot state data as in the timing chart shown in FIG. 9 (that is, at normal speed). The button b5 is an operation button for operating the robot R and the object in the virtual space so that the robot state data changes at twice the normal speed. The button b6 is an operation button for operating the robot R and the object in the virtual space so that the robot state data changes at a speed lower than the normal speed. The button b7 is an operation button for temporarily stopping the robot R operating in the virtual space and the object. The button b8 is an operation button for operating the robot R and the object in the virtual space by changing the robot state data (that is, performing reverse reproduction) so that the progress of time is in the reverse direction.
 (1-3)ロボットシミュレータ1の機能
 次に、本実施形態のロボットシミュレータ1の機能について、図11を参照して説明する。図11は、実施形態に係るロボットシミュレータ1の機能ブロック図である。
 図11に示すように、ロボットシミュレータ1は、表示制御部101、タスク作成部102、プログラム作成部103、プログラム実行部104、状態情報算出部105、シミュレーション部107、および、インターロック設定部108を備える。
 ロボットシミュレータ1はさらに、タスクデータベース221、階層型リストデータベース222、3次元モデルデータベース223、および、実行ログデータベース224を備える。
(1-3) Function of Robot Simulator 1 Next, the function of the robot simulator 1 of the present embodiment will be described with reference to FIG. FIG. 11 is a functional block diagram of the robot simulator 1 according to the embodiment.
As shown in FIG. 11, the robot simulator 1 includes a display control unit 101, a task creation unit 102, a program creation unit 103, a program execution unit 104, a state information calculation unit 105, a simulation unit 107, and an interlock setting unit 108. Prepare.
The robot simulator 1 further includes a task database 221, a hierarchical list database 222, a three-dimensional model database 223, and an execution log database 224.
 以下の説明において、情報処理装置2の制御部21の処理について言及するときには、制御部21に含まれるCPUが教示ソフトウェア及び/又はCADソフトウェアを実行することにより処理が行われる。 In the following description, when the processing of the control unit 21 of the information processing device 2 is referred to, the CPU included in the control unit 21 executes the teaching software and / or the CAD software to perform the processing.
 表示制御部101は、教示ソフトウェアおよびCADソフトウェアの実行結果を表示装置24に表示させる制御を行う。表示制御部101の機能を実現するために、情報処理装置2の制御部21は、教示ソフトウェアおよびCADソフトウェアの出力を含む画像データを生成し、バッファリングし、表示装置24へ送信する。表示装置24は、表示駆動回路を駆動して画像を表示パネルに表示する。 The display control unit 101 controls the display device 24 to display the execution results of the teaching software and the CAD software. In order to realize the function of the display control unit 101, the control unit 21 of the information processing device 2 generates image data including the output of teaching software and CAD software, buffers it, and transmits it to the display device 24. The display device 24 drives the display drive circuit to display an image on the display panel.
 タスク作成部102は、オペレータの操作入力に基づいて、対象物に対するロボットの作業要素に関する情報であるタスクを作成する機能を備える。
 タスク作成部102の機能を実現するために、情報処理装置2の制御部21は、入力装置23からオペレータの操作入力を受け付けると、当該操作入力に基づき、図7の作業要素の種別(Function)および作業要素の目標物(Target)の情報を含むファイルとしてタスクを作成し、ストレージ22に記録する。制御部21は、作業要素の種別(Function)および作業要素の目標物(Target)に基づいて、所定の規則に従ってタスク名称を決定する。ストレージ22は、タスク作成部102によって作成されたタスクを含むタスクデータベース221を記憶する。
 情報処理装置2の制御部21は、ロボットが行うジョブに含まれる複数の作業要素に対応するタスクを順に作成し、それによって、当該ジョブに関連付けられた複数のタスクがタスクリストとして作成される。タスクデータベース221では、各タスクが特定のジョブに関連付けられた状態で記録されている。
 表示制御部101は、ストレージ22のタスクデータベース221を参照して、複数のタスクの一覧であるタスクリストを表示装置24に表示する。タスクリストが表示されることで、ロボットのティーチングを行うときに、ロボットが行うジョブを分かり易く管理することができる。本実施形態では、表示されるタスクリストの各タスクの名称が、ロボットの作業要素の作業内容が認識できるように構成されているため、一連の作業内容がオペレータに直感的に理解しやすいものとなっている。
The task creation unit 102 has a function of creating a task that is information related to work elements of the robot with respect to the object based on the operation input of the operator.
In order to realize the function of the task creating unit 102, when the control unit 21 of the information processing device 2 receives an operation input of the operator from the input device 23, the control unit 21 of FIG. The task is created as a file including information of the target of the work element (Target) and recorded in the storage 22. The control unit 21 determines the task name in accordance with a predetermined rule, based on the type (Function) of the work element and the target (Target) of the work element. The storage 22 stores a task database 221 including tasks created by the task creating unit 102.
The control unit 21 of the information processing device 2 sequentially creates tasks corresponding to a plurality of work elements included in a job performed by the robot, and thereby creates a plurality of tasks associated with the job as a task list. In the task database 221, each task is recorded in a state associated with a specific job.
The display control unit 101 refers to the task database 221 of the storage 22 and displays a task list, which is a list of a plurality of tasks, on the display device 24. By displaying the task list, it is possible to manage the job performed by the robot in an easy-to-understand manner when teaching the robot. In the present embodiment, the names of the tasks in the displayed task list are configured such that the work contents of the work elements of the robot can be recognized, so that a series of work contents can be intuitively understood by the operator intuitively. It has become.
 表示制御部101は、ロボットの構成要素と、対象物の構成要素とが階層的に記述された階層型データを表示装置24に表示する。
 情報処理装置2の制御部21は、教示ソフトウェアとCADソフトウェアの連携により階層型リストを作成する。すなわち、制御部21は、CAD画像内のロボットおよび対象物を入力装置23のポインティングデバイスで選択した状態で木構造のデータフォーマットの所望のノードまでドラッグする操作入力を受け付けて、木構造の階層型リストを作成する。制御部21は、作成した階層型リストをストレージ22の階層型リストデータベース222に記録する。階層型リストでは、木構造のデータにおけるロボットの構成要素および対象物の構成要素に対応する各ノードと、3次元モデルデータベース223に記録される3次元モデルの対応するデータと、が関連付けられた状態となっている。
The display control unit 101 displays hierarchical data in which the components of the robot and the components of the object are hierarchically described on the display device 24.
The control unit 21 of the information processing device 2 creates a hierarchical list by linking teaching software and CAD software. That is, the control unit 21 receives an operation input for dragging a robot and an object in a CAD image to a desired node of the data format of the tree structure in a state where the robot and the object are selected by the pointing device of the input device 23. Create a list The control unit 21 records the created hierarchical list in the hierarchical list database 222 of the storage 22. In the hierarchical list, each node corresponding to the component of the robot and the component of the object in the data of the tree structure is associated with the corresponding data of the three-dimensional model recorded in the three-dimensional model database 223 It has become.
 好ましくは、タスク作成部102は、階層型データのロボットの構成要素および対象物の構成要素を指定するオペレータの操作入力に基づいて、タスクを作成する機能を備える。当該機能を実現するために、情報処理装置2の制御部21は、特定の対象物を把持する作業に対応したロボットのハンドを示すノードと、当該対象物に対応するノードとを階層型リストから選択するオペレータの操作入力に基づいて、タスクを作成する。階層型リストを使用することで、オペレータが作業要素の内容に応じて直感的にタスクを作成することができる。 Preferably, the task creating unit 102 has a function of creating a task based on an operation input of an operator specifying a component of a robot of hierarchical data and a component of an object. In order to realize the function, the control unit 21 of the information processing device 2 displays a node indicating a hand of a robot corresponding to an operation of gripping a specific target and a node corresponding to the target from the hierarchical list. Create a task based on the operation input of the selected operator. By using the hierarchical list, the operator can create tasks intuitively according to the contents of work elements.
 プログラム作成部103は、タスク作成部102によって作成されたタスクに基づいて、当該タスクに対応する作業要素をロボット5に実行させるためのプログラムを作成する機能を備える。
 プログラム作成部103の機能を実現するために、情報処理装置2の制御部21は、タスクに含まれる作業要素の種別、作業要素の目標物、アプローチ点、デパーチャ点、モーションパラメータ、およびインターロックの設定を基に、タスクに対応する作業要素をロボットに実行させるためのプログラムが記述された関数を作成する。例えば、プログラム作成部103は、タスクに含まれる情報を参照し、ストレージ22に保存された作業要素の種別に応じた所定のプログラムのフォーマットにおける座標位置等を書き換えることで、自動的にプログラムを作成する。
The program creation unit 103 has a function of creating a program for causing the robot 5 to execute a work element corresponding to the task based on the task created by the task creation unit 102.
In order to realize the function of the program creation unit 103, the control unit 21 of the information processing device 2 selects the type of work element included in the task, the target of the work element, the approach point, the departure point, the motion parameter, and the interlock. Based on the settings, a function is created in which a program for causing the robot to execute the work element corresponding to the task is written. For example, the program creation unit 103 automatically creates a program by referring to the information included in the task and rewriting the coordinate position etc. in the format of a predetermined program according to the type of the work element stored in the storage 22. Do.
 プログラム実行部104は、ロボットの作業要素に関する情報であるタスクを含むロボットプログラムを実行する機能を備える。
 プログラム実行部104の機能を実現するために、情報処理装置2の制御部21は、通信インタフェース部25を介して少なくとも1つのタスクに基づいて作成したロボットプログラム(シミュレーション用プログラム)を、ロボット制御装置3へ送信する。
 前述したように、1つのジョブには、タスクによって記述される複数の作業要素と作業要素間の移動とが含まれる。1つのタスクには、複数のモーションと必要に応じてハンドシーケンスとが含まれ、タスクに対応する作業要素を実行するためのプログラムは、複数の関数によって定義される。ロボットの作業要素間の移動は、予め決められたデフォルトのモーションパラメータを含むプログラムによって記述された関数で定義される。
 ロボット制御装置3の制御部31は、ロボットプログラムを受信すると、各モーションおよびハンドシーケンスに対応する複数の関数を順に実行することで、1つのジョブに対するロボットプログラムを実行する。
The program execution unit 104 has a function of executing a robot program including a task that is information on work elements of the robot.
In order to realize the function of the program execution unit 104, the control unit 21 of the information processing device 2 controls the robot program (program for simulation) created based on at least one task via the communication interface unit 25 Send to 3
As described above, one job includes a plurality of work elements described by the task and movement between the work elements. One task includes a plurality of motions and an optional hand sequence, and a program for executing a work element corresponding to the task is defined by a plurality of functions. Movement between work elements of the robot is defined by a function described by a program including predetermined default motion parameters.
When receiving the robot program, the control unit 31 of the robot control device 3 executes a robot program for one job by sequentially executing a plurality of functions corresponding to each motion and hand sequence.
 状態情報算出部105は、プログラム実行部104による実行結果に基づいて、時間の経過に応じたロボットの状態を示す情報であるロボット状態データ(状態情報の例)を演算する機能を備える。そして、表示制御部101は、状態情報算出部105により得られたロボット状態データに基づいて、時間軸においてタスクの作業要素に相当する期間が識別可能となるように、ロボットの状態を示すタイミングチャート(すなわち、オフラインタイミングチャート)を表示装置24に表示する。 The state information calculation unit 105 has a function of calculating robot state data (example of state information) which is information indicating the state of the robot according to the passage of time based on the execution result by the program execution unit 104. Then, the display control unit 101 is a timing chart showing the state of the robot so that the period corresponding to the task element of the task can be identified on the time axis based on the robot state data obtained by the state information calculation unit 105. (Ie, the off-line timing chart) is displayed on the display device 24.
 状態情報算出部105の機能を実現するために、ロボット制御装置3の制御部31は、上述したように、各タスクに基づいて作成されたプログラムを順に実行するようにして、情報処理装置2から受信したロボットプログラムを実行する。そして、制御部31は、ロボットプログラムの実行結果として、ジョブ全体におけるロボット状態データを演算して順次、ストレージ32に記録する。
 ロボット状態データは、マニピュレータ50のモデルを基に演算された時間の経過に応じたロボットの状態を示す物理量(例えば、アームの関節角、アームの速度や加速度、ハンドの位置等)のデータである。
 ジョブ全体のロボットプログラムの実行が終了すると、制御部31は、ストレージ32から、ジョブの進行の時間軸に沿った所定の参照時間(例えば1ms)ごとのロボット状態データを読み出す。制御部31は、読み出したロボット状態データと、ロボットプログラムの実行結果とを含む実行ログデータを、通信インタフェース部33を介して情報処理装置2へ送信する。
In order to realize the function of the state information calculation unit 105, as described above, the control unit 31 of the robot control device 3 causes the information processing device 2 to sequentially execute the program created based on each task. Execute the received robot program. Then, the control unit 31 calculates robot state data in the entire job as the execution result of the robot program, and sequentially records the data in the storage 32.
The robot state data is data of physical quantities (for example, arm joint angle, arm speed and acceleration, hand position, etc.) indicating the state of the robot according to the elapsed time calculated based on the model of the manipulator 50. .
When the execution of the robot program for the entire job is completed, the control unit 31 reads robot state data from the storage 32 for each predetermined reference time (for example, 1 ms) along the time axis of the progress of the job. The control unit 31 transmits execution log data including the read robot state data and the execution result of the robot program to the information processing apparatus 2 via the communication interface unit 33.
 情報処理装置2の制御部21は、ロボット制御装置3からロボット状態データを含む実行ログデータを取得すると、実行ログデータを実行ログデータベース224に記録する。
 制御部21は、取得した参照時間ごとのロボット状態データに基づいて、所定の形式のオフラインタイミングチャートを含む画像を生成して表示装置24に表示する。当該タイミングチャートは、ロボットの一連の作業について特定の作業要素に相当する期間を識別可能となるように構成される。
When acquiring the execution log data including the robot state data from the robot control device 3, the control unit 21 of the information processing device 2 records the execution log data in the execution log database 224.
The control unit 21 generates an image including an off-line timing chart of a predetermined format based on the acquired robot state data for each reference time, and displays the image on the display device 24. The said timing chart is comprised so that the period corresponded to a specific work element can be identified about a series of operation | movement of a robot.
 ロボット状態データは、ロボットは複数の種別の情報を含んでもよい。その場合、表示制御部101は、ロボット状態データのうち、オペレータの操作入力によって複数の種別の中から選択された一部の種別の情報に基づいて、オフラインタイミングチャートを表示装置24に表示してもよい。それによって、オペレータは、自身が確認したい種別のロボット状態データをオフラインタイミングチャートに表示させることができる。ロボット状態データの種別の選択方法は問わないが、例えば、オペレータによる操作によってロボット状態データの種別を選択可能とするメニューを含めるようにしてタイミングチャートの表示画面が構成されていることが好ましい。 The robot state data may include information of a plurality of types of robots. In that case, the display control unit 101 displays the off-line timing chart on the display device 24 based on the information of a part of the robot state data selected from the plurality of types by the operation input of the operator. It is also good. As a result, the operator can display robot status data of the type he / she wishes to check on the off-line timing chart. Although the method of selecting the type of robot state data is not limited, for example, it is preferable that the display screen of the timing chart is configured to include a menu that allows the type of robot state data to be selected by an operation by the operator.
 ストレージ22(記憶部の例)は、仮想空間におけるロボットの3次元モデルと、対象物の3次元モデルの情報と、を含む3次元モデルデータベース223を記憶する。
 シミュレーション部107は、状態情報算出部105によって得られたロボット状態データに基づいて、3次元モデルを仮想空間内で動作させて表示装置24に表示する機能を備える。
 シミュレーション部107の機能を実現するため、情報処理装置2の制御部21は、実行ログデータベース224に記録した実行ログデータを読み出し、当該実行ログデータに含まれるロボット状態データを基に仮想空間上でロボットおよび対象物の3次元モデルを動作させて表示装置24に表示する。これによって、オペレータは、各タスクのロボットの動作を視覚的に確認することができるため、各タスクの設定値(例えば、アプローチ点、デパーチャ点、モーションパラメータ等)や対象物の配置(例えば、図3のキャップトレイ12の配置等)を再検討することが容易となる。
The storage 22 (an example of a storage unit) stores a three-dimensional model database 223 including a three-dimensional model of a robot in a virtual space and information of a three-dimensional model of an object.
The simulation unit 107 has a function of operating a three-dimensional model in a virtual space and displaying it on the display device 24 based on the robot state data obtained by the state information calculation unit 105.
In order to realize the function of the simulation unit 107, the control unit 21 of the information processing device 2 reads the execution log data recorded in the execution log database 224, and based on the robot state data included in the execution log data, in the virtual space. The robot and the three-dimensional model of the object are operated and displayed on the display device 24. By this, the operator can visually confirm the operation of the robot of each task, so the setting value of each task (for example, approach point, departure point, motion parameter, etc.) and the arrangement of the object (for example, FIG. It becomes easy to re-examine the arrangement of the cap tray 12 and the like 3).
 シミュレーション部107は、3次元モデルの動作を、ロボット状態データに基づく速度よりも高速となるように、若しくは低速となるように、又は、時間の進行が逆方向となるようにして、表示装置24に表示してもよい。それによって、オペレータは、シミュレーションの結果を、オペレータの所望の速度で、あるいは逆再生により再現することができる。
 この場合、情報処理装置2の制御部21は、図10に例示したように、CAD用ウィンドウのボタンに対するオペレータによる操作に応じて、通常速度よりも高速あるいは低速にしてロボットおよび対象物の3次元モデルを動画再生し、又は、当該3次元モデルを逆再生して表示装置24に表示する。実行ログデータベース224には、例えば1msの参照時間ごとのロボット状態データが記録されているため、制御部21は、オペレータの操作に応じた再生用のフレームを作成する。
The simulation unit 107 makes the operation of the three-dimensional model faster or slower than the speed based on the robot state data, or the progress of time in the opposite direction. It may be displayed on Thereby, the operator can reproduce the simulation result at the operator's desired speed or by reverse reproduction.
In this case, as illustrated in FIG. 10, the control unit 21 of the information processing device 2 makes the robot and the object three-dimensional by setting the speed higher or lower than the normal speed according to the operation by the operator on the button of the CAD window. The model is reproduced as a moving image, or the three-dimensional model is reproduced in reverse and displayed on the display device 24. For example, since robot status data for each 1 ms reference time is recorded in the execution log database 224, the control unit 21 creates a reproduction frame according to the operation of the operator.
 インターロック設定部108は、オペレータの操作入力に基づき、タスクに設定された目標点、アプローチ点およびデパーチャ点の少なくともいずれかの点においてロボットの動作を待機させる待機時間のタイムアウト値を設定する機能を備える。
 インターロック設定部108の機能を実現するために、情報処理装置2の制御部21は、入力装置23が受け付けたオペレータの操作入力(例えば、図7の教示用ウィンドウW3における操作入力)に基づいてストレージ22にアクセスし、タスクデータベース221に含まれるタスクに含まれる特定のアプローチ点又はデパーチャ点に設定されたインターロックの待機時間のタイムアウト値を書き換える。
 インターロック設定部108により、ロボットのオフラインティーチングを行うときに、インターロックによる待機時間のタイムアウト値を作業要素ごとにオペレータが容易に設定することができる。
The interlock setting unit 108 has a function of setting a time-out value of the waiting time for waiting the operation of the robot at at least one of the target point, the approach point and the departure point set to the task based on the operation input of the operator. Prepare.
In order to realize the function of the interlock setting unit 108, the control unit 21 of the information processing device 2 performs the operation input of the operator received by the input device 23 (for example, the operation input in the teaching window W3 of FIG. 7). The storage 22 is accessed, and the timeout value of the interlock waiting time set at the specific approach point or departure point included in the task included in the task database 221 is rewritten.
The interlock setting unit 108 allows the operator to easily set the timeout value of the standby time by the interlock for each work element when performing the off-line teaching of the robot.
 なお、シミュレーション部107は、インターロックによる待機時間を無効化して、3次元モデルを仮想空間内で動作させてもよい。つまり、シミュレーション用プログラムを実行するときには、インターロックによる待機を行わずに3次元モデルを動作させる。それによって、オペレータは、仮想空間上でロボットを停止させずに、ロボットの動きに着目してプログラムの実行結果を確認することができる。 The simulation unit 107 may operate the three-dimensional model in the virtual space by invalidating the standby time due to the interlock. That is, when the simulation program is executed, the three-dimensional model is operated without waiting for the interlock. As a result, the operator can check the execution result of the program paying attention to the movement of the robot without stopping the robot in the virtual space.
 (1-4)ジョブのシミュレーションの実行処理
 次に、図12を参照して、ロボットシミュレータ1によるジョブのシミュレーションの実行処理についてシーケンスチャートを参照して説明する。図12は、本実施形態に係るロボットシミュレータのジョブの実行処理を示すシーケンスチャートの例である。
(1-4) Job Simulation Execution Process Next, with reference to FIG. 12, a job simulation execution process by the robot simulator 1 will be described with reference to a sequence chart. FIG. 12 is an example of a sequence chart showing job execution processing of the robot simulator according to the present embodiment.
 図8の教示用ウィンドウW4においてオペレータによるボタンb3に対する操作入力(シミュレーションの実行指示)を受け付けると(ステップS10:YES)、プログラム作成部103は、ジョブをロボットRに実行するためのロボットプログラムを作成する(ステップS12)。このロボットプログラムには、ジョブに対応するタスクリストの各タスクに対応する作業要素をロボットRに実行させるためのプログラムが記述された複数の関数が含まれる。 When an operation input to the button b3 by the operator in the teaching window W4 in FIG. 8 (simulation execution instruction) is received (step S10: YES), the program creation unit 103 creates a robot program for causing the robot R to execute a job. (Step S12). The robot program includes a plurality of functions in which programs for causing the robot R to execute the work elements corresponding to the tasks in the task list corresponding to the job are described.
 作成されたロボットプログラムは、情報処理装置2からロボット制御装置3へ送信されて(ステップS14)、ロボット制御装置3において実行される。すなわち、プログラム実行部104は、タスク単位でロボットプログラムを実行する(ステップS16)。状態情報算出部105は、プログラム実行部104による実行結果に基づいて、時間の経過に応じたロボットRの状態を示す情報であるロボット状態データを演算し、ロボット状態データを含む実行ログデータをストレージ32に記録する(ステップS18)。ステップS16,S18の処理は、タスクリストに含まれるすべてのタスクが終了するまで行われる。
 すべてのタスクについての処理が終了すると(ステップS20:YES)、ロボット制御装置3は、実行ログデータを情報処理装置2に送信する(ステップS22)。実行ログデータには、ジョブの進行の時間軸に沿った所定の参照時間(例えば1ms)ごとのロボット状態データと、ロボットプログラムの実行結果とが含まれる。情報処理装置2は、受信した実行ログデータを実行ログデータベース224に記録する。
 次いで、表示制御部101は、ステップS22で受信した実行ログデータに含まれるロボット状態データ(つまり、状態情報算出部105によって得られたロボット状態データ)に基づいて所定のフォーマットとしたタイミングチャート(オフラインタイミングチャート)を表示装置24に表示する(ステップS24)。シミュレーション部107は、ロボット状態データに基づいて3次元モデルを仮想空間内で動作させて表示装置24に表示する(ステップS26)。
The created robot program is transmitted from the information processing device 2 to the robot control device 3 (step S14) and executed by the robot control device 3. That is, the program execution unit 104 executes the robot program in task units (step S16). The state information calculation unit 105 calculates robot state data which is information indicating the state of the robot R according to the passage of time based on the execution result by the program execution unit 104, and stores execution log data including the robot state data. Record in 32 (step S18). The processes of steps S16 and S18 are performed until all tasks included in the task list are completed.
When the processing for all the tasks is completed (step S20: YES), the robot control device 3 transmits the execution log data to the information processing device 2 (step S22). The execution log data includes robot state data for each predetermined reference time (for example, 1 ms) along the time axis of the progress of the job, and the execution result of the robot program. The information processing device 2 records the received execution log data in the execution log database 224.
Next, the display control unit 101 sets a timing chart (offline, based on robot status data (that is, robot status data obtained by the status information calculation unit 105) included in the execution log data received in step S22 (offline) The timing chart is displayed on the display unit 24 (step S24). The simulation unit 107 operates the three-dimensional model in the virtual space based on the robot state data and displays it on the display device 24 (step S26).
 以上説明したように、本実施形態のロボットシミュレータ1は、ジョブに対応するロボットプログラムの実行結果に基づいてロボット状態データを演算し、当該ロボット状態データに基づいて、時間軸においてタスクの作業要素に相当する期間が識別可能となるようにオフラインタイミングチャートを表示する。そのため、ロボットの一連の作業についてのシミュレーションの結果を表示するときに、特定の作業要素に相当する期間を識別可能とすることができ、作業要素ごとの検討を支援することができる。 As described above, the robot simulator 1 according to the present embodiment calculates robot state data based on the execution result of the robot program corresponding to the job, and based on the robot state data, determines the task element on the time axis. An offline timing chart is displayed so that the corresponding period can be identified. Therefore, when displaying the result of simulation about a series of tasks of the robot, the period corresponding to the specific task can be identified, and the consideration for each task can be supported.
 (2)第2の実施形態
 次に、本発明の第2の実施形態について説明する。
(2) Second Embodiment Next, a second embodiment of the present invention will be described.
 (2-1)本実施形態に係るロボットシミュレータの構成
 以下、本実施形態のロボットシミュレータ1Aの構成について、図13および図14を参照して説明する。図13は、本実施形態のロボットシミュレータ1Aの全体構成について示す図である。図14は、本実施形態のロボットシミュレータ1Aに含まれる各装置のハードウェア構成を示す図である。
 なお、第1の実施形態のロボットシミュレータ1と同様の構成要素については、同一の符号を付して重複説明を省略する。
(2-1) Configuration of Robot Simulator According to this Embodiment Hereinafter, the configuration of the robot simulator 1A according to this embodiment will be described with reference to FIGS. 13 and 14. FIG. FIG. 13 is a view showing the overall configuration of a robot simulator 1A of the present embodiment. FIG. 14 is a diagram showing a hardware configuration of each device included in the robot simulator 1A of the present embodiment.
In addition, about the component similar to the robot simulator 1 of 1st Embodiment, the same code | symbol is attached | subjected and duplication description is abbreviate | omitted.
 図13に示すように、ロボットシミュレータ1Aは、情報処理装置2およびロボット制御装置3Aを備える。情報処理装置2とロボット制御装置3Aとは、例えば通信ネットワークケーブルECにより通信可能に接続される。
 ロボット制御装置3Aは、情報処理装置2から送信されるロボットプログラムを実行する点では第1の実施形態のロボット制御装置3と共通するが、ロボットRとケーブルWCにより接続されている点でロボット制御装置3と異なる。好ましくは、ロボット制御装置3Aは、ロボットの実機の近傍に配置される。
As shown in FIG. 13, the robot simulator 1A includes an information processing device 2 and a robot control device 3A. The information processing device 2 and the robot control device 3A are communicably connected by, for example, a communication network cable EC.
The robot control device 3A is common to the robot control device 3 of the first embodiment in that it executes the robot program transmitted from the information processing device 2, but the robot control in that it is connected to the robot R and the cable WC. Different from device 3. Preferably, the robot control device 3A is disposed in the vicinity of the actual robot.
 図14に示すように、ロボット制御装置3Aは、制御部31Aと、ストレージ32と、通信インタフェース部33とを含む。
 ロボット制御装置3Aの制御部31Aは、ロボットプログラムを実行してロボットRに対する制御信号を生成する。ロボットRに対する制御信号は、ロボットRに対する指令値を示す信号(例えば、パルス信号)である。ロボットRに対する指令値は、例えばロボットRの位置、速度、加速度等の目標値である。
 制御部31Aは、ロボットRから、ロボットRの状態を示すデータであるロボット状態データを取得する。本実施形態において、制御部31Aが取得するロボット状態データは、演算値ではなくロボットRから取得する点で、第1の実施形態とは異なる。また、本実施形態のロボット状態データには、ロボットRに対する入出力信号が含まれる。制御部31Aは、ロボットRから取得したロボット状態データを逐次、ストレージ32に記録する。
 制御部31Aは、ストレージ32から、ジョブの進行の時間軸に沿った所定の参照時間(例えば1ms)ごとのロボット状態データを読み出し、読み出したロボット状態データと、ロボットプログラムの実行結果とを含む実行ログデータを情報処理装置2へ送信する。
As shown in FIG. 14, the robot control device 3A includes a control unit 31A, a storage 32, and a communication interface unit 33.
The control unit 31A of the robot control device 3A executes a robot program to generate a control signal for the robot R. The control signal for the robot R is a signal (for example, a pulse signal) indicating a command value for the robot R. The command value for the robot R is, for example, a target value such as the position, velocity, or acceleration of the robot R.
The control unit 31A acquires robot state data, which is data indicating the state of the robot R, from the robot R. The present embodiment differs from the first embodiment in that the robot state data acquired by the control unit 31A is acquired from the robot R instead of the operation value. The robot state data of this embodiment includes input / output signals to / from the robot R. The control unit 31 </ b> A sequentially records robot state data acquired from the robot R in the storage 32.
The control unit 31A reads robot state data for each predetermined reference time (for example, 1 ms) along the time axis of the progress of the job from the storage 32, and executes the read robot state data and the execution result of the robot program. Log data is transmitted to the information processing device 2.
 図14に示すように、ロボットRは、ロボット本体となるマニピュレータ50と、制御装置55と、センサ群56と、入出力部57とを備える。
 マニピュレータ50は、ロボットRの本体部であり、アーム51およびハンド52と、アーム51およびハンド52の位置、角度を制御する複数のモータと、を含む。
 制御装置55は、ロボット制御装置3Aから受信する指令値に追従するように、マニピュレータ50に設けられたモータを制御するサーボ機構を備える。
 センサ群56は、マニピュレータ50の位置、速度、加速度、および、各関節の角度,角速度等を検出する複数のセンサを含んでもよい。
As shown in FIG. 14, the robot R includes a manipulator 50 as a robot body, a control device 55, a sensor group 56, and an input / output unit 57.
The manipulator 50 is a main body of the robot R, and includes an arm 51 and a hand 52, and a plurality of motors for controlling the positions and angles of the arm 51 and the hand 52.
The control device 55 includes a servo mechanism that controls a motor provided in the manipulator 50 so as to follow a command value received from the robot control device 3A.
The sensor group 56 may include a plurality of sensors that detect the position, velocity, and acceleration of the manipulator 50, and the angle, angular velocity, and the like of each joint.
 制御装置55がロボット制御装置3Aへ送信するロボット状態データは、センサ群56のいずれかのセンサによって検出されたマニピュレータ50の物理量であってもよいし、モータに対する制御電流値等から推定可能な物理量であってもよい。例えば、アーム51の関節角の角速度のデータは、アーム51の関節角の角速度センサが設けられている場合には当該角速度センサの検出値であってもよいし、マニピュレータ50のモータを制御するサーボ機構における制御電流値であってもよい。 The robot state data transmitted from the controller 55 to the robot controller 3A may be a physical quantity of the manipulator 50 detected by any of the sensors of the sensor group 56, or a physical quantity that can be estimated from a control current value or the like for the motor. It may be For example, when the angular velocity sensor of the joint angle of the arm 51 is provided, the data of the angular velocity of the joint angle of the arm 51 may be a detection value of the angular velocity sensor, or a servo for controlling the motor of the manipulator 50 It may be a control current value in the mechanism.
 入出力部57は、ロボットRの外部のシステムとの入出力インタフェースである。例えば、入力信号の例としては、外部のシステムからのインターロック信号や、後述するようにロボットRがラインに配置されている場合には、対象物の位置についての補正のための信号が挙げられる。 The input / output unit 57 is an input / output interface with a system outside the robot R. For example, examples of the input signal include an interlock signal from an external system, and a signal for correcting the position of the object when the robot R is disposed in a line as described later. .
 (2-2)本実施形態のタイミングチャート
 本実施形態では、実機のロボットRがロボット制御装置3Aに接続され、ロボットRから取得したロボット状態データに基づいて、情報処理装置2においてタイミングチャートが作成される。以下の説明では、本実施形態において作成されるタイミングチャートを適宜、「オンラインタイミングチャート」ともいう。オンラインタイミングチャートは、第1タイミングチャートの一例である。
(2-2) Timing Chart of this Embodiment In this embodiment, the robot R of the actual machine is connected to the robot control device 3A, and based on the robot state data acquired from the robot R, a timing chart is created in the information processing device 2 Be done. In the following description, the timing chart created in the present embodiment is also referred to as an “online timing chart” as appropriate. The on-line timing chart is an example of a first timing chart.
 図15に、本実施形態のタイミングチャートの一例を示す。図15のタイミングチャートは、グラフを表示する部分であるA部と、タスクの実行状況について表示する部分であるB部とに加えて、入出力信号を表示する部分であるC部を含む。すなわち、オンラインタイミングチャートに含まれるロボット状態データには、ロボットにおける入出力信号の状態が含まれてもよい。オンラインタイミングチャートに表示される入出力信号は、ロボットRに対して設けられた入出力信号の中からオペレータの操作入力により選択可能であることが好ましい。 FIG. 15 shows an example of a timing chart of the present embodiment. The timing chart of FIG. 15 includes a part C that is a part that displays input / output signals, in addition to a part A that is a part that displays a graph and a part B that is a part that displays the task execution status. That is, the robot state data included in the online timing chart may include the state of input / output signals in the robot. It is preferable that the input / output signals displayed on the online timing chart can be selected from the input / output signals provided to the robot R by the operation input of the operator.
 A部には、ロボットRから取得した以下のロボット状態データの参照時間(例えば1ms)ごとの変化をプロットした波形(グラフ)が表示される。
 ・ロボットRのX座標(ワールド座標系)の位置の取得値(“posX”)
 ・ロボットRのY座標(ワールド座標系)の位置の取得値(“posY”)
 ・ロボットRのZ座標(ワールド座標系)の位置の取得値(“posZ”)
 ・アーム51の関節角の角速度の取得値(“Angular Velocity”)
In part A, a waveform (graph) in which changes at each reference time (for example, 1 ms) of the following robot state data acquired from the robot R are plotted is displayed.
・ Acquisition value of position of robot R's X coordinate (world coordinate system) ("posX")
・ Acquisition value of position of Y coordinate (world coordinate system) of robot R ("posY")
· Acquisition value of position of robot R's Z coordinate (world coordinate system) ("posZ")
・ Acquired value of angular velocity of joint angle of arm 51 (“Angular Velocity”)
 B部において、第1の実施形態のオフラインタイミングチャートと同様に、各モーションの開始時刻および終了時刻は、各モーションに対応する関数の実行開始時刻および実行終了時刻と一致する。各タスクの開始時刻は、各タスクに含まれる複数のモーションのうち最初のモーションの開始時刻と一致し、各タスクの終了時刻は、各タスクに含まれる複数のモーションのうち最後のモーションの終了時刻と一致する。 In Part B, as in the off-line timing chart of the first embodiment, the start time and the end time of each motion coincide with the execution start time and the execution end time of the function corresponding to each motion. The start time of each task matches the start time of the first motion among the plurality of motions included in each task, and the end time of each task is the end time of the last motion among the plurality of motions included in each task Match with
 図15のC部では、I/O(入出力信号)の状態(ON(Hレベル)又はOFF(Lレベル))が表示される。[]の中の数字は、予め定められたI/O番号であり、[]に続く文字は、I/Oの内容を示している。なお、C部に含まれる入出力信号が不定を示す場合がある。
 図15に示す例では、以下の内容のI/Oを示している。
In part C of FIG. 15, the state (ON (H level) or OFF (L level)) of the I / O (input / output signal) is displayed. The numbers in [] are predetermined I / O numbers, and the characters following [] indicate the contents of I / O. In addition, the input-output signal contained in C part may show indeterminate.
In the example shown in FIG. 15, I / O of the following contents is shown.
 ・[09] Pen Set … 実機のロボットRの作業環境にカメラが設けられており、当該カメラがペントレイを認識したときにONとなる。ペントレイが固定して配置されている場合には常にONであるが、ペントレイがラインで運ばれてくる場合には、カメラがペントレイのペンを認識したときにOFFからONに切り替わる。
 ・[10] Vision lockon … 実機のロボットRの作業環境に設置されているカメラによって認識されたペントレイの位置に基づいて、ロボットRに対する指令値に対する補正を行う補正タイミングを示している。補正タイミングに達したときにONとなる。補正タイミングは、タスクに対して予め設定されている。
 ・[16] Hand1 grasp … ハンドがペンを把持したときにONとなる。ONのタイミングはハンドシーケンスによって異なる。
 ・[17] Hand1 release … ハンドがペンを離したときにONとなる。実機のロボットRでは、対象物を取る(pick up)作業中にONとなった場合、対象物を掴み損ねて落下させたことがわかる。
[09] Pen Set: A camera is provided in the working environment of the actual robot R, and is turned on when the camera recognizes the pen tray. When the pen tray is fixed and arranged, it is always on. However, when the pen tray is carried in a line, the camera switches from OFF to ON when it recognizes the pen in the pen tray.
[10] Vision lock on: Indicates a correction timing for correcting the command value for the robot R based on the position of the pen tray recognized by the camera installed in the working environment of the robot R of the actual machine. It turns ON when the correction timing is reached. The correction timing is preset for the task.
[16] Hand 1 grasp ... Turns on when the hand holds the pen. The timing of ON differs depending on the hand sequence.
・ [17] Hand1 release ... It turns ON when the hand releases the pen. When the robot R of the actual machine is turned on during the picking up operation, it can be understood that the user has failed to grasp the object and drops it.
 図15に示すように、オンラインタイミングチャートにおいても、第1の実施形態のオフラインタイミングチャートと同様に、ロボットRのジョブに含まれる各タスクの期間(開始時刻および終了時刻)と、各タスクに含まれるモーションの期間(開始時刻および終了時刻)とがわかる。
 図15のオンラインタイミングチャートの例では、ロボットRに対する指令値の補正タイミングである時刻t3が、当該指令値に対応するモーションの開始時刻である時刻t2よりも後になっており、問題が発生していることがわかる。
As shown in FIG. 15, in the online timing chart, as in the off-line timing chart of the first embodiment, the period (start time and end time) of each task included in the job of robot R and each task are included. Period of motion (start time and end time) to be known.
In the example of the online timing chart of FIG. 15, the time t3 which is the correction timing of the command value for the robot R is later than the time t2 which is the start time of the motion corresponding to the command value. I understand that
 (2-3)ロボットシミュレータ1Aの機能
 次に、本実施形態のロボットシミュレータ1Aの機能について、図16を参照して説明する。図16は、実施形態に係るロボットシミュレータ1Aの機能ブロック図である。
 図16に示すように、ロボットシミュレータ1Aは、表示制御部101、タスク作成部102、プログラム作成部103、プログラム実行部104、状態情報取得部106、シミュレーション部107、および、インターロック設定部108を備える。すなわち、本実施形態のロボットシミュレータ1Aは、状態情報算出部105ではなく状態情報取得部106を備えている点で、第1の実施形態のロボットシミュレータ1とは異なる。
(2-3) Function of Robot Simulator 1A Next, the function of the robot simulator 1A of the present embodiment will be described with reference to FIG. FIG. 16 is a functional block diagram of a robot simulator 1A according to the embodiment.
As shown in FIG. 16, the robot simulator 1A includes a display control unit 101, a task creation unit 102, a program creation unit 103, a program execution unit 104, a state information acquisition unit 106, a simulation unit 107, and an interlock setting unit 108. Prepare. That is, the robot simulator 1A according to the present embodiment differs from the robot simulator 1 according to the first embodiment in that the state information acquisition unit 106 is provided instead of the state information calculation unit 105.
 本実施形態のプログラム実行部104を実現するために、情報処理装置2の制御部21は、例えば教示用ウィンドウW3(図8)のボタンb3に対する操作入力を認識すると、ロボットプログラム(実機用プログラム)を作成し、当該ロボットプログラムをロボット制御装置3Aへ送信する。ロボット制御装置3Aの制御部31Aは、受信した実機用プログラムを実行する。 In order to realize the program execution unit 104 of the present embodiment, the control unit 21 of the information processing device 2 recognizes, for example, an operation input to the button b3 of the teaching window W3 (FIG. 8). And transmit the robot program to the robot control apparatus 3A. The control unit 31A of the robot control device 3A executes the received program for a real machine.
 状態情報取得部106は、プログラム実行部104による実行結果に基づいてロボットに対する制御信号を生成し、当該制御信号によって動作するロボットの時間の経過に応じた状態を示す情報であるロボット状態データを、ロボットから取得する機能を備える。
 本実施形態では、表示制御部101は、状態情報取得部106により得られたロボット状態データに基づいて、時間軸においてタスクの作業要素に相当する期間が識別可能となるように、ロボットの状態を示すタイミングチャート(すなわち、オンラインタイミングチャート)を表示装置24に表示する。
The state information acquisition unit 106 generates a control signal for the robot based on the execution result by the program execution unit 104, and robot state data, which is information indicating a state according to the passage of time of the robot operating according to the control signal, It has a function to acquire from a robot.
In the present embodiment, the display control unit 101 determines the state of the robot so that the period corresponding to the task element of the task can be identified on the time axis based on the robot state data obtained by the state information acquisition unit 106. The timing chart (ie, the on-line timing chart) shown is displayed on the display unit 24.
 状態情報取得部106の機能を実現するために、ロボット制御装置3Aの制御部31Aは、上述したように、各タスクに基づいて作成されたプログラムを順に実行するようにして、情報処理装置2から受信したロボットプログラムを実行する。そして、制御部31Aは、ロボットプログラムに含まれる関数を実行する度に、ロボットRに対する指令値を含む制御信号を生成し、ロボットRへ送信する。
 ロボットRの制御装置55は、ロボット制御装置3Aから受信する指令値に追従するように、マニピュレータ50に設けられたモータを制御するとともに、ロボット状態データをロボット制御装置3Aに送信する。ロボット状態データは、センサ群56のいずれかのセンサによって検出されたマニピュレータ50の物理量、あるいはマニピュレータ50の物理量の推定値(例えば制御電流値等)である。ロボット制御装置3Aの制御部31Aは、ロボットRから取得したロボット状態データを逐次、ストレージ32に記録する。
 制御部31Aは、ストレージ32に累積されるロボット状態データを所定の参照時間(例えば1ms)ごとに読み出し、読み出した所定の参照時間ごとのロボット状態データを含む実行ログデータを情報処理装置2へ送信する。
 情報処理装置2の制御部21は、受信した実行ログデータを実行ログデータベース224に記録する。さらに、制御部21は、第1の実施形態と同様に、実行ログデータに含まれるロボット状態データに基づいて、所定の形式のタイミングチャート(オンラインタイミングチャート)を含む画像を生成して表示装置24に表示する。当該タイミングチャートにより、ロボットの一連の作業について特定の作業要素に相当する期間を識別可能とすることができる。
In order to realize the function of the state information acquisition unit 106, as described above, the control unit 31A of the robot control device 3A sequentially executes the program created based on each task, from the information processing device 2 Execute the received robot program. Then, the control unit 31A generates a control signal including a command value for the robot R every time the function included in the robot program is executed, and transmits the control signal to the robot R.
The control device 55 of the robot R controls the motor provided in the manipulator 50 so as to follow the command value received from the robot control device 3A, and transmits robot state data to the robot control device 3A. The robot state data is a physical quantity of the manipulator 50 detected by any of the sensors of the sensor group 56 or an estimated value (for example, a control current value or the like) of the physical quantity of the manipulator 50. The control unit 31A of the robot control device 3A sequentially records the robot state data acquired from the robot R in the storage 32.
The control unit 31A reads robot state data accumulated in the storage 32 every predetermined reference time (for example, 1 ms), and transmits execution log data including robot state data read every predetermined reference time to the information processing apparatus 2 Do.
The control unit 21 of the information processing device 2 records the received execution log data in the execution log database 224. Furthermore, as in the first embodiment, the control unit 21 generates an image including a timing chart (on-line timing chart) of a predetermined format based on robot state data included in the execution log data, and displays the display device 24. Display on The timing chart can make it possible to identify a period corresponding to a specific work element in a series of work of the robot.
 第1の実施形態と同様に、ロボット状態データは、ロボットは複数の種別の情報を含んでもよい。その場合、表示制御部101は、ロボット状態データのうち、オペレータの操作入力によって複数の種別の中から選択された一部の種別の情報に基づいて、オンラインタイミングチャートを表示装置24に表示してもよい。 As in the first embodiment, in the robot state data, the robot may include plural types of information. In that case, the display control unit 101 displays an online timing chart on the display device 24 based on the information of a part of the robot state data selected from the plurality of types by the operation input of the operator. It is also good.
 本実施形態では、シミュレーション部107は、状態情報取得部106によって得られたロボット状態データに基づいて、3次元モデルを仮想空間内で動作させて表示装置24に表示する機能を備えてもよい。その際、シミュレーション部 107は、3次元モデルの動作を、ロボット状態データに基づく速度よりも高速となるように、若しくは低速となるように、又は、時間の進行が逆方向となるようにして、表示装置24に表示してもよい。
 本実施形態では、情報処理装置2の制御部21は、ロボットRから取得した参照時間ごとのロボット状態データを基に仮想空間上でロボットおよび対象物の3次元モデルを動作させて表示装置24に表示する。これによって、オペレータは、各タスクのロボットの動作を視覚的に確認することができるため、各タスクの設定値(例えば、アプローチ点、デパーチャ点、モーションパラメータ等)や対象物の配置(例えば、図3のキャップトレイ12の配置等)を再検討することが容易となる。
In the present embodiment, the simulation unit 107 may have a function of operating the three-dimensional model in the virtual space and displaying it on the display device 24 based on the robot state data obtained by the state information acquisition unit 106. At this time, the simulation unit 107 causes the motion of the three-dimensional model to be faster or slower than the speed based on the robot state data, or to make the progress of time reverse. It may be displayed on the display device 24.
In the present embodiment, the control unit 21 of the information processing device 2 causes the display device 24 to operate the three-dimensional model of the robot and the object in the virtual space based on the robot state data for each reference time acquired from the robot R. indicate. By this, the operator can visually confirm the operation of the robot of each task, so the setting value of each task (for example, approach point, departure point, motion parameter, etc.) and the arrangement of the object (for example, FIG. It becomes easy to re-examine the arrangement of the cap tray 12 and the like 3).
 本実施形態において、オンラインタイミングチャートを表示し、3次元モデルの動画を再生する処理は、図12に示したフローチャートの処理と概ね共通するが、ステップS18において、ロボットRからロボット状態データを取得して記録する点が異なる。 In the present embodiment, the process of displaying the online timing chart and reproducing the moving image of the three-dimensional model is substantially in common with the process of the flowchart shown in FIG. 12, but in step S18, robot state data is acquired from the robot R Differs in that they are recorded.
 以上説明したように、本実施形態のロボットシミュレータ1Aは、ジョブに対応するロボットプログラムの実行結果に基づいてロボットに対して指令値を送信し、ロボットからロボット状態データを取得する。そして、ロボットシミュレータ1Aは、取得したロボット状態データに基づいて、時間軸においてタスクの作業要素に相当する期間が識別可能となるようにオンラインタイミングチャートを表示する。そのため、実機のロボットの一連の作業についての結果を表示するときに、特定の作業要素に相当する期間を識別可能とすることができ、作業要素ごとの検討を支援することができる。 As described above, the robot simulator 1A of this embodiment transmits a command value to the robot based on the execution result of the robot program corresponding to the job, and acquires robot state data from the robot. Then, based on the acquired robot state data, the robot simulator 1A displays the online timing chart so that the period corresponding to the task element of the task can be identified on the time axis. Therefore, when displaying the result of a series of tasks of a real robot, it is possible to identify a period corresponding to a specific task, and to support consideration for each task.
 (3)第3の実施形態
 次に、第3の実施形態について説明する。
 本実施形態のロボットシミュレータは、第1の実施形態のロボットシミュレータ1の機能と、第2の実施形態のロボットシミュレータ1Aの機能とを備え、オフラインタイミングチャートとオンラインタイミングチャートの両方を表示装置24に表示する。すなわち、本実施形態では、表示制御部101は、オフラインタイミングチャート(第2タイミングチャートの例)とオンラインタイミングチャート(第1タイミングチャートの例)を、タスクの作業要素に相当する期間のロボットの状態が比較可能となるように、表示装置24に表示する。かかる表示によって、同一のジョブに対してロボットに接続した場合と接続しない場合とでのロボット状態データを、ジョブに含まれる作業要素ごとに比較し、検討することができる。
(3) Third Embodiment Next, the third embodiment will be described.
The robot simulator of the present embodiment has the functions of the robot simulator 1 of the first embodiment and the functions of the robot simulator 1A of the second embodiment, and both the off-line timing chart and the on-line timing chart are displayed on the display device 24. indicate. That is, in the present embodiment, the display control unit 101 displays the offline timing chart (example of the second timing chart) and the online timing chart (example of the first timing chart) as the state of the robot in a period equivalent to the task element of the task. Are displayed on the display device 24 so that they can be compared. With this display, it is possible to compare and examine robot state data in the case where the same job is connected to the robot and in the case where the robot is not connected to each other for each work element included in the job.
 本実施形態の情報処理装置2の実行ログデータベース224には、同一のジョブに対して作成されたロボットプログラムを実行することで得られたロボット状態データ(演算されたロボット状態データ、および、ロボットから取得したロボット状態データ)が記録される。そして、情報処理装置2の制御部21は、演算されたロボット状態データに基づくオフラインタイミングチャートと、ロボットから取得したロボット状態データに基づくオンラインタイミングチャートとを、比較可能となる表示装置24に表示する。 In the execution log database 224 of the information processing apparatus 2 according to the present embodiment, robot state data (computed robot state data and robots obtained by executing robot programs created for the same job) The acquired robot state data is recorded. Then, the control unit 21 of the information processing device 2 displays the off-line timing chart based on the calculated robot state data and the on-line timing chart based on the robot state data acquired from the robot on the display 24 that can be compared. .
 オフラインタイミングチャートとオンラインタイミングチャートとを比較可能となるような表示態様は限定するものではなく、例えば、表示画面の上側にオフラインタイミングチャートを表示し、表示画面の下側にオンラインタイミングチャートを表示してもよい。
 好ましくは、表示制御部101は、オフラインタイミングチャートとオンラインタイミングチャートとを切り替え可能に表示するか、又は、オフラインタイミングチャートとオンラインタイミングチャートとを共通の時間軸において重ね合わせて表示装置24に表示する。かかる表示態様とすることで、オフラインタイミングチャートとオンラインタイミングチャートを比較することが容易となる。
The display mode that makes it possible to compare the offline timing chart and the online timing chart is not limited. For example, the offline timing chart is displayed on the upper side of the display screen, and the online timing chart is displayed on the lower side of the display screen. May be
Preferably, the display control unit 101 displays the off-line timing chart and the on-line timing chart in a switchable manner, or superimposes the off-line timing chart and the on-line timing chart on a common time axis and displays them on the display device 24. . With this display mode, it becomes easy to compare the off-line timing chart and the on-line timing chart.
 図17に、オフラインタイミングチャートとオンラインタイミングチャートとを共通の時間軸において重ね合わせて表示した例を示す。図17に示す例では、図15に示したオンラインタイミングチャートに、図9に示したオフラインタイミングチャートが共通の時間軸において重ね合わせて表示されている。 FIG. 17 shows an example in which the off-line timing chart and the on-line timing chart are superimposed and displayed on a common time axis. In the example shown in FIG. 17, the off-line timing chart shown in FIG. 9 is displayed superimposed on the on-line timing chart shown in FIG. 15 on a common time axis.
 図18に、オフラインタイミングチャートとオンラインタイミングチャートとを切り替え可能に表示した例を示す。図18に示す例では、最上部に、オフラインタイミングチャートに対応する「結果#1(ロボット非接続)」という名称のタブと、オンラインタイミングチャートに対応する「結果#2(ロボット接続)」という名称のタブとが切り替え可能に設けられる。図18は、「結果#1(ロボット非接続)」という名称のタブが選択された場合を示しており、図9のオフラインタイミングチャートと同一の表示内容となっている。 FIG. 18 shows an example in which the off-line timing chart and the on-line timing chart are displayed switchably. In the example shown in FIG. 18, at the top, a tab named “Result # 1 (robot not connected)” corresponding to the offline timing chart and a name “Result # 2 (robot connected) corresponding to the online timing chart And tabs are provided switchably. FIG. 18 shows the case where the tab named “Result # 1 (robot not connected)” is selected, and has the same display content as the off-line timing chart of FIG.
 (4)変形例
 以下、上述した各実施形態の変形例について述べる。
(4) Modification Hereinafter, the modification of each embodiment mentioned above is described.
 (4-1)変形例1
 表示制御部101は、異なる作業要素同士におけるロボットの状態が比較可能となるように、オフラインタイミングチャート又はオンラインタイミングチャートを表示装置24に表示してもよい。それによって、ロボットのジョブに含まれる複数の作業要素のうち異なる作業要素間においてロボットの状態を比較することができる。
 本変形例を実現するために、例えば、情報処理装置2の制御部21は、ジョブに含まれる複数のタスクのうち2つのタスクを選択するオペレータの操作入力に基づいて、情報処理装置2の制御部21は、選択された2つのタスクの期間が並列に構成されたタイミングチャートを作成する。好ましくは、選択された2つのタスクの期間の開始時刻が一致するようにしてタイミングチャートが作成される。
(4-1) Modified Example 1
The display control unit 101 may display an off-line timing chart or an on-line timing chart on the display device 24 so that the states of robots in different work elements can be compared. Thereby, it is possible to compare the state of the robot among different work elements among the plurality of work elements included in the robot's job.
In order to realize the present modification, for example, the control unit 21 of the information processing device 2 controls the information processing device 2 based on the operation input of the operator who selects two tasks among the plurality of tasks included in the job. The unit 21 creates a timing chart in which the periods of the two selected tasks are configured in parallel. Preferably, the timing chart is created such that the start times of the selected two task periods coincide.
 (4-2)変形例2
 シミュレーション部107は、オフラインタイミングチャート又はオンラインタイミングチャートにおいて表示されている期間のうち、オペレータの操作入力に基づいて指定された一部の期間におけるロボット状態データに基づいて、3次元モデルを動作させて表示装置24に表示してもよい。それによって、ジョブの全期間のうちオペレータが注目したい期間のロボットの動作を確認することができる。
 本変形例を実現するために、オフラインタイミングチャート又はオンラインタイミングチャートに、図10に例示したようなボタンb4(通常速度によりロボットおよび対象物の動作させるための操作ボタン)が設けられる。情報処理装置2の制御部21は、当該ボタンb4の操作入力に基づいて、オフラインタイミングチャート又はオンラインタイミングチャートに対応する動画を再生する。このとき、タイミングチャートに設けられたカーソルCU1~CU3を操作することで、動画の再生対象とする期間を、タイミングチャートに表示されている期間のうち一部の期間に指定できるようにする。
(4-2) Modification 2
The simulation unit 107 operates the three-dimensional model based on robot state data in a partial period designated based on the operator's operation input among the periods displayed in the off-line timing chart or the on-line timing chart. It may be displayed on the display device 24. As a result, it is possible to confirm the operation of the robot in the period that the operator wants to focus on during the entire period of the job.
In order to realize the present modified example, the offline timing chart or the online timing chart is provided with a button b4 (an operation button for operating the robot and the object at a normal speed) as illustrated in FIG. The control unit 21 of the information processing device 2 reproduces the moving image corresponding to the off-line timing chart or the on-line timing chart based on the operation input of the button b4. At this time, by operating the cursors CU1 to CU3 provided on the timing chart, it is possible to designate a period to be a reproduction target of a moving image as a part of the periods displayed on the timing chart.
 (4-3)変形例3
 第2の実施形態において、表示制御部101は、同一の作業要素であっても異なる実行結果におけるロボットの状態が比較可能となるように、オンラインタイミングチャートを表示装置24に表示してもよい。それによって、同一のタスクを複数回試行したときのロボットの状態のばらつきを把握することができる。 本変形例を実現するために、情報処理装置2の制御部21は、ロボットプログラムを複数回実行することで取得した複数のロボット状態データをジョブの開始時刻が一致するようにして重ねてプロットしたタイミングチャートを作成する。
(4-3) Modification 3
In the second embodiment, the display control unit 101 may display the on-line timing chart on the display device 24 so that the states of the robots in different execution results can be compared even with the same work element. Thereby, it is possible to grasp the variation of the state of the robot when trying the same task a plurality of times. In order to realize the present modification, the control unit 21 of the information processing device 2 plots and plots a plurality of robot state data acquired by executing the robot program a plurality of times such that the start times of jobs coincide with each other. Create a timing chart.
 以上、本発明のロボットシミュレータの複数の実施形態について詳述したが、本発明は上記の各実施形態に限定されない。また、上記の実施形態は、本発明の主旨を逸脱しない範囲において、種々の改良や変更が可能である。例えば、各実施形態について言及した技術的事項は、技術的矛盾が生じない限り、異なる実施形態の間で適宜組み合わせてもよい。 As mentioned above, although several embodiment of the robot simulator of this invention was explained in full detail, this invention is not limited to said each embodiment. Further, various modifications and changes can be made to the embodiment described above without departing from the spirit of the present invention. For example, the technical matters referred to for each embodiment may be combined as appropriate between different embodiments as long as no technical contradiction arises.
 上述した第1および第2の実施形態において、情報処理装置2は、ロボット制御装置3から取得したロボット状態データに基づいて有用な情報を提供するようにしてもよい。
 例えば、ジョブ内の作業要素間の移動距離および移動回数を統計処理した情報を提供することで、ラインにおける対象物の供給及び/又は排出の場所、向き等の検討を支援することができる。
 また、ジョブ内のロボットの動作時間と待機時間の時間比率を算出して提示してもよい。それによって、ジョブ内の作業順序の改善、あるいは不要な高速動作を低速化する等の検討を支援することができる。
In the first and second embodiments described above, the information processing device 2 may provide useful information based on robot state data acquired from the robot control device 3.
For example, by providing information obtained by statistically processing the movement distance and the number of movements between work elements in a job, it is possible to support consideration of the location, direction, etc. of supply and / or discharge of an object in a line.
Also, the time ratio between the operation time of the robot in the job and the waiting time may be calculated and presented. As a result, it is possible to support consideration of improvement of the work order in the job or slowing down of unnecessary high speed operation.
 上述した実施形態に係るロボットシミュレータは、図11又は図16の機能ブロック図に記載されたすべての機能を備えている必要はなく、少なくとも一部の機能を備えていればよい。
 上述した実施形態では、ロボットシミュレータは、情報処理装置とロボット制御装置の2つの装置を含む場合について例示したが、その限りではなく、一体の装置として構成してもよい。
 上述した実施形態では、情報処理装置の入力装置にポインティングデバイスが含まれる場合について説明したが、その限りではなく、他のデバイスであってもよい。例えば、タッチ入力機能を備えた表示パネルを使用し、オペレータによるタッチ入力を受け付けてもよい。
 上述した実施形態では、ジョブに含まれるタスクリストを、階層型リストを基に作成する例を説明したが、その限りではない。ジョブに含まれる複数の作業要素が特定される限り、階層型リストを基にジョブに含まれるタスクを定義する必要はない。
The robot simulator according to the embodiment described above does not have to have all the functions described in the functional block diagram of FIG. 11 or FIG. 16, and may have at least a part of the functions.
In the embodiment described above, the robot simulator is illustrated as including the two devices of the information processing device and the robot control device, but the invention is not limited thereto, and may be configured as an integrated device.
In the embodiment described above, the case where the input device of the information processing apparatus includes the pointing device has been described, but the present invention is not limited thereto, and another device may be used. For example, a display panel provided with a touch input function may be used to receive touch input by an operator.
In the embodiment described above, an example in which the task list included in the job is created based on the hierarchical list has been described, but it is not limited thereto. As long as multiple work elements included in the job are identified, it is not necessary to define the tasks included in the job based on the hierarchical list.
 上述した説明により、図11および図16の機能ブロック図に記載された機能のうち少なくとも一部の機能をコンピュータに実現させるためのプログラム、および、当該プログラムが記録されたコンピュータ可読記憶媒体(不揮発性の記憶媒体をも含む。)が開示されていることは当業者に理解される。 Based on the above description, a program for causing a computer to implement at least a part of the functions described in the functional block diagrams of FIG. 11 and FIG. 16, and a computer readable storage medium (nonvolatile It is understood by those skilled in the art that the storage medium of the above is also disclosed.
1,1A…ロボットシミュレータ、2…情報処理装置、21…制御部、22…ストレージ、23…入力装置、24…表示装置、25…通信インタフェース部、3,3A…ロボット制御装置、31,31A…制御部、32…ストレージ、33…通信インタフェース部、11…ペントレイ、P…ペン群、12…キャップトレイ、C…キャップ群、13…治具、14…製品トレイ、A1~A12…製品、EC…通信ネットワークケーブル、WC…ケーブル、R…ロボット、50…マニピュレータ、51…アーム、52…ハンド、55…制御装置、56…センサ群、57…入出力部、61~68…ノード、101…表示制御部、102…タスク作成部、103…プログラム作成部、104…プログラム実行部、105…状態情報算出部、106…状態情報取得部、107…シミュレーション部、108…インターロック設定部、221…タスクデータベース、222…階層型リストデータベース、223…3次元モデルデータベース、224…実行ログデータベース、RA…ロボット領域、PA…対象物領域、W1~W6…ウィンドウ、b1~b8…ボタン、AP…アプローチ点、TP…目標点、DP…デパーチャ点、T…テーブル 1, 1A: robot simulator, 2: information processing device, 21: control unit, 22: storage, 23: input device, 24: display device, 25: communication interface unit, 3, 3A: robot control device, 31, 31A: Control unit 32: Storage 33: Communication interface unit 11: Pen tray P: pen group 12: cap tray C: cap group 13: jig 15: product tray A1 to A12: product EC Communication network cable, WC: cable, R: robot, 50: manipulator, 51: arm, 52: hand, 55: control device, 56: sensor group, 57: input / output unit, 61 to 68, node: 101, display control Unit 102: task creation unit 103: program creation unit 104: program execution unit 105: state information calculation unit 106: state Information acquisition unit 107: simulation unit 108: interlock setting unit 221: task database 222: hierarchical list database 223: three-dimensional model database 224: execution log database RA: robot area PA: target object Area, W1 to W6: Window, b1 to b8: button, AP: approach point, TP: target point, DP: departure point, T: table

Claims (10)

  1.  ロボットの作業要素に関する情報であるタスクを含むロボットプログラムを実行するプログラム実行部と、
     前記プログラム実行部による実行結果に基づいて前記ロボットに対する制御信号を生成し、当該制御信号によって動作する前記ロボットの時間の経過に応じた状態を示す情報である状態情報を、前記ロボットから取得する状態情報取得部と、
     前記状態情報取得部により得られた前記状態情報に基づいて、時間軸において前記タスクの作業要素に相当する期間が識別可能となるように、前記ロボットの状態を示す第1タイミングチャートを表示装置に表示する表示制御部と、
     を備えた、ロボットシミュレータ。
    A program execution unit that executes a robot program including a task that is information on work elements of the robot;
    A state in which a control signal for the robot is generated based on an execution result by the program execution unit, and state information which is information indicating a state according to the elapsed time of the robot operated by the control signal is acquired from the robot Information acquisition unit,
    Based on the state information obtained by the state information obtaining unit, a first timing chart indicating the state of the robot is displayed on a display device such that a period corresponding to a task element of the task can be identified on the time axis. A display control unit to be displayed,
    , A robot simulator.
  2.  仮想空間における前記ロボットの3次元モデルの情報を記憶する記憶部と、
     前記状態情報取得部によって得られた状態情報に基づいて、前記3次元モデルを動作させて前記表示装置に表示するシミュレーション部と、
     をさらに備えた、請求項1に記載されたロボットシミュレータ。
    A storage unit storing information of a three-dimensional model of the robot in a virtual space;
    A simulation unit that operates the three-dimensional model and displays it on the display device based on the state information obtained by the state information obtaining unit;
    The robot simulator according to claim 1, further comprising:
  3.  前記プログラム実行部による実行結果に基づいて、時間の経過に応じた前記ロボットの状態を示す情報である状態情報を演算する状態情報算出部、をさらに備え、
     前記表示制御部は、前記状態情報算出部により得られた前記状態情報に基づいて、時間軸において前記タスクの作業要素に相当する期間が識別可能となるように、前記ロボットの状態を示す第2タイミングチャートを前記表示装置に表示する、
     請求項1又は2に記載されたロボットシミュレータ。
    The system further includes a state information calculation unit that calculates state information that is information indicating the state of the robot according to the passage of time based on the execution result by the program execution unit.
    The display control unit is configured to indicate a state of the robot such that a period corresponding to a work element of the task can be identified on a time axis based on the state information obtained by the state information calculation unit. Display a timing chart on the display device,
    A robot simulator according to claim 1 or 2.
  4.  前記表示制御部は、前記第1タイミングチャートと前記第2タイミングチャートを、前記タスクの作業要素に相当する期間の前記ロボットの状態が比較可能となるように、前記表示装置に表示する、
     請求項3に記載されたロボットシミュレータ。
    The display control unit displays the first timing chart and the second timing chart on the display device so that the state of the robot in a period corresponding to the work element of the task can be compared.
    The robot simulator according to claim 3.
  5.  前記表示制御部は、前記第1タイミングチャートと前記第2タイミングチャートとを切り替え可能に表示するか、又は、前記第1タイミングチャートと前記第2タイミングチャートとを共通の時間軸において重ね合わせて表示する、
     請求項4に記載されたロボットシミュレータ。
    The display control unit displays the first timing chart and the second timing chart in a switchable manner, or displays the first timing chart and the second timing chart so as to overlap on a common time axis. Do,
    The robot simulator according to claim 4.
  6.  前記表示制御部は、異なる作業要素同士における前記ロボットの状態が比較可能となるように、または、同一の作業要素であっても異なる前記実行結果における前記ロボットの状態が比較可能となるように、前記第1タイミングチャートを前記表示装置に表示する、
    請求項1に記載されたロボットシミュレータ。
    The display control unit may compare the states of the robot in different work elements, or may compare the states of the robot in different execution results even with the same work element. Displaying the first timing chart on the display device;
    A robot simulator according to claim 1.
  7.  前記状態情報は、前記ロボットは複数の種別の情報を含み、
     前記表示制御部は、前記状態情報のうち、オペレータの操作入力によって前記複数の種別の中から選択された一部の種別の情報に基づいて、前記第1タイミングチャートを前記表示装置に表示する、請求項1又は6に記載されたロボットシミュレータ。
    The state information includes information of a plurality of types of robots.
    The display control unit displays the first timing chart on the display device based on information of a part of the plurality of types selected from the plurality of types in the state information. A robot simulator according to claim 1 or 6.
  8.  前記状態情報には、前記ロボットにおける入出力信号の状態が含まれる、請求項1から6のいずれか1項に記載されたロボットシミュレータ。 The robot simulator according to any one of claims 1 to 6, wherein the state information includes the state of an input / output signal of the robot.
  9.  前記シミュレーション部は、前記第1タイミングチャートにおいて表示されている期間のうち、オペレータの操作入力に基づいて指定された一部の期間における前記状態情報に基づいて、前記3次元モデルを動作させて前記表示装置に表示する、請求項2に記載されたロボットシミュレータ。 The simulation unit operates the three-dimensional model based on the state information in a partial period designated based on an operator's operation input among the periods displayed in the first timing chart. The robot simulator according to claim 2, displayed on a display device.
  10.  前記シミュレーション部は、前記3次元モデルの動作を、前記状態情報に基づく速度よりも高速となるように、若しくは低速となるように、又は、時間の進行が逆方向となるようにして、前記表示装置に表示する、請求項2に記載されたロボットシミュレータ。 The simulation unit performs the display such that the operation of the three-dimensional model is faster or slower than the speed based on the state information, or the time progression is in the reverse direction. The robot simulator according to claim 2, displayed on a device.
PCT/JP2018/028994 2017-09-26 2018-08-02 Robot simulator WO2019064917A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019544369A JP7151713B2 (en) 2017-09-26 2018-08-02 robot simulator

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-184664 2017-09-26
JP2017184664 2017-09-26

Publications (1)

Publication Number Publication Date
WO2019064917A1 true WO2019064917A1 (en) 2019-04-04

Family

ID=65902389

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/028994 WO2019064917A1 (en) 2017-09-26 2018-08-02 Robot simulator

Country Status (2)

Country Link
JP (1) JP7151713B2 (en)
WO (1) WO2019064917A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113232018A (en) * 2021-04-27 2021-08-10 成都飞机工业(集团)有限责任公司 Method for quickly resetting posture of robot
JP7390479B2 (en) 2020-04-29 2023-12-01 株式会社Fuji Workpiece processing equipment
WO2024019107A1 (en) * 2022-07-22 2024-01-25 ソニーグループ株式会社 Multiple-robot control method, multiple-robot control device, and multiple-robot control system

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03188507A (en) * 1989-12-18 1991-08-16 Fanuc Ltd Working display system
JP2002132311A (en) * 2000-10-26 2002-05-10 Citizen Watch Co Ltd Graph display method for processing program and device for the same
JP2004148428A (en) * 2002-10-30 2004-05-27 Honda Motor Co Ltd Simulation device
JP2004174662A (en) * 2002-11-27 2004-06-24 Fanuc Ltd Operation state analysis device for robot
JP2004209641A (en) * 2002-12-30 2004-07-29 Abb Res Ltd Method and system for programming industrial robot
JP2009297877A (en) * 2008-06-17 2009-12-24 Yamatake Corp Device and method for preparing robot teaching program
JP2011022688A (en) * 2009-07-14 2011-02-03 Fanuc Ltd Tool path display apparatus for machine tool
JP2016018539A (en) * 2014-07-11 2016-02-01 三菱電機株式会社 Simulation image display
JP2017126199A (en) * 2016-01-14 2017-07-20 ファナック株式会社 Numerical controller having block time display means
JP2017138827A (en) * 2016-02-04 2017-08-10 ファナック株式会社 Processing time prediction device

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03188507A (en) * 1989-12-18 1991-08-16 Fanuc Ltd Working display system
JP2002132311A (en) * 2000-10-26 2002-05-10 Citizen Watch Co Ltd Graph display method for processing program and device for the same
JP2004148428A (en) * 2002-10-30 2004-05-27 Honda Motor Co Ltd Simulation device
JP2004174662A (en) * 2002-11-27 2004-06-24 Fanuc Ltd Operation state analysis device for robot
JP2004209641A (en) * 2002-12-30 2004-07-29 Abb Res Ltd Method and system for programming industrial robot
JP2009297877A (en) * 2008-06-17 2009-12-24 Yamatake Corp Device and method for preparing robot teaching program
JP2011022688A (en) * 2009-07-14 2011-02-03 Fanuc Ltd Tool path display apparatus for machine tool
JP2016018539A (en) * 2014-07-11 2016-02-01 三菱電機株式会社 Simulation image display
JP2017126199A (en) * 2016-01-14 2017-07-20 ファナック株式会社 Numerical controller having block time display means
JP2017138827A (en) * 2016-02-04 2017-08-10 ファナック株式会社 Processing time prediction device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7390479B2 (en) 2020-04-29 2023-12-01 株式会社Fuji Workpiece processing equipment
CN113232018A (en) * 2021-04-27 2021-08-10 成都飞机工业(集团)有限责任公司 Method for quickly resetting posture of robot
CN113232018B (en) * 2021-04-27 2022-05-10 成都飞机工业(集团)有限责任公司 Method for quickly resetting posture of robot
WO2024019107A1 (en) * 2022-07-22 2024-01-25 ソニーグループ株式会社 Multiple-robot control method, multiple-robot control device, and multiple-robot control system

Also Published As

Publication number Publication date
JP7151713B2 (en) 2022-10-12
JPWO2019064917A1 (en) 2020-10-15

Similar Documents

Publication Publication Date Title
WO2019064916A1 (en) Robot simulator
EP3093108B1 (en) Information processing method and information processing apparatus
KR910000873B1 (en) The method and system colntrolling assembling robot
US7194396B2 (en) Simulation device
CN104002297B (en) Teaching system, teaching method and robot system
US5511147A (en) Graphical interface for robot
JP2019171501A (en) Robot interference determination device, robot interference determination method and program
JP7151713B2 (en) robot simulator
JP7259860B2 (en) ROBOT ROUTE DETERMINATION DEVICE, ROBOT ROUTE DETERMINATION METHOD, AND PROGRAM
CN109648568A (en) Robot control method, system and storage medium
JP2019171498A (en) Robot program execution device, robot program execution method and program
JPWO2019064919A1 (en) Robot teaching device
CN110000753B (en) User interaction method, control device and storage medium
CN109807898B (en) Motion control method, control device, and storage medium
CN109910004B (en) User interaction method, control device and storage medium
US6798416B2 (en) Generating animation data using multiple interpolation procedures
CN109605378B (en) Method, device and system for processing motion parameters and storage medium
CN110000775B (en) Device management method, control device, and storage medium
WO2020059342A1 (en) Robot simulator
EP4052865A1 (en) Information processing apparatus, robot system, information processing method, program, and recording medium
JP7099470B2 (en) Robot teaching device
JP7024795B2 (en) Robot teaching device
JP7167925B2 (en) Robot teaching device
WO2020066947A1 (en) Robot route determination device, robot route determination method, and program
JP2019171499A (en) Robot interference determination device, robot interference determination method and program

Legal Events

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

Ref document number: 18860198

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019544369

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18860198

Country of ref document: EP

Kind code of ref document: A1