Nothing Special   »   [go: up one dir, main page]

WO2019064918A1 - Robot teaching device - Google Patents

Robot teaching device Download PDF

Info

Publication number
WO2019064918A1
WO2019064918A1 PCT/JP2018/028995 JP2018028995W WO2019064918A1 WO 2019064918 A1 WO2019064918 A1 WO 2019064918A1 JP 2018028995 W JP2018028995 W JP 2018028995W WO 2019064918 A1 WO2019064918 A1 WO 2019064918A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
task
teaching
unit
operator
Prior art date
Application number
PCT/JP2018/028995
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 JP2019544370A priority Critical patent/JP7099470B2/en
Publication of WO2019064918A1 publication Critical patent/WO2019064918A1/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/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine

Definitions

  • the present invention relates to a robot teaching device.
  • Patent Document 1 discloses a technology (teaching technology) of arranging a robot and an object of work of the robot on a virtual space by a computer and creating an operation program of the robot.
  • Patent No. 4621641 gazette
  • an object of the present invention is to enable robot teaching work to be performed more efficiently than in the past.
  • a first exemplary invention of the present application is a display control unit for displaying on a display device hierarchical data in which a component of a robot and a component of an object which is a work target of the robot are described hierarchically.
  • a storage unit that stores a three-dimensional model of the robot in a virtual space, a three-dimensional model of the object, and any one component of the robot based on an operation input of an operator in the hierarchical data
  • a determination unit that determines whether or not at least one object is reachable by a component of the robot in the virtual space when the at least one object is selected. It is an apparatus.
  • robot teaching work can be performed more efficiently than in the past.
  • FIG. 1 is a view showing an entire configuration of a robot teaching device according to an embodiment.
  • FIG. 2 is a diagram showing a hardware configuration of each device included in the robot teaching device of the embodiment.
  • FIG. 3 is a view showing a three-dimensional CAD window according to an example of the embodiment.
  • FIG. 4 is a view showing a teaching window according to an example of the embodiment.
  • FIG. 5 is a diagram for conceptually explaining a task.
  • FIG. 6 is a view showing transition of a teaching window according to an example of the embodiment.
  • FIG. 7 is a diagram showing a setting example of the TCP of the object.
  • FIG. 8 is a diagram showing an operation example of the hand of the robot in the virtual space.
  • FIG. 9 is a diagram for explaining how an operator sets TCP.
  • FIG. 1 is a view showing an entire configuration of a robot teaching device according to an embodiment.
  • FIG. 2 is a diagram showing a hardware configuration of each device included in the robot teaching device of the embodiment.
  • FIG. 10 is a diagram showing an example of the task list.
  • FIG. 11 is a view showing a display example of an error task in the task list of FIG.
  • FIG. 12 is a diagram showing transition of a teaching window according to an example of the embodiment.
  • FIG. 13 is a diagram showing a display example of a hierarchical list in the embodiment.
  • FIG. 14 is a functional block diagram of the robot teaching device according to the embodiment.
  • FIG. 15 is an example of a sequence chart showing processing of the robot teaching device according to the embodiment.
  • FIG. 16 is an example of a sequence chart showing processing of the robot teaching device according to the embodiment.
  • FIG. 17 is a diagram showing another display example of the hierarchical list in the embodiment.
  • the robot teaching device 1 of the present embodiment provides off-line teaching in which the operator creates teaching data for teaching the operation of the robot without actually operating the robot.
  • 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.
  • FIG. 1 is a view showing an overall configuration of a robot teaching device 1 of the present embodiment.
  • FIG. 2 is a diagram showing a hardware configuration of each device included in the robot teaching device 1 of the present embodiment.
  • the robot teaching device 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.
  • the storage 22 stores data of a three-dimensional model that is referred to when executing CAD software.
  • 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 by three-dimensional CAD to reproduce the motion of the robot in a virtual space by animation (animation).
  • 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 robot state data is data of a physical quantity that indicates the state of the robot according to the passage of time. Examples of physical quantities that indicate the state of the robot include the joint angle of the arm of the robot, and the velocity and acceleration of the arm.
  • 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 robot programs and execution log data.
  • the communication interface unit 33 includes a communication circuit for performing network communication with the information processing device 2.
  • the information processing device 2 provides off-line teaching for the robot.
  • the teaching software and the CAD software are cooperatively executed to provide the useful user interface described below.
  • the information processing apparatus 2 is made to execute CAD software and teaching software.
  • 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 device 2 or causes the information processing device 2 to display it while switching between the CAD window and the teaching window, and performs an operation related to teaching.
  • 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 are a robot R included in the CAD image of FIG. 3 and a hierarchical list (an example of hierarchical data) indicating the hierarchical relationship 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, and TCP (Tool Center Point) described later is set, respectively.
  • 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.
  • a robot area RA (example of a first area) for hierarchically displaying the components of the robot R (Robot_R, Hand in FIG. 4) and the components of the object are hierarchized
  • the hierarchical data is displayed by being divided into an object area PA (an example of a second area) to be displayed in a similar manner.
  • 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.
  • the nodes of the jig (JIG) for example, the following nodes are provided corresponding to the operation for the jig.
  • 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.
  • (2-2) Grouping Two or more objects registered in the hierarchical list can be grouped.
  • the procedure for grouping is as follows. For example, in FIG. 4, when grouping the pens Pen1 and Pen2 included in the pen tray (PenTray), the pointing device specifies the node corresponding to the pen Pen1 and Pen2 in the hierarchical list and performs the right click operation. Then, an operation to select "create group" is performed. By performing this operation, pens Pen 1 and Pen 2 are grouped.
  • the two or more objects grouped in the hierarchical list are surrounded by, for example, a rectangular frame as shown in FIG. 4 so that the operator can recognize that the two or more objects are grouped. It is preferable to perform display processing, such as using a common font or giving the same color.
  • the example shown in FIG. 4 is a case where objects corresponding to two consecutive nodes are grouped, but grouping is performed when objects corresponding to two non-consecutive nodes are grouped
  • the hierarchical list may be updated such that two of the two nodes continue. For example, in the case where the pens Pen1 and Pen3 are grouped, the order of the lower nodes of the nodes of the pen tray (PenTray) is updated to pens Pen1, Pen3, Pen2,.
  • FIG. 5 is a diagram for conceptually explaining a task.
  • a task is information on a work element which is a minimum unit of work performed by a robot in a series of work.
  • a series of work (hereinafter referred to as “job”) performed by the robot R is configured by a plurality of work elements and movement between the work elements. Therefore, in the present embodiment, a plurality of tasks are defined for the job performed by the robot R.
  • a line with an arrow conceptually indicates the trajectory of the hand 52 of the robot R.
  • the trajectories are at approach points AP1 and AP2 (examples of the first point, respectively) which are passing points before reaching the target point TP of the work element, the target point TP, and the passing point after reaching the target point TP. It includes certain departure points DP1 and DP2 (examples of the second point).
  • the target point TP indicates the position of an object that is the target of the work element, and may be the TCP of the object described later.
  • the movement 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. 5).
  • the motion of the robot R from the approach point AP1 to the departure point DP2 corresponds to one work element and one task.
  • 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. 5 and the next work element). 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.
  • FIG. 5 exemplifies the case where the interlock is set at the approach points AP1 and AP2.
  • Interlock is a process that causes the robot R to stand by at the target point TP, the approach point AP, and / or the departure point DP based on the input signal in order to avoid interference with other robots etc. It is.
  • 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. 6 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. 6 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. 6 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.
  • tasks may be created collectively for two or more objects grouped in the hierarchical list.
  • TCP Tool Center Point; an example of a reference point
  • TCP Tool Center Point
  • the TCP means a reference point (or a work point) of the object in the virtual space, which is a reference for work on the object of the robot R, and is set for the hand 52 of the robot R and each object .
  • TCP When setting TCP, it is set also about the local coordinate system which made TCP the origin.
  • the local coordinate system of the object when rotating the Euler angle of the object, it is sufficient to rotate it around TCP, and as described later, the approach point AP and departure point DP are automatically set. There are advantages such as what can be done.
  • FIG. 7 shows an example of TCP setting of the cap Cap1 as an example.
  • the TCP is automatically set to the barycentric position of the object. Since the data of the three-dimensional model is associated with the object, the position of the center of gravity can be obtained relatively easily from the data of the three-dimensional model.
  • the approach point AP and the departure point DP respectively create a task at a position 1.5 times the total length of the object (cap Cap1 in the example of FIG. 7) on the Z axis of the local coordinate system set for the object. Sometimes set automatically.
  • the position of 1.5 times the total length is merely an example, and may be appropriately set, for example, to any value between 1 and 2 times the total length.
  • FIG. 1 is 1.5 times the total length
  • the approach point AP and departure point DP of the object may be set automatically. For example, it is assumed that pens Pen1 and Pen2 are grouped. Coordinates of the TCP which is a standard of work for the pen Pen1 are set to (100, 100, 0) in the world coordinate system, and coordinates of the approach point AP and the departure point DP of the pen Pen1 are (100, 100, 20) in the world coordinate system. Assume that the case is set to).
  • the coordinates of the approach point AP and departure point DP of pen Pen 2 are (120, 100, 20) in the world coordinate system. It is set automatically. That is, the approach point AP and the departure point DP of the pen Pen 2 are set so that the TCP offset amount (+20 in the X coordinate) of the pen Pen 1 and the pen Pen 2 is reflected. In other words, the approach point AP and departure point of the pen Pen2 are such that the approach point AP and departure point DP of the pen Pen1 and pen Pen2 have the same coordinates in the local coordinate system based on TCP of Pen Pen1 and Pen Pen2, respectively. DP is set.
  • FIG. 8 is a view showing an example of the operation of the hand 52 in the virtual space when taking the cap Cap1 from the cap tray 12.
  • the hand 52 first moves along the track TR1 so that the TCP1 set in the hand 52 (that is, the TCP of the hand set in the node 62 in FIG. 4) coincides with the approach point AP.
  • the hand 52 moves along the track TR 2 such that the TCP 1 set in the hand 52 matches the TCP 2 set in the cap Cap 1 of the cap tray 12.
  • the hand 52 moves along the track TR3 such that the TCP1 set in the hand 52 coincides with the departure point DP.
  • the trajectories TR2 and TR3 are trajectories along the Z axis of the local coordinate system set in the cap Cap1 of the cap tray 12. Therefore, when the hand 52 takes the cap Cap1, it does not interfere with the cap adjacent to the cap Cap1 in the cap tray 12. Also, the trajectory of the hand 52 is determined based on the TCP 1 set in the hand 52 and the TCP 2 of the cap Cap 1 in the cap tray 12 and its local coordinate system. Therefore, the hand 52 can grip the cap Cap1 with high accuracy.
  • FIG. 9 shows a method of setting the TCP based on the operator's operation input.
  • a TCP model TCP_m having a local coordinate system LA is provided to set TCP.
  • the operator moves the TCP model to the desired position of the object (cap Cap1 in FIG. 9) and sets the position of the TCP model TCP_m, the corresponding node in the hierarchical list (for example, Cap1 of FIG. Drag the TCP model TCP_m to the node).
  • the TCP of the object for example, the cap Cap1
  • the cap Cap1 can be set to the coordinates set on the CAD software.
  • the teaching window W3 is provided with a button b1 ("detail setting").
  • the operator can select one of “approach point, departure point setting”, “motion parameter setting”, and “interlock setting” by operating the button b1 (“detail setting”).
  • “Approach point, departure point setting” the operator can change, delete, and add a new approach point and / or departure point of the automatically created approach point and / or departure point.
  • 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.
  • 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 b3 (“check”) is provided in the teaching window W3 of FIG. Although it is not essential to operate button b3 ("check") when creating a task, by operating button b3 ("check"), the operator can depart from the approach point AP included in the task in advance. The operation of the robot R up to the point DP can be confirmed in the CAD window.
  • the operation of the button b3 (“check”) is when the task name (Name) is displayed (that is, when data has already been input for each item of the work element type (Function) and the target (Target)) It is effective for
  • the operation check result by the operation of the button b3 (“check”) is performed by transmitting the program created based on the task to the robot control device 3.
  • the robot control device 3 executes the received program, and calculates robot state data, which is information indicating the state of the robot R according to the passage of time, as the execution result.
  • the robot state data is, for example, information such as a change in joint angle of the arm 51 according to the passage of time, a trajectory of the hand 52 according to the passage of time, and the like.
  • the robot state data is returned from the robot control device 3 to the information processing device 2.
  • the CAD software operates the robot R and the three-dimensional model of the object in the virtual space based on the robot state data, and displays a moving image of the movement of the robot R corresponding to the task.
  • the cause of the error may be displayed in the column of Status in the teaching window W3 of FIG.
  • the cause of the error includes, for example, overspeeding, reaching of the target point, reaching of the singular point and the like. If the operation of the robot R is performed normally, the margin for the moving speed set in the motion parameter, the margin for the target point, or the margin to the singular point, etc., are displayed in the Status column. , And information useful to the operator may be displayed.
  • the teaching window W3 in FIG. 6 is provided with a button b2 ("Create”).
  • the button b2 "Create”
  • the task set by the teaching window W3 is registered in a task list described later.
  • the operation check by the operation of the button b3 (“check”) is not performed before the button b2 (“create”) is operated, the operation of the button b3 (“check”) is not performed.
  • the operation check may be automatically performed to notify the presence or absence of an error.
  • the task-based program is an example of a robot program for causing the robot R to execute a work element corresponding to the task.
  • the program for executing the work element corresponding to the task shown in FIG. 5 is composed of the following functions, each of which executes the motion of the robot R (meaning the “movement of the robot R”). It is written by the program to make it 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 of FIG. 10 displays an example of a task list corresponding to a job ("Pen Assembly") which is a series of operations of "fitting a cap on a pen and assembling 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.
  • different display modes a task where the result of the operation check in the teaching window W3 indicates an error (referred to as “error task”) and a task other than the error task in the task list) For example, different character colors, different background colors may be displayed).
  • the “tasks other than error tasks” include tasks that did not indicate an error as a result of the operation check and tasks that have not been checked.
  • the error task, the OK task that is, the task that did not indicate an error as a result of the operation check
  • the task for which the operation check has not been performed may be displayed in different display modes.
  • task display grouped into groups may be performed in the task list.
  • 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 robot control device 3 calculates robot state data, which is information indicating the state of the robot R according to the passage of time, as the execution result of the robot program.
  • the robot state data is, for example, information such as a change in joint angle of the arm 51 according to the passage of time, a trajectory of the hand 52 according to the passage of time, and the like.
  • the robot state data is returned from the robot control device 3 to the information processing device 2.
  • the CAD software operates the robot R and the three-dimensional model of the object in the virtual space based on the robot state data, and displays a motion image (animation) of the motion of the robot R corresponding to the task as a simulation output.
  • 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.
  • an error task whose simulation result indicates an error and a task other than the error task in the task list have different display modes (for example, display modes having different character colors and different background colors) It may be displayed in).
  • a display example of an error task in the task list of FIG. 10 is shown in the teaching window W5 of FIG.
  • This display example shows the case where the last task "Place_to_PenProduct1_in_ProductTray" in the task list is an error task, and by adding a mark M1 (a frame surrounding the task) to the error task, it is not an error task.
  • the display mode is different from the task of.
  • a simulation may be performed on work elements corresponding to a part of tasks selected by the operator in the task list.
  • FIG. 12 is a diagram showing transition of a window for teaching according to an example of the present embodiment.
  • FIG. 13 is a diagram showing a display example of a hierarchical list in the present embodiment.
  • At least one object in the example shown in FIG. 4, pens Pen1, Pen2,..., Pen12, and Cap Cap1, Cap1 in the example shown in FIG. 4
  • the hand 52 of the robot R example of robot components
  • Cap12, and Cap12, and at least one of the products PenProduct1, PenProduct2, ..., PenProduct12 is determined to be reachable.
  • an operator may be able to select a robot to be subjected to area check among the plurality of robots. Since the robot can take a plurality of postures, the area check of the robot may be performed in any of the plurality of postures selected by the operator.
  • the teaching window W6 of FIG. 12 is displayed.
  • the teaching window W6 it is possible to select a posture for area check. An area check is performed by selecting at least one posture in the teaching window W6 and selecting the button b5 ("OK").
  • the execution of the area check requires inverse kinematics calculations, which are performed in the robot controller 3. That is, the information processing device 2 passes, to the robot control device 3, information on coordinate data based on the robot R and the three-dimensional model of each object, and coordinate data of TCP of each object.
  • the robot control device 3 can determine that the object can be reached if the joint angle of the arm 51 of the robot R can be obtained by inverse kinematics with respect to the specific object based on the information.
  • the area check as illustrated in FIG. 13, in the case of the area check for a pen, for each pen included in the pen tray 11, the unreachable pen (example of the unreachable object) This is done by displaying the mark M2 ("NG"). Another display example is to display an unreachable object in a color different from the reachable object.
  • FIG. 14 is a functional block diagram of the robot teaching device 1 according to the embodiment.
  • the robot teaching device 1 includes a display control unit 101, a task creating unit 102, a task updating unit 103, a task replacing unit 104, a setting updating unit 105, a grouping unit 106, a program creating unit 107, and a program executing unit.
  • a state information calculation unit 109, a simulation unit 110, a determination unit 111, a posture selection unit 112, a reference point setting unit 113, a model placement unit 114, and an interlock setting unit 115 are provided.
  • the robot teaching device 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 (an example of a first storage unit) stores a task database 221 including tasks created by the task creation 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 task creation unit 102 sets the target point of the work element, the approach point (example of the first point) which is the passing point before reaching the target point, and the departure point (the first passing point after reaching the target point).
  • the information processing apparatus may be provided with a function of setting information on at least one of the two examples) to the task.
  • the control unit 21 of the information processing device 2 determines the approach point and the departure point based on the TCP and the local coordinate system of the object to be the target of the work element (Target). For example, in the Z axis of the local coordinate system of the object, the position of the predetermined magnification of the entire length of the object is used as the approach point and the departure point.
  • the control unit 21 updates the task database 221 so that the information on the determined approach point and departure point is included in the task.
  • 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 display control unit 101 hierarchically displays the robot area RA (first area) for hierarchically displaying the components of the robot and the components of the object.
  • the hierarchical list is displayed on the display unit 24 by dividing it into the target object area PA (second area).
  • a node indicating a robot hand corresponding to an operation of gripping a specific object and a node corresponding to the object are selected. Sometimes, it becomes easier to find the desired node.
  • the task update unit 103 deletes one of the tasks in the task list based on the operation input by the operator on the task list displayed on the display device 24, and stores the task in the storage 22 (example of the first storage unit) It has a function of adding a task included in the task database 221 to the task list or changing the contents of any task in the task list.
  • the control unit 21 of the information processing device 2 accesses the storage 22 based on the operation input of the operator accepted by the input device 23, and the task list included in the task database 221 rewrite. Since the operator can edit the contents of the job in task units, the teaching work is made efficient.
  • the order of tasks included in the task list displayed on the display device 24 may define the execution order of a plurality of tasks.
  • the task exchange unit 104 changes the order of the tasks included in the task list based on the operation input by the operator on the task list displayed on the display device 24.
  • the control unit 21 of the information processing device 2 accesses the storage 22 based on the operation input of the operator accepted by the input device 23, and the control unit 21 of the task list included in the task database 221. Update the order. Since the operator can change the execution order on a task-by-task basis, the job by the robot can be optimized, and the teaching work can be made efficient.
  • the setting updating unit 105 deletes, changes, or adds information on at least one of the approach point and the departure point set as the task by the task creating unit 102 based on the operation input by the operator. It has a function.
  • the control unit 21 of the information processing device 2 accesses the storage 22 based on the operation input of the operator accepted by the input device 23 in the task creation window (see FIG. 6). And update the task approach point and departure point information contained in the task database 221. Since the setting updating unit 105 can delete, change, or add the approach point and the departure point of the work element to the desired position by the operator, the robot can be taught the desired operation of the operator.
  • the operator since the execution result of the task can be reproduced as a moving image by CAD software, the operator deletes, changes, or adds the approach point and / or the departure point after seeing the moving image reproduction result. Can be taught to optimize the motion of the robot.
  • the grouping unit 106 has a function of grouping the two or more objects based on the operation input of the operator specifying the two or more objects from the hierarchical list displayed on the display device 24.
  • the task creating unit 102 may set the information on at least one of the approach point and the departure point set for any of the grouped two or more objects to the above two or more points. Also set for other objects of the object of.
  • the control unit 21 accepts the operation input of the operator from the input device 23 in the information processing apparatus 2, two or more objects designated by the operation input are regarded as the same group
  • the task database 221 is updated to be associated.
  • the control unit 21 sets an approach point of another grouped object.
  • Update the task database 221 so that The setting of approach points and departure points of other grouped objects is performed in such a manner as to reflect the TCP offset amounts of two or more grouped objects, as described above. Grouping two or more objects makes it easy to set an approach point and / or departure point for a plurality of objects.
  • the program creation unit 107 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 performs 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 creating unit 107 refers to the information included in the task, and rewrites the coordinate position etc. in the format of the predetermined program according to the type of the work element stored in the storage 22 (example of the first storage unit). Automatically create a program.
  • the program execution unit 108 is generated by the program generation unit 107 based on at least one selected task based on the operation input of the operator selecting at least one task from the task list displayed on the display device 24. It has a function to execute a robot program including a program.
  • the control unit 21 of the information processing device 2 transmits a robot program created based on at least one task to the robot control device 3 via the communication interface unit 25.
  • the control unit 31 executes the robot program.
  • a program created based on each task is composed of a collection of functions.
  • the control unit 31 sequentially executes programs created based on the tasks included in the task list.
  • the display control unit 101 displays an error task which is a task whose execution result by the program execution unit 108 indicates an error in the task list and a task other than the error task in the task list in different display modes.
  • the control unit 31 of the robot control device 3 executes the robot program by sequentially executing the program created based on each task included in the task list. Then, the control unit 31 records execution log data including execution results for each task (result of success or error and error cause in case of error) in the execution log database 224.
  • the cause of the error is, for example, the speed exceeding, the target point unreached, the singular point reaching, and the like.
  • the control unit 31 transmits execution log data to the information processing device 2 via the communication interface unit 33.
  • the control unit 21 of the information processing device 2 displays the task list on the display device 24 so that the execution result included in the execution log data is reflected.
  • the task list is displayed such that an error task whose execution result indicates an error and a task other than the error task have different display modes (see, for example, FIG. 11). Therefore, the operator can immediately recognize the work element in which the error occurs in the job, and can cope with the approach point of the task, the departure point, or the correction of the setting value of the motion parameter.
  • the storage 22 (an example of a second storage unit and a third storage unit) stores a three-dimensional model database 223 including a three-dimensional model of the robot R in a virtual space and information of a three-dimensional model of an object.
  • the state information calculation unit 109 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 108.
  • the simulation unit 110 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 109.
  • the control unit 31 of the robot control device 3 executes the programs created based on each task in order, as described above.
  • the robot program received from the processing device 2 is executed.
  • the control unit 31 acquires robot state data in the entire job as the execution result of the robot program.
  • the robot state data is data of a physical quantity (for example, joint angle of arm, velocity and acceleration of arm, trajectory of each part) indicating the state of the robot according to the passage of time.
  • the control unit 21 of the information processing device 2 acquires execution log data including robot state data from the robot control device 3 and records the execution log data in the execution log database 224.
  • control unit 21 causes the robot and the three-dimensional model of the object to operate on the virtual space based on the execution log data and displays the three-dimensional model on the display device 24. Therefore, since the operator can visually confirm the motion of the robot of each task, the set value of each task (for example, approach point, departure point, motion parameter, etc.) and the arrangement of the object (for example, FIG. 3) It becomes easy to reconsider the arrangement of the cap tray 12 and the like.
  • the determination unit 111 determines that the at least one target virtual space.
  • the function of determining whether it is reachable by the hand 52 of the robot R (example of components of the robot) is possible.
  • the function corresponds to the area check described above.
  • the control unit 21 of the information processing device 2 transmits coordinate data based on the robot and the three-dimensional model of the object, data on the TCP coordinates of the object via the communication interface unit 25. Is sent to the robot control device 3.
  • the control unit 31 of the robot control device 3 determines, based on the received data, whether or not the joint angle of the arm of the robot can be obtained by inverse kinematics with respect to a specific object. If the joint angle can be determined, it means that the robot's hand can reach the object, and if the joint angle can not be determined, it means that the robot's hand can not reach the object. Since the determination unit 111 can determine whether the robot hand can reach the specific object before creating the robot program, the optimization of the arrangement of the object can be studied in advance, and the efficiency of the teaching operation can be improved. .
  • the display control unit 101 is configured such that an unreachable object that is an object determined to be unreachable by the determination unit 111 among the plurality of objects is distinguishable from an object other than the unreachable object.
  • Hierarchical data may be displayed. In the area check, as shown in FIG. 13, preferably, an object (unreachable object) determined to be unreachable among a plurality of objects can be identified as an object other than the unreachable object. Display a hierarchical list so that Although the unreachable object is identifiably displayed in FIG. 13 by the presence or absence of the mark M2, various identification methods can be adopted. For example, instead of the example of FIG. 13, display processing such as making the unreachable pen (Pen) red or reducing the luminance may be performed.
  • the posture selection unit 112 has a function of selecting any one of a plurality of predetermined postures for the robot based on the operation input of the operator. In that case, on the condition that the robot takes the posture selected by the posture selection unit 112, the determination unit 111 determines whether or not at least one object can be reached by the component of the robot.
  • the control unit 31 of the robot control device 3 fixes the joint angle of the arm of the robot by inverse kinematics with respect to a specific object in a state in which the robot is fixed to the selected posture. It is determined whether it can be determined.
  • the operator can consider in advance the arrangement of the object, etc., while considering various postures of the robot.
  • the reference point setting unit 113 calculates the TCP (example of the reference point) in the virtual space, which is the reference of the work on the object of the robot, based on the position in the virtual space of the three-dimensional model of the object. To associate the object with the object.
  • the control unit 21 of the information processing device 2 sets the TCP of the target object based on the data of the three-dimensional model of the target object to be processed and Set the local coordinate system of the target object as a reference.
  • the teaching software and the CAD software are linked, the TCP of the object can be calculated automatically and accurately.
  • the reference point setting unit 113 preferably calculates the barycentric position of the object as TCP.
  • the trajectory of the hand of the robot is determined based on the TCP set to the hand corresponding to the operation of gripping the object, and the TCP of the object as the object and its local coordinate system. Therefore, the work by the hand can be taught with high accuracy. Further, by calculating the gravity center position of the target as TCP, it is possible to specify as TCP a position where it is easy to avoid interference with an object other than the target (other target, equipment, etc.).
  • the model placement unit 114 has a function of placing and displaying a three-dimensional model of an object, a TCP, and a local coordinate system of the three-dimensional model with the TCP as an origin in a virtual space.
  • the control unit 21 of the information processing device 2 associates the TCP and the data of the local coordinate system of the three-dimensional model whose origin is the TCP with each object. It is recorded in the three-dimensional model database 223 of the storage 22.
  • the control unit 21 refers to the three-dimensional model database 223 to display the three-dimensional model of the object, the TCP of the object, and the local coordinate system on the display 24.
  • the association of the TCP with the target may not be automatic, but may be performed based on the operator's operation input. That is, the display control unit 101 displays a three-dimensional model in the virtual space, and the reference point setting unit 113 determines based on an operation input of an operator that associates a predetermined point in the virtual space with an object of hierarchical data.
  • the predetermined point may be associated with an object as TCP.
  • the reference point setting unit 113 may notify that the TCP is not associated with the object.
  • the input device 23 of the information processing apparatus 2 sets the TCP model (see FIG.
  • the control unit 21 updates the three-dimensional model database 223 of the storage 22 so as to associate the predetermined point with the target as the TCP of the target.
  • the control unit 21 can prompt the operator to associate the TCP with the object, for example, by outputting a warning display on the display device 24.
  • the display control unit 101 may display the TCP associated with the object hierarchically below the object on the hierarchical data.
  • the control unit 21 of the information processing device 2 reads out the TCP associated with each object in the hierarchical list database 222 and sets the lower layer of each object in the hierarchical list. Display the coordinates of TCP. As a result, the operator can recognize the TCP coordinates of each object at a glance.
  • the interlock setting unit 115 has a function of setting a time-out value of the waiting time for waiting the robot operation 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 is based on the operation input of the operator accepted by the input device 23 (for example, the operation input in the teaching window W3 of FIG. 6).
  • 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 115 allows the operator to easily set the timeout value of the standby time due to the interlock for each work element when performing off-line teaching of the robot.
  • the simulation unit 110 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. 15 is an example of a sequence chart showing an area check process of the robot teaching device according to the present embodiment.
  • FIG. 16 is an example of a sequence chart showing job execution processing of the robot teaching device according to the present embodiment.
  • the determination unit 111 determines whether or not the target specified at the time of selection of “area check” can be reached by the hand 52 of the robot R in the virtual space, and displays the reachability result on the display device 24. In addition, it is also possible to perform an area check by designating two or more objects. Specifically, the process of the determination unit 111 is performed as follows.
  • the information processing device 2 transmits coordinate data based on the robot R and the three-dimensional model of each object and TCP coordinate data of each object to the robot control device 3 via the communication interface unit 25 (step S14).
  • the robot control device 3 calculates the joint angle of the arm 51 of the robot R by inverse kinematics with respect to each designated object based on the received data (step S16).
  • the robot control device 3 determines whether the object of the arm 51 can be reached based on whether or not the joint angle of the arm 51 is obtained in step S16 (step S18).
  • the processes of steps S16 and S18 are performed one by one for all the postures of the robots R selected by the posture selection unit 112.
  • the robot control device 3 returns the area check result (result of reachability) for each posture of the robot R to the information processing device 2 when the processing for all the postures is completed (step S20: YES) (step S22) ).
  • the information processing device 2 displays the received area check result on the display device 24, for example, as shown in FIG. 13 (step S24).
  • step S30 YES
  • the program creation unit 107 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 S34), and executed by the robot control device 3. That is, the program execution unit 108 executes the robot program in task units (step S36).
  • the state information calculation unit 109 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 108, and stores execution log data including the robot state data. Record in 32 (step S38).
  • the processes of steps S36 and S38 are performed until all tasks included in the task list are completed.
  • the robot control device 3 transmits the execution log data recorded in the storage 32 to the information processing device 2 (step S42).
  • the information processing device 2 records the received execution log data in the execution log database 224.
  • the simulation unit 110 operates the three-dimensional model in the virtual space based on robot state data (that is, robot state data obtained by the state information calculation unit 109) included in the execution log data received in step S42. And display on the display 24 (step S44).
  • the determination unit 111 specifies the degree of proximity of the hand 52 of the robot R to an unreachable object that is an object determined to be not reachable by the hand 52 of the robot R (an example of a component of the robot).
  • the display control unit 101 displays so that the degree of proximity of the hand 52 of the robot R to the unreachable object can be recognized.
  • a display example of an index indicating the degree of proximity of the hand 52 is shown in FIG.
  • the mark M3 is displayed for the unreachable object.
  • the mark M3 has a display format of "NG (*) (*: 1 to 5)", and the number in the parenthesis can indicate the degree of proximity (for example, the smaller the number is, the closer the image is). ing.
  • the degree of proximity can be calculated by the difference value between the determined joint angle of the arm 51 and the limit angle of the joint angle.
  • (5-2) Modification 2 In the second modification, information is provided on how much the object determined to be reachable by the hand 52 of the robot R can afford to the hand 52. Providing such information can also support off-line teaching. For example, useful information on the relocation of the object can be obtained.
  • the determination unit 111 specifies the margin of arrival of the hand 52 of the robot R with respect to the reachable object which is an object determined to be reachable by the hand 52 of the robot R, and the display control unit 101 The margin of arrival of the hand 52 of the robot R with respect to the reachable object is displayed so as to be recognizable. For example, as shown in FIG. 17, the mark M4 is displayed for the reachable object.
  • the mark M4 has a display format of "OK (*) (*: 1 to 5)", and the margin number (for example, the larger the number is, the more margin) is indicated by the number in the parentheses. .
  • the margin can be calculated by the difference value between the determined joint angle of the arm 51 and the limit angle of the joint angle.
  • the determination unit 111 may determine whether or not each of the plurality of objects can be reached by the hand 52 of the robot R. . That is, based on the operation input which selected robot R in the hierarchical list, the reachability of all objects may be determined. This saves the operator the trouble of selecting an object to be subjected to the area check. In addition, determining the reachability for all objects can provide useful information for considering the overall arrangement of all objects.
  • the program creation unit 107 may create a program to determine that an error occurs when the standby time due to the interlock reaches the timeout value. If the standby time by the interlock reaches the timeout value when the robot program is executed, the operator can recognize, for example, that there is a defect in the input / output signal to the robot R by judging as an error. .
  • the program creation unit 107 may create a program so as to set the robot R to a predetermined reference posture when it is determined that an error occurs due to interlock timeout. If it is determined as an error as shown in the fourth modification, it is preferable to stop the operation of the robot R and return it to the reference posture (for example, the initial posture) rather than performing the operation after the error occurs. There is a case.
  • the program creating unit 107 determines that an error occurs due to interlock timeout, the program creating unit 107 refers to the task database 221 of the storage 22 (example of the first storage unit) and selects one of the tasks based on the operator's operation input.
  • a program may be created to cause the robot R to execute work elements corresponding to any of the tasks.
  • the robot R may be made to execute a specific work element. An example of a particular work element is to place the object currently being grasped on an error shelf.
  • the present invention is not limited to the above-mentioned embodiment. Further, various modifications and changes can be made to the embodiment described above without departing from the spirit of the present invention.
  • the robot teaching device according to the above-described embodiment does not have to have all the functions described in the functional block diagram of FIG. 14, and may have at least a part of the functions.
  • the robot teaching device 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.
  • Grouping Unit 107 program creation unit 108: program execution unit 109: state information calculation unit 110: simulation unit 111 Judgment unit 112: Posture selection unit 113: Reference point setting unit 114: Model placement unit 115: Interlock setting unit 221: Task database 222: Hierarchical list database 223: Three-dimensional model database 224 Execution log database, RA: robot area, PA: target area, W1 to W6: window, b1 to b4: button, AP: approach point, TP: target point, DP: departure point, T: table

Landscapes

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

Abstract

[Problem] To enable a robot teaching operation to be performed more efficiently than in the past. [Solution] An embodiment of the present invention is a robot teaching device provided with: a display control unit which displays, on a display device, hierarchical data in which constituent elements of a robot and constituent elements of a target object, which is a work target of the robot, are described hierarchically; a storage unit which stores a three-dimensional model of the robot and a three-dimensional model of the target object in a virtual space; and a determining unit which, if any one constituent element of the robot and at least one target object have been selected in the hierarchical data on the basis of an operation input by an operator, determines whether the at least one target object can be reached by the constituent element of the robot in the virtual space.

Description

ロボット教示装置Robot teaching device
 本発明は、ロボット教示装置に関する。 The present invention relates to a robot teaching device.
 ロボットを工場のライン等で使用するためには、利用者は、ロボットに対して動作を教示(ティーチング)する必要がある。例えば、特許文献1には、ロボット、および、ロボットの作業の対象物をコンピュータにより仮想空間上に配置し、ロボットの動作プログラムを作成する技術(ティーチング技術)が開示されている。 In order to use the robot on a factory line or the like, the user needs to teach the robot an operation (teaching). For example, Patent Document 1 discloses a technology (teaching technology) of arranging a robot and an object of work of the robot on a virtual space by a computer and creating an operation program of the robot.
特許第4621641号公報Patent No. 4621641 gazette
 ところで、従来のティーチング技術では、ロボットに対して一連の動作を教示した後、当該一連の動作をロボットが実行可能であるか判断していた。しかし、いったんロボットに対して一連の動作を教示し、ロボットの一連の動作の軌跡を設定したにもかかわらず、ロボットが実行できない動作が含まれている場合があった。その場合、再度ロボットに対する教示を再度行わねばならず、ティーチング作業に無駄が生ずることになる。 By the way, in the conventional teaching technology, after teaching the robot a series of operations, it is judged whether the robot can execute the series of operations. However, even though a series of motions were taught to the robot once and the trajectory of the series of motions of the robot was set, there were cases in which motions that the robot could not execute were included. In that case, the teaching to the robot has to be performed again, and the teaching operation is wasted.
 そこで、本発明は、ロボットのティーチング作業を従来よりも効率的に行うことができるようにすることを目的とする。 Therefore, an object of the present invention is to enable robot teaching work to be performed more efficiently than in the past.
 本願の例示的な第1発明は、ロボットの構成要素と、前記ロボットの作業対象である対象物の構成要素とが階層的に記述された階層型データを表示装置に表示する表示制御部と、仮想空間内の前記ロボットの3次元モデルと、前記対象物の3次元モデルとを記憶する記憶部と、前記階層型データにおいて、オペレータの操作入力に基づいて、いずれか1つの前記ロボットの構成要素、および、少なくとも1つの対象物が選択された場合に、当該少なくとも1つの対象物が仮想空間において前記ロボットの構成要素により到達可能であるか否かを判定する判定部と、を備えたロボット教示装置である。 A first exemplary invention of the present application is a display control unit for displaying on a display device hierarchical data in which a component of a robot and a component of an object which is a work target of the robot are described hierarchically. A storage unit that stores a three-dimensional model of the robot in a virtual space, a three-dimensional model of the object, and any one component of the robot based on an operation input of an operator in the hierarchical data And a determination unit that determines whether or not at least one object is reachable by a component of the robot in the virtual space when the at least one object is selected. It is an apparatus.
 本発明によれば、ロボットのティーチング作業を従来よりも効率的に行うことができる。 According to the present invention, robot teaching work can be performed more efficiently than in the past.
図1は、実施形態のロボット教示装置の全体構成について示す図である。FIG. 1 is a view showing an entire configuration of a robot teaching device according to an embodiment. 図2は、実施形態のロボット教示装置に含まれる各装置のハードウェア構成を示す図である。FIG. 2 is a diagram showing a hardware configuration of each device included in the robot teaching device of the embodiment. 図3は、実施形態の一例に係る3次元CAD用ウィンドウを示す図である。FIG. 3 is a view showing a three-dimensional CAD window according to an example of the embodiment. 図4は、実施形態の一例に係る教示用ウィンドウを示す図である。FIG. 4 is a view showing a teaching window according to an example of the embodiment. 図5は、タスクを概念的に説明するための図である。FIG. 5 is a diagram for conceptually explaining a task. 図6は、実施形態の一例に係る教示用ウィンドウの遷移を示す図である。FIG. 6 is a view showing transition of a teaching window according to an example of the embodiment. 図7は、対象物のTCPの設定例を示す図である。FIG. 7 is a diagram showing a setting example of the TCP of the object. 図8は、仮想空間におけるロボットのハンドの動作例を示す図である。FIG. 8 is a diagram showing an operation example of the hand of the robot in the virtual space. 図9は、オペレータがTCPを設定する方法を説明する図である。FIG. 9 is a diagram for explaining how an operator sets TCP. 図10は、タスクリストの一例を示す図である。FIG. 10 is a diagram showing an example of the task list. 図11は、図10のタスクリストにおいてエラータスクの表示例を示す図である。FIG. 11 is a view showing a display example of an error task in the task list of FIG. 図12は、実施形態の一例に係る教示用ウィンドウの遷移を示す図である。FIG. 12 is a diagram showing transition of a teaching window according to an example of the embodiment. 図13は、実施形態において階層型リストの表示例を示す図である。FIG. 13 is a diagram showing a display example of a hierarchical list in the embodiment. 図14は、実施形態に係るロボット教示装置の機能ブロック図である。FIG. 14 is a functional block diagram of the robot teaching device according to the embodiment. 図15は、実施形態に係るロボット教示装置の処理を示すシーケンスチャートの例である。FIG. 15 is an example of a sequence chart showing processing of the robot teaching device according to the embodiment. 図16は、実施形態に係るロボット教示装置の処理を示すシーケンスチャートの例である。FIG. 16 is an example of a sequence chart showing processing of the robot teaching device according to the embodiment. 図17は、実施形態において階層型リストの別の表示例を示す図である。FIG. 17 is a diagram showing another display example of the hierarchical list in the embodiment.
 以下、本発明のロボット教示装置の一実施形態について説明する。
 本実施形態のロボット教示装置1は、ロボットを実際に動作させることなく、オペレータが当該ロボットの動作を教示するための教示データを作成するオフラインティーチングを提供する。
 以下の説明において、「作業要素」とは、物体を「取る」や「置く」等、一連の作業の中でロボットが行う最小単位の作業を意味する。
 「対象物」とは、ロボットの作業の対象となる物体を意味し、ロボットが把持する物体(例えば、加工対象物であるワーク)に限らず、ロボットの作業に関連する物体(例えば、ロボットが把持する物体を置く棚)をも含む。
Hereinafter, an embodiment of a robot teaching device of the present invention will be described.
The robot teaching device 1 of the present embodiment provides off-line teaching in which the operator creates teaching data for teaching the operation of the robot without actually operating the robot.
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および図2を参照して説明する。図1は、本実施形態のロボット教示装置1の全体構成について示す図である。図2は、本実施形態のロボット教示装置1に含まれる各装置のハードウェア構成を示す図である。
(1) Configuration of Robot Teaching Device According to Present Embodiment Hereinafter, the configuration of the robot teaching device 1 according to the present embodiment will be described with reference to FIG. 1 and FIG. FIG. 1 is a view showing an overall configuration of a robot teaching device 1 of the present embodiment. FIG. 2 is a diagram showing a hardware configuration of each device included in the robot teaching device 1 of the present embodiment.
 図1に示すように、ロボット教示装置1は、情報処理装置2およびロボット制御装置3を備える。情報処理装置2とロボット制御装置3とは、例えば通信ネットワークケーブルECにより通信可能に接続される。
 情報処理装置2は、工場のラインに設置されたロボットに対して動作を教示するための装置である。情報処理装置2は、オペレータによるオフラインティーチングを行うために設けられており、例えばロボットが設置される工場から離れた位置(例えば、オペレータの作業場所)に配置される。
As shown in FIG. 1, the robot teaching device 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には、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.
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 by three-dimensional CAD to reproduce the motion of the robot in a virtual space by animation (animation).
 入力装置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から受信するロボットプログラムを実行し、実行ログデータを出力する。実行ログデータには、ロボットプログラムの実行結果と、ロボットプログラムに記述された作業を実行するロボットのロボット状態データとを含む。
 ロボット状態データは、時間の経過に応じたロボットの状態を示す物理量のデータである。ロボットの状態を示す物理量としては、ロボットのアームの関節角、アームの速度や加速度が挙げられる。
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 robot state data is data of a physical quantity that indicates the state of the robot according to the passage of time. Examples of physical quantities that indicate the state of the robot include the joint angle of the arm of the robot, and the velocity and acceleration of the arm.
 ストレージ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 robot programs and execution log data.
The communication interface unit 33 includes a communication circuit for performing network communication with the information processing device 2.
 (2)オフラインティーチングにおけるユーザインタフェース
 本実施形態のロボット教示装置1において、情報処理装置2は、ロボットに対するオフラインティーチングを提供する。このオフラインティーチングでは、教示ソフトウェアおよびCADソフトウェアが協働して実行され、以下で説明する有用なユーザインタフェースが提供される。
 本実施形態においてオペレータがオフラインティーチングを行うときには、CADソフトウェアと教示ソフトウェアを情報処理装置2に実行させる。
 CADソフトウェアの実行結果はCAD用ウィンドウに表示され、教示ソフトウェアの実行結果は教示用ウィンドウに表示される。オペレータは、CAD用ウィンドウと教示用ウィンドウの両方を情報処理装置2に表示させ、あるいはCAD用ウィンドウと教示用ウィンドウを切り替えながら情報処理装置2に表示させ、ティーチングに関連する操作を行う。
(2) User Interface in Off-Line Teaching In the robot teaching device 1 of the present embodiment, the information processing device 2 provides off-line teaching for the robot. In this off-line teaching, the teaching software and the CAD software are cooperatively executed to provide the useful user interface described below.
In the present embodiment, when the operator performs off-line teaching, the information processing apparatus 2 is made to execute CAD software and teaching software.
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 device 2 or causes the information processing device 2 to display it while switching between the CAD window and the teaching window, and performs an operation related to teaching.
 図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.
 (2-1)階層型リスト
 図4に、本実施形態の一例に係る教示用ウィンドウW2を示す。教示用ウィンドウW2に表示されているのは、図3のCAD画像に含まれているロボットR、および、対象物の階層関係を示す階層型リスト(階層型データの一例)である。
(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 are a robot R included in the CAD image of FIG. 3 and a hierarchical list (an example of hierarchical data) indicating the hierarchical relationship 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は、以下の内容を意味し、それぞれ後述するTCP(Tool Center Point)が設定されている。 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, and TCP (Tool Center Point) described later is set, respectively.
 ・ノード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.
 図4に示すように、好ましくは、ロボットRの構成要素(図4のRobot_R, Hand)を階層的に表示するためのロボット領域RA(第1領域の例)と、対象物の構成要素を階層的に表示するための対象物領域PA(第2領域の例)とに分けて、階層型データが表示される。
 対象物の構成要素には、治具(JIG)、ペントレイ(PenTray)、キャップトレイ(CapTray)、製品トレイ(ProductTray)、ペン(Pen1, Pen2,…,Pen12)、キャップ(Cap1, Cap2,…,Cap12)、および、製品(PenProduct1, PenProduct2,…,PenProduct12)が含まれる。
 治具(JIG)のノードの下位には、治具を対象とした作業に対応して、例えば、以下のノードが設けられる。
As shown in FIG. 4, preferably, a robot area RA (example of a first area) for hierarchically displaying the components of the robot R (Robot_R, Hand in FIG. 4) and the components of the object are hierarchized The hierarchical data is displayed by being divided into an object area PA (an example of a second area) to be displayed in a similar manner.
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.
 図4の階層型リストにおいて、CAD用ウィンドウにおいて、選択したロボットR、対象物、部品又はTCP等を、ロボット領域RA内の任意のノードの位置に右クリックする操作を行い、「部品の追加」を選択することで、階層型リストに、CAD用ウィンドウで選択したロボットR又は対象物を階層型リストに登録する。
 図4の階層型リストにおいて、任意の位置を右クリックする操作を行い、「一括更新」を選択することで、CADソフトウェア上で対象物の位置関係を変更した場合に、変更後の位置関係についての情報が階層型リストに反映される。
In the hierarchical list in FIG. 4, in the CAD window, right-click the selected robot R, object, part, TCP, etc. to the position of an arbitrary node in the robot area RA, and "Add Part" By selecting, the robot R or the object selected in the CAD window is registered in the hierarchical list in the hierarchical list.
In the hierarchical list in FIG. 4, perform an operation of right-clicking an arbitrary position, and select “Batch Update” to change the positional relationship of objects on CAD software, and then change the positional relationship after the change. Information is reflected in the hierarchical list.
 (2-2)グルーピング
 階層型リストに登録された2以上の対象物はグループ化することができる。
 グループ化するときの手順は、以下のとおりである。例えば、図4において、ペントレイ(PenTray)に含まれるペンPen1, Pen2をグループ化する場合、ポインティングデバイスで階層型リストの中のペンPen1, Pen2に対応するノードを指定して右クリック操作を行い、次いで「グループ作成」を選択する操作を行う。この操作を行うことで、ペンPen1, Pen2がグループ化される。階層型リストにおいてグループ化された2以上の対象物は、当該2以上の対象物がグループ化されていることがオペレータに認識可能となるように、例えば図4に示すように矩形の枠で囲う、共通の字体とする、あるいは同一の色を付す等の表示処理を行うことが好ましい。
(2-2) Grouping Two or more objects registered in the hierarchical list can be grouped.
The procedure for grouping is as follows. For example, in FIG. 4, when grouping the pens Pen1 and Pen2 included in the pen tray (PenTray), the pointing device specifies the node corresponding to the pen Pen1 and Pen2 in the hierarchical list and performs the right click operation. Then, an operation to select "create group" is performed. By performing this operation, pens Pen 1 and Pen 2 are grouped. The two or more objects grouped in the hierarchical list are surrounded by, for example, a rectangular frame as shown in FIG. 4 so that the operator can recognize that the two or more objects are grouped. It is preferable to perform display processing, such as using a common font or giving the same color.
 なお、図4に示す例は、連続する2つのノードに対応する対象物をグループ化する場合であるが、連続していない2つのノードに対応する対象物をグループ化する場合には、グループ化した2つのノードが連続するように階層型リストを更新するようにしてもよい。
例えば、ペンPen1とペンPen3をグループ化する場合には、ペントレイ(PenTray)のノードの下位ノードの順序を、ペンPen1, Pen3, Pen2…に更新する、といった具合である。
The example shown in FIG. 4 is a case where objects corresponding to two consecutive nodes are grouped, but grouping is performed when objects corresponding to two non-consecutive nodes are grouped The hierarchical list may be updated such that two of the two nodes continue.
For example, in the case where the pens Pen1 and Pen3 are grouped, the order of the lower nodes of the nodes of the pen tray (PenTray) is updated to pens Pen1, Pen3, Pen2,.
 (2-3)タスクについて
 次に、タスクについて、図5を参照して説明する。図5は、タスクを概念的に説明するための図である。
 タスクとは、一連の作業の中でロボットが行う最小単位の作業である作業要素に関する情報である。ロボットRが行う一連の作業(以下、「ジョブ」という。)は、複数の作業要素と、作業要素間の移動とにより構成される。従って、本実施形態では、ロボットRが行うジョブに対して複数のタスクが定義される。
(2-3) Regarding Tasks Next, the tasks will be described with reference to FIG. FIG. 5 is a diagram for conceptually explaining a task.
A task is information on a work element which is a minimum unit of work performed by a robot in a series of work. A series of work (hereinafter referred to as “job”) performed by the robot R is configured by a plurality of work elements and movement between the work elements. Therefore, in the present embodiment, a plurality of tasks are defined for the job performed by the robot R.
 図5において、矢印付きの線は、ロボットRのハンド52の軌跡を概念的に示している。当該軌跡は、作業要素の目標点TPに到達する前の通過点であるアプローチ点AP1,AP2(それぞれ第1点の例)と、目標点TPと、目標点TPに到達した後の通過点であるデパーチャ点DP1,DP2(それぞれ第2点の例)とを含む。目標点TPは、作業要素の対象である対象物の位置を示しており、後述する対象物のTCPとしてもよい。 In FIG. 5, a line with an arrow conceptually indicates the trajectory of the hand 52 of the robot R. The trajectories are at approach points AP1 and AP2 (examples of the first point, respectively) which are passing points before reaching the target point TP of the work element, the target point TP, and the passing point after reaching the target point TP. It includes certain departure points DP1 and DP2 (examples of the second point). The target point TP indicates the position of an object that is the target of the work element, and may be the TCP of the object described later.
 図5に示す例では、アプローチ点AP1に到達する前のロボットRの動作が、作業要素間の移動(つまり、前の作業要素と図5に示す作業要素との間の移動)に相当する。アプローチ点AP1からデパーチャ点DP2までのロボットRの動作が1つの作業要素および1つのタスクに対応する。デパーチャ点DP2から後のロボットRの動作が、作業要素間の移動(つまり、図5に示す作業要素と次の作業要素との間の移動)に相当する。
 すなわち、タスクは、作業要素に関する情報のほか、目標点TP、アプローチ点AP、およびデパーチャ点DPのうち少なくともいずれかの点に関する情報を含んでもよい。
In the example shown in FIG. 5, the movement 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. 5). The motion of the robot R from the approach point AP1 to the departure point DP2 corresponds to one work element and one task. 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. 5 and the next work element).
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.
 図5では、アプローチ点AP1,AP2においてインターロックが設定されている場合が例示されている。インターロックは、他のロボット等との干渉を回避するために、入力信号に基づいて、目標点TP、アプローチ点AP、およびデパーチャ点DPの少なくともいずれかの点においてロボットRの動作を待機させる処理である。
 タスクには、インターロックを設定する点と、インターロックによる待機時間のタイムアウト値とを含むインターロック設定に関する情報を含んでもよい。
FIG. 5 exemplifies the case where the interlock is set at the approach points AP1 and AP2. Interlock is a process that causes the robot R to stand by at the target point TP, the approach point AP, and / or the departure point DP based on the input signal in order to avoid interference with other robots etc. It is.
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.
 (2-4)タスクの作成
 次に、階層型リストを用いたタスクの作成方法について、図4および図6を参照して説明する。図6は、本実施形態の一例に係る教示用ウィンドウの遷移を示す図である。
 図4に示す階層型リストにおいてタスクを作成するには、先ず、ロボット領域RAに含
まれるロボットR(Robot_R)のハンド(Hand)のノード61~63のうちいずれかのノードを、オペレータがポインティングデバイスで選択して右クリック操作を行い、「タスク作成」を選択する。すなわち、ノードの選択は、オペレータの操作入力に基づいて、タスクに対応する作業要素におけるロボットRのハンドの把持対象から選択される。
(2-4) 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. 6 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.
 「タスク作成」が選択されると、図6のタスク作成のための教示用ウィンドウ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. 6 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を対象としてポインティングデバイスで左クリック操作を行うことで、図6に示す教示用ウィンドウ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 Pen1 to be worked out from the object area PA of the hierarchical list, the teaching window W3 shown in FIG. 6 is displayed. .
 以上の操作の結果、「ペントレイからペンPen1を取る」という作業要素に関する情報として、“Pickup_Pen1_From_PenTray”という名称のタスクが作成される。
 本実施形態では、作業要素の対象物(ここでは「ペンPen1」)と、作業要素の始点(例えば「ペントレイ」)若しくは終点とを階層型リスト上で指定することで、オペレータは直感的にタスクを作成することができる。また、タスクの名称は、作業要素の作業内容(例えば「Pickup」)と、作業対象(例えば「ペンPen1」)と、作業要素の始点となる対象物(例えば「ペントレイ」)、又は終点となる対象物とを含むように自動的に作成されるため、タスクの名称からタスクの内容が直ちに分かるようになっている。
 なお、階層型リストにおいてグループ化された2以上の対象物を対象として、まとめてタスクを作成してもよい。
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.
Note that tasks may be created collectively for two or more objects grouped in the hierarchical list.
 タスクを作成した場合、タスクに含まれるアプローチ点AP、目標点TP、および、デパーチャ点DPについての情報が自動的に作成される。すなわち、タスクは、当該タスクに関連する対象物の仮想空間上の3次元モデルのデータと関連付けられているため、3次元モデルのデータに基づいて、所定の基準によりアプローチ点AP、目標点TP、および、デパーチャ点DPの各点を算出する。算出方法の一例では、対象物の目標点TPとしてTCP(Tool Center Point;基準点の一例)を算出し、TCPを基準として、アプローチ点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 is automatically created. That is, since the task is associated with the data of the three-dimensional model in the virtual space of the object related to the task, the approach point AP, the target point TP, And each point of departure point DP is calculated. In one example of the calculation method, TCP (Tool Center Point; an example of a reference point) is calculated as the target point TP of the object, and the approach point AP and the departure point DP are calculated based on the TCP.
 TCPは、ロボットRの対象物に対する作業の基準となる、仮想空間内の当該対象物の基準点(あるいは、作業点)を意味し、ロボットRのハンド52および各対象物に対して設定される。TCPを設定するときには、TCPを原点としたローカル座標系についても設定される。対象物のローカル座標系を設定することで、対象物のオイラー角を回転させるときにはTCPを中心に回転させればよいこと、および、後述するようにアプローチ点APおよびデパーチャ点DPを自動的に設定できること等の利点がある。 The TCP means a reference point (or a work point) of the object in the virtual space, which is a reference for work on the object of the robot R, and is set for the hand 52 of the robot R and each object . When setting TCP, it is set also about the local coordinate system which made TCP the origin. By setting the local coordinate system of the object, when rotating the Euler angle of the object, it is sufficient to rotate it around TCP, and as described later, the approach point AP and departure point DP are automatically set. There are advantages such as what can be done.
 図7に一例として、キャップCap1のTCPの設定例を示す。
 本実施形態の例では、TCPは、対象物の重心位置に自動的に設定される。対象物には3次元モデルのデータが関連付けられているため、当該3次元モデルのデータから重心位置を比較的容易に得ることができる。
 アプローチ点APおよびデパーチャ点DPは、それぞれ、対象物に設定されたローカル座標系のZ軸において、対象物(図7の例では、キャップCap1)の全長の1.5倍の位置に、タスク作成時に自動的に設定される。全長の1.5倍の位置は一例に過ぎず、例えば全長の1~2倍の間の任意の値に適宜設定されてもよい。なお、図7では、+Z軸側での作業(ハンド52によりキャップを取る、置く等の作業)が想定されており、ハンド52による作業が+Z方向となるようにローカル座標系を定義しておくことで、アプローチ点APおよびデパーチャ点DPを自動的に決定できる。
FIG. 7 shows an example of TCP setting of the cap Cap1 as an example.
In the example of the present embodiment, the TCP is automatically set to the barycentric position of the object. Since the data of the three-dimensional model is associated with the object, the position of the center of gravity can be obtained relatively easily from the data of the three-dimensional model.
The approach point AP and the departure point DP respectively create a task at a position 1.5 times the total length of the object (cap Cap1 in the example of FIG. 7) on the Z axis of the local coordinate system set for the object. Sometimes set automatically. The position of 1.5 times the total length is merely an example, and may be appropriately set, for example, to any value between 1 and 2 times the total length. In FIG. 7, work on the + Z axis side (such as taking a cap with the hand 52 and placing it) is assumed, and the local coordinate system is defined so that the work by the hand 52 is in the + Z direction. Thus, the approach point AP and the departure point DP can be determined automatically.
 2以上の対象物がグループ化されている場合には、当該2以上の対象物のいずれかに設定されているアプローチ点APおよびデパーチャ点DPを基に、当該2以上の対象物のうち他の対象物のアプローチ点APおよびデパーチャ点DPについて自動的に設定されてもよい。
 例えば、ペンPen1, Pen2がグループ化されている場合を想定する。ペンPen1に対する作業の基準となるTCPの座標がワールド座標系において(100, 100, 0)に設定され、ペンPen1のアプローチ点APおよびデパーチャ点DPの座標がワールド座標系において(100, 100, 20)に設定されている場合を想定する。このとき、ペンPen2のTCPがワールド座標系において(120, 100, 0)である場合には、ペンPen2のアプローチ点APおよびデパーチャ点DPの座標がワールド座標系において(120, 100, 20)に自動的に設定される。すなわち、ペンPen1とペンPen2のTCPオフセット量(X座標で+20)が反映されるようにして、ペンPen2のアプローチ点APおよびデパーチャ点DPが設定される。換言すると、ペンPen1とペンPen2のそれぞれTCPを基準としたローカル座標系においてペンPen1とペンPen2のアプローチ点APおよびデパーチャ点DPが同一の座標となるように、ペンPen2のアプローチ点APおよびデパーチャ点DPが設定される。
When two or more objects are grouped, another of the two or more objects is selected based on the approach point AP and the departure point DP set for any of the two or more objects. The approach point AP and departure point DP of the object may be set automatically.
For example, it is assumed that pens Pen1 and Pen2 are grouped. Coordinates of the TCP which is a standard of work for the pen Pen1 are set to (100, 100, 0) in the world coordinate system, and coordinates of the approach point AP and the departure point DP of the pen Pen1 are (100, 100, 20) in the world coordinate system. Assume that the case is set to). At this time, when the TCP of pen Pen 2 is (120, 100, 0) in the world coordinate system, the coordinates of the approach point AP and departure point DP of pen Pen 2 are (120, 100, 20) in the world coordinate system. It is set automatically. That is, the approach point AP and the departure point DP of the pen Pen 2 are set so that the TCP offset amount (+20 in the X coordinate) of the pen Pen 1 and the pen Pen 2 is reflected. In other words, the approach point AP and departure point of the pen Pen2 are such that the approach point AP and departure point DP of the pen Pen1 and pen Pen2 have the same coordinates in the local coordinate system based on TCP of Pen Pen1 and Pen Pen2, respectively. DP is set.
 図8は、キャップトレイ12からキャップCap1を取るときの仮想空間上のハンド52の動作の一例を示す図である。
 図8において、ハンド52は先ず、軌道TR1に沿って、ハンド52に設定されたTCP1(すなわち、図4のノード62に設定されたハンドのTCP)がアプローチ点APに一致するようにして移動する。次に、ハンド52は、軌道TR2に沿って、ハンド52に設定されたTCP1がキャップトレイ12のキャップCap1に設定されたTCP2に一致するようにして移動する。キャップCap1を把持した後、ハンド52は、軌道TR3に沿って、ハンド52に設定されたTCP1がデパーチャ点DPに一致するようにして移動する。
 軌道TR2,TR3は、キャップトレイ12のキャップCap1に設定されたローカル座標系のZ軸に沿った軌道である。そのため、ハンド52がキャップCap1を取る際に、キャップトレイ12内のキャップCap1に隣接するキャップに干渉することはない。また、ハンド52の軌道は、ハンド52に設定されたTCP1と、キャップトレイ12内のキャップCap1のTCP2およびそのローカル座標系とに基づいて決定される。そのため、ハンド52は、キャップCap1を精度良く把持することができる。
FIG. 8 is a view showing an example of the operation of the hand 52 in the virtual space when taking the cap Cap1 from the cap tray 12. As shown in FIG.
In FIG. 8, the hand 52 first moves along the track TR1 so that the TCP1 set in the hand 52 (that is, the TCP of the hand set in the node 62 in FIG. 4) coincides with the approach point AP. . Next, the hand 52 moves along the track TR 2 such that the TCP 1 set in the hand 52 matches the TCP 2 set in the cap Cap 1 of the cap tray 12. After gripping the cap Cap1, the hand 52 moves along the track TR3 such that the TCP1 set in the hand 52 coincides with the departure point DP.
The trajectories TR2 and TR3 are trajectories along the Z axis of the local coordinate system set in the cap Cap1 of the cap tray 12. Therefore, when the hand 52 takes the cap Cap1, it does not interfere with the cap adjacent to the cap Cap1 in the cap tray 12. Also, the trajectory of the hand 52 is determined based on the TCP 1 set in the hand 52 and the TCP 2 of the cap Cap 1 in the cap tray 12 and its local coordinate system. Therefore, the hand 52 can grip the cap Cap1 with high accuracy.
 TCPを対象物の重心以外に設定する場合には、オペレータの操作入力に基づいて対象物の所望の位置にTCPを設定することもできる。
 図9に、オペレータの操作入力に基づいてTCPを設定する方法を示す。
 図9に示すように、CADソフトウェアでは、TCPを設定するためにローカル座標系LAを備えたTCPモデルTCP_mが設けられている。オペレータが当該TCPモデルを対象物(図9では、キャップCap1)の所望の位置に移動させてTCPモデルTCP_mの位置をセットした後に、階層型リスト内の対応するノード(例えば、図4のCap1のノード)までTCPモデルTCP_mをドラッグする操作を行う。それによって、CADソフトウェア上でセットした座標に対象物(例えば、キャップCap1)のTCPを設定することができる。
When TCP is set other than the center of gravity of the object, TCP can also be set at a desired position of the object based on the operator's operation input.
FIG. 9 shows a method of setting the TCP based on the operator's operation input.
As shown in FIG. 9, in CAD software, a TCP model TCP_m having a local coordinate system LA is provided to set TCP. After the operator moves the TCP model to the desired position of the object (cap Cap1 in FIG. 9) and sets the position of the TCP model TCP_m, the corresponding node in the hierarchical list (for example, Cap1 of FIG. Drag the TCP model TCP_m to the node). Thereby, the TCP of the object (for example, the cap Cap1) can be set to the coordinates set on the CAD software.
 再度図6を参照すると、教示用ウィンドウW3には、ボタンb1(「詳細設定」)が設けられている。オペレータは、ボタンb1(「詳細設定」)を操作することで、「アプローチ点、デパーチャ点設定」、「モーションパラメータ設定」、および「インターロック設定」のいずれかを選択することができる。
 「アプローチ点、デパーチャ点設定」を選択することで、オペレータは、自動作成されたアプローチ点及び/又はデパーチャ点の変更、削除、および、新しいアプローチ点及び/又はデパーチャ点の追加を行うことができる。
 モーションパラメータとは、タスクに含まれる隣接するアプローチ点AP間、アプローチ点APから目標点TPまでの間、および、目標点TPからデパーチャ点DPまでの間のロボットRのハンド52等の動きに関するパラメータである。例えば、かかるパラメータとして、移動速度、加速度、加速時間、減速時間、ロボットRの姿勢等が挙げられる。「モーションパラメータ設定」を選択することで、上記モーションパラメータをデフォルト値から変更することができる。
 「インターロック設定」を選択することで、インターロックの待機時間のタイムアウト値と、待機時間がタイムアウト値を超えてエラーと判断したときの動作の設定とを、デフォルト値から変更することができる。
Referring again to FIG. 6, the teaching window W3 is provided with a button b1 ("detail setting"). The operator can select one of “approach point, departure point setting”, “motion parameter setting”, and “interlock setting” by operating the button b1 (“detail setting”).
By selecting “Approach point, departure point setting”, the operator can change, delete, and add a new approach point and / or departure point of the automatically created approach point and / or departure point. .
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.
 図6の教示用ウィンドウW3には、ボタンb3(「チェック」)が設けられている。タスクを作成するときにボタンb3(「チェック」)を操作することは必須ではないが、ボタンb3(「チェック」)を操作することで、オペレータは事前に、タスクに含まれるアプローチ点APからデパーチャ点DPまでのロボットRの動作をCAD用ウィンドウで確認することができる。
 ボタンb3(「チェック」)の操作は、タスクの名称(Name)が表示されている場合(つまり、作業要素の種別(Function)と目標物(Target)の各項目についてデータが入力済みの場合)に有効である。
A button b3 ("check") is provided in the teaching window W3 of FIG. Although it is not essential to operate button b3 ("check") when creating a task, by operating button b3 ("check"), the operator can depart from the approach point AP included in the task in advance. The operation of the robot R up to the point DP can be confirmed in the CAD window.
The operation of the button b3 (“check”) is when the task name (Name) is displayed (that is, when data has already been input for each item of the work element type (Function) and the target (Target)) It is effective for
 ボタンb3(「チェック」)の操作による動作確認結果は、タスクに基づいて作成されたプログラムを、ロボット制御装置3へ送信することにより行われる。ロボット制御装置3は、受信したプログラムを実行し、実行結果として、時間の経過に応じたロボットRの状態を示す情報であるロボット状態データを算出する。ロボット状態データは、例えば、時間の経過に応じたアーム51の関節角の変化や、時間の経過に応じたハンド52の軌跡等の情報である。このロボット状態データは、ロボット制御装置3から情報処理装置2へ返される。CADソフトウェアは、ロボット状態データに基づいて、ロボットRおよび対象物の3次元モデルを仮想空間内で動作させ、タスクに対応するロボットRの動きの動画表示を行う。 The operation check result by the operation of the button b3 (“check”) is performed by transmitting the program created based on the task to the robot control device 3. The robot control device 3 executes the received program, and calculates robot state data, which is information indicating the state of the robot R according to the passage of time, as the execution result. The robot state data is, for example, information such as a change in joint angle of the arm 51 according to the passage of time, a trajectory of the hand 52 according to the passage of time, and the like. The robot state data is returned from the robot control device 3 to the information processing device 2. The CAD software operates the robot R and the three-dimensional model of the object in the virtual space based on the robot state data, and displays a moving image of the movement of the robot R corresponding to the task.
 ロボットRのロボット状態データを算出するときにエラーが発生した場合には、図6の教示用ウィンドウW3のステータス(Status)の欄に、エラー原因を表示してもよい。エラー原因としては、例えば、速度超過、目標点不到達、特異点到達等が挙げられる。
 ロボットRの動作が正常に行われた場合には、ステータス(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 Status in the teaching window W3 of FIG. The cause of the error includes, for example, overspeeding, reaching of the target point, reaching of the singular point and the like.
If the operation of the robot R is performed normally, the margin for the moving speed set in the motion parameter, the margin for the target point, or the margin to the singular point, etc., are displayed in the Status column. , And information useful to the operator may be displayed.
 図6の教示用ウィンドウW3には、ボタンb2(「作成」)が設けられている。
 ボタンb2(「作成」)が操作されることで、教示用ウィンドウW3によって設定されたタスクが後述するタスクリストに登録される。
 なお、ボタンb2(「作成」)が操作される前に、ボタンb3(「チェック」)の操作による動作確認が行われていない場合には、ボタンb3(「チェック」)の操作が行われなくても自動的に動作確認を実行し、エラーの有無を報知するようにしてもよい。
The teaching window W3 in FIG. 6 is provided with a button b2 ("Create").
By operating the button b2 ("Create"), the task set by the teaching window W3 is registered in a task list described later.
In addition, when the operation check by the operation of the button b3 (“check”) is not performed before the button b2 (“create”) is operated, the operation of the button b3 (“check”) is not performed. However, the operation check may be automatically performed to notify the presence or absence of an error.
 (2-5)タスクに基づくプログラムの作成
 上述したように、タスクごとの動作確認を行う場合には、タスクに基づいてプログラムが作成される。タスクに基づくプログラムは、当該タスクに対応する作業要素をロボットRに実行させるためのロボットプログラムの例である。
 例えば、図5に示すタスクに対応する作業要素を実行するためのプログラムは、以下の複数の関数からなり、各関数は、ロボットRのモーション(「ロボットRの動き」を意味する。)を実行させるためのプログラムによって記述されている。
 なお、以下のmove(AP1)は、作業要素間の移動として別に定義されてもよい。
(2-5) Creation of Program Based on Task As described above, when performing operation check for each task, a program is created based on the task. The task-based program is an example of a robot program for causing the robot R to execute a work element corresponding to the task.
For example, the program for executing the work element corresponding to the task shown in FIG. 5 is composed of the following functions, each of which executes the motion of the robot R (meaning the “movement of the robot R”). It is written by the program to make it
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.
 (2-6)タスクリスト
 タスクリストとは、ロボットRが行うジョブに含まれる複数の作業要素の各々に対応する複数のタスクの一覧の情報である。特定のジョブを対象として教示用ウィンドウW3によって作成されたタスクは、順次、当該ジョブに対応するタスクリストに登録されていく。タスクリストに含まれる複数のタスクの順序は、当該複数のタスクにそれぞれ対応する複数の作業要素の実行順序を示していることが、ジョブを管理する上で好ましい。
(2-6) 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.
 図10の教示用ウィンドウ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_Produ
ctTray)
The teaching window W4 of FIG. 10 displays an example of a task list corresponding to a job ("Pen Assembly") which is a series of operations of "fitting a cap on a pen and assembling 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_Produ
ctTray)
 図10に示すタスクリストのうち、教示用ウィンドウW3における動作確認の結果がエラーを示したタスク(「エラータスク」という。)と、タスクリストのうちエラータスク以外のタスクとを、異なる表示態様(例えば、異なる文字色、異なる背景色とする表示態様)で表示してもよい。「エラータスク以外のタスク」とは、動作確認の結果、エラーを示さなかったタスクと、動作確認を行っていないタスクとを含む。エラータスクと、OKタスク(つまり、動作確認の結果、エラーを示さなかったタスク)と、動作確認が未実施のタスクとを、それぞれ異なる表示態様にしてもよい。 In the task list shown in FIG. 10, different display modes (a task where the result of the operation check in the teaching window W3 indicates an error (referred to as “error task”) and a task other than the error task in the task list) For example, different character colors, different background colors may be displayed). The “tasks other than error tasks” include tasks that did not indicate an error as a result of the operation check and tasks that have not been checked. The error task, the OK task (that is, the task that did not indicate an error as a result of the operation check), and the task for which the operation check has not been performed may be displayed in different display modes.
 グループ化された2以上の対象物を対象としてまとめてタスクを作成した場合には、タスクリスト中、グループにまとめたタスク表示を行ってもよい。 In the case where tasks are created collectively for two or more grouped objects, task display grouped into groups may be performed in the task list.
 オペレータは、タスクリストにおいて、いずれかのタスクをポインティングデバイスで選択した状態でドラッグ操作を行うことで、選択されたタスクをタスクリスト中の任意の順序に設定することができる。 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.
 図10に示すように、オペレータがタスクリストのいずれかのタスクをポインティングデバイスで選択した状態で右クリックを行うと、「タスク編集」、「タスク追加」、「タスク削除」のいずれかの処理を選択できる。ここで、「タスク編集」が選択された場合には、選択されているタスクの教示用ウィンドウW3に戻って、当該タスクについての情報を変更することができる。「タスク追加」が選択された場合には、選択されているタスクのすぐ後の順序に、作成済みのタスクを読み込んで挿入するか、あるいは、教示用ウィンドウW3に戻ってタスクを作成して挿入することができる。「タスク削除」が選択された場合には、選択されているタスクをタスクリストから削除することができる。 As shown in FIG. 10, when the operator performs right-click while selecting any task in the task list with the pointing device, the process of “Edit task”, “Add task”, or “Delete task” is performed. It 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.
 図10において、オペレータが教示用ウィンドウW4内の任意の位置を対象として右クリック操作を行うと、「教示点リスト出力」、「IOマップ出力」、および「プログラム出力」の中からいずれかを選択できる。
 「教示点リスト出力」が選択された場合、各対象物に設定されたTCPの座標の一覧が出力される。
 「IOマップ出力」が選択された場合、ロボットRに対する入出力(I/O)のポートの一覧を出力する。
 「プログラム出力」が選択された場合、ジョブに対応して、シミュレーション用プログラムと実機用プログラムの2種類のロボットプログラムを出力する。実機用プログラムはインターロックによる待機時間のタイムアウト値が有効となっているが、シミュレーション用プログラムはインターロックによる待機時間が無効化されている点で、両者は異なる。
In FIG. 10, when the operator performs a right click operation on an arbitrary position in the teaching window W4, one of “Teaching point list output”, “IO map output”, and “Program output” is selected. it can.
When “Teach point list output” is selected, a list of TCP coordinates set for each object is output.
When “IO map output” is selected, a list of input / output (I / O) ports for the robot R is output.
When “program output” is selected, two types of robot programs, that is, a simulation program and a program for a real machine, are output corresponding to the job. 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.
 (2-7)ジョブのシミュレーション
 図10の教示用ウィンドウW4においてボタンb4が操作された場合、タスクリストに対応するロボットRのジョブのシミュレーションが実行される。 ジョブのシミュレーションを実行するに当たっては、先ず、当該ジョブに対応するロボットプログラムが作成される。すなわち、タスクリストに含まれる各タスクに基づくプログラムは、前述したように、ロボットRに対応する複数のモーションを実行させるためのプログラムが記述された関数の集合体として表される。なお、連続するタスクに対応する作業要素の間のロボットRの移動についてのモーションパラメータ(移動速度、加速度、加速時間、減速時間等)は、デフォルト値として予め定められていてもよいし、オペレータが設定できるようにしてもよい。
 各タスクに基づくプログラムを順に組み合わせることで、ジョブに対応するロボットプログラムが作成される。各タスクに基づくプログラムを組み合わせるに当たっては、入力信号あるいは条件によって実行するプログラムを切り替えるような分岐処理や、特定のプログラムを繰り返す処理等が組み込まれてもよい。
(2-7) Simulation of Job When the button b4 is operated in the teaching window W4 of FIG. 10, 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.
By combining programs based on each task in order, a robot program corresponding to a job is created. 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は、ロボットプログラムの実行結果として、時間の経過に応じたロボットRの状態を示す情報であるロボット状態データを算出する。ロボット状態データは、例えば、時間の経過に応じたアーム51の関節角の変化や、時間の経過に応じたハンド52の軌跡等の情報である。このロボット状態データは、ロボット制御装置3から情報処理装置2へ返される。CADソフトウェアは、ロボット状態データに基づいて、ロボットRおよび対象物の3次元モデルを仮想空間内で動作させ、シミュレーション出力として、タスクに対応するロボットRの動きの動画(アニメーション)の表示を行う。
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.
The robot control device 3 calculates robot state data, which is information indicating the state of the robot R according to the passage of time, as the execution result of the robot program. The robot state data is, for example, information such as a change in joint angle of the arm 51 according to the passage of time, a trajectory of the hand 52 according to the passage of time, and the like. The robot state data is returned from the robot control device 3 to the information processing device 2. The CAD software operates the robot R and the three-dimensional model of the object in the virtual space based on the robot state data, and displays a motion image (animation) of the motion of the robot R corresponding to the task as a simulation output.
 ロボットRのロボット状態データを算出するときにエラーが発生した場合には、図10の教示用ウィンドウW4のステータス(Status)の欄に、エラー原因を表示してもよい。エラー原因としては、例えば、速度超過、目標点不到達、特異点到達等が挙げられる。
 図10に示すタスクリストのうち、シミュレーションの結果がエラーを示したエラータスクと、タスクリストのうちエラータスク以外のタスクとを、異なる表示態様(例えば、異なる文字色、異なる背景色とする表示態様)で表示してもよい。
 図11の教示用ウィンドウW5に、図10のタスクリストにおいてエラータスクの表示例を示す。この表示例では、タスクリストの中の最後の“Place_to_PenProduct1_in_ProductTray”というタスクがエラータスクである場合を示しており、当該エラータスクにマークM1(タスクを囲む枠線)を付加することで、エラータスク以外のタスクと異なる表示態様としている。
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.
In the task list shown in FIG. 10, an error task whose simulation result indicates an error and a task other than the error task in the task list have different display modes (for example, display modes having different character colors and different background colors) It may be displayed in).
A display example of an error task in the task list of FIG. 10 is shown in the teaching window W5 of FIG. This display example shows the case where the last task "Place_to_PenProduct1_in_ProductTray" in the task list is an error task, and by adding a mark M1 (a frame surrounding the task) to the error task, it is not an error task. The display mode is different from the task of.
 なお、タスクリストのうちオペレータによって選択された一部のタスクに対応する作業要素についてのシミュレーションを実行できるようにしてもよい。 A simulation may be performed on work elements corresponding to a part of tasks selected by the operator in the task list.
 (2-8)エリアチェック
 次に、エリアチェックについて、図12および図13を参照して説明する。図12は、本実施形態の一例に係る教示用ウィンドウの遷移を示す図である。図13は、本実施形態において階層型リストの表示例を示す図である。
(2-8) Area Check Next, the area check will be described with reference to FIGS. 12 and 13. FIG. 12 is a diagram showing transition of a window for teaching according to an example of the present embodiment. FIG. 13 is a diagram showing a display example of a hierarchical list in the present embodiment.
 エリアチェックとは、ロボットRのハンド52(ロボットの構成要素の例)が、オペレータによって選択された少なくとも1つの対象物(図4に示す例では、ペンPen1, Pen2,…,Pen12、キャップCap1, Cap2,…,Cap12、および、製品PenProduct1, PenProduct2,…,PenProduct12の少なくともいずれか)に到達可能であるか否かを判定することである。ロボットが複数設けられる場合には、複数のロボットのうちエリアチェックの対象とするロボットをオペレータが選択できるようにしてもよい。ロボットは複数の姿勢をとりうるため、当該複数の姿勢のうちオペレータによって選択されたいずれかの姿勢において、ロボットのエリアチェックを行うようにしてもよい。 In the area check, at least one object (in the example shown in FIG. 4, pens Pen1, Pen2,..., Pen12, and Cap Cap1, Cap1 in the example shown in FIG. 4), the hand 52 of the robot R (example of robot components). Cap12, and Cap12, and at least one of the products PenProduct1, PenProduct2, ..., PenProduct12) is determined to be reachable. When a plurality of robots are provided, an operator may be able to select a robot to be subjected to area check among the plurality of robots. Since the robot can take a plurality of postures, the area check of the robot may be performed in any of the plurality of postures selected by the operator.
 図4に示した階層型リストにおいて、対象物の一部又は全部を選択した状態にして、ロボット領域RA内のノード61~63のいずれかをポインティングデバイスで右クリックしてから「エリアチェック」を選択すると、図12の教示用ウィンドウW6が表示される。教示用ウィンドウW6では、エリアチェックのための姿勢(posture)を選択できる。教示用ウィンドウW6において、少なくとも1つの姿勢を選択し、ボタンb5(「OK」)を選択することで、エリアチェックが実行される。 In the hierarchical list shown in FIG. 4, with some or all of the objects selected, right-click any of the nodes 61 to 63 in the robot area RA with the pointing device, and then click “Area Check”. When selected, the teaching window W6 of FIG. 12 is displayed. In the teaching window W6, it is possible to select a posture for area check. An area check is performed by selecting at least one posture in the teaching window W6 and selecting the button b5 ("OK").
 エリアチェックの実行には逆運動学の計算が必要であり、この計算は、ロボット制御装置3において行われる。すなわち、情報処理装置2は、ロボットRおよび各対象物の3次元モデルに基づく座標データ、各対象物のTCPの座標データの情報をロボット制御装置3に渡す。ロボット制御装置3は、当該情報を基に、特定の対象物に対して逆運動学によりロボットRのアーム51の関節角を求めることができれば、当該対象物に到達可能であると判断できる。
 エリアチェックの結果は、図13に例示するように、ペンを対象とするエリアチェックの場合、ペントレイ11に含まれるペンごとに、到達不可能であるペン(到達不可対象物の例)に対してマークM2(「NG」)を表示することによって行われる。他の表示例として、到達不可対象物を到達可能対象物と異なる色で表示することなどが挙げられる。
The execution of the area check requires inverse kinematics calculations, which are performed in the robot controller 3. That is, the information processing device 2 passes, to the robot control device 3, information on coordinate data based on the robot R and the three-dimensional model of each object, and coordinate data of TCP of each object. The robot control device 3 can determine that the object can be reached if the joint angle of the arm 51 of the robot R can be obtained by inverse kinematics with respect to the specific object based on the information.
As an example of the area check, as illustrated in FIG. 13, in the case of the area check for a pen, for each pen included in the pen tray 11, the unreachable pen (example of the unreachable object) This is done by displaying the mark M2 ("NG"). Another display example is to display an unreachable object in a color different from the reachable object.
 (3)ロボット教示装置1の機能
 次に、本実施形態のロボット教示装置1の機能について、図14を参照して説明する。図14は、実施形態に係るロボット教示装置1の機能ブロック図である。
 図14に示すように、ロボット教示装置1は、表示制御部101、タスク作成部102、タスク更新部103、タスク入替部104、設定更新部105、グルーピング部106、プログラム作成部107、プログラム実行部108、状態情報算出部109、シミュレーション部110、判定部111、姿勢選択部112、基準点設定部113、モデル配置部114、および、インターロック設定部115を備える。
 ロボット教示装置1はさらに、タスクデータベース221、階層型リストデータベース222、3次元モデルデータベース223、および、実行ログデータベース224を備える。
(3) Function of Robot Teaching Device 1 Next, the function of the robot teaching device 1 of the present embodiment will be described with reference to FIG. FIG. 14 is a functional block diagram of the robot teaching device 1 according to the embodiment.
As shown in FIG. 14, the robot teaching device 1 includes a display control unit 101, a task creating unit 102, a task updating unit 103, a task replacing unit 104, a setting updating unit 105, a grouping unit 106, a program creating unit 107, and a program executing unit. A state information calculation unit 109, a simulation unit 110, a determination unit 111, a posture selection unit 112, a reference point setting unit 113, a model placement unit 114, and an interlock setting unit 115 are provided.
The robot teaching device 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からオペレータの操作入力を受け付けると、当該操作入力に基づき、図6の作業要素の種別(Function)および作業要素の目標物(Target)の情報を含むファイルとしてタスクを作成し、ストレージ22に記録する。制御部21は、作業要素の種別(Function)および作業要素の目標物(Target)に基づいて、所定の規則に従ってタスク名称を決定する。ストレージ22(第1記憶部の例)は、タスク作成部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 (an example of a first storage unit) stores a task database 221 including tasks created by the task creation 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.
 タスク作成部102は、作業要素の目標点、目標点に到達する前の通過点であるアプローチ点(第1点の例)、および、目標点に到達した後の通過点であるデパーチャ点(第2点の例)のうち、少なくともいずれかの点に関する情報をタスクに設定する機能を備えてもよい。当該機能を実現するために、情報処理装置2の制御部21は、作業要素の目標物(Target)となる対象物のTCPとローカル座標系に基づいて、アプローチ点およびデパーチャ点を決定する。例えば、対象物のローカル座標系のZ軸において、対象物の全長の所定倍率の位置をアプローチ点およびデパーチャ点とする。制御部21は、決定したアプローチ点およびデパーチャ点の情報がタスクに含まれるように、タスクデータベース221を更新する。
 アプローチ点およびデパーチャ点が自動的に設定されることで、オペレータのティーチング作業が効率化される。
The task creation unit 102 sets the target point of the work element, the approach point (example of the first point) which is the passing point before reaching the target point, and the departure point (the first passing point after reaching the target point). The information processing apparatus may be provided with a function of setting information on at least one of the two examples) to the task. In order to realize the function, the control unit 21 of the information processing device 2 determines the approach point and the departure point based on the TCP and the local coordinate system of the object to be the target of the work element (Target). For example, in the Z axis of the local coordinate system of the object, the position of the predetermined magnification of the entire length of the object is used as the approach point and the departure point. The control unit 21 updates the task database 221 so that the information on the determined approach point and departure point is included in the task.
By automatically setting the approach point and the departure point, the teaching operation of the operator can be streamlined.
 表示制御部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.
 好ましくは、図4に示したように、表示制御部101は、ロボットの構成要素を階層的に表示するためのロボット領域RA(第1領域)と、対象物の構成要素を階層的に表示するための対象物領域PA(第2領域)とに分けて、階層型リストを表示装置24に表示する。
 ロボット領域と対象物領域とを分けて表示することで、タスクの作成に当たって、特定の対象物を把持する作業に対応したロボットのハンドを示すノードと、当該対象物に対応するノードとを選択するときに、目的とするノードを見つけやすくなる。
Preferably, as shown in FIG. 4, the display control unit 101 hierarchically displays the robot area RA (first area) for hierarchically displaying the components of the robot and the components of the object. The hierarchical list is displayed on the display unit 24 by dividing it into the target object area PA (second area).
By separately displaying the robot area and the object area, when creating a task, a node indicating a robot hand corresponding to an operation of gripping a specific object and a node corresponding to the object are selected. Sometimes, it becomes easier to find the desired node.
 タスク更新部103は、表示装置24に表示されたタスクリストに対するオペレータの操作入力に基づいて、タスクリストのうちいずれかのタスクを削除し、ストレージ22(第1記憶部の例)に記憶されているタスクデータベース221に含まれるタスクをタスクリストに追加し、又は、タスクリストのうちいずれかのタスクの内容を変更する機能を備える。
 タスク更新部103の機能を実現するために、情報処理装置2の制御部21は、入力装置23が受け付けたオペレータの操作入力に基づいてストレージ22にアクセスし、タスクデータベース221に含まれるタスクリストを書き換える。オペレータはタスク単位でジョブの内容を編集することができるため、ティーチング作業が効率化される。
The task update unit 103 deletes one of the tasks in the task list based on the operation input by the operator on the task list displayed on the display device 24, and stores the task in the storage 22 (example of the first storage unit) It has a function of adding a task included in the task database 221 to the task list or changing the contents of any task in the task list.
In order to realize the function of the task update unit 103, the control unit 21 of the information processing device 2 accesses the storage 22 based on the operation input of the operator accepted by the input device 23, and the task list included in the task database 221 rewrite. Since the operator can edit the contents of the job in task units, the teaching work is made efficient.
 表示装置24に表示されるタスクリストに含まれるタスクの順序は、複数のタスクの実行順序を規定していてもよい。その場合、タスク入替部104は、表示装置24に表示されたタスクリストに対するオペレータの操作入力に基づいて、タスクリストに含まれるタスクの順序を入れ替える。
 タスク入替部104の機能を実現するために、情報処理装置2の制御部21は、入力装置23が受け付けたオペレータの操作入力に基づいてストレージ22にアクセスし、タスクデータベース221に含まれるタスクリストの順序を更新する。オペレータはタスク単位で実行順序を変更することができるため、ロボットによるジョブの最適化を図ることができるとともに、ティーチング作業が効率化される。
The order of tasks included in the task list displayed on the display device 24 may define the execution order of a plurality of tasks. In that case, the task exchange unit 104 changes the order of the tasks included in the task list based on the operation input by the operator on the task list displayed on the display device 24.
In order to realize the function of the task replacing unit 104, the control unit 21 of the information processing device 2 accesses the storage 22 based on the operation input of the operator accepted by the input device 23, and the control unit 21 of the task list included in the task database 221. Update the order. Since the operator can change the execution order on a task-by-task basis, the job by the robot can be optimized, and the teaching work can be made efficient.
 設定更新部105は、タスク作成部102によりタスクに設定されたアプローチ点およびデパーチャ点のうち少なくともいずれかの点に関する情報を、オペレータの操作入力に基づいて、削除し、変更し、又は、追加する機能を備える。
 設定更新部105の機能を実現するために、情報処理装置2の制御部21は、タスク作成用のウィンドウ(図6参照)において入力装置23が受け付けたオペレータの操作入力に基づいてストレージ22にアクセスし、タスクデータベース221に含まれるタスクのアプローチ点およびデパーチャ点の情報を更新する。
 設定更新部105によりオペレータが所望の位置に作業要素のアプローチ点およびデパーチャ点を削除し、変更し、又は、追加することができるため、ロボットをオペレータの所望の動作に教示することができる。特に、本実施形態では、タスクの実行結果をCADソフトウェアにより動画再生することができるため、動画再生結果を見た後にオペレータがアプローチ点及び/又はデパーチャ点を削除し、変更し、又は、追加することで、ロボットの動作を最適化するように教示することができる。
The setting updating unit 105 deletes, changes, or adds information on at least one of the approach point and the departure point set as the task by the task creating unit 102 based on the operation input by the operator. It has a function.
In order to realize the function of the setting update unit 105, the control unit 21 of the information processing device 2 accesses the storage 22 based on the operation input of the operator accepted by the input device 23 in the task creation window (see FIG. 6). And update the task approach point and departure point information contained in the task database 221.
Since the setting updating unit 105 can delete, change, or add the approach point and the departure point of the work element to the desired position by the operator, the robot can be taught the desired operation of the operator. In particular, in this embodiment, since the execution result of the task can be reproduced as a moving image by CAD software, the operator deletes, changes, or adds the approach point and / or the departure point after seeing the moving image reproduction result. Can be taught to optimize the motion of the robot.
 グルーピング部106は、表示装置24に表示された階層型リストから2以上の対象物を指定するオペレータの操作入力に基づいて、当該2以上の対象物をグループ化する機能を備える。その場合、タスク作成部102は、グループ化された2以上の対象物のうちいずれかの対象物に対して設定されたアプローチ点およびデパーチャ点のうち少なくともいずれかの点に関する情報を、上記2以上の対象物の他の対象物に対しても設定する。 The grouping unit 106 has a function of grouping the two or more objects based on the operation input of the operator specifying the two or more objects from the hierarchical list displayed on the display device 24. In such a case, the task creating unit 102 may set the information on at least one of the approach point and the departure point set for any of the grouped two or more objects to the above two or more points. Also set for other objects of the object of.
 グルーピング部106の機能を実現するために、情報処理装置2に制御部21は、入力装置23からのオペレータの操作入力を受け入れると、当該操作入力によって指定される2以上の対象物が同じグループとして関連付けられるようにタスクデータベース221を更新する。そして、制御部21は、グループ化された2以上の対象物のうちいずれかの対象物に対して、例えばアプローチ点が設定された場合、グループ化された他の対象物のアプローチ点が設定されるように、タスクデータベース221を更新する。グループ化された他の対象物のアプローチ点およびデパーチャ点の設定は、前述したように、グループ化された2以上の対象物のTCPオフセット量が反映されるようにして行われる。
 2以上の対象物をグループ化することで、複数の対象物に対するアプローチ点及び/又はデパーチャ点の設定作業が容易となる。
In order to realize the function of the grouping unit 106, when the control unit 21 accepts the operation input of the operator from the input device 23 in the information processing apparatus 2, two or more objects designated by the operation input are regarded as the same group The task database 221 is updated to be associated. Then, when, for example, an approach point is set for any of the two or more grouped objects, the control unit 21 sets an approach point of another grouped object. Update the task database 221 so that The setting of approach points and departure points of other grouped objects is performed in such a manner as to reflect the TCP offset amounts of two or more grouped objects, as described above.
Grouping two or more objects makes it easy to set an approach point and / or departure point for a plurality of objects.
 プログラム作成部107は、タスク作成部102によって作成されたタスクに基づいて、当該タスクに対応する作業要素をロボット5に実行させるためのプログラムを作成する機能を備える。
 プログラム作成部107の機能を実現するために、情報処理装置2の制御部21は、タスクに含まれる作業要素の種別、作業要素の目標物、アプローチ点、デパーチャ点、モーションパラメータ、およびインターロックの設定を基に、タスクに対応する作業要素をロボットに実行させるためのプログラムが記述された関数を作成する。例えば、プログラム作成部107は、タスクに含まれる情報を参照し、ストレージ22(第1記憶部の例)に保存された作業要素の種別に応じた所定のプログラムのフォーマットにおける座標位置等を書き換えることで、自動的にプログラムを作成する。
The program creation unit 107 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 107, the control unit 21 of the information processing device 2 performs 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 creating unit 107 refers to the information included in the task, and rewrites the coordinate position etc. in the format of the predetermined program according to the type of the work element stored in the storage 22 (example of the first storage unit). Automatically create a program.
 プログラム実行部108は、表示装置24に表示されたタスクリストのうち少なくとも1つのタスクを選択するオペレータの操作入力に基づいて、選択された少なくとも1つのタスクに基づいてプログラム作成部107により作成されたプログラムを含むロボットプログラムを実行する機能を備える。
 プログラム実行部108の機能を実現するために、情報処理装置2の制御部21は、通信インタフェース部25を介して少なくとも1つのタスクに基づいて作成したロボットプログラムを、ロボット制御装置3へ送信する。ロボット制御装置3では、通信インタフェース部33によりロボットプログラムを受信すると、制御部31が当該ロボットプログラムを実行する。各タスクに基づいて作成されたプログラムは、関数の集合体で構成されている。制御部31はタスクリストに含まれる各タスクに基づいて作成されたプログラムを順に実行する。
The program execution unit 108 is generated by the program generation unit 107 based on at least one selected task based on the operation input of the operator selecting at least one task from the task list displayed on the display device 24. It has a function to execute a robot program including a program.
In order to realize the function of the program execution unit 108, the control unit 21 of the information processing device 2 transmits a robot program created based on at least one task to the robot control device 3 via the communication interface unit 25. In the robot control device 3, when the communication interface unit 33 receives a robot program, the control unit 31 executes the robot program. A program created based on each task is composed of a collection of functions. The control unit 31 sequentially executes programs created based on the tasks included in the task list.
 表示制御部101は、タスクリストのうちプログラム実行部108による実行結果がエラーを示したタスクであるエラータスクと、タスクリストのうちエラータスク以外のタスクとを異なる表示態様で表示する。
 上述したように、ロボット制御装置3の制御部31は、タスクリストに含まれる各タスクに基づいて作成されたプログラムを順に実行するようにしてロボットプログラムを実行する。そして、制御部31は、タスクごとの実行結果(成功又はエラーの結果、および、エラーの場合のエラー原因)を含む実行ログデータを実行ログデータベース224に記録する。エラー原因は、例えば、速度超過、目標点不到達、特異点到達等である。次いで制御部31は、通信インタフェース部33を介して情報処理装置2へ実行ログデータを送信する。情報処理装置2の制御部21は、ロボット制御装置3から実行ログデータを取得すると、実行ログデータに含まれる実行結果が反映されるようにして、タスクリストを表示装置24に表示する。具体的には、タスクリストの表示を、実行結果がエラーを示したエラータスクと、エラータスク以外のタスクとが異なる表示態様となるようにして行う(例えば、図11参照)。そのため、オペレータは、ジョブの中でエラーが発生した作業要素を直ちに認識でき、タスクのアプローチ点、デパーチャ点、あるいはモーションパラメータの設定値の修正等に対処することができる。
The display control unit 101 displays an error task which is a task whose execution result by the program execution unit 108 indicates an error in the task list and a task other than the error task in the task list in different display modes.
As described above, the control unit 31 of the robot control device 3 executes the robot program by sequentially executing the program created based on each task included in the task list. Then, the control unit 31 records execution log data including execution results for each task (result of success or error and error cause in case of error) in the execution log database 224. The cause of the error is, for example, the speed exceeding, the target point unreached, the singular point reaching, and the like. Next, the control unit 31 transmits execution log data to the information processing device 2 via the communication interface unit 33. When acquiring the execution log data from the robot control device 3, the control unit 21 of the information processing device 2 displays the task list on the display device 24 so that the execution result included in the execution log data is reflected. Specifically, the task list is displayed such that an error task whose execution result indicates an error and a task other than the error task have different display modes (see, for example, FIG. 11). Therefore, the operator can immediately recognize the work element in which the error occurs in the job, and can cope with the approach point of the task, the departure point, or the correction of the setting value of the motion parameter.
 ストレージ22(第2記憶部および第3記憶部の例)は、仮想空間におけるロボットRの3次元モデルと、対象物の3次元モデルの情報と、を含む3次元モデルデータベース223を記憶する。
 状態情報算出部109は、プログラム実行部108による実行結果に基づいて、時間の経過に応じたロボットの状態を示す情報であるロボット状態データ(状態情報の例)を演算する機能を備える。
 シミュレーション部110は、状態情報算出部109によって得られたロボット状態データに基づいて、3次元モデルを仮想空間内で動作させて表示装置24に表示する機能を備える。
The storage 22 (an example of a second storage unit and a third storage unit) stores a three-dimensional model database 223 including a three-dimensional model of the robot R in a virtual space and information of a three-dimensional model of an object.
The state information calculation unit 109 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 108.
The simulation unit 110 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 109.
 状態情報算出部109およびシミュレーション部110の機能を実現するために、ロボット制御装置3の制御部31は、上述したように、各タスクに基づいて作成されたプログラムを順に実行するようにして、情報処理装置2から受信したロボットプログラムを実行する。そして、制御部31は、ロボットプログラムの実行結果として、ジョブ全体におけるロボット状態データを取得する。ロボット状態データは、時間の経過に応じたロボットの状態を示す物理量(例えば、アームの関節角、アームの速度や加速度、各部の軌跡)のデータである。情報処理装置2の制御部21はロボット制御装置3から、ロボット状態データを含む実行ログデータを取得し、実行ログデータベース224に記録する。さらに制御部21は、実行ログデータを基に仮想空間上でロボットおよび対象物の3次元モデルを動作させて表示装置24に表示する。
 したがって、オペレータは、各タスクのロボットの動作を視覚的に確認することができるため、各タスクの設定値(例えば、アプローチ点、デパーチャ点、モーションパラメータ等)や対象物の配置(例えば、図3のキャップトレイ12の配置等)を再検討することが容易となる。
In order to realize the functions of the state information calculation unit 109 and the simulation unit 110, as described above, the control unit 31 of the robot control device 3 executes the programs created based on each task in order, as described above. The robot program received from the processing device 2 is executed. Then, the control unit 31 acquires robot state data in the entire job as the execution result of the robot program. The robot state data is data of a physical quantity (for example, joint angle of arm, velocity and acceleration of arm, trajectory of each part) indicating the state of the robot according to the passage of time. The control unit 21 of the information processing device 2 acquires execution log data including robot state data from the robot control device 3 and records the execution log data in the execution log database 224. Further, the control unit 21 causes the robot and the three-dimensional model of the object to operate on the virtual space based on the execution log data and displays the three-dimensional model on the display device 24.
Therefore, since the operator can visually confirm the motion of the robot of each task, the set value of each task (for example, approach point, departure point, motion parameter, etc.) and the arrangement of the object (for example, FIG. 3) It becomes easy to reconsider the arrangement of the cap tray 12 and the like.
 判定部111は、階層型リストにおいて、オペレータの操作入力に基づいて、いずれか1つのロボットの構成要素、および、少なくとも1つの対象物が選択された場合に、当該少なくとも1つの対象物が仮想空間においてロボットRのハンド52(ロボットの構成要素の例)により到達可能であるか否かを判定する機能を備える。当該機能は、前述したエリアチェックに相当する。
 判定部111の機能を実現するために、情報処理装置2の制御部21は、通信インタフェース部25を介して、ロボットおよび対象物の3次元モデルに基づく座標データ、対象物のTCPの座標のデータをロボット制御装置3へ送信する。ロボット制御装置3の制御部31は、受信したデータを基に、特定の対象物に対して逆運動学によりロボットのアームの関節角を求めることができるか否かを判定する。関節角を求めることができればロボットのハンドが対象物に到達可能であることを意味し、関節角を求めることができなければロボットのハンドが対象物に到達不可能であることを意味する。
 判定部111によりロボットプログラムを作成する前に特定の対象物に対するロボットのハンドの到達可否がわかるため、対象物の配置の最適化等の検討を前もって行うことができ、ティーチング作業の効率化が図れる。
In the hierarchical list, when any component of at least one robot and at least one target are selected in the hierarchical list, the determination unit 111 determines that the at least one target virtual space. The function of determining whether it is reachable by the hand 52 of the robot R (example of components of the robot) is possible. The function corresponds to the area check described above.
In order to realize the function of the determination unit 111, the control unit 21 of the information processing device 2 transmits coordinate data based on the robot and the three-dimensional model of the object, data on the TCP coordinates of the object via the communication interface unit 25. Is sent to the robot control device 3. The control unit 31 of the robot control device 3 determines, based on the received data, whether or not the joint angle of the arm of the robot can be obtained by inverse kinematics with respect to a specific object. If the joint angle can be determined, it means that the robot's hand can reach the object, and if the joint angle can not be determined, it means that the robot's hand can not reach the object.
Since the determination unit 111 can determine whether the robot hand can reach the specific object before creating the robot program, the optimization of the arrangement of the object can be studied in advance, and the efficiency of the teaching operation can be improved. .
 表示制御部101は、複数の対象物のうち判定部111により到達可能でないと判定された対象物である到達不可対象物が、当該到達不可対象物以外の対象物と識別可能となるように、階層型データを表示してもよい。
 エリアチェックでは、図13に示したように、好ましくは、複数の対象物のうち到達可能でないと判定された対象物(到達不可対象物)が、到達不可対象物以外の対象物と識別可能となるように、階層型リストを表示する。図13では、マークM2の有無によって到達不可対象物を識別可能に表示しているが、識別方法は様々な方法を採りうる。例えば、図13の例に代えて、到達不可のペン(Pen)を赤色にするか、あるいは輝度を低下させる等の表示処理を施してもよい。
The display control unit 101 is configured such that an unreachable object that is an object determined to be unreachable by the determination unit 111 among the plurality of objects is distinguishable from an object other than the unreachable object. Hierarchical data may be displayed.
In the area check, as shown in FIG. 13, preferably, an object (unreachable object) determined to be unreachable among a plurality of objects can be identified as an object other than the unreachable object. Display a hierarchical list so that Although the unreachable object is identifiably displayed in FIG. 13 by the presence or absence of the mark M2, various identification methods can be adopted. For example, instead of the example of FIG. 13, display processing such as making the unreachable pen (Pen) red or reducing the luminance may be performed.
 姿勢選択部112は、オペレータの操作入力に基づいて、ロボットに対して予め定められた複数の姿勢の中からいずれかの姿勢を選択する機能を備える。
 その場合、判定部111は、ロボットが姿勢選択部112によって選択された姿勢をとることを条件として、少なくとも1つの対象物がロボットの構成要素により到達可能であるか否かを判定する。姿勢選択が行われた場合には、ロボット制御装置3の制御部31は、ロボットを選択された姿勢に固定した状態で、特定の対象物に対して逆運動学によりロボットのアームの関節角を求めることができるか否かを判定する。
 姿勢選択部112を設けることで、オペレータは、ロボットの様々な姿勢を考慮しながら、対象物の配置等の検討を前もって行うことができる。
The posture selection unit 112 has a function of selecting any one of a plurality of predetermined postures for the robot based on the operation input of the operator.
In that case, on the condition that the robot takes the posture selected by the posture selection unit 112, the determination unit 111 determines whether or not at least one object can be reached by the component of the robot. When posture selection is performed, the control unit 31 of the robot control device 3 fixes the joint angle of the arm of the robot by inverse kinematics with respect to a specific object in a state in which the robot is fixed to the selected posture. It is determined whether it can be determined.
By providing the posture selection unit 112, the operator can consider in advance the arrangement of the object, etc., while considering various postures of the robot.
 基準点設定部113は、対象物の3次元モデルの仮想空間内の位置に基づいて、ロボットの対象物に対する作業の基準となる、仮想空間内のTCP(基準点の例)を算出し、TCPを対象物に関連付ける機能を備える。
 基準点設定部113の機能を実現するために、情報処理装置2の制御部21は、処理対象となる対象物の3次元モデルのデータに基づき、当該対象物のTCPを設定するとともに、TCPを基準とした当該対象物のローカル座標系を設定する。本実施形態では、教示ソフトウェアとCADソフトウェアが連携しているため、対象物のTCPを自動的、かつ正確に算出することができる。基準点設定部113は、TCPとして対象物の重心位置を算出することが好ましい。
 本実施形態では、ロボットのハンドの軌道は、対象物を把持する作業に対応したハンドに設定されたTCPと、目標物である当該対象物のTCPおよびそのローカル座標系とに基づいて決定されるため、ハンドによる作業を精度良くティーチングすることができる。また、TCPとして対象物の重心位置を算出することで、対象物以外の物体(他の対象物や設備等)との干渉を回避しやすい位置をTCPとして特定することができる。
The reference point setting unit 113 calculates the TCP (example of the reference point) in the virtual space, which is the reference of the work on the object of the robot, based on the position in the virtual space of the three-dimensional model of the object. To associate the object with the object.
In order to realize the function of the reference point setting unit 113, the control unit 21 of the information processing device 2 sets the TCP of the target object based on the data of the three-dimensional model of the target object to be processed and Set the local coordinate system of the target object as a reference. In the present embodiment, since the teaching software and the CAD software are linked, the TCP of the object can be calculated automatically and accurately. The reference point setting unit 113 preferably calculates the barycentric position of the object as TCP.
In the present embodiment, the trajectory of the hand of the robot is determined based on the TCP set to the hand corresponding to the operation of gripping the object, and the TCP of the object as the object and its local coordinate system. Therefore, the work by the hand can be taught with high accuracy. Further, by calculating the gravity center position of the target as TCP, it is possible to specify as TCP a position where it is easy to avoid interference with an object other than the target (other target, equipment, etc.).
 モデル配置部114は、対象物の3次元モデルと、TCPと、TCPを原点とした3次元モデルのローカル座標系と、を仮想空間に配置して表示する機能を備える。モデル配置部114の機能を実現するために、情報処理装置2の制御部21は、TCPと、TCPを原点とした3次元モデルのローカル座標系のデータとを、各対象物に関連付けるようにしてストレージ22の3次元モデルデータベース223に記録する。制御部21は、3次元モデルデータベース223を参照して、対象物の3次元モデルと当該対象物のTCPおよびローカル座標系とを表示装置24に表示する。
 対象物の3次元モデルと当該対象物のTCPおよびローカル座標系とが表示されることで、オペレータは、アプローチ点APおよびデパーチャ点DPの位置についてCAD用ウィンドウ上で検討しやすくなる。
The model placement unit 114 has a function of placing and displaying a three-dimensional model of an object, a TCP, and a local coordinate system of the three-dimensional model with the TCP as an origin in a virtual space. In order to realize the function of the model placement unit 114, the control unit 21 of the information processing device 2 associates the TCP and the data of the local coordinate system of the three-dimensional model whose origin is the TCP with each object. It is recorded in the three-dimensional model database 223 of the storage 22. The control unit 21 refers to the three-dimensional model database 223 to display the three-dimensional model of the object, the TCP of the object, and the local coordinate system on the display 24.
By displaying the three-dimensional model of the object and the TCP and the local coordinate system of the object, the operator can easily examine the positions of the approach point AP and the departure point DP on the CAD window.
 図9に関連付けて説明したように、TCPの対象物への関連付けは、自動的ではなく、オペレータの操作入力に基づいて行われてもよい。
 すなわち、表示制御部101は、3次元モデルを仮想空間内に表示し、基準点設定部113は、仮想空間内の所定点と、階層型データの対象物とを関連付けるオペレータの操作入力に基づいて、上記所定点をTCPとして対象物に関連付けてもよい。このとき、基準点設定部113は、対象物にTCPが関連付けられていない場合には、対象物にTCPが関連付けられていないことを報知してもよい。
 この基準点設定部113の機能を実現するために、情報処理装置2の入力装置23が、TCPモデル(図9参照)を所定点にセットし、かつ階層型リストの特定の対象物に対応するノードまでドラッグする操作入力を受け付ける。制御部21は、当該所定点を対象物のTCPとして対象物に関連付けるように、ストレージ22の3次元モデルデータベース223を更新する。
 制御部21は、対象物にTCPが関連付けられていない場合に、例えば表示装置24に警告表示を出力することで、当該対象物にTCPを関連付けることをオペレータに促すことができる。
As described with reference to FIG. 9, the association of the TCP with the target may not be automatic, but may be performed based on the operator's operation input.
That is, the display control unit 101 displays a three-dimensional model in the virtual space, and the reference point setting unit 113 determines based on an operation input of an operator that associates a predetermined point in the virtual space with an object of hierarchical data. The predetermined point may be associated with an object as TCP. At this time, when the TCP is not associated with the object, the reference point setting unit 113 may notify that the TCP is not associated with the object.
In order to realize the function of the reference point setting unit 113, the input device 23 of the information processing apparatus 2 sets the TCP model (see FIG. 9) at a predetermined point and corresponds to the specific object in the hierarchical list. Accept operation input to drag to a node. The control unit 21 updates the three-dimensional model database 223 of the storage 22 so as to associate the predetermined point with the target as the TCP of the target.
When TCP is not associated with the object, the control unit 21 can prompt the operator to associate the TCP with the object, for example, by outputting a warning display on the display device 24.
 表示制御部101は、対象物に関連付けられたTCPを、階層型データ上の対象物の下層に階層的に表示してもよい。この場合、情報処理装置2の制御部21は、階層型リストを表示するときに、階層型リストデータベース222において各対象物と関連付けられたTCPを読み出して、階層型リストに各対象物の下層にTCPの座標を表示する。それにより、オペレータが、各対象物のTCPの座標を人目で認識できるようになる。 The display control unit 101 may display the TCP associated with the object hierarchically below the object on the hierarchical data. In this case, when displaying the hierarchical list, the control unit 21 of the information processing device 2 reads out the TCP associated with each object in the hierarchical list database 222 and sets the lower layer of each object in the hierarchical list. Display the coordinates of TCP. As a result, the operator can recognize the TCP coordinates of each object at a glance.
 インターロック設定部115は、オペレータの操作入力に基づき、タスクに設定された目標点、アプローチ点およびデパーチャ点の少なくともいずれかの点においてロボットの動作を待機させる待機時間のタイムアウト値を設定する機能を備える。
 インターロック設定部115の機能を実現するために、情報処理装置2の制御部21は、入力装置23が受け付けたオペレータの操作入力(例えば、図6の教示用ウィンドウW3における操作入力)に基づいてストレージ22にアクセスし、タスクデータベース221に含まれるタスクに含まれる特定のアプローチ点又はデパーチャ点に設定されたインターロックの待機時間のタイムアウト値を書き換える。
 インターロック設定部115により、ロボットのオフラインティーチングを行うときに、インターロックによる待機時間のタイムアウト値を作業要素ごとにオペレータが容易に設定することができる。
The interlock setting unit 115 has a function of setting a time-out value of the waiting time for waiting the robot operation 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 115, the control unit 21 of the information processing device 2 is based on the operation input of the operator accepted by the input device 23 (for example, the operation input in the teaching window W3 of FIG. 6). 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 115 allows the operator to easily set the timeout value of the standby time due to the interlock for each work element when performing off-line teaching of the robot.
 なお、シミュレーション部110は、インターロックによる待機時間を無効化して、3次元モデルを仮想空間内で動作させてもよい。つまり、シミュレーション用プログラムを実行するときには、インターロックによる待機を行わずに3次元モデルを動作させる。それによって、オペレータは、仮想空間上でロボットを停止させずに、ロボットの動きに着目してプログラムの実行結果を確認することができる。 The simulation unit 110 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.
 (4)ロボット教示装置1の主要な処理
 次に、図15および図16を参照して、ロボット教示装置1の主要な処理についてシーケンスチャートを参照して説明する。
 図15は、本実施形態に係るロボット教示装置のエリアチェックの処理を示すシーケンスチャートの例である。図16は、本実施形態に係るロボット教示装置のジョブの実行処理を示すシーケンスチャートの例である。
(4) Main Processing of Robot Teaching Device 1 Next, with reference to FIGS. 15 and 16, the main processing of the robot teaching device 1 will be described with reference to a sequence chart.
FIG. 15 is an example of a sequence chart showing an area check process of the robot teaching device according to the present embodiment. FIG. 16 is an example of a sequence chart showing job execution processing of the robot teaching device according to the present embodiment.
 (4-1)エリアチェック(図15)
 先ず、図15のシーケンスチャートを参照してエリアチェックの処理について説明する。
 図4に示した階層型リストのロボット領域RA内のいずれかの対象物に対応するノードをポインティングデバイスで右クリックしてから「エリアチェック」が選択されることで(ステップS10:YES)、エリアチェックの実行が開始される。
 先ず、姿勢選択部112は、オペレータのロボットRの姿勢を選択する操作入力があった場合(ステップS12:YES)、当該操作入力に基づいて、ロボットRに対して予め定められた複数の姿勢の中からいずれかの姿勢を選択する。
(4-1) Area check (Fig. 15)
First, the area check process will be described with reference to the sequence chart of FIG.
By right-clicking a node corresponding to any object in the robot area RA of the hierarchical list shown in FIG. 4 with the pointing device and selecting “area check” (step S10: YES), the area Execution of the check is started.
First, when there is an operation input for selecting the posture of the robot R of the operator (step S12: YES), the posture selection unit 112 determines that the robot R has a plurality of postures determined in advance based on the operation input. Select one of the postures.
 次いで、判定部111は、「エリアチェック」の選択時に指定した対象物が仮想空間においてロボットRのハンド52により到達可能であるか否かを判定し、到達可否結果を表示装置24に表示する。なお、2以上の対象物を指定してエリアチェックを行うことも可能である。判定部111の処理は、具体的には、以下のようにして行われる。
 情報処理装置2は、通信インタフェース部25を介して、ロボットRおよび各対象物の3次元モデルに基づく座標データ、各対象物のTCPの座標データをロボット制御装置3へ送信する(ステップS14)。ロボット制御装置3は、受信したデータを基に、指定された各対象物に対して逆運動学によりロボットRのアーム51の関節角を計算する(ステップS16)。ロボット制御装置3は、ステップS16によりアーム51の関節角が求められるか否かに基づいて、アーム51の対象物に対する到達可否を決定する(ステップS18)。ステップS16,S18の処理は、姿勢選択部112により選択されたすべてのロボットRの姿勢について1つずつ行われる。ロボット制御装置3は、すべての姿勢についての処理を終了した場合には(ステップS20:YES)、ロボットRの姿勢ごとのエリアチェック結果(到達可否の結果)を情報処理装置2へ返す(ステップS22)。情報処理装置2は、受信したエリアチェック結果を、例えば図13に示したように、表示装置24に表示する(ステップS24)。
Next, the determination unit 111 determines whether or not the target specified at the time of selection of “area check” can be reached by the hand 52 of the robot R in the virtual space, and displays the reachability result on the display device 24. In addition, it is also possible to perform an area check by designating two or more objects. Specifically, the process of the determination unit 111 is performed as follows.
The information processing device 2 transmits coordinate data based on the robot R and the three-dimensional model of each object and TCP coordinate data of each object to the robot control device 3 via the communication interface unit 25 (step S14). The robot control device 3 calculates the joint angle of the arm 51 of the robot R by inverse kinematics with respect to each designated object based on the received data (step S16). The robot control device 3 determines whether the object of the arm 51 can be reached based on whether or not the joint angle of the arm 51 is obtained in step S16 (step S18). The processes of steps S16 and S18 are performed one by one for all the postures of the robots R selected by the posture selection unit 112. The robot control device 3 returns the area check result (result of reachability) for each posture of the robot R to the information processing device 2 when the processing for all the postures is completed (step S20: YES) (step S22) ). The information processing device 2 displays the received area check result on the display device 24, for example, as shown in FIG. 13 (step S24).
 (4-2)ジョブのシミュレーションの実行(図16)
 次に、図16のシーケンスチャートを参照してジョブのシミュレーションの実行の処理について説明する。
 図10の教示用ウィンドウW4においてオペレータによるボタンb4に対する操作入力(シミュレーションの実行指示)を受け付けると(ステップS30:YES)、プログラム作成部107は、ジョブをロボットRに実行するためのロボットプログラムを作成する(ステップS32)。このロボットプログラムには、ジョブに対応するタスクリストの各タスクに対応する作業要素をロボットRに実行させるためのプログラムが記述された複数の関数が含まれる。
(4-2) Execution of job simulation (Fig. 16)
Next, the process of executing a job simulation will be described with reference to the sequence chart of FIG.
When an operation input to the button b4 by the operator in the teaching window W4 in FIG. 10 (simulation execution instruction) is received (step S30: YES), the program creation unit 107 creates a robot program for causing the robot R to execute a job. (Step S32). 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へ送信されて(ステップS34)、ロボット制御装置3において実行される。すなわち、プログラム実行部108は、タスク単位でロボットプログラムを実行する(ステップS36)。状態情報算出部109は、プログラム実行部108による実行結果に基づいて、時間の経過に応じたロボットRの状態を示す情報であるロボット状態データを演算し、ロボット状態データを含む実行ログデータをストレージ32に記録する(ステップS38)。ステップS36,S38の処理は、タスクリストに含まれるすべてのタスクが終了するまで行われる。
 すべてのタスクについての処理が終了すると(ステップS40:YES)、ロボット制御装置3は、ストレージ32に記録した実行ログデータを情報処理装置2に送信する(ステップS42)。情報処理装置2は、受信した実行ログデータを実行ログデータベース224に記録する。
 次いで、シミュレーション部110は、ステップS42で受信した実行ログデータに含まれるロボット状態データ(つまり、状態情報算出部109によって得られたロボット状態データ)に基づいて、3次元モデルを仮想空間内で動作させて表示装置24に表示する(ステップS44)。
The created robot program is transmitted from the information processing device 2 to the robot control device 3 (step S34), and executed by the robot control device 3. That is, the program execution unit 108 executes the robot program in task units (step S36). The state information calculation unit 109 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 108, and stores execution log data including the robot state data. Record in 32 (step S38). The processes of steps S36 and S38 are performed until all tasks included in the task list are completed.
When the processing for all tasks is completed (step S40: YES), the robot control device 3 transmits the execution log data recorded in the storage 32 to the information processing device 2 (step S42). The information processing device 2 records the received execution log data in the execution log database 224.
Next, the simulation unit 110 operates the three-dimensional model in the virtual space based on robot state data (that is, robot state data obtained by the state information calculation unit 109) included in the execution log data received in step S42. And display on the display 24 (step S44).
 (5)変形例
 次に、上述した実施形態の変形例について説明する。
 (5-1)変形例1
 上述した実施形態で説明したエリアチェックでは、ロボットRのハンド52による対象物への到達可否のみを表示する例(図13参照)を挙げたが、より詳細な情報を提供することで、オペレータによるオフラインティーチングを支援することができる。例えば、ロボットRのハンド52により到達可能でないと判定された対象物が、ハンド52にどの程度近接しているかについての情報を提供するようにしてもよい。それによって、例えば対象物の再配置についての有用な情報が得られる。
 本変形例では、判定部111は、ロボットRのハンド52(ロボットの構成要素の例)により到達可能でないと判定した対象物である到達不可対象物に対するロボットRのハンド52の近接の程度を特定し、表示制御部101は、到達不可対象物に対するロボットRのハンド52の近接の程度が認識可能となるように表示する。
 ハンド52の近接の程度を示す指標の表示例を図17に示す。図17に示すように、到達不可対象物に対してマークM3を表示する。マークM3は、「NG(*)(*:1~5)」という表示形式となっており、括弧内の数字によって近接の程度(例えば、数字が小さいほど近接している)がわかるようになっている。近接の程度は、求められたアーム51の関節角と、関節角の限界角度との差分値によって算出できる。
(5) Modifications Next, modifications of the above-described embodiment will be described.
(5-1) Modified Example 1
In the area check described in the above-described embodiment, an example (see FIG. 13) in which only the reachability to the target object by the hand 52 of the robot R is displayed is given. However, providing more detailed information allows the operator to Offline teaching can be supported. For example, information on how close the object determined to be unreachable by the hand 52 of the robot R is to the hand 52 may be provided. Thereby, useful information is obtained, for example, on the relocation of the object.
In the present modification, the determination unit 111 specifies the degree of proximity of the hand 52 of the robot R to an unreachable object that is an object determined to be not reachable by the hand 52 of the robot R (an example of a component of the robot). The display control unit 101 displays so that the degree of proximity of the hand 52 of the robot R to the unreachable object can be recognized.
A display example of an index indicating the degree of proximity of the hand 52 is shown in FIG. As shown in FIG. 17, the mark M3 is displayed for the unreachable object. The mark M3 has a display format of "NG (*) (*: 1 to 5)", and the number in the parenthesis can indicate the degree of proximity (for example, the smaller the number is, the closer the image is). ing. The degree of proximity can be calculated by the difference value between the determined joint angle of the arm 51 and the limit angle of the joint angle.
 (5-2)変形例2
 変形例2では、ロボットRのハンド52により到達可能であると判定された対象物が、ハンド52に対してどの程度余裕があるかについての情報が提供される。かかる情報を提供することによっても、オフラインティーチングを支援することができる。例えば対象物の再配置についての有用な情報が得られる。
 本変形例では、判定部111は、ロボットRのハンド52により到達可能と判定した対象物である到達可能対象物に対するロボットRのハンド52の到達の余裕度を特定し、表示制御部101は、到達可能対象物に対するロボットRのハンド52の到達の余裕度が認識可能となるように表示する。例えば図17に示すように、到達可能対象物に対してマークM4を表示する。マークM4は、「OK(*)(*:1~5)」という表示形式となっており、括弧内の数字によって余裕度(例えば、数字が大きいほど余裕がある)がわかるようになっている。
 余裕度は、求められたアーム51の関節角と、関節角の限界角度との差分値によって算出できる。
(5-2) Modification 2
In the second modification, information is provided on how much the object determined to be reachable by the hand 52 of the robot R can afford to the hand 52. Providing such information can also support off-line teaching. For example, useful information on the relocation of the object can be obtained.
In the present modification, the determination unit 111 specifies the margin of arrival of the hand 52 of the robot R with respect to the reachable object which is an object determined to be reachable by the hand 52 of the robot R, and the display control unit 101 The margin of arrival of the hand 52 of the robot R with respect to the reachable object is displayed so as to be recognizable. For example, as shown in FIG. 17, the mark M4 is displayed for the reachable object. The mark M4 has a display format of "OK (*) (*: 1 to 5)", and the margin number (for example, the larger the number is, the more margin) is indicated by the number in the parentheses. .
The margin can be calculated by the difference value between the determined joint angle of the arm 51 and the limit angle of the joint angle.
 (5-3)変形例3
 判定部111は、オペレータの操作入力に基づいていずれか1つのロボットが選択された場合に、複数の対象物の各々がロボットRのハンド52により到達可能であるか否かを判定してもよい。
 つまり、階層型リストにおいてロボットRを選択した操作入力に基づいて、すべての対象物に対する到達可否を判定してもよい。それによって、オペレータがエリアチェックを行う対象物を選択する手間を省くことができる。また、すべての対象物に対する到達可否を判定することで、すべての対象物の全体的な配置について検討するための有用な情報が得られる。
(5-3) Modified Example 3
When any one robot is selected based on the operation input of the operator, the determination unit 111 may determine whether or not each of the plurality of objects can be reached by the hand 52 of the robot R. .
That is, based on the operation input which selected robot R in the hierarchical list, the reachability of all objects may be determined. This saves the operator the trouble of selecting an object to be subjected to the area check. In addition, determining the reachability for all objects can provide useful information for considering the overall arrangement of all objects.
 (5-4)変形例4
 プログラム作成部107は、インターロックによる待機時間がタイムアウト値に達した場合には、エラーと判断するようにプログラムを作成してもよい。
 ロボットプログラムを実行したときにインターロックによる待機時間がタイムアウト値に達した場合には、エラーと判断することで、例えばロボットRに対する入出力信号に不具合があること等をオペレータが認識することができる。
(5-4) Modified Example 4
The program creation unit 107 may create a program to determine that an error occurs when the standby time due to the interlock reaches the timeout value.
If the standby time by the interlock reaches the timeout value when the robot program is executed, the operator can recognize, for example, that there is a defect in the input / output signal to the robot R by judging as an error. .
 (5-5)変形例5
 プログラム作成部107は、インターロックのタイムアウトによりエラーと判断した場合にロボットRを予め決められた基準姿勢にするように、プログラムを作成してもよい。
 変形例4に示したようにしてエラーと判断した場合には、エラーが発生した後の動作を行うよりもロボットRの動作を中止して基準姿勢(例えば、初期の姿勢)に戻す方が好ましい場合がある。
(5-5) Modification 5
The program creation unit 107 may create a program so as to set the robot R to a predetermined reference posture when it is determined that an error occurs due to interlock timeout.
If it is determined as an error as shown in the fourth modification, it is preferable to stop the operation of the robot R and return it to the reference posture (for example, the initial posture) rather than performing the operation after the error occurs. There is a case.
 (5-6)変形例6
 プログラム作成部107は、インターロックのタイムアウトによりエラーと判断した場合には、ストレージ22(第1記憶部の例)のタスクデータベース221を参照して、オペレータの操作入力に基づく複数のタスクのうちのいずれかのタスクに対応する作業要素をロボットRに実行させるように、プログラムを作成してもよい。
 変形例4に示したようにしてエラーと判断した場合には、ロボットRに特定の作業要素を実行させてもよい。特定の作業要素の例としては、現在把持している対象物をエラー用の棚に置くことが挙げられる。
(5-6) Modification 6
If the program creating unit 107 determines that an error occurs due to interlock timeout, the program creating unit 107 refers to the task database 221 of the storage 22 (example of the first storage unit) and selects one of the tasks based on the operator's operation input. A program may be created to cause the robot R to execute work elements corresponding to any of the tasks.
When it is determined as an error as shown in the fourth modification, the robot R may be made to execute a specific work element. An example of a particular work element is to place the object currently being grasped on an error shelf.
 以上、本発明のロボット教示装置の実施形態について詳述したが、本発明は上記の実施形態に限定されない。また、上記の実施形態は、本発明の主旨を逸脱しない範囲において、種々の改良や変更が可能である。
 例えば、上述した実施形態に係るロボット教示装置は、図14の機能ブロック図に記載されたすべての機能を備えている必要はなく、少なくとも一部の機能を備えていればよい。
 上述した実施形態では、ロボット教示装置は、情報処理装置とロボット制御装置の2つの装置を含む場合について例示したが、その限りではなく、一体の装置として構成してもよい。
 上述した実施形態では、情報処理装置の入力装置にポインティングデバイスが含まれる場合について説明したが、その限りではなく、他のデバイスであってもよい。例えば、タッチ入力機能を備えた表示パネルを使用し、オペレータによるタッチ入力を受け付けてもよい。
As mentioned above, although the embodiment of the robot teaching device of the present invention was explained in full detail, the present invention is not limited to the above-mentioned 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 robot teaching device according to the above-described embodiment does not have to have all the functions described in the functional block diagram of FIG. 14, and may have at least a part of the functions.
In the embodiment described above, the robot teaching device 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.
 上述した説明により、図14の機能ブロック図に記載された機能のうち少なくとも一部の機能をコンピュータに実現させるためのプログラム、および、当該プログラムが記録されたコンピュータ可読記憶媒体(不揮発性の記憶媒体をも含む。)が開示されていることは当業者に理解される。 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 diagram of FIG. 14, and a computer readable storage medium (nonvolatile storage medium) storing the program It will be understood by those skilled in the art that the above disclosure is included.
1…ロボット教示装置、2…情報処理装置、21…制御部、22…ストレージ、23…入力装置、24…表示装置、25…通信インタフェース部、3…ロボット制御装置、31…制御部、32…ストレージ、33…通信インタフェース部、11…ペントレイ、P…ペン群、12…キャップトレイ、C…キャップ群、13…治具、14…製品トレイ、A1~A12…製品、EC…通信ネットワークケーブル、R…ロボット、51…アーム、52…ハンド、61~68…ノード、101…表示制御部、102…タスク作成部、103…タスク更新部、104…タスク入替部、105…設定更新部、106…グルーピング部、107…プログラム作成部、108…プログラム実行部、109…状態情報算出部、110…シミュレーション部、111…判定部、112…姿勢選択部、113…基準点設定部、114…モデル配置部、115…インターロック設定部、221…タスクデータベース、222…階層型リストデータベース、223…3次元モデルデータベース、224…実行ログデータベース、RA…ロボット領域、PA…対象物領域、W1~W6…ウィンドウ、b1~b4…ボタン、AP…アプローチ点、TP…目標点、DP…デパーチャ点、T…テーブル DESCRIPTION OF SYMBOLS 1 ... Robot teaching apparatus, 2 ... Information processing apparatus, 21 ... Control part, 22 ... Storage, 23 ... Input device, 24 ... Display apparatus, 25 ... Communication interface part, 3 ... Robot control apparatus, 31 ... Control part, 32 ... Storage, 33: Communication interface unit, 11: Pen tray, P: Pen group, 12: Cap tray, C: Cap group, 13: Jig, 14: Product tray, A1 to A12: Product, EC: Communication network cable, R ... Robot, 51 ... Arm, 52 ... Hand, 61 to 68 ... Node, 101 ... Display control unit, 102 ... Task creating unit, 103 ... Task updating unit, 104 ... Task replacing unit, 105 ... Setting updating unit, 106 ... Grouping Unit 107: program creation unit 108: program execution unit 109: state information calculation unit 110: simulation unit 111 Judgment unit 112: Posture selection unit 113: Reference point setting unit 114: Model placement unit 115: Interlock setting unit 221: Task database 222: Hierarchical list database 223: Three-dimensional model database 224 Execution log database, RA: robot area, PA: target area, W1 to W6: window, b1 to b4: button, AP: approach point, TP: target point, DP: departure point, T: table

Claims (6)

  1.  ロボットの構成要素と、前記ロボットの作業対象である対象物の構成要素とが階層的に記述された階層型データを表示装置に表示する表示制御部と、
     仮想空間内の前記ロボットの3次元モデルと、前記対象物の3次元モデルとを記憶する記憶部と、
     前記階層型データにおいて、オペレータの操作入力に基づいて、いずれか1つの前記ロボットの構成要素、および、少なくとも1つの対象物が選択された場合に、当該少なくとも1つの対象物が仮想空間において前記ロボットの構成要素により到達可能であるか否かを判定する判定部と、
     を備えたロボット教示装置。
    A display control unit for displaying, on a display device, hierarchical data in which a component of a robot and a component of an object which is a work target of the robot are described hierarchically;
    A storage unit storing a three-dimensional model of the robot in a virtual space and a three-dimensional model of the object;
    In the hierarchical data, when any one component of the robot and at least one object are selected based on the operation input of the operator, the at least one object is the robot in the virtual space A determination unit that determines whether or not it can be reached by the component of
    Robot teaching device equipped with
  2.  オペレータの操作入力に基づいて、前記ロボットに対して予め定められた複数の姿勢の中からいずれかの姿勢を選択する姿勢選択部、をさらに備え、
     前記判定部は、前記ロボットが前記姿勢選択部によって選択された姿勢をとる場合に、前記少なくとも1つの対象物が前記ロボットの構成要素により到達可能であるか否かを判定する、
     請求項1に記載されたロボット教示装置。
    The robot further includes a posture selection unit which selects one of a plurality of predetermined postures for the robot based on an operation input of the operator.
    The determination unit determines whether or not the at least one object can be reached by a component of the robot when the robot takes a posture selected by the posture selection unit.
    The robot teaching device according to claim 1.
  3.  前記階層型データは、複数の対象物を含み、
     前記表示制御部は、前記複数の対象物のうち前記判定部により到達可能でないと判定された対象物である到達不可対象物が、当該到達不可対象物以外の対象物と識別可能となるように、前記階層型データを表示する、
     請求項1又は2に記載されたロボット教示装置。
    The hierarchical data includes a plurality of objects,
    The display control unit is configured to be able to distinguish an unreachable object that is an object determined to be unreachable by the determination unit among the plurality of objects from an object other than the unreachable object. Displaying the hierarchical data,
    The robot teaching device according to claim 1 or 2.
  4.  前記判定部は、前記ロボットの構成要素により到達可能でないと判定した対象物である到達不可対象物に対する前記ロボットの構成要素の近接の程度を特定し、
     前記表示制御部は、前記到達不可対象物に対する前記ロボットの構成要素の近接の程度が認識可能となるように表示する、
     請求項1から3のいずれか1項に記載されたロボット教示装置。
    The determination unit specifies the degree of proximity of the component of the robot to the unreachable object which is an object determined to be unreachable by the component of the robot;
    The display control unit displays so that the degree of proximity of the component of the robot to the unreachable object can be recognized.
    The robot teaching device according to any one of claims 1 to 3.
  5.  前記判定部は、前記ロボットの構成要素により到達可能と判定した対象物である到達可能対象物に対する前記ロボットの構成要素の到達の余裕度を特定し、
     前記表示制御部は、前記到達可能対象物に対する前記ロボットの構成要素の到達の余裕度が認識可能となるように表示する、
     請求項1から3のいずれか1項に記載されたロボット教示装置。
    The determination unit specifies a margin of arrival of a component of the robot with respect to a reachable object that is an object determined to be reachable by the component of the robot.
    The display control unit displays so that the margin of arrival of the component of the robot with respect to the reachable object can be recognized.
    The robot teaching device according to any one of claims 1 to 3.
  6.  前記階層型データは、複数の対象物を含み、
     前記判定部は、オペレータの操作入力に基づいていずれか1つのロボットが選択された場合に、前記複数の対象物の各々が前記ロボットの構成要素により到達可能であるか否かを判定する、
     請求項1から5のいずれか1項に記載されたロボット教示装置。
    The hierarchical data includes a plurality of objects,
    The determination unit determines whether or not each of the plurality of objects can be reached by a component of the robot when any one robot is selected based on an operation input of an operator.
    The robot teaching device according to any one of claims 1 to 5.
PCT/JP2018/028995 2017-09-26 2018-08-02 Robot teaching device WO2019064918A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019544370A JP7099470B2 (en) 2017-09-26 2018-08-02 Robot teaching device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-184648 2017-09-26
JP2017184648 2017-09-26

Publications (1)

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

Family

ID=65902972

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/028995 WO2019064918A1 (en) 2017-09-26 2018-08-02 Robot teaching device

Country Status (2)

Country Link
JP (1) JP7099470B2 (en)
WO (1) WO2019064918A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002066967A (en) * 2000-08-25 2002-03-05 Kawasaki Heavy Ind Ltd Structuring method of robot motion descriptive language, and indicating method and editing method of structured robot motion descriptive language
JP4621641B2 (en) * 2006-07-26 2011-01-26 本田技研工業株式会社 Robot teaching CAD apparatus and robot teaching method
JP2016209969A (en) * 2015-05-12 2016-12-15 キヤノン株式会社 Information processing method and information processor

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0366586A (en) * 1989-08-04 1991-03-22 Toyota Motor Corp Support device for deciding robot position
JPH09201784A (en) * 1996-01-30 1997-08-05 Komatsu Ltd Teaching device for robot
ATE414594T1 (en) 2006-04-03 2008-12-15 Abb Research Ltd DEVICE AND METHOD FOR PATH GENERATION FOR AN INDUSTRIAL ROBOT

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002066967A (en) * 2000-08-25 2002-03-05 Kawasaki Heavy Ind Ltd Structuring method of robot motion descriptive language, and indicating method and editing method of structured robot motion descriptive language
JP4621641B2 (en) * 2006-07-26 2011-01-26 本田技研工業株式会社 Robot teaching CAD apparatus and robot teaching method
JP2016209969A (en) * 2015-05-12 2016-12-15 キヤノン株式会社 Information processing method and information processor

Also Published As

Publication number Publication date
JP7099470B2 (en) 2022-07-12
JPWO2019064918A1 (en) 2020-10-15

Similar Documents

Publication Publication Date Title
US11958190B2 (en) Information processing method and information processing apparatus
US6330495B1 (en) Off-line teaching method and apparatus for the same
EP1310844B1 (en) Simulation device
JP6350037B2 (en) Robot simulator and robot simulator file generation method
WO2019064916A1 (en) Robot simulator
JP2019171501A (en) Robot interference determination device, robot interference determination method and program
JP7151713B2 (en) robot simulator
JP2019018272A (en) Motion generation method, motion generation device, system, and computer program
WO2019064919A1 (en) Robot teaching device
JP7259860B2 (en) ROBOT ROUTE DETERMINATION DEVICE, ROBOT ROUTE DETERMINATION METHOD, AND PROGRAM
JP7167925B2 (en) Robot teaching device
JP7099470B2 (en) Robot teaching device
JP7024795B2 (en) Robot teaching device
WO2020059342A1 (en) Robot simulator
US20240165811A1 (en) Device for setting safety parameters, teaching device and method
JP2019171499A (en) Robot interference determination device, robot interference determination method and program
JP6900533B2 (en) Information processing methods, information processing devices, robot devices, information processing programs, and computer-readable recording media
JPH06134684A (en) Teaching method of robot track
WO2020066947A1 (en) Robot route determination device, robot route determination method, and program
JP2019171500A (en) Robot interference determination device, robot interference determination method and program
JP7322099B2 (en) Information processing method, information processing device, robot device, program, and computer-readable recording medium
JPH1024372A (en) Device for teaching welding robot
JPH04143807A (en) Robot off-line programming device
JP2018008351A (en) Simulation device and robot control device

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: 18862688

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019544370

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: 18862688

Country of ref document: EP

Kind code of ref document: A1