WO2019167757A1 - ロボット、制御方法およびプログラム - Google Patents

ロボット、制御方法およびプログラム Download PDF

Info

Publication number
WO2019167757A1
WO2019167757A1 PCT/JP2019/006327 JP2019006327W WO2019167757A1 WO 2019167757 A1 WO2019167757 A1 WO 2019167757A1 JP 2019006327 W JP2019006327 W JP 2019006327W WO 2019167757 A1 WO2019167757 A1 WO 2019167757A1
Authority
WO
WIPO (PCT)
Prior art keywords
point
repeat
repetition
loop
control unit
Prior art date
Application number
PCT/JP2019/006327
Other languages
English (en)
French (fr)
Inventor
弘樹 服部
健一郎 比留間
Original Assignee
蛇の目ミシン工業株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 蛇の目ミシン工業株式会社 filed Critical 蛇の目ミシン工業株式会社
Publication of WO2019167757A1 publication Critical patent/WO2019167757A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4093Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • 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, a control method, and a program.
  • POOTS Points Object Oriented Teaching System
  • a point type which is a class having characteristics of encapsulation and inheritance
  • a program is an instance of this class. It consists of an array of points (see, for example, Patent Documents 1 and 2).
  • class is a definition of point data
  • point data is data including coordinates and operating conditions
  • inheritance means to inherit the properties of the base class.
  • a “built-in class” is a class that is defined in advance during development.
  • point data string refers to a data group in which “point data” is arranged in time series, for example, and “instance” refers to actual point data created from the point type.
  • point type refers to a model of point data created based on the definition of point data.
  • Pick-up and place work is one of the work of industrial robots. For example, it is an operation of taking a part from one point (pickup) and placing it on a pallet (place). In this pick-up and place operation, the pick-up point and the place point are essentially moved back and forth repeatedly.
  • the pallet When placing a part on the pallet or picking up a part from the pallet, the pallet is set, and this is added as an attribute to the point. ing. In this case, there is no need to set a command in order to shift the position.
  • the “pallet” means a point data arranged at the same place or at equal intervals.
  • the pallet feature in which the start point and the end point are determined by the pallet and the movement path of the robot is determined by specifying “return to the beginning” and “turnback”, is called “pallet attribute”.
  • Patent Document 3 proposes a method for realizing “return” without an instruction by providing connection data for indicating the next execution point between points or between points. Yes.
  • the method described in Patent Document 3 is effective in that it is not necessary to use an instruction, but on the other hand, since it is a method that explicitly indicates “return” for each point, it is complicated in some cases. .
  • the pallet function shows the condition of “return”, but it is necessary to perform point teaching after understanding the point type and the characteristics of each pallet. The work becomes complicated.
  • the point sequence is basically executed in the order of the point sequence. Therefore, when performing a pick-up and place operation, even if it is a simple case, it cannot be set only with points, and commands and connection information are required.
  • An object of the present invention is to provide a robot, a control method, and a program that can realize a repetitive operation by a class having a property of loop start or loop end in a built-in class.
  • One or more embodiments of the present invention include a main body and a control unit, and the control unit includes point data based on a point type definition including operating conditions of a work tool.
  • the point type includes a repeat start point that is a built-in point type having a repeat start property and a repeat end point that is a built-in point type having a repeat end property.
  • the point type defined with the repeat start point or the repeat end point as the inheritance source, and the control unit is either the repeat start point or the point type defined with the repeat start point as the inheritance source.
  • the repetition of the operation of the work tool is started based on the point data based on the crab, and the repetition end point or the repetition end point is determined. Proposing a robot that performs control to repeat the operation of the work tool by ending the repetition of the operation of the work tool based on point data based on any of the point types defined as the relay source ing.
  • a point of point data based on either the repeat start point or the point type defined with the repeat start point as a successor is used as the repeat start point, and the repeat The point of the point data based on either the end point or the point type defined by using the repeat end point as a successor is set as the repeat end point, and the control unit sets a plurality of the repeat end points as one repeat start point.
  • a robot is proposed in which one repetition end point is associated with a plurality of repetition start points.
  • control unit is configured so that the one repeat start point and one repeat end point among the plurality of corresponding repeat end points are Proposed is a robot that repeats driving, or performs control to repeat driving at one repeating end point and one repeating start point among the corresponding plurality of repeating start points.
  • control unit repeats the operation in order at the one repetition start point and the corresponding plurality of repetition end points, or A robot that repeats the operation in order at one repetition end point and the plurality of repetition start points corresponding to one repetition end point is proposed.
  • the control unit establishes an end condition for terminating the preset repetition of the operation when the repetition of the operation reaches a preset number of times.
  • the robot is characterized in that the repetition of the operation is ended when an end command for terminating the repetition of the operation is executed.
  • Embodiment 6 One or more embodiments of the present invention propose a robot in which the control unit repeats another operation after the repetition of the operation is completed.
  • One or more embodiments of the present invention includes a main body and a control unit, and the control unit includes point data based on point type definitions including operating conditions of a work tool.
  • the point type is a built-in point type having a repeat start point and a repeat end property having a repeat start property.
  • One or more embodiments of the present invention include a main body and a control unit, and the control unit includes point data based on point type definitions including operating conditions of a work tool.
  • the point type is a repeat start point that is a built-in point type having a repeat start property and a repeat end property
  • a repeat end point that is a built-in point type and a point type defined with the repeat start point or the repeat end point as an inheritance source
  • the control unit includes the repeat start point or the repeat start point. Based on the point data based on one of the point types defined as the successor.
  • the first step of starting repetitive operation and the control unit performs the operation of the work tool based on point data based on either the repetition end point or the point type defined with the repetition end point as a successor.
  • a second step of ending the repetition wherein the control unit performs the control of repeating the operation of the work tool by executing the first step and the second step. Propose a program.
  • a point type embedded class is prepared as a point type embedded class without using instructions and connection information, and the point type embedded There is an effect that a repetitive operation can be realized by a class having a loop start or loop end property.
  • the robot 1 mainly includes a control unit (controller) 10 and a main body 20.
  • the main body 20 includes an X slider 30 that operates a work tool, which will be described later, in the X direction, which is a horizontal direction, and a Y slider 40 that is placed on an operation unit in the X direction and operates the work tool in the Y direction, which is the depth direction.
  • a Z slider 50 that is mounted on the operation unit in the Y direction and operates the work tool in the Z direction that is the vertical direction.
  • a work tool is attached to the Z slider 50 working part in the Z direction. Then, each slider is driven by a motor (not shown), and based on a command from the control unit (controller) 10, by operating each motor, the work tool is moved in the X direction, the Y direction, and the Z direction. Move the work tool to a predetermined point.
  • control unit 10 includes a central processing unit (CPU) 11, a control program storage unit 12, a display unit 13, an operation unit 14, a temporary storage unit 15, A point type definition storage unit 16, a point sequence storage unit 17, motor drive control units 21A to 21C, motors 22A to 22C, and a signal input / output unit 23 are configured.
  • CPU central processing unit
  • control program storage unit 12 a control program storage unit 12
  • display unit 13 an operation unit 14
  • temporary storage unit 15 a temporary storage unit
  • a point type definition storage unit 16 a point sequence storage unit 17
  • motor drive control units 21A to 21C motors 22A to 22C
  • a signal input / output unit 23 are configured.
  • a central processing unit (CPU) 11 mainly composed of a microcomputer controls the entire robot 1.
  • the central processing unit (CPU) 11 executes processes of input operation, display, storage, motor drive, and signal input / output according to a control program stored in the control program storage unit 12.
  • the temporary storage unit 15 is used for these control operations.
  • the central processing unit (CPU) 11 mainly outputs a command signal to the motor drive control units 21A to 21C and drives the motors 22A to 22C to execute various operations.
  • the motor drive control units 21A to 21C and the motors 22A to 22C are provided in an arbitrary number as required, and the motors 22A to 22C have work tools (not shown) that perform work and operations by the power of the motors 22A to 22C. Is connected.
  • the central processing unit (CPU) 11 outputs a command signal to the signal input / output unit 23, inputs a signal from the outside, and executes signal output to the outside. Then, the signal input from the outside is reflected in the control of the robot 1 and the external device is controlled based on the signal to the outside.
  • the operation unit 14 is an input device such as a keyboard, a hardware or software mechanism for teaching, and the like, and inputs a program and data for the robot 1.
  • the display unit 13 is an LCD display device or the like, and displays a set value display and an input state by the operation unit 14.
  • the temporary storage unit 15 is a rewritable memory such as a RAM, and temporarily stores necessary information when the central processing unit (CPU) 11 outputs a control command.
  • the point type definition storage unit 16 stores a point type definition data table 60 defined by a point type name and a work instruction sequence executed there.
  • the point type definition data corresponding to the class definition in this embodiment
  • the point type ID 61 for uniquely distinguishing the point type in this embodiment, the character string constituting the ID corresponds to the class name
  • a base type ID 62 indicating what the inheritance point type is, owner information for providing a restriction so that contents cannot be referred to by anyone other than the owner
  • a protection mode 63 this protection mode is called “encapsulation”
  • a specified A pre-movement work 64 that specifies a work instruction sequence to be executed before moving to a position
  • a moving work 65 that specifies a work instruction sequence to be executed in the middle of moving to a specified position, and a movement to a specified position for execution.
  • the pre-movement work 64, the movement work 65, the post-movement work 66, the CP driving work 67, and the like are instruction sequences called (executed), that is, methods, in specific scenes.
  • conventional built-in point types include PTP driving point, PTP avoidance point or PTP via point, CP start point, CP continuous passage point, CP stop passage point, CP arc auxiliary point, CP end point, etc. It can be illustrated. These are classes predefined at the time of development. The user can develop a function of an existing point type and define a unique point type, but the above example refers to the base point type.
  • FIG. 3 compares the relationship between “point type” and “point data” in the prior art and this embodiment.
  • the upper side divided by double lines indicates “point type” and the lower side indicates “point data”.
  • point data is an instance of a point type, that is, data including coordinates and operating conditions.
  • the point type refers to a point data template.
  • the left side of FIG. 3 shows the conventional relationship, and the right side shows the relationship in the present embodiment.
  • the upper point type in Fig. 3 is divided into two. Among these, “embedded point type” is a point type incorporated in the system in advance (supplied by the system), and “point type definition” is a built-in point type or a defined point type that is an inheritance type. The point type is defined as the defined point type.
  • “repeating start point” and “PTP driving point” are used as pickup points.
  • the point type is inherited, the point type is defined, the point type of “repetition end point” and “PTP driving point” is inherited to the place point, and the point type is defined.
  • point type definition In order to create a point type definition, it is necessary to specify an inheritance source type. This may be a definition based on a built-in point type or another definition (point type definition). Also, in creating point data (on the use side), there is no distinction between built-in and defined ones. It is common to incorporate only the nature of driving, and point data created from the built-in point type may be used as long as the focus is on driving alone.
  • FIG. 4 shows an example of the point type definition data stored in the point type definition storage unit 16.
  • “Screw Lighting” is defined as “Point Type ID”, “PTPPoint” as “Base Type”, “Janome Builtn” as “Owner”, “Protection” as “Protection Mode”, and the like.
  • the point string storage unit 17 stores a point string in which a point for moving the work tool and a point type to be executed at the point are associated with each other.
  • the point type has a point type name, an address to the point type definition, or a point type code associated with a point sequence stored in advance.
  • built-in point types such as PTP loop start and PTP loop end are prepared.
  • the control is transferred to the loop start point that is paired with the loop end point as the next point.
  • the number of repetitions is designated in advance, and if this number is repeated, the process exits.
  • Conditions for exiting the loop (for example, logical expressions) are set in advance, and exit when the conditions are satisfied.
  • Point Loop Break There is a method. By adding the attribute of the pallet on which the workpiece is placed to the point, it is possible to repeat the operation while shifting the position for each repetition, and exit the loop under the condition of pallet over (going to the end of the pallet and exceeding it). It is. This can be considered as a variation of (1) in the sense that the number of times is determined in advance.
  • Point sequence consists of 14 points.
  • Point 1 is a violation of the rule because it does not start and ends.
  • Points 2 to 5 constitute one loop (Loop A).
  • Point 6 to point 8 constitute one loop (loop B).
  • the “one-to-N” process is a process of sorting works by changing the arrangement from one pallet to another pallet. For example, a large number of works on a large pallet are distributed. For example, the processing when subdividing into pallets for each destination can be exemplified.
  • execution order will be described below.
  • execution orders There are two execution orders: (1) alternating and (2) individual.
  • “alternate” in the “1 to N” process is a process in which different works on one pallet are arranged one by one on N pallets, and each pallet is evenly distributed. Workpieces can be arranged in quantities.
  • “individual” is a process of arranging the workpieces on the pallet in a certain amount, for example, a pallet B that can arrange 15 workpieces from the pallet A that arranges 30 workpieces. For example, when placing on a pallet C on which 10 workpieces can be placed, and on a pallet D on which 5 workpieces can be placed, the pallets B, C, and D can be filled in order.
  • the loop end point is executed alternately. Specifically, the process is executed in the order of point 2 (start) ⁇ point 3 (end) ⁇ point 2 (start) ⁇ point 4 (end) ⁇ point 2 (start) ⁇ point 5 (end).
  • one loop is repeated once, and then the next start loop and end loop are executed. Specifically, the point 2 (start) ⁇ point 3 (end) ⁇ point 2 (start) ⁇ point 3 (end) is repeated, and then point 2 (start) ⁇ point 4 (end) ⁇ Point 2 (Start) ⁇ Point 4 (End) is repeated, and this step is repeated. Next, Point 2 (Start) ⁇ Point 5 (End) ⁇ Point 2 (Start) ⁇ Point 5 (End) is executed.
  • the processing order is as follows. 6 shows an alternate example, and FIG. 7 shows an individual example. 6 and 7, the numbers in parentheses in the boxes are numbers given in the execution order.
  • N-to-1 process of collecting workpieces by collecting the sorted pallets into one pallet. For example, from the pallet on which various parts are mounted, A case where necessary parts are collected on one pallet can be exemplified.
  • the “one-to-one” process is a simple movement process, and examples thereof include movement of parts between two belt conveyors.
  • This execution order will be described.
  • execution orders There are two execution orders: (1) alternating and (2) individual.
  • “alternate” in the “N-to-1” process is a process in which different works on N pallets are collectively arranged on one pallet. If the pallet B has material and the pallet B has material, it is picked up alternately and placed on the pallet C, so that the pallet C is placed with the material and material.
  • the “individual” is a process of arranging different works on N pallets in a single pallet, for example, pallets A and 10 having 15 works placed thereon.
  • the workpieces on the pallets A, B, and C are pallet D Can be aggregated on top.
  • the loop start points are executed alternately. That is, as shown in FIG. 5, the process is executed in the order of point 6 (start) ⁇ point 8 (end) ⁇ point 7 (start) ⁇ point 8 (end) ⁇ point 6 (start) ⁇ point 8 (end).
  • PN is a variable having a point number, and it is assumed that the starting point number is entered here. The process starts from this number.
  • step S41 it is determined whether or not the point indicated by PN is a loop end point (step S41). If it is determined that the point indicated by PN is a loop end point (“YES” in step S41), there is no loop start point and a loop end point has come out. Determination is made (step S42).
  • step S43 when it is determined that the point indicated by PN is not the loop end point (“NO” in step S41), that is, when the head is the loop start point, 1 (Is) of the start point array Second, the current point number PN is stored (step S43).
  • step S44 the ponto number PN is incremented by 1, and the process proceeds to the next point (step S44). Then, it is determined whether there is a next point (step S45). As a result of the determination, if it is determined that there is no next point (“NO” in step S45), there is a point at the start of the loop, but there is no point at the end loop, so that it is processed as an error without end (step S46). ).
  • step S45 if it is determined that there is a next point (“YES” in step S45), it is determined whether or not the point is a loop start point (step S47). As a result of the determination, if it is determined that the next point is a loop start point (“YES” in step S47), it is determined that a plurality of loop start points continue, that is, an N-to-1 loop. .
  • the PN is stored in the Is-th start point number array following the storage of the points in step S43 (step S48).
  • step S50 it is determined whether there is a next point (step S50). As a result of the determination, if it is determined that there is no next point (“NO” in step S50), there is a point at the start of the loop, but there is no point at the end loop, so that it is processed as an error without end (step S51). ).
  • step S50 If it is determined that there is a next point (“YES” in step S50) and the point is a loop start point (“YES” in step S52), the process returns to step S48, and the start point number is set. Repeat storage in the array. If the point is not the loop start point (“NO” in step S52), the PN is registered at the head of the end point number array (step S53). In this case, although it is actually called an array, only the first element is used. Then, when the process of step S53 is completed, the process transits to an N: 1 loop process. Details of the N-to-1 loop process will be described later.
  • step S47 If it is determined in step S47 that the next point is not a loop start point (“NO” in step S47), the point number is stored at the head of the end point number array. Then, the Pontite number PN is incremented by 1 and the process proceeds to the next point (step S56). Further, it is determined whether there is a next point (step S57). As a result of the determination, if it is determined that there is no next point (“NO” in step S57), since the loop has ended here, two points, one point for starting the loop and one point for ending the loop. Therefore, the process transits to a one-to-one loop process (step S59). Details of the one-to-one loop process will be described later.
  • step S57 it is determined that there is a next point (“YES” in step S57), and when that point is a loop start point (“YES” in step S58), the loop is ended here. Therefore, since the loop is a repetitive loop consisting of one point at the start of the loop and one point at the end of the loop, the process transits to a one-to-one loop process (step S59).
  • step S58 If it is determined in step S58 that the point is not a loop start point ("NO" in step S58), a PN is registered at the head of the end point number array (step S60). Then, the ponto number PN is incremented by 1, and the process proceeds to the next point (step S61). Further, it is determined whether there is a next point (step S62). As a result of the determination, when it is determined that there is no next point (“NO” in step S62), the process proceeds to a 1-to-N loop process (step S64). Details of the 1-to-N loop processing will be described later.
  • Step S62 if it is determined that there is a next point (“YES” in step S62) and the point is a loop start point (“YES” in step S63), the process proceeds to a 1-to-N loop process ( Step S64). If it is determined that there is a next point (“YES” in step S62), and it is determined that the point is not a loop start point (“NO” in step S63), the process returns to step S60, The process is repeated until the next point disappears or the loop start point is reached.
  • step S70 the start point is executed (step S71) and the end point is executed (step S72), and then it is determined whether or not the process repeats (step S73). If the repetition is not lost, that is, if the repetition is continued (“NO” in step S73), the process returns to step S71.
  • step S73 the process proceeds to step S74.
  • the judgment as to whether or not to repeat is as follows. (1) The number of repetitions is designated in advance, and if the number of repetitions is repeated, the process exits. (2) Conditions for exiting the loop (for example, logical expressions) are set in advance, and exit when the conditions are satisfied. (3) There is a method of forcibly leaving the loop by executing an instruction to exit the loop (Point LoopBrake).
  • step S81 In a 1 to N loop, there are “alternate” and “individual” as the types of repetition. This is first determined (step S81).
  • step S86 It is determined according to the value of the counter I whether or not the repetition is completed, that is, whether or not I> N (step S86). If it is determined that I ⁇ N (“NO” in step S86), the process returns to step S83. On the other hand, if it is determined that I> N (“YES” in step S86), it is determined whether or not the process can be repeated (step S87).
  • step S87 it is determined whether or not to exit the repetition. (1) The number of repetitions is designated in advance. If you repeat this number of times, you will exit. (2) A condition (for example, logical expression) for exiting the loop is set in advance, and exits when this condition is satisfied. (3) There is a method of forcibly leaving the loop by executing an instruction to exit the loop (Point LoopBrake).
  • a count variable I is prepared and 1 is substituted as an initial value (step S90).
  • step S91 only one start point is executed (step S91). Further, the I-th end point is executed (step S92).
  • step S93 it is determined whether or not to exit the repetition. If the repetition is not missed (“NO” in step S93), the process returns to step S91. Thereafter, the start point and the I-th end point are repeated. On the other hand, if the iteration is over ("YES” in step S93), the counter I is incremented by 1 (step S94), and the value of the counter I indicates whether the iteration is completed, that is, whether I> N. (Step S95). If it is determined that I ⁇ N (“NO” in step S95), the process returns to step S91. If it is determined that I> N (“YES” in step S95), the process proceeds to step S88.
  • N-to-1 loop processing The N-to-1 loop processing will be described with reference to FIGS.
  • “alternate” and “individual” are discriminated in the same manner as the 1-to-N loop processing, and then double repeated processing is performed.
  • the difference from the 1-to-N loop processing is that there are a plurality of start points and one end point.
  • an arrangement method called “overlapping place” is separately provided.
  • step S102 only one end point is executed (step S102).
  • an arrangement method called “overlapping place” when a pick-up point and a place point are used as a pallet is separately provided.
  • step S104 If the number of parts that can be placed on the place point pallet is m, and “overlapping place” is not performed (“Yes” in step S103), before the determination of I> N (step S105), The component number counter m is advanced (step S104).
  • step S103 when “overlapping place” is performed (“No” in step S103), only when I> N (“Yes” in step S105) after I> N determination (step S105). Then, the component number counter m is advanced (step S107). The pick-up point component number counter n is advanced at the pick-up timing (step S100).
  • a count variable I is prepared and 1 is substituted as an initial value (step S110).
  • one start point is executed among the N start points (step S111). Further, only one end point is executed (step S112).
  • step S113 it is determined whether or not the process repeats. If the process cannot be repeated (“NO” in step S113), the process returns to step S111. Thereafter, the start point and the end point are repeated. On the other hand, if the iteration is over ("YES” in step S113), the counter I is incremented by 1 (step S114), and the value of the counter I indicates whether the iteration is completed, that is, whether I> N. (Step S115). If it is determined that I ⁇ N (“NO” in step S115), the process returns to step S111. If it is determined that I> N (“YES” in step S115), the process proceeds to step S109.
  • point 2 and point 3 are other point types that are neither the loop start point nor the loop end point.
  • Loop A is a 1: 3 repetition with one loop start point and three loop end points. At this time, the other points of point 2 and point 3 are considered to be paired with the loop end point of point 4. Similarly, point 5 is considered to be paired with point 6.
  • the built-in class has the characteristics of the loop start point and the loop end point.
  • the property of the loop start point or the loop end point should be set later as an attribute in the existing built-in class. But you can get the same effect. It is possible to attach this as an attribute (property) of a class (in this case, all instance points created from that class have this property), or realize this as an attribute of points (attributes of instances) It is also possible to do this.
  • the “built-in class” refers to a class defined in advance at the time of development, and the “derived class” refers to a class generated by inheriting properties from the built-in class. “Inheritance” means that the property is inherited from the base class.
  • the robot in addition to the conventional point type definition, creation and execution of the point sequence that is an instance thereof, it has the property of a loop start point for repetition.
  • iterative control is performed so as to return from the loop end point to the loop start point. Therefore, without using instructions and connection information, a class that has a loop start or loop end property is prepared in the point type embedded class, and a loop type or loop end property is provided in the point type embedded class. Repeated actions can be realized by class.
  • a “pickup point” having the property of a loop start point and a “place point” having a property of a loop end point are prepared directly. Loop control is performed for instances of classes that inherit these. Therefore, without using instructions and connection information, a class that has a loop start or loop end property is prepared in the point type embedded class, and a loop type or loop end property is provided in the point type embedded class. Repeated actions can be realized by class.
  • a repetitive operation is realized without using a command or connection information. That is, a class including “command” is prepared in advance, and the user can perform point teaching using the class, thereby releasing the user from complicated work such as description of “command”.
  • the robot of the present invention can be realized by recording the robot processing on a computer system or a computer-readable recording medium, and reading and executing the program recorded on the recording medium.
  • the computer system or computer here includes an OS and hardware such as peripheral devices.
  • the “computer system or computer” includes a homepage providing environment (or display environment) if a WWW (World Wide Web) system is used.
  • the program may be transmitted from a computer system or computer storing the program in a storage device or the like to another computer system or computer via a transmission medium or by a transmission wave in the transmission medium.
  • the “transmission medium” for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.
  • the program may be for realizing a part of the functions described above. Furthermore, what can implement

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Geometry (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

命令やつなぎ情報を用いることなく、ポイント種別の組込クラスにループ開始あるいはループ終了の性質をもったクラスを用意し、ポイント種別の組込クラスにループ開始あるいはループ終了の性質をもったクラスによって、繰り返し動作を実現させる。 ポイントデータ列は、繰り返しの開始の性質を持つ組込ポイント種別である繰り返し開始点と、繰り返し終了の性質を持つ組込ポイント種別である繰り返し終了点と、組込ポイント種別を継承元として定義されたポイント種別からなるポイントデータと、を含み、制御部は、繰り返し開始点を継承した定義から作られたポイントデータにおいて運転の繰り返しを開始し、繰り返し終了点を継承した定義から作られたポイントデータにおいて運転の繰り返しを終了することにより、運転を繰り返す制御を行う。

Description

ロボット、制御方法およびプログラム
 本発明は、ロボット、制御方法およびプログラムに関する。
 ポイントオブジェクトを主体とした産業用ロボットのティーチングシステムが知られている。この種のポイントオブジェクト指向型ティーチングシステムPOOTS(プーツ;Point Object Oriented Teaching System)では、カプセル化や継承の特性を持ったクラスであるポイント種別を定義することができ、フログラムはこのクラスのインスタンスであるポイントの並びからなる(例えば、特許文献1、2参照)。
 なお、ここで、「クラス」とは、ポイントデータの定義であり、「ポイントデータ」とは、座標と運転条件を含んだデータであり、「継承」とは、基底クラスの性質を引き継ぐことをいい、「組込クラス」とは、開発時に予め定義されたクラスをいう。また、「ポイントデータ列」とは、「ポイントデータ」が、例えば、時系列的に並んだデータ群をいい、「インスタンス」とは、ポイント種別より作成された実際のポイントデータをいう。なお、ここで、「ポイント種別」とは、ポイントデータの定義を基に作成されたポイントデータの雛形をいう。
 産業用ロボットの作業の一つに、ピックアップアンドプレイス作業がある。例えば、1点から部品を取って(ピックアップ)、それをパレットに配置していく(プレイス)作業である。このピックアップアンドプレイスの作業では、本質的に、ピックアップ点とプレイス点を行ったり来たりして繰り返し作業を行う。
 パレットに部品をプレイスしていく、あるいはパレットから部品をピックアップするといった場合、パレットを設定し、これをポイントに対して属性として付加することにより、繰り返す毎に位置をずらしていくといったことが行われている。この場合、位置をずらしていくために、特に命令を設定する必要は無い。
 ここで、「パレット」とは、同じ場所、あるいは等間隔にポイントデータを配置したものをいう。また、パレットにより、開始点、終了点が確定し、「先頭戻り」、「折り返し」を指定することによって、ロボットの移動経路も決定されるパレットの特徴を「パレット属性」という。
 しかし、一方で、部品をピックアップして、この部品をプレイスした後に、部品をピックアップする点に「戻る」ためには、ポイントをジャンプする命令を設定する必要がある。また、特許文献3では、次の実行ポイントを示すための、つながりデータといったものをポイントあるいは、ポイントとポイントとの間に持たせることにより、命令無しで「戻り」を実現する方法を提案している。
 この特許文献3に記載の方法は、命令を使わずに済むという点において有効であるが、一方で、ポイント毎に明示的に「戻り」を示す方法であるため、場合によっては、煩雑になる。より具体的には、パレットの機能には、「戻り」の条件が示されているが、ポイント種別やパレットそれぞれの特徴を理解した上で、ポイントティーチングを行う必要があるため、ティーチングの内容によっては、その作業は煩雑なものとなる。
特開2014-226730号公報 特開2017-001145号公報 特許第4667417号公報
 ポイントオブジェクト指向型ティーチングシステムでは、基本的に、ポイント列の実行はポイント列の並び順で行われる。そのため、ピックアップアンドプレイス作業を行う場合には、単純な場合でも、ポイントだけでは設定できず、命令やつなぎ情報といったものが必要となってしまう。
 また、ポイントオブジェクト指向型ティーチングシステムでは、原則として「命令」は、ポイント種別定義を作成する場合に利用するものであり、ユーザが、命令を書く必要が無い、というのが特徴であるが、ピックアップアンドプレイスの作業では、この原則が覆され、特徴が活かされていないという問題がある。
 また、部品の多パレットから多パレットへの載せ替えはともかく、1つのパレットから1つのパレット、1つのパレットから多パレット、あるいは多パレットから1つのパレットへの載せ替え(ピックアップアンドプレイス)では、命令やつなぎ情報を使わなくても良い様にしたいという要求もあった。
 そこで、本発明は、上述の課題に鑑みてなされたものであり、命令やつなぎ情報を用いることなく、ポイント種別の組込クラスにループ開始あるいはループ終了の性質をもったクラスを用意し、ポイント種別の組込クラスにループ開始あるいはループ終了の性質をもったクラスによって、繰り返し動作を実現させるロボット、制御方法およびプログラムを提供することを目的とする。
 形態1;本発明の1またはそれ以上の実施形態は、本体と、制御部と、を備え、前記制御部が、作業ツールの運転条件を含むポイント種別の定義に基づくポイントデータを含むポイントデータ列に基づいて作業を実行するロボットであって、前記ポイント種別は、繰り返しの開始の性質を持つ組込ポイント種別である繰り返し開始点と、繰り返し終了の性質を持つ組込ポイント種別である繰り返し終了点と、前記繰り返し開始点又は前記繰り返し終了点を継承元として定義されたポイント種別と、を含み、前記制御部が、前記繰り返し開始点又は該繰り返し開始点を承継元として定義されたポイント種別のいずれかに基づくポイントデータに基づいて前記作業ツールの運転の繰り返しを開始し、前記繰り返し終了点又は該繰り返し終了点を承継元として定義されたポイント種別のいずれかに基づくポイントデータに基づいて前記作業ツールの運転の繰り返しを終了することにより、前記作業ツールの運転を繰り返す制御を行うことを特徴とするロボットを提案している。
 形態2;本発明の1またはそれ以上の実施形態は、前記繰り返し開始点又は該繰り返し開始点を承継元として定義されたポイント種別のいずれかに基づくポイントデータのポイントを繰り返し開始ポイントとし、前記繰り返し終了点又は該繰り返し終了点を承継元として定義されたポイント種別のいずれかに基づくポイントデータのポイントを繰り返し終了ポイントとし、前記制御部は、1の前記繰り返し開始ポイントに複数の前記繰り返し終了ポイントを対応させ、あるいは、複数の前記繰り返し開始ポイントに1の前記繰り返し終了ポイントを対応させることを特徴とするロボットを提案している。
 形態3;本発明の1またはそれ以上の実施形態は、前記制御部は、前記1の繰り返し開始ポイントと、対応する前記複数の前記繰り返し終了ポイントのうち、1の繰り返し終了ポイントと、において、前記運転を繰り返す、あるいは、前記1の繰り返し終了ポイントと、対応する前記複数の繰り返し開始ポイントのうち、1の繰り返し開始ポイントと、において、前記運転を繰り返す制御を行うロボットを提案している。
 形態4;本発明の1またはそれ以上の実施形態は、前記制御部は、前記1の繰り返し開始ポイントと、対応する前記複数の繰り返し終了ポイントと、において、順に、前記運転を繰り返す、あるいは、前記1の繰り返し終了ポイントと対応する前記複数の繰り返し開始ポイントと、において、順に、前記運転を繰り返すロボットを提案している。
 形態5;本発明の1またはそれ以上の実施形態は、前記制御部は、前記運転の繰り返しが予め設定された回数に達した場合、予め設定された該運転の繰り返しを終了する終了条件が成立した場合、あるいは、該運転の繰り返しを終了する終了命令が実行された場合に、該運転の繰り返しを終了することを特徴とするロボットを提案している。
 形態6;本発明の1またはそれ以上の実施形態は、前記制御部は、前記運転の繰り返しが終了した後に、他の運転の繰り返しを行うロボットを提案している。
 形態7;本発明の1またはそれ以上の実施形態は、本体と、制御部と、を備え、前記制御部が、作業ツールの運転条件を含むポイント種別の定義に基づくポイントデータを含むポイントデータ列に基づいて作業を実行するロボットにおける制御方法であって、前記ポイント種別は、繰り返しの開始の性質を持つ組込ポイント種別である繰り返し開始点と、繰り返し終了の性質を持つ組込ポイント種別である繰り返し終了点と、前記繰り返し開始点又は前記繰り返し終了点を継承元として定義されたポイント種別と、を含み、前記制御部が、前記繰り返し開始点又は該繰り返し開始点を承継元として定義されたポイント種別のいずれかに基づくポイントデータに基づいて前記作業ツールの運転の繰り返しを開始する第1の工程と、前記制御部が、前記繰り返し終了点又は該繰り返し終了点を承継元として定義されたポイント種別のいずれかに基づくポイントデータに基づいて前記作業ツールの運転の繰り返しを終了する第2の工程と、を備え、前記制御部が、前記第1の工程と第2の工程とを実行することにより、前記作業ツールの運転を繰り返す制御を行うことを特徴とする制御方法を提案している。
 形態8;本発明の1またはそれ以上の実施形態は、本体と、制御部と、を備え、前記制御部が、作業ツールの運転条件を含むポイント種別の定義に基づくポイントデータを含むポイントデータ列に基づいて作業を実行するロボットにおける制御方法をコンピュータに実行させるためのプログラムであって、前記ポイント種別は、繰り返しの開始の性質を持つ組込ポイント種別である繰り返し開始点と、繰り返し終了の性質を持つ組込ポイント種別である繰り返し終了点と、前記繰り返し開始点又は前記繰り返し終了点を継承元として定義されたポイント種別と、を含み、前記制御部が、前記繰り返し開始点又は該繰り返し開始点を承継元として定義されたポイント種別のいずれかに基づくポイントデータに基づいて前記作業ツールの運転の繰り返しを開始する第1の工程と、前記制御部が、前記繰り返し終了点又は該繰り返し終了点を承継元として定義されたポイント種別のいずれかに基づくポイントデータに基づいて前記作業ツールの運転の繰り返しを終了する第2の工程と、を備え、前記制御部が、前記第1の工程と第2の工程とを実行することにより、前記作業ツールの運転を繰り返す制御を行うことを特徴とするプログラムを提案している。
 本発明の1またはそれ以上の実施形態によれば、命令やつなぎ情報を用いることなく、ポイント種別の組込クラスにループ開始あるいはループ終了の性質をもったクラスを用意し、ポイント種別の組込クラスにループ開始あるいはループ終了の性質をもったクラスによって、繰り返し動作を実現させることができるという効果がある。
本発明の実施形態に係るロボットの構成を示す図である。 本発明の実施形態に係る制御部の電気的構成を示す図である。 従来と本発明の実施形態とにおける「ポイント種別」、「ポイントデータ」との関係を対比した図である。 本発明の実施形態に係るポイント種別定義のデータ例を示す図である。 本発明の実施形態に係るポイントを例示的に示す図である。 本発明の実施形態に係る繰り返しの種類が交互である場合のポイントデータを例示的に示す図である。 本発明の実施形態に係る繰り返しの種類が個別である場合のポイントデータを例示的に示す図である。 本発明の実施形態に係るループの順序を処理するための制御フロー図である。 本発明の実施形態に係る1対1ループ処理の制御フロー図である。 本発明の実施形態に係る1対Nループ処理の制御フロー図である。 本発明の実施形態に係るN対1ループ処理の制御フロー図である。 本発明の実施形態に係るN対1ループ処理の制御フロー図である。 本発明の実施形態に係る開始と終了だけではないポイントを例示的に示す図である。
<実施形態>
 以下、本発明の実施形態について、図1から図13を用いて説明する。
<ロボットの構成>
 図1を用いて、本実施形態に係るロボットの構成について説明する。
 図1に示すように、ロボット1は、主として、制御部(コントローラ)10と、本体20とから構成されている。本体20は、後述する作業ツールを横方向であるX方向に稼働するXスライダー30と、X方向への稼働部に載置され、作業ツールを奥行き方向であるY方向に稼働するYスライダー40と、Y方向への稼働部に載置され、作業ツールを垂直方向であるZ方向に稼働するZスライダー50とを含んで構成されている。
 また、Zスライダー50のZ方向への稼働部には、作業ツールが取り付けられている。そして、各スライダーは、図示しないモータにより駆動され、制御部(コントローラ)10からの指令に基づいて、それぞれのモータを稼働させることにより、作業ツールをX方向、Y方向、Z方向に移動させ、作業ツールを所定のポイントに移動させる。
<制御部の電気的構成>
 図2~図4を用いて、本実施形態に係る制御部10の電気的構成について説明する。
 図2に示すように、本実施形態に係る制御部10は、中央演算処理装置(CPU)11と、制御プログラム記憶部12と、表示部13と、操作部14と、一時記憶部15と、ポイント種別定義記憶部16と、ポイント列記憶部17と、モータ駆動制御部21A~21Cと、モータ22A~22Cと、信号入出力部23とを含んで構成されている。
 マイクロコンピュータを主体に構成される中央演算処理装置(CPU)11は、ロボット1全体の制御を行う。中央演算処理装置(CPU)11は、制御プログラム記憶部12に記憶されている制御プログラムに従って、入力操作、表示、記憶、モータ駆動、信号入出力の処理を実行する。また、これらの制御動作のために、一時記憶部15が用いられる。
 本実施形態において、中央演算処理装置(CPU)11は、主として、モータ駆動制御部21A~21Cに指令信号を出力し、モータ22A~22Cを駆動して、各種の動作を実行させる。モータ駆動制御部21A~21Cとモータ22A~22Cとは、必要とする任意の数だけ設けられ、モータ22A~22Cには、モータ22A~22Cの動力により、作業及び動作を実行する図示しない作業ツールが接続されている。
 また、中央演算処理装置(CPU)11は、信号入出力部23に指令信号を出力し、外部からの信号を入力し、外部への信号出力を実行させる。そして、外部から入力した信号をロボット1の制御に反映させ、外部への信号に基づいて外部機器の制御を行う。
 操作部14は、キーボード等の入力装置、ティーチングのためのハード的、ソフト的機構等であり、ロボット1のプログラムやデータの入力を行う。また、表示部13は、LCD表示装置等であり、設定値の表示や操作部14による入力状態を表示する。
 一時記憶部15は、RAM等の書き換え可能なメモリであり、中央演算処理装置(CPU)11が制御指令を出力する際に、必要な情報を一時的に記憶する。
 ポイント種別定義記憶部16は、図4に示すように、ポイント種別名、及びそこで実行する作業命令列により定義されるポイント種別定義データテーブル60を記憶する。ポイント種別定義データ(本実施形態では、クラス定義に相当する)としては、ポイント種別を一意に区別するためのポイント種別ID61(本実施形態では、IDを構成する文字列がクラス名に相当する)、継承元ポイント種別が何であるかを示す基底種別ID62、所有者以外では内容を参照できないよう制限を設けるための所有者情報や保護モード63(この保護モードを「カプセル化」という)、指定の位置に移動する前に実行する作業命令列を指定する移動前作業64、指定の位置に移動する途中で実行する作業命令列を指定する移動中作業65、指定の位置に移動してから実行する作業命令列を指定する移動後作業66、CP駆動中作業67といったものを含む。
 なお、移動前作業64、移動中作業65、移動後作業66、CP駆動中作業67等は、特定の場面で呼び出される(実行される)命令列、すなわち、メソッドとなる。
 また、従来の組込ポイント種別(クラス)としては、PTP駆動点、PTP回避点又はPTP経由点、CP開始点、CP連続通過点、CP停止通過点、CP円弧補助点、CP終了点等を例示することができる。これらは、開発時に予め定義されたクラスである。
 ユーザは、既存のポイント種別の機能を発展させて、独自のポイント種別を定義することができるが、上記の例示は、そのベースとなるポイント種別をいう。
 図3は、従来と本実施形態とにおける「ポイント種別」、「ポイントデータ」との関係を対比している。
 図3において、二重線で分けた上側が「ポイント種別」、下側が「ポイントデータ」を示している。ここで、「ポイントデータ」は、ポイント種別のインスタンス、つまり、座標と運転条件を含んだデータである。
 なお、ポイント種別は、ポイントデータの雛形をいう。また、図3の左側は、従来の関係を示し、右側は、本実施形態における関係を示している。
 図3の上側のポイント種別は2つに分けられる。このうち、「組込ポイント種別」は、予めシステムに組み込まれた(システムが供給する)ポイント種別であり、「ポイント種別定義」は、組込ポイント種別あるいは定義されているポイント種別を継承元種別として指定して、ポイント種別を定義したものであって、定義したポイント種別をいう。
 本実施形態では、組込ポイント種別である「繰り返し開始点」、「繰り返し終了点」及び「PTP駆動点」という継承元種別を用いて、ピックアップ点に「繰り返し開始点」及び「PTP駆動点」のポイント種別を継承させ、ポイント種別を定義し、プレイス点に「繰り返し終了点」及び「PTP駆動点」のポイント種別を継承させ、ポイント種別を定義している。
 なお、ポイント種別定義を作るうえで、継承元種別を指定する必要があるが、これは組込ポイント種別に基づく定義であっても、他の定義(ポイント種別定義)であっても良い。
 また、ポイントデータを作る上では(使う側では)、組込みなのか、定義されたものなのかの区別は無い。駆動のしかたの性質のみを組み込んだものが一般的であり、駆動のみにフォーカスするのであれば、組込ポイント種別から作成したポイントデータであっても良い。
 図4に、ポイント種別定義記憶部16に記憶するポイント種別定義データの一例を示す。図4では、「ポイント種別ID」として「Screw Tighting」、「基底種別」として「PTPPoint」、「所有者」として「Janome Buitln」、「保護モード」として「保護」等が定義されている。
 ポイント列記憶部17は、作業ツールを移動させるポイントと、そのポイントにおいて実行するポイント種別とを対応付けたポイント列を記憶する。ポイント種別は、予め記憶されたポイント列に関連づけられたポイント種別名、ポイント種別定義へのアドレス、または、ポイント種別コードを持つ。
<PTP駆動点に対してループ開始、ループ終了の性質を持った組み込みクラス>
 PTP駆動点に対してループ開始、ループ終了の性質を持った組み込みクラスについて、以下、説明する。なお、CP駆動に関しての説明は省略するが、以下と同様に考えることができる。
 まず、PTPループ開始、PTPループ終了といった組込ポイント種別(クラス)を用意する。ロボットの運転制御では、PTPループ終了ポイントの処理を終了した時、次のポイントとして、そのループ終了ポイントと対になるループ開始のポイントに制御を移す。こうした制御を行うことにより、繰り返しループを実行することができる。
 繰り返しを抜けるには、
(1)繰り返し回数を予め指定しておいて、この回数繰り返したら抜ける。
(2)ループを抜ける条件(例えば、論理式等)を予め設定しておいて、この条件が成立したら抜ける。
(3)ループを抜ける命令(Point Loop Brake)の実行によってループから強制的に抜ける。
 といった方法がある。ワークを載せるパレットの属性をポイントに付加することにより、繰り返し毎に位置をずらしながら動作を繰り返し、パレットオーバー(パレットの最後まで行き、これを超えた状態)の条件でループを抜けるといったことも可能である。これは、予め回数が決まっているという意味では、(1)のバリエーションと考えることができる。
<ループ開始、ループ終了の性質をもったポイント列>
 1対1の場合には、ループ開始ポイントとループ終了ポイントとは、それぞれ1つで一対となる。1対Nの場合は、ループ開始ポイントは1つで、それに対するループ終了ポイントが複数(N)ある。また、N対1の場合は、ループ開始ポイントは、複数(N)であり、それに対するループ終了ポイントは1つである。なお、N対Nは許さないものとする。この様にすると、ループ開始、ループ終了の特性をもったポイントの並びの解釈、すなわち、開始と終了との対が一意に決まる。
 ここで、N対Nを許さないのは、「N対N」の場合、ロボットの動作(軌跡)を決定する条件が飛躍的に増えるために、簡単なティーチングにより、ロボットを制御できるというメリットが活かせないためである。
 一方で、このルールに従わない並びも作り出すことができる。例えば、ループ開始ポイントが無いのにループ終了ポイントがある、あるいはループ開始ポイントのみで対応するループ終了ポイントが無いといったものが該当する。この様な場合には、
(1)エラーとして実行処理を中止する。
(2)無効なポイントと解釈してそのポイントを実行しない。
(3)ループ開始、終了といった性質をもつポイントがないものとして実行する。
 といった処理とする方法が考えられる。
<ポイント列の具体例>
 ポイント列の具体例を図5に示す。図5では、ポイント列が14個のポイントからなっている。ポイント1は、開始が無く、終了があるため、ルール違反である。ポイント2からポイント5までは、1つのループ(ループA)を構成している。このループは開始ポイントが1つで終了ポイントが3つある1対N(N=3)の例である。ポイント6からポイント8までは、1つのループ(ループB)を構成している。このループは、開始ポイントが2つで、終了ポイントが1つあるN対1(N=2)の例である。
 図5のループAは、ループ開始ポイントが1点で、ループ終了ポイントが3点ある1対N(N=3)のループである。
 ここで、「1対N」の処理とは、ひとつのパレットから、別のパレットへの配置変えを行うことにより、ワークの分別を行う処理であり、例えば、大きいパレットにある大量のワークを配布先ごとのパレットに小分けにしていく場合等の処理を例示できる。
 この実行順について、以下、説明する。
 実行順には(1)交互と(2)個別の2通りがある。ここで、「1対N」の処理における「交互」とは、1つのパレット上にある異なるワークを、N個のパレット上にひとつずつ配置していく処理のことであり、パレット毎に均等な分量でワークを配置することができる。
 また、「個別」とは、パレット上にあるワークを、一定量に分けて配置する処理のことであり、例えば、30個のワークを配置したパレットAから、15個のワークを配置できるパレットB、10個のワークを配置できるパレットC、5個のワークを配置できるパレットDへ配置する場合等、パレットB、C、Dと順々にパレットを満杯にしていくことができる。
 交互では、ループ終了の点を交互に実行する。具体的には、ポイント2(開始)→ポイント3(終了)→ポイント2(開始)→ポイント4(終了)→ポイント2(開始)→ポイント5(終了)の順に実行する。
 個別の場合は、一旦、1つのループを繰り返し、これを抜けて、次の開始ループ、終了ループの実行となる。具体的には、ポイント2(開始)→ポイント3(終了)→ポイント2(開始)→ポイント3(終了)の繰り返しを抜けて、次には、ポイント2(開始)→ポイント4(終了)→ポイント2(開始)→ポイント4(終了)を繰り返し、この繰り返しを抜けて、次には、ポイント2(開始)→ポイント5(終了)→ポイント2(開始)→ポイント5(終了)を実行するといった処理順となる。
 なお、図6は、交互の例を、図7は、個別の例を示す。図6、図7において、箱の中の括弧に入った数字は実行順につけた番号である。
 図5におけるループBは、ループ開始ポイントが2点に対して、ループ終了ポイントが1点であるN対1(N=2)のループである。
 ここで、「N対1」の処理とは、分別されたパレットから、ひとつのパレットへの集積することでワークの集約を行う処理であり、例えば、多種の部品の載ったパレットから、組み立てに必要な部品をひとつのパレットへ集約する場合等を例示できる。また、「1対1」の処理とは、単純な移動処理であり、例えば、2つのベルトコンベア間での部品の移動等を例示できる。
 この実行順について説明する。
 実行順には、(1)交互と(2)個別の2通りがある。ここで、「N対1」の処理における「交互」とは、N個のパレット上にある異なるワークを、ひとつのパレット上に集約して配置していく処理のことであり、例えば、パレットAにはシャリがあり、パレットBにネタがある場合、交互にピックアップし、パレットCに配置することで、パレットCには、シャリとネタが配置されるようになる。
 また、「個別」とは、N個のパレット上にある異なるワークを、ひとつのパレット上に集約して配置していく処理のことであり、例えば、15個のワークを配置したパレットA、10個のワークを配置したパレットB、5個のワークを配置したパレットCのそれぞれから、順番にワークをピックアップして、パレットDへ配置する場合等、パレットA、B、C上のワークをパレットD上に集約することができる。
 交互では、ループ開始の点を交互に実行する。すなわち、図5に示すように、ポイント6(開始)→ポイント8(終了)→ポイント7(開始)→ポイント8(終了)→ポイント6(開始)→ポイント8(終了)の順に実行する。
 個別の場合は、一旦、1つのループを繰り返し、これを抜けて、次の開始、終了ループの実行となる。具体的には、ポイント6(開始)→ポイント8(終了)→ポイント6(開始)→ポイント8(終了)のループを実行し、この繰り返しを抜けて、次に、ポイント7(開始)→ポイント8(終了)→ポイント7(開始)→ポイント8(終了)といった処理順となる。
<ループ処理>
 図8を用いて、本実施形態に係るロボット1のループの処理について説明する。
 なお、実際のプログラム実行では、命令や、つなぎ情報といったものにより実行順序は変化するが、図8では、そういった要素を除いて示している。また、このループ制御は、優先度が一番低く、命令や、つなぎ情報が優先される。言い換えれば、命令や、つなぎ情報の指示が無い場合の制御、実行順序を示したものである。
 また、この制御では、開始ポンイト番号配列(Start Point)と終了ポイント配列(End Point)といった2つの配列を用意し、ここに、ポイント番号を格納していく。
 また、添え字の変数として、Isは、開始ポイント配列のインデックス、Ieは、終了ポイント配列のインデックスとして使用する。
 ループ処理(ステップS40)において、PNは、ポイント番号を持つ変数であり、ここに、開始するポイント番号が入っているものとする。そして、処理は、この番号から始める。
 まず、PNで示されたポイントが、ループ終了のポイントであるか否かを判断する(ステップS41)。
 PNで示されたポイントが、ループ終了のポイントであると判断した場合(ステップS41の「YES」)には、ループ開始ポイントがなく、ループ終了ポイントが出きているため、開始の無いエラーと判定する(ステップS42)。
 一方で、PNで示されたポイントが、ループ終了のポイントでないと判断した(ステップS41の「NO」)場合、すなわち、先頭がループ開始ポイントである場合には、開始ポイント配列の1(Is)番目に、現在のポイント番号PNを格納する(ステップS43)。
 次に、ポンイト番号PNを1つ増やして、次の点へ移る(ステップS44)。
 そして、次のポイントがあるか否かを判断する(ステップS45)。
 判断の結果、次のポイントがないと判断した場合(ステップS45の「NO」)には、ループ開始のポイントはあるが、終了ループのポイントがないため、終了の無いエラーとして処理する(ステップS46)。
 一方で、次のポイントがあると判断した場合(ステップS45の「YES」)には、そのポイントがループ開始のポイントであるか否かを判断する(ステップS47)。
 判断の結果、次のポイントがループ開始のポイントであると判断した場合(ステップS47の「YES」)には、ループ開始のポイントが複数続く、つまり、N対1の繰り返しループであると判断する。
 N対1の繰り返しループであると判断した場合には、ステップS43におけるポイントの格納に続いて、開始ポイント番号配列のIs番目にPNを格納する(ステップS48)。
 以下、ポイント番号を増やしながら(ステップS49)、次のポイントがあるか否かを判断する(ステップS50)。
 判断の結果、次のポイントがないと判断した場合(ステップS50の「NO」)には、ループ開始のポイントはあるが、終了ループのポイントがないため、終了の無いエラーとして処理する(ステップS51)。
 また、次のポイントがあると判断し(ステップS50の「YES」)、そのポイントがループ開始のポイントである場合(ステップS52の「YES」)には、処理をステップS48に戻し、開始ポイント番号配列に格納を繰り返す。
 また、そのポイントがループ開始のポイントではない場合(ステップS52の「NO」)には、終了ポイント番号配列の先頭にPNを登録する(ステップS53)。
 なお、この場合、実際には配列と言っているが先頭の要素しか使われない。
 そして、ステップS53の処理が終了すると、N対1ループ処理に遷移する。なお、N対1ループ処理の詳細については、後述する。
 ステップS47において、次のポイントがループ開始のポイントではないと判断した場合(ステップS47の「NO」)には、終了ポイント番号配列の先頭にポイント番号を格納する。
 そして、ポンイト番号PNを1つ増やして、次の点へ移る(ステップS56)。
 さらに、次のポイントがあるか否かを判断する(ステップS57)。
 判断の結果、次のポイントがないと判断した場合(ステップS57の「NO」)には、ここで、ループが終わっているため、ループ開始のポイント1点とループ終了のポイント1点の2点の繰り返しループとなるため、1対1ループ処理に遷移する(ステップS59)。なお、1対1ループ処理の詳細については、後述する。
 ステップS57において、次のポイントがあると判断し(ステップS57の「YES」)、そのポイントがループ開始のポイントである場合(ステップS58の「YES」)には、ここで、ループが終わっているため、ループ開始のポイント1点とループ終了のポイント1点の2点の繰り返しループとなるため、1対1ループ処理に遷移する(ステップS59)。
 ステップS58において、そのポイントがループ開始のポイントではないと判断した場合(ステップS58の「NO」)には、終了ポイント番号配列の先頭にPNを登録する(ステップS60)。
 そして、ポンイト番号PNを1つ増やして、次の点へ移る(ステップS61)。さらに、次のポイントがあるか否かを判断する(ステップS62)。
 判断の結果、次のポイントがないと判断した場合(ステップS62の「NO」)には、1対Nループ処理に遷移する(ステップS64)。なお、1対Nループ処理の詳細については、後述する。
 一方で、次のポイントがあると判断し(ステップS62の「YES」)、そのポイントがループ開始のポイントである場合(ステップS63の「YES」)には、1対Nループ処理に遷移する(ステップS64)。
 また、次のポイントがあると判断し(ステップS62の「YES」)、そのポイントがループ開始のポイントではないと判断した場合(ステップS63の「NO」)には、処理をステップS60に戻し、次の点がなくなる、あるいは、ループ開始のポイントとなるまで、処理を繰り返す。
<1対1のループ処理>
 図9を用いて、1対1のループ処理について説明する。
 1対1のループ処理(ステップS70)では、開始ポイントの実行(ステップS71)と終了ポイントの実行(ステップS72)を行った後、繰り返しを抜けるかどうか判断する(ステップS73)。
 繰り返しを抜けない、つまり、繰り返しを続ける場合には(ステップS73の「NO」)、処理をステップS71に戻す。
 一方で、繰り返しを抜ける場合には(ステップS73の「YES」)、ステップS74に移行する。ここで、繰り返しを抜けるかどうかの判断は、以下の通りである。
(1)繰り返し回数を予め指定しておいて、その回数繰り返したら抜ける。
(2)ループを抜ける条件(例えば、論理式等)を予め設定しておいて、この条件が成立したら抜ける。
(3)ループを抜ける命令(Point LoopBrake)の実行によってループから強制的に抜ける、といった方法がある。
<1対Nのループ処理>
 図10を用いて、1対Nのループ処理について説明する。なお、図10では、終了ポイントの数をNとし、これをカウントする変数としてIを使用する。
 1対Nのループでは、繰り返しの種類として、「交互」と「個別」とがある。これをまず判別する(ステップS81)。
 以下では、まず、「交互」の場合のフローを説明する。
 1対Nのループ処理では、終了ポイントがN個あるため、これをカウントする変数Iを用意し、初期値として、1を代入する(ステップS82)。
 次に、1つだけある開始ポイントを実行する(ステップS83)。
 次いで、I番目の終了ポイントを実行する(ステップS84)。さらに、次の番目へとカウンタIを進める(ステップS85)。
 繰り返しが終了かどうか、すなわち、I>Nであるか否かをカウンタIの値に従って判断する(ステップS86)。
 ここで、I<Nであると判断した場合には(ステップS86の「NO」)、処理をステップS83に戻す。一方で、I>Nであると判断した場合には(ステップS86の「YES」)、繰り返しを抜けるか否かを判断(ステップS87)する。
 このとき、繰り返しを抜けない場合(ステップS87の「NO」)には、ステップS82に処理を戻す。
 一方で、繰り返しを抜ける場合には(ステップS87の「YES」)、処理をステップS88に遷移させる。
 なお、ステップS87において、繰り返しを抜けるかどうかの判断は、
(1)繰り返し回数を予め指定しておいて。この回数繰り返したら抜ける。
(2)ループを抜ける条件(例えば、論理式等)を予め設定しておいてこの条件が成立したら抜ける。
(3)ループを抜ける命令(Point LoopBrake)の実行によってループから強制的に抜ける、といった方法がある。
 以下、「個別」の場合のフローを説明する。
 「個別」の場合も、同様に、カウント変数Iを用意し、初期値として、1を代入する(ステップS90)。
 次に、1つだけある開始ポイントを実行する(ステップS91)。さらに、I番目の終了ポイントを実行する(ステップS92)。
 次に、繰り返しを抜けるかどうかを判断する(ステップS93)。繰り返しを抜けないのであれば(ステップS93の「NO」)、処理をステップS91に戻す。
 そして、以降、開始ポイントとI番目の終了ポイントを繰り返す。
 一方で、繰り返しを抜けるのであれば(ステップS93の「YES」)、カウンタIを1だけ増やし(ステップS94)、繰り返しが終了かどうか、すなわち、I>Nであるか否かをカウンタIの値に従って判断する(ステップS95)。
 ここで、I<Nであると判断した場合には(ステップS95の「NO」)、処理をステップS91に戻す。
 また、I>Nであると判断した場合(ステップS95の「YES」)には、ステップS88に遷移する。
<N対1のループ処理>
 図11、図12を用いて、N対1のループ処理について説明する。
 N対1のループ処理は、1対Nのループ処理と同様に、「交互」と「個別」を判別した後、2重の繰り返し処理を行う。
 1対Nのループ処理と異なるのは、開始ポイントが複数あり、終了ポイントが1つである点である。
 また、N対1のループ処理においては、繰り返しの種類として、「交互」を選択した上で、ピックアップ点とプレイス点とをパレットとした場合に、「重複プレイス」という配置方法を別途設ける点に特徴がある。
 以下では、まず、「交互」の場合のフローを説明する。
 N対1のループ処理では、開始ポイントがN個あるため、これをカウントする変数I、スタートポイントの部品数をカウントする変数n、エンドポイントの部品数をカウントする変数mを用意し、初期値として、1を代入する(ステップS98)。
 次に、N個ある開始ポイントのうち、1つの開始ポイントを実行する(ステップS99)。
 このとき、スタートポイントの部品数カウンタnの値を進め(ステップS100)、次の番目に移行する(ステップS101)。
 次いで、1つだけある終了ポイントを実行する(ステップS102)。
 ここでは、N対1ループにおいて、繰り返しの種類として「交互」を選択したうえで、ピックアップ点、プレイス点をパレットとした場合の「重複プレイス」という配置方法を別途、設ける。
 そして、プレイス点のパレットに配置できる部品数カウンタをmとした場合、「重複プレイス」を実施しないとき(ステップS103の「Yes」)には、I>Nの判定(ステップS105)の前に、部品数カウンタmを進める(ステップS104)。
 一方で、「重複プレイス」を実施する場合(ステップS103の「No」)には、I>Nの判定(ステップS105)の後、I>Nである場合(ステップS105の「Yes」)に限り、部品数カウンタmを進める(ステップS107)。
 なお、ピックアップ点の部品数カウンタnは、ピックアップのタイミングで進めるものとする(ステップS100)。
 以下、「個別」の場合のフローを説明する。
 「個別」の場合も、同様に、カウント変数Iを用意し、初期値として、1を代入する(ステップS110)。
 次に、N個ある開始ポイントのうち、1つの開始ポイントを実行する(ステップS111)。
 さらに、1つだけある終了ポイントを実行する(ステップS112)。
 次に、繰り返しを抜けるかどうかを判断する(ステップS113)。
 繰り返しを抜けないのであれば(ステップS113の「NO」)、処理をステップS111に戻す。
 そして、以降、開始ポイントと終了ポイントとを繰り返す。
 一方で、繰り返しを抜けるのであれば(ステップS113の「YES」)、カウンタIを1だけ増やし(ステップS114)、繰り返しが終了かどうか、すなわち、I>Nであるか否かをカウンタIの値に従って判断する(ステップS115)。
 ここで、I<Nであると判断した場合には(ステップS115の「NO」)、処理をステップS111に戻す。
 また、I>Nであると判断した場合(ステップS115の「YES」)には、ステップS109に遷移する。
<処理の変形例>
 上記では、ポイントが、開始ポイントあるいは終了ポイントかのいずれかであるとして説明したが、実際には、開始ポイントでも終了ポイントでもない、ポイント種別のものもある。この例を図13に示す。
 この例では、ループの開始ポイントでも終了ポイントでもない、その他のポイント種別を、その後にあるループ開始ポイントあるいは、ループ終了ポイントとの組として、一緒に扱うようにしている。
 図13に示すように、ポイント2、ポイント3は、ループ開始ポイントでもループ終了ポイントでもない、その他のポイント種別とする。
 ループAは、ループ開始ポイントが1ポイント、ループ終了ポイントが3ポイントある、1:3の繰り返しとなっている。
 この時、ポイント2、ポイント3のその他のポイントは、ポイント4のループ終了ポイントと組になっていると考える。
 同様にポイント5はポイント6と組になっていると考える。
 ループAの繰り返しが個別であれば、ポイント1→ポイント2→ポイント3→ポイント4→ポイント1→ポイント2・・・・、ポイント1→ポイント5→ポイント6→ポイント1・・・・、ポイント1→ポイント7→ポイント1→ポイント7・・・・といったような繰り返し処理となる。
 また、上記説明では、ループ開始ポイント、ループ終了ポイントの性質をもった組込クラスとして説明したが、既存の組込クラスにループ開始ポイント、あるいはループ終了ポイントの性質を属性として後から設定することでも同じ効果が得られる。
 クラスの属性(性質)として、これを付けることも考えられるし(この場合、そのクラスから作成したインスタンスポイントは全てこの性質を持つ)、あるいはポイントの属性(インスタンスの持つ属性)として、これを実現するといった方法も考えられる。
 なお、「組込クラス」とは、開発時に予め定義されたクラスをいい、「派生クラス」とは、組込クラスから、性質を継承して生成されたクラスをいう。また、「継承」とは、性質が基底クラスから引き継がれることをいう。
 後者の場合、ポイント毎に設定をすることになるが、次のポイントを直接指定する、つなぎ情報を使った方法と比較すると、ループ開始ポイントあるいは、ループ終了ポイントといったものは、ポイント列の構成により、「対」が規定され、処理先が決まってくるといった点で、異なったものと考えられる。
 以上、説明したように、本実施形態に係るロボットによれば、従来のポイント種別定義、そのインスタンスであるポイント列の作成、及び実行に加えて、繰り返しのためにループ開始ポイントの性質を持った組込クラス、ループ終了ポイントの性質をもった組込クラスを用意し、これを継承する手段を用意する。
 そして、ループ開始ポイント、ループ終了ポイントの性質を持った組込クラス、及びその派生クラスのポイントに対しては、ループ終了ポイントからループ開始ポイントに戻る様な繰り返しの制御を行う。
 そのため、命令やつなぎ情報を用いることなく、ポイント種別の組込クラスにループ開始あるいはループ終了の性質をもったクラスを用意し、ポイント種別の組込クラスにループ開始あるいはループ終了の性質をもったクラスによって、繰り返し動作を実現させることができる。
 また、本実施形態に係るロボットによれば、直接、ループ開始ポイントの性質を持った「ピックアップ点」と、ループ終了ポイントの性質をもった「プレイス点」とを用意し、これらのポイントインスタンスや、これらを継承したクラスのインスタンスに対して、ループ制御を行う。
 そのため、命令やつなぎ情報を用いることなく、ポイント種別の組込クラスにループ開始あるいはループ終了の性質をもったクラスを用意し、ポイント種別の組込クラスにループ開始あるいはループ終了の性質をもったクラスによって、繰り返し動作を実現させることができる。
 さらに、本実施形態に係るロボットによれば、命令やつなぎ情報を用いることなく、繰り返し動作を実現させる。
 すなわち、「命令」を含んだクラスを予め用意し、ユーザはそれを用いてポイントティーチングを実施することにより、ユーザを「命令」の記述等の煩雑な作業から解放することができる。
 なお、ロボットの処理をコンピュータシステムあるいはコンピュータが読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをロボットに読み込ませ、実行することによって本発明のロボットを実現することができる。ここでいうコンピュータシステムあるいはコンピュータとは、OSや周辺装置等のハードウェアを含む。
 また、「コンピュータシステムあるいはコンピュータ」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムあるいはコンピュータから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムあるいはコンピュータに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
 また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムあるいはコンピュータにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
 以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
 1;ロボット
 10;制御部
 11;中央演算処理装置(CPU)
 12;制御プログラム記憶部
 13;表示部
 14;操作部
 15;一時記憶部
 16;ポイント種別定義記憶部
 17;ポイント列記憶部
 20;本体
 21A~21C;モータ駆動制御部
 22A~22C;モータ
 23;信号入出力部
 30;Xスライダー
 40;Yスライダー
 50;Zスライダー

Claims (8)

  1.  本体と、制御部と、を備え、前記制御部が、作業ツールの運転条件を含むポイント種別の定義に基づくポイントデータを含むポイントデータ列に基づいて作業を実行するロボットであって、
     前記ポイント種別は、繰り返しの開始の性質を持つ組込ポイント種別である繰り返し開始点と、繰り返し終了の性質を持つ組込ポイント種別である繰り返し終了点と、前記繰り返し開始点又は前記繰り返し終了点を継承元として定義されたポイント種別と、を含み、
     前記制御部が、前記繰り返し開始点又は該繰り返し開始点を承継元として定義されたポイント種別のいずれかに基づくポイントデータに基づいて前記作業ツールの運転の繰り返しを開始し、前記繰り返し終了点又は該繰り返し終了点を承継元として定義されたポイント種別のいずれかに基づくポイントデータに基づいて前記作業ツールの運転の繰り返しを終了することにより、前記作業ツールの運転を繰り返す制御を行うことを特徴とするロボット。
  2.  前記繰り返し開始点又は該繰り返し開始点を承継元として定義されたポイント種別のいずれかに基づくポイントデータのポイントを繰り返し開始ポイントとし、前記繰り返し終了点又は該繰り返し終了点を承継元として定義されたポイント種別のいずれかに基づくポイントデータのポイントを繰り返し終了ポイントとし、
     前記制御部は、1の前記繰り返し開始ポイントに複数の前記繰り返し終了ポイントを対応させ、あるいは、複数の前記繰り返し開始ポイントに1の前記繰り返し終了ポイントを対応させることを特徴とする請求項1に記載のロボット。
  3.  前記制御部は、前記1の繰り返し開始ポイントと、該1の繰り返し開始ポイントに対応する前記複数の前記繰り返し終了ポイントのうち、1の繰り返し終了ポイントと、において、前記運転を繰り返す、あるいは、前記1の繰り返し終了ポイントと、該1の繰り返し終了ポイントに対応する前記複数の繰り返し開始ポイントのうち、1の繰り返し開始ポイントと、において、前記運転を繰り返すことを特徴とする請求項2に記載のロボット。
  4.  前記制御部は、前記1の繰り返し開始ポイントと、該1の繰り返し開始ポイントに対応する前記複数の繰り返し終了ポイントと、において、順に、前記運転を繰り返す、あるいは、前記1の繰り返し終了ポイントと対応する前記複数の繰り返し開始ポイントと、において、順に、前記運転を繰り返すことを特徴とした請求項2に記載のロボット。
  5.  前記制御部は、前記運転の繰り返しが予め設定された回数に達した場合、予め設定された該運転の繰り返しを終了する終了条件が成立した場合、あるいは、該運転の繰り返しを終了する終了命令が実行された場合に、該運転の繰り返しを終了することを特徴とする請求項1から請求項4のいずれか1項に記載のロボット。
  6.  前記制御部は、前記運転の繰り返しが終了した後に、他の運転の繰り返しを行うことを特徴とする請求項5に記載のロボット。
  7.  本体と、制御部と、を備え、前記制御部が、作業ツールの運転条件を含むポイント種別の定義に基づくポイントデータを含むポイントデータ列に基づいて作業を実行するロボットにおける制御方法であって、
     前記ポイント種別は、繰り返しの開始の性質を持つ組込ポイント種別である繰り返し開始点と、繰り返し終了の性質を持つ組込ポイント種別である繰り返し終了点と、前記繰り返し開始点又は前記繰り返し終了点を継承元として定義されたポイント種別と、を含み、
     前記制御部が、前記繰り返し開始点又は該繰り返し開始点を承継元として定義されたポイント種別のいずれかに基づくポイントデータに基づいて前記作業ツールの運転の繰り返しを開始する第1の工程と、
     前記制御部が、前記繰り返し終了点又は該繰り返し終了点を承継元として定義されたポイント種別のいずれかに基づくポイントデータに基づいて前記作業ツールの運転の繰り返しを終了する第2の工程と、
     を備え、
     前記制御部が、前記第1の工程と第2の工程とを実行することにより、前記作業ツールの運転を繰り返す制御を行うことを特徴とする制御方法。
  8.  本体と、制御部と、を備え、前記制御部が、作業ツールの運転条件を含むポイント種別の定義に基づくポイントデータを含むポイントデータ列に基づいて作業を実行するロボットにおける制御方法をコンピュータに実行させるためのプログラムであって、
     前記ポイント種別は、繰り返しの開始の性質を持つ組込ポイント種別である繰り返し開始点と、繰り返し終了の性質を持つ組込ポイント種別である繰り返し終了点と、前記繰り返し開始点又は前記繰り返し終了点を継承元として定義されたポイント種別と、を含み、
     前記制御部が、前記繰り返し開始点又は該繰り返し開始点を承継元として定義されたポイント種別のいずれかに基づくポイントデータに基づいて前記作業ツールの運転の繰り返しを開始する第1の工程と、
     前記制御部が、前記繰り返し終了点又は該繰り返し終了点を承継元として定義されたポイント種別のいずれかに基づくポイントデータに基づいて前記作業ツールの運転の繰り返しを終了する第2の工程と、
     を備え、
     前記制御部が、前記第1の工程と第2の工程とを実行することにより、前記作業ツールの運転を繰り返す制御を行うことを特徴とするプログラム。
PCT/JP2019/006327 2018-02-28 2019-02-20 ロボット、制御方法およびプログラム WO2019167757A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-035380 2018-02-28
JP2018035380A JP2019150888A (ja) 2018-02-28 2018-02-28 ロボット、制御方法およびプログラム

Publications (1)

Publication Number Publication Date
WO2019167757A1 true WO2019167757A1 (ja) 2019-09-06

Family

ID=67806211

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/006327 WO2019167757A1 (ja) 2018-02-28 2019-02-20 ロボット、制御方法およびプログラム

Country Status (2)

Country Link
JP (1) JP2019150888A (ja)
WO (1) WO2019167757A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52137581A (en) * 1976-05-12 1977-11-17 Kawasaki Heavy Ind Ltd Controlling device for position locating for programming
JPS62292349A (ja) * 1986-06-12 1987-12-19 Hitachi Seiko Ltd 異種加工プログラムによる連続加工制御装置
JP2003050610A (ja) * 2000-08-25 2003-02-21 Janome Sewing Mach Co Ltd ロボット
JP2007188537A (ja) * 2000-08-25 2007-07-26 Janome Sewing Mach Co Ltd ロボット
JP2017004414A (ja) * 2015-06-15 2017-01-05 蛇の目ミシン工業株式会社 ロボット

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52137581A (en) * 1976-05-12 1977-11-17 Kawasaki Heavy Ind Ltd Controlling device for position locating for programming
JPS62292349A (ja) * 1986-06-12 1987-12-19 Hitachi Seiko Ltd 異種加工プログラムによる連続加工制御装置
JP2003050610A (ja) * 2000-08-25 2003-02-21 Janome Sewing Mach Co Ltd ロボット
JP2007188537A (ja) * 2000-08-25 2007-07-26 Janome Sewing Mach Co Ltd ロボット
JP2017004414A (ja) * 2015-06-15 2017-01-05 蛇の目ミシン工業株式会社 ロボット

Also Published As

Publication number Publication date
JP2019150888A (ja) 2019-09-12

Similar Documents

Publication Publication Date Title
JP6695170B2 (ja) ロボットの動作を改善する方法
US11986962B2 (en) Method for extending end user programming of an industrial robot with third party contributions
Alatartsev et al. Robotic task sequencing problem: A survey
KR102012073B1 (ko) 스킬 기반 로봇 프로그래밍 장치 및 방법
US5392382A (en) Automated plan synthesizer and plan execution method
JP3715617B2 (ja) 生産セル
CN106737676B (zh) 一种基于脚本可二次开发的工业机器人编程系统
EP3624997B1 (en) Method and control system for controlling movement sequences of a robot
EP4040293A1 (en) Controlling an apparatus, e.g., a robot, with a behavior tree
WO2019167757A1 (ja) ロボット、制御方法およびプログラム
Klavins et al. A formalism for the composition of concurrent robot behaviors
Zhou et al. Introduction to Petri nets in flexible and agile automation
CN111890336B (zh) 一种机器人多目标点示教方法、系统
Čapkovič Modelling, analysing and control of interactions among agents in MAS
Mishra et al. Development of a flexible assembly system using industrial robot with machine vision guidance and dexterous multi-finger gripper
EP3671380A1 (en) Method for dynamic adaptation of a workflow of an automatic system
Hsu et al. Fully automated robotic assembly cell: scheduling and simulation
Venkatesh et al. Augmented timed petri nets for modeling, simulation, and analysis of robotic systems with breakdowns
JP2002068416A (ja) ワーク搬送経路を構成する複数の装置を含む搬送システムのシミュレーション方法およびシミュレータ
CN113778416A (zh) 基于图形化编程的机械臂搬运脚本生成方法和装置
Clerici Automated generation of robot planning tasks observing human actions in virtual reality
EP3671584A1 (en) Method and system for controlling a production process
JPH06131021A (ja) 複数ロボットの制御方法
JP2016000439A (ja) ロボット装置
NAKHAEI et al. Robot Movements in a cyclic multiple-part type Three-machine Flexible Robotic Cell problem

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19760323

Country of ref document: EP

Kind code of ref document: A1