WO2021181800A1 - Procédé de commande et système de commande de robot - Google Patents

Procédé de commande et système de commande de robot Download PDF

Info

Publication number
WO2021181800A1
WO2021181800A1 PCT/JP2020/047240 JP2020047240W WO2021181800A1 WO 2021181800 A1 WO2021181800 A1 WO 2021181800A1 JP 2020047240 W JP2020047240 W JP 2020047240W WO 2021181800 A1 WO2021181800 A1 WO 2021181800A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
control device
command
program
control
Prior art date
Application number
PCT/JP2020/047240
Other languages
English (en)
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 オムロン株式会社
Publication of WO2021181800A1 publication Critical patent/WO2021181800A1/fr

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators

Definitions

  • This technology relates to robot control systems and control methods.
  • Patent Document 1 discloses a configuration for constructing an automation facility using a robot at low cost without learning a robot language. do.
  • the purpose of this technology is to provide a robot control system suitable for production equipment including one or more robots.
  • the robot control system includes a first control device and a second control device that is network-connected to the first control device and controls the robot.
  • the first control device includes a first program execution unit that generates a command instructing the behavior of the robot by executing a robot program, and a first communication unit that transmits a command to the second control device.
  • the second control device is a second communication unit that receives a command transmitted from the first control device, and each axis of the robot so as to realize the behavior instructed by the command from the first control device. Includes a command value generator that sequentially generates command values for driving.
  • the processing load can be distributed, the behavior of one or more robots can be controlled even if the processing capacity of the first control device is not high. Further, since the resource of the first control device required to control the behavior of the robot can be made relatively small, the first control device executes not only the process related to the behavior of the robot but also another process. It is possible to increase the expandability of the system.
  • the second control device may further include a target trajectory generating unit that generates a target trajectory of the robot according to a command from the first control device.
  • the command value generation unit may sequentially generate command values according to the target trajectory.
  • the first control device only needs to generate a command instructing the behavior of the robot without considering the kinematics of the robot to be controlled, and therefore the processing load in the first control device. Can be reduced. Further, by generating the target trajectory in the second control device, the robot can be controlled with higher accuracy.
  • the first control device may further include a second program execution unit that periodically generates an output value given to the second control device by executing the IEC program.
  • the first communication unit may transmit the output value and the command to the second control device.
  • the second control device may further include a process execution unit that executes the process according to the output value from the first control device.
  • the first program execution unit executes the robot program sequentially, and the second program execution unit cyclically executes the IEC program independently of the execution of the robot program by the first program execution unit. May be good.
  • the first communication unit may periodically transmit a communication frame including an output value.
  • the command may be transmitted to the second control device using a plurality of communication frames.
  • the command can be transmitted to the second control device even when the data length of the generated command is long.
  • the first program execution unit may be configured to be able to interpret a plurality of programming languages, and may generate commands according to a predetermined command system without depending on the programming language.
  • the first control device may be network-connected to a plurality of second control devices.
  • the first communication unit may send a command to each of the plurality of second control devices.
  • a plurality of robots can be controlled by using one first control device.
  • the second communication unit may transmit the state value related to the robot to be controlled to the first control device.
  • the first control device can realize various processes based on the state values related to the robot.
  • a control method is directed to a robot control system including a first control device and a second control device networked with the first control device to control the robot. Be done.
  • the control method includes a step in which the first control device executes a robot program to generate a command instructing the behavior of the robot given to the second control device, and a second control device issues a command.
  • a robot control system suitable for production equipment including one or more robots can be realized.
  • FIG. 1 is a schematic diagram showing an outline of the robot control system 1 according to the present embodiment.
  • the robot control system 1 is connected to the control device 100 (first control device) and the control device 100 via a network, and the robot controller 250 (second control device) for controlling the robot 200. And include. A plurality of robot controllers 250 may be connected to the control device 100.
  • the control target of the robot control system 1 is not limited to the robot 200.
  • the control device 100 can control various devices and machines constituting the production equipment including the robot 200 in addition to the robot 200.
  • the control device 100 may be linked with a safety controller that monitors the operation of the robot 200. That is, in the present specification, the term "robot control system" is used to mean a system having a function of controlling a robot, and does not exclude controlling other than the robot.
  • the control device 100 transmits the robot program execution engine 152 (first program execution unit) that generates a command 158 instructing the behavior of the robot 200 and the command 158 to the robot controller 250 by executing the robot program 1108. It has a communication unit 50 (composed of a field network controller 108, a communication control module 160, a communication driver 162, etc., which will be described later).
  • the robot controller 250 includes a communication unit 60 (consisting of a field network controller 252, a communication control module 280, a communication driver 282, etc., which will be described later) for receiving a command 158 transmitted from the control device 100, and a command 158 from the control device 100. It has a command value generation module 290 (command value generation unit) that sequentially generates command values for driving each axis of the robot 200 so as to realize the behavior instructed by.
  • a communication unit 60 consisting of a field network controller 252, a communication control module 280, a communication driver 282, etc., which will be described later
  • a command value generation module 290 command value generation unit
  • the axis of the robot 200 may form a joint, it is also referred to as the "axis or joint" of the robot 200 in the following description. That is, in the present specification, the term “axis” of the robot 200 is used to include an axis and a joint.
  • the control device 100 and the robot controller 250 cooperate to control the behavior of the robot 200.
  • the processing load can be distributed.
  • the behavior of the plurality of robots 200 can be controlled even if the processing capacity of the control device 100 is not high.
  • the control device 100 can execute not only the process related to the behavior of the robot 200 but also another process. It is possible to increase the expandability of the system.
  • FIG. 2 is a schematic diagram showing a configuration example of the robot control system 1 according to the present embodiment.
  • the robot control system 1 according to the present embodiment includes a control device 100 and one or more robots 200 connected to the control device 100 via a field network 20.
  • the behavior of each of the robots 200 is controlled by the robot controller 250.
  • the robot controller 250 is connected to the control device 100 via a network to control the robot 200. More specifically, the robot controller 250 outputs a command value for controlling the robot 200 in accordance with a command from the control device 100 (command 158 described later).
  • a custom robot 200A having one or a plurality of axes or joints arbitrarily created according to an application may be used.
  • any general-purpose robot 200B such as a horizontal articulated (scalar) robot, a vertical articulated robot, a parallel link robot, and a Cartesian robot may be used.
  • Any device such as an I / O unit, a safety I / O unit, and a safety controller may be connected to the field network 20.
  • an operation pendant 300 for operating the robot 200 is connected to the field network 20.
  • EtherCAT registered trademark
  • EtherNet / IP protocols for industrial networks
  • the control device 100 may be connected to the support device 400, the display device 500, and the server device 600 via the host network 12.
  • a protocol for an industrial network EtherNet / IP, or the like can be used.
  • FIG. 3 is a schematic diagram showing a hardware configuration example of the control device 100 constituting the robot control system 1 according to the present embodiment.
  • the control device 100 includes a processor 102, a main memory 104, a storage 110, a memory card interface 112, an upper network controller 106, a field network controller 108, a local bus controller 116, and a USB. Includes a USB controller 120 that provides a (Universal Serial Bus) interface. These components are connected via the processor bus 118.
  • a USB controller 120 that provides a (Universal Serial Bus) interface.
  • the processor 102 corresponds to an arithmetic processing unit that executes control operations, and is composed of a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), and the like. Specifically, the processor 102 reads a program stored in the storage 110, expands it in the main memory 104, and executes it to realize a control operation for a controlled object.
  • a CPU Central Processing Unit
  • GPU Graphics Processing Unit
  • the main memory 104 is composed of a volatile storage device such as a DRAM (Dynamic Random Access Memory) or a SRAM (Static Random Access Memory).
  • the storage 110 is composed of, for example, a non-volatile storage device such as an SSD (Solid State Drive) or an HDD (Hard Disk Drive).
  • the storage 110 stores a system program 1102 for realizing basic functions, an IEC program 1104 created according to a control target, and the like.
  • the IEC program 1104 may include sequence instructions and / or motion instructions.
  • the "IEC program” is used to mean a program that defines the processing executed by a general PLC (programmable logic controller).
  • the IEC program means a program written in any language defined by IEC 61131-3 defined by the International Electrotechnical Commission (IEC).
  • the IEC program may include a program written in a manufacturer's own language other than the language specified in IEC61131-3.
  • the storage 110 may further store the robot program 1108 and the setting information 1109 for controlling the behavior of the robot 200.
  • the robot program 1108 may be written in a predetermined programming language (for example, a programming language for robot control such as V + language or a programming language related to NC control such as G code).
  • the setting information 1109 includes various setting values (for example, speed limit value, acceleration limit value, jerk limit value, etc.) for the robot 200.
  • the memory card interface 112 accepts a memory card 114, which is an example of a removable storage medium.
  • the memory card interface 112 can read and write arbitrary data to and from the memory card 114.
  • the upper network controller 106 exchanges data with an arbitrary information processing device (support device 400, display device 500, server device 600, etc. shown in FIG. 2) via the upper network.
  • an arbitrary information processing device support device 400, display device 500, server device 600, etc. shown in FIG. 2
  • the field network controller 108 exchanges data with an arbitrary device such as a robot 200 via the field network 20.
  • the field network controller 108 may function as a communication master of the field network 20.
  • the local bus controller 116 exchanges data with and from an arbitrary functional unit 130 constituting the control device 100 via the local bus 122.
  • the functional unit 130 is, for example, an analog I / O unit that is in charge of input and / or output of an analog signal, a digital I / O unit that is in charge of input and / or output of a digital signal, a counter unit that receives pulses from an encoder, and the like. And so on.
  • the USB controller 120 exchanges data with an arbitrary information processing device via a USB connection.
  • FIG. 4 is a schematic diagram showing a hardware configuration example of the robot 200 constituting the robot control system 1 according to the present embodiment.
  • FIG. 4 shows a configuration example when a custom robot 200A is adopted as the robot 200.
  • the custom robot 200A is connected to the robot controller 250.
  • the custom robot 200A and the robot controller 250 may be integrally configured or may be configured as separate bodies.
  • the custom robot 200A includes a drive circuit 220 according to the number of shafts or joints, and a motor 230 driven by the drive circuit 220.
  • Each of the drive circuits 220 includes a converter circuit, an inverter circuit, and the like, generates electric power having a voltage, current, and phase specified according to a command value from the robot controller 250, and supplies the electric power to the motor 230.
  • Each of the motors 230 is an actuator that is mechanically coupled to any shaft or joint of the arm portion 210 constituting the custom robot 200A and drives the corresponding shaft or joint by the rotation of the motor 230.
  • the motor 230 a motor having characteristics according to the arm portion 210 to be driven can be adopted.
  • the motor 230 any of an inductive motor, a synchronous motor, a permanent magnet type motor, and a reluctance motor may be adopted, and not only a rotary type but also a linear motor may be adopted.
  • a drive circuit 220 corresponding to the motor 230 to be driven is adopted.
  • the robot controller 250 includes a field network controller 252 and a control processing circuit 260.
  • the field network controller 252 mainly exchanges data with the control device 100 via the field network 20.
  • the control processing circuit 260 executes arithmetic processing necessary for driving the custom robot 200A.
  • the control processing circuit 260 includes a processor 262, a main memory 266, a storage 270, and an interface circuit 268.
  • the processor 262 executes a control operation for driving the custom robot 200A.
  • the main memory 266 is composed of, for example, a volatile storage device such as a DRAM or SRAM.
  • the storage 270 is composed of, for example, a non-volatile storage device such as an SSD or an HDD.
  • the storage 270 stores a robot system program 2702 for realizing control for driving the robot 200, and setting information 2704 including a group of setting parameters required for processing by the robot controller 250.
  • the interface circuit 268 gives a command value to each drive circuit 220.
  • the interface circuit 268 and the drive circuit 220 may be electrically connected by a hard wire or may be connected by a data link.
  • FIG. 5 is a schematic diagram showing another hardware configuration example of the robot 200 constituting the robot control system 1 according to the present embodiment.
  • FIG. 5 shows a configuration example when a general-purpose robot 200B is adopted as the robot 200.
  • the general-purpose robot 200B incorporates one or more motors and drive circuits (not shown), and when the target trajectory of the general-purpose robot 200B is instructed, it corresponds to the instructed target trajectory. Drive one or more motors.
  • FIG. 6 is a schematic view showing a hardware configuration example of the operation pendant 300 constituting the robot control system 1 according to the present embodiment.
  • the operation pendant 300 includes a field network controller 352, a control processing circuit 360, and an operation key group 380.
  • the field network controller 352 mainly exchanges data with the control device 100 via the field network 20.
  • the control processing circuit 360 includes a processor 362, a main memory 366, firmware 370, and an interface circuit 368.
  • the processor 362 realizes the processing required for the operation pendant 300 by executing the firmware 370.
  • the main memory 366 is composed of, for example, a volatile storage device such as a DRAM or SRAM.
  • the interface circuit 368 exchanges signals with the operation key group 380.
  • the operation key group 380 is an input device that accepts user operations.
  • the operation key group 380 may include an indicator or the like indicating an input state.
  • FIG. 7 is a schematic view showing a hardware configuration example of the support device 400 constituting the robot control system 1 according to the present embodiment.
  • the support device 400 may be realized by using a general-purpose personal computer as an example.
  • the support device 400 includes a processor 402, a main memory 404, an input unit 406, a display unit 408, a storage 410, an optical drive 412, a USB controller 420, and a communication controller 422. include. These components are connected via the processor bus 418.
  • the processor 402 is required for the support device 400 by reading a program (OS 4102 and development program 4104, for example) stored in the storage 410, which is composed of a CPU, a GPU, or the like, and deploying and executing the program in the main memory 404. Various functions are realized.
  • a program OS 4102 and development program 4104, for example
  • the main memory 404 is composed of, for example, a volatile storage device such as a DRAM or SRAM.
  • the storage 410 is composed of, for example, a non-volatile storage device such as an HDD or SSD.
  • the storage 410 stores an OS 4102 for realizing basic functions, a development program 4104 for realizing a development environment, and the like.
  • an OS 4102 for realizing basic functions e.g., a development program 4104 for realizing a development environment, and the like.
  • the development environment it is possible to create a program executed by the control device 100, debug the program, set the operation of the control device 100, set the operation of the device connected to the control device 100, and set the field network 20. It has become.
  • the input unit 406 is composed of a keyboard, a mouse, etc., and accepts user operations.
  • the display unit 408 is composed of a display, various indicators, and the like, and displays processing results and the like by the processor 402.
  • the USB controller 420 exchanges data with the control device 100 and the like via the USB connection.
  • the communication controller 422 exchanges data with an arbitrary information processing device via the host network 12.
  • the support device 400 has an optical drive 412, and is stored in a storage medium 414 (for example, an optical storage medium such as a DVD (Digital Versatile Disc)) that temporarily stores a computer-readable program.
  • a storage medium 414 for example, an optical storage medium such as a DVD (Digital Versatile Disc)
  • the stored program is read and installed in the storage 410 or the like.
  • the development program 4104 or the like executed by the support device 400 may be installed via a computer-readable storage medium 414, or may be installed by downloading from a server device or the like on the network. Further, the function provided by the support device 400 according to the present embodiment may be realized by using a part of the modules provided by the OS 4102.
  • support device 400 may be removed from the control device 100 while the robot control system 1 is in operation.
  • the display device 500 constituting the robot control system 1 according to the present embodiment may be realized by using a general-purpose personal computer as an example. Since the basic hardware configuration example of the display device 500 is the same as the hardware configuration example of the support device 400 shown in FIG. 7, detailed description is not given here.
  • the server device 600 constituting the robot control system 1 according to the present embodiment may be realized by using a general-purpose personal computer as an example. Since the basic hardware configuration example of the server device 600 is the same as the hardware configuration example of the support device 400 shown in FIG. 7, detailed description is not given here.
  • FIGS. 3 to 7 show configuration examples in which necessary functions are provided by executing a program by one or more processors, and some or all of these provided functions are provided by dedicated hardware. It may be implemented using a hardware circuit (for example, ASIC (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array)).
  • ASIC Application Specific Integrated Circuit
  • FPGA Field-Programmable Gate Array
  • the main part of the control device 100 may be realized by using hardware that follows a general-purpose architecture (for example, an industrial personal computer based on a general-purpose personal computer).
  • a general-purpose architecture for example, an industrial personal computer based on a general-purpose personal computer.
  • virtualization technology may be used to execute a plurality of OSs having different uses in parallel, and to execute necessary applications on each OS.
  • a configuration in which functions such as a support device 400 and a display device 500 are integrated with the control device 100 may be adopted.
  • FIG. 8 is a schematic diagram showing an example of a functional configuration for controlling the behavior of the robot 200 in the robot control system 1 according to the present embodiment.
  • a command 158 or the like for controlling the robot 200 is exchanged between the control device 100 and one or a plurality of robot controllers 250.
  • the control device 100 includes an IEC program execution engine 150, a robot program execution engine 152, a communication control module 160, a communication driver 162, and an external communication interface 164. These elements may typically be realized by the processor 102 of the control device 100 executing the system program 1102.
  • the IEC program execution engine 150 (second program execution unit) periodically generates an output value given to the robot controller 250 by executing the IEC program 1104. More specifically, the IEC program execution engine 150 cyclically executes the IEC program 1104 at predetermined control cycles. The control cycle of the control device 100 is typically assumed to be about several hundred ⁇ sec to several hundred msec.
  • the IEC program execution engine 150 outputs an internal command (for example, transmission start and transmission stop of the command 158) to the robot program execution engine 152 according to the execution of the IEC program 1104, and / or the state from the robot program execution engine 152.
  • the value (for example, the state of the robot program 1108 being executed by the robot program execution engine 152) is acquired.
  • the robot program execution engine 152 (first program execution unit) generates a command 158 instructing the behavior of the robot 200 by executing the robot program 1108. That is, the robot program execution engine 152 sequentially executes the robot program 1108, and transmits a command 158 or the like for controlling the robot 200 to one or a plurality of robot controllers 250. More specifically, the robot program execution engine 152 includes a robot program interpretation module 154 and a command generation module 156.
  • the robot program interpretation module 154 sequentially reads and parses the robot program 1108, and outputs the internal command obtained by the parse to the command generation module 156.
  • the robot program interpretation module 154 can interpret instructions related to signal input / output, file access, and communication in addition to instructions related to the behavior of the robot 200 described in the programming language included in the robot program 1108.
  • the start and stop of reading the robot program 1108 by the robot program interpretation module 154 may be controlled by the command generation module 156.
  • the command generation module 156 generates commands 158 for each of the robot controllers 250 according to internal commands from the robot program interpretation module 154.
  • the command generation module 156 functions as a host for one or more connected robot controllers 250. More specifically, the command generation module 156 is an internal command exchanged with the IEC program execution engine 150 and / or an internal command exchanged with the support device 400 via the external communication interface 164. In response to this, the robot program interpretation module 154 controls the start and stop of execution of the robot program 1108, and also controls the start and stop of the generation of the command 158 for the robot controller 250.
  • the command generation module 156 may collect information such as state values and errors from the robot controller 250.
  • the communication control module 160 and the communication driver 162 correspond to a communication unit that transmits a command 158 to the robot controller 250.
  • the communication control module 160 and the communication driver 162 transmit the output value from the IEC program execution engine 150 and the command 158 from the robot program execution engine 152 to the robot controller 250.
  • the communication control module 160 manages the exchange of data with one or a plurality of connected robot controllers 250.
  • the communication control module 160 may generate a communication instance that manages data communication for each connected robot controller 250, and may manage data communication using the generated communication instance.
  • the communication driver 162 is an internal interface that uses the field network controller 108 (see FIG. 3) to perform data communication with one or a plurality of connected robot controllers 250.
  • Each of the robot controllers 250 includes a communication control module 280, a communication driver 282, a robot drive engine 284, and a signal output driver 292. These elements may typically be realized by the processor 262 (control processing circuit 260) of the robot controller 250 executing the robot system program 2702.
  • the communication control module 280 manages the exchange of data with the connected control device 100.
  • the communication control module 280 may generate a communication instance that manages data communication with the connected control device 100, and may manage data communication using the generated communication instance.
  • the communication driver 282 is an internal interface that performs data communication with the connected control device 100 by using the field network controller 252 (see FIG. 4).
  • the robot drive engine 284 executes a process for driving the robot 200 to be controlled (including the custom robot 200A and / or the general-purpose robot 200B) in accordance with the command 158 from the control device 100. More specifically, the robot drive engine 284 includes a management module 286, a target trajectory generation module 288, and a command value generation module 290.
  • the management module 286 corresponds to a processing execution unit that executes processing according to an output value from the control device 100. More specifically, the management module 286 manages the control mode, the start / end of the generation of the target trajectory from the command 158, and the like according to the output value from the control device 100.
  • the target trajectory generation module 288 (target trajectory generation unit) generates a target trajectory of the robot 200 to be controlled (including: custom robot 200A and / or general-purpose robot 200B) according to the command 158 from the control device 100.
  • the generated target trajectory is typically the hourly position of the tip of the robot 200 (change in position with respect to time) and / or the hourly velocity of the tip of the robot 200 (change in velocity with respect to time). ) Etc. are included.
  • the target trajectory generation module 288 may output the generated target trajectory to the command value generation module 290 (typically when driving the custom robot 200A shown in FIG. 4), or via the signal output driver 292. It may be output directly to the robot 200 (typically, when driving the general-purpose robot 200B shown in FIG. 5).
  • the command value generation module 290 sequentially generates command values for driving each axis of the robot 200 so as to realize the behavior instructed by the command 158 from the control device 100. More specifically, the command value generation module 290 sequentially generates command values for each of the motors 230 constituting the robot 200 to be controlled according to the target trajectory generated by the target trajectory generation module 288. The command value generation module 290 may update the command value at a predetermined control cycle or at a predetermined event.
  • the control cycle of the target trajectory generation module 288 of the robot controller 250 is typically assumed to be about several hundred ⁇ sec to several hundred msec, which is about the same as the control cycle of the control device 100. On the other hand, it is assumed that the control cycle of the command value generation module 290 of the robot controller 250 is faster than the control cycle of the target trajectory generation module 288 (for example, about several to ten and several times).
  • the command value generation module 290 calculates each command value given to the motor 230 for driving the robot 200 along the target trajectory based on the kinematics of the robot 200 to be controlled.
  • the command value generation module 290 sets the target position (change in position / angle with respect to time), target speed (change in speed / angular velocity with respect to time), and target acceleration (change in acceleration / angular acceleration with respect to time) as command values given to the motor 230. ) And / or the target acceleration (change in jerk / angular jerk with time) and so on.
  • the robot drive engine 284 may acquire the parameters necessary for calculating the target trajectory and / or the command value with reference to the setting information 2704 (see FIG. 4).
  • the signal output driver 292 utilizes an interface circuit 268 (see FIG. 4) to output a command value and / or a target trajectory to one or more connected drive circuits 220 and / or a robot 200 internally. It is an interface.
  • FIG. 9 is a schematic diagram illustrating data processing for controlling the behavior of the robot 200 in the robot control system 1 according to the present embodiment.
  • the robot program 1108 written in a predetermined programming language is input to the robot program execution engine 152 of the control device 100.
  • the robot program execution engine 152 has a different robot program 1108 for each robot 200. Entered. Further, in a production facility in which a plurality of the same production lines are arranged in parallel and a robot 200 that performs the same work is arranged in each production line, the robot program execution engine 152 is common. Robot program 1108 may be input. However, the generated commands 158 may be independently transmitted to the robot controller 250.
  • a plurality of robot programs 1108 described in different programming languages may be input to the robot program execution engine 152.
  • the robot program execution engine 152 can generate a command 158 written according to a common command system even when a robot program 1108 written in a different programming language is input.
  • the robot program execution engine 152 may be configured to be able to interpret a plurality of programming languages.
  • the robot program execution engine 152 may generate a command 158 according to a predetermined command system without depending on a programming language.
  • the robot program execution engine 152 (robot program interpretation module 154) interprets the input robot program 1108 and generates an internal command. Further, the robot program execution engine 152 (command generation module 156) generates a command 158 for controlling the behavior of the robot 200 according to the generated internal command.
  • command 158 may be generated for one or a plurality of connected robot controllers 250, respectively.
  • the generated command 158 is transmitted to the corresponding robot controller 250 via the field network 20 (see FIG. 2).
  • the communication unit 50 (composed of the field network controller 108, the communication control module 160, the communication driver 162, etc.) of the control device 100 is A command 158 is transmitted to each of the plurality of robot controllers 250.
  • the target trajectory generation module 288 of the robot controller 250 generates a target trajectory according to the command 158 from the control device 100.
  • the generated target trajectory may be output to the general-purpose robot 200B as it is. That is, the robot controller 250 may output the target trajectory to the outside.
  • the command value generation module 290 of the robot controller 250 generates command values for each of the motors 230 constituting the robot 200 to be controlled according to the generated target trajectory.
  • Any command system can be adopted as the command system for defining the command 158. From the viewpoint of reducing the processing related to the generation of the command 158, it is preferable to adopt a command group that can be easily generated from the instructions described in the robot program 1108.
  • the control device 100 generates a command 158 from one or a plurality of robot programs 1108.
  • the robot controller 250 drives the robot 200 to be controlled according to the generated command 158.
  • the robot program 1108 is a program for controlling the behavior of the robot 200.
  • the behavior of the robot 200 for example, the timing for starting / stopping the operation of the robot 200, the conditions for operating the robot 200 (for example, the linkage with the equipment in the pre-process or the post-process), and so on. It is also necessary to control the safety conditions and the like related to the robot 200.
  • the IEC program 1104 may include logic for collecting state values related to the operation of the robot 200 and determining the timing for starting / stopping the operation of the robot 200.
  • FIG. 10 is a diagram showing an example of an IEC program 1104 and a robot program 1108 executed by the control device 100 constituting the robot control system 1 according to the present embodiment.
  • FIG. 10A shows an example of the IEC program 1104 described in a ladder diagram (LD language).
  • the example of the IEC program 1104 shown in FIG. 10A includes instructions relating to a process of turning on the power of the robot 200 to be controlled and a process of executing calibration of the robot 200 to be controlled.
  • the IEC program 1104 may include a function block as an element.
  • the IEC program 1104 may include code written in structured text (ST language).
  • FIG. 10B shows an example of a robot program 1108 written in V + language.
  • the V + language is a kind of high-level language for controlling the behavior of the robot 200.
  • FIG. 11 is a time chart showing an execution example of a program in the control device 100 constituting the robot control system 1 according to the present embodiment.
  • the IEC program execution engine 150 and the robot program execution engine 152 execute the processes independently.
  • the IEC program execution engine 150 cyclically executes (repeatedly executes) the IEC program 1104 every predetermined control cycle T1.
  • the cyclic execution of the IEC program 1104 includes an output update process 1502 and an input update process 1504.
  • the output update process 1502 includes a process of reflecting the output value determined by the execution of the IEC program 1104 on the internal variables and / or the target device.
  • the output value for the device connected via the field network 20 is stored in the communication frame and transmitted on the field network 20.
  • the input update process 1504 includes a process of acquiring an input value (state value) necessary for executing the IEC program 1104 from an internal variable and / or a target device.
  • the input value from the device connected via the field network 20 is acquired from the communication frame propagating on the field network 20.
  • the communication control module 160 sends out a communication frame on the field network 20 in synchronization with the control cycle T1 and receives the communication frame that circulates on the field network 20 and returns.
  • the communication control module 160 stores the output value generated by the IEC program execution engine 150 and / or the command 158 generated by the command generation module 156 in the communication frame and is included in the returned communication frame.
  • the input value (state value) is held so that the IEC program execution engine 150 and the command generation module 156 can refer to it.
  • the command generation module 156 generates a command 158 according to an internal command from the robot program interpretation module 154. Typically, the timing at which the command generation module 156 generates the command 158 is determined by the output value from the IEC program execution engine 150. In the example shown in FIG. 11, an example is shown in which the IEC program execution engine 150 generates a command 158 in response to an output value from the IEC program execution engine 150. The generation of the command 158 by the IEC program execution engine 150 may be synchronized with the timing of the output update process 1502 of the IEC program execution engine 150.
  • the robot program interpretation module 154 typically executes the robot program 1108 independently of the control cycle T1.
  • the start / stop of execution of the robot program 1108 by the robot program interpretation module 154 may be controlled by the command generation module 156.
  • the robot program execution engine 152 sequentially executes the robot program 1108.
  • the IEC program execution engine 150 cyclically executes the IEC program 1104 independently of the execution of the robot program 1108 by the robot program execution engine 152.
  • FIG. 12 is a schematic diagram showing an example of the communication frame 40 used in the robot control system 1 according to the present embodiment.
  • a data area 42 is allocated to each device connected to the field network 20 (robot controller 250 in the configuration example shown in FIG. 2).
  • Each of the data areas 42 includes an output value area 44 and an input value area 46.
  • the output value area 44 stores an output value generated by the control device 100 (IEC program execution engine 150) and / or a command 158 generated by the control device 100 (robot program execution engine 152).
  • Information acquired or generated by the corresponding device is stored in the input value area 46.
  • the communication unit 60 (composed of the field network controller 252, the communication control module 280, the communication driver 282, etc.) of the robot controller 250 has a state value (for example, of the robot 200) related to the robot 200 to be controlled. Information such as operation mode and position) is transmitted to the controller 100.
  • Data is written in the output value area 44 by the control device 100, and the data is read by the corresponding device.
  • the input value area 46 data is written by the corresponding device, and data is read by the control device 100.
  • Data is exchanged between the control device 100 and one or more robot controllers 250 via the communication frame 40 shown in FIG.
  • the communication unit 50 (composed of the field network controller 108, the communication control module 160, the communication driver 162, etc.) of the control device 100 periodically transmits the communication frame 40 including the output value.
  • the command 158 may be transmitted to the robot controller 250 using a plurality of communication frames 40.
  • the allocation of the data area 42 of the communication frame 40 shown in FIG. 12 is an example, and the data area may be allocated in any way.
  • the data area 42 may be allocated only to some devices connected to the field network 20.
  • each of the data areas 42 may include only one of the output value area 44 and the input value area 46.
  • the command 158 transmitted from the control device 100 to the specific robot controller 250 may not fit in the corresponding output value area 44.
  • the communication cycle of the communication frame 40 is relatively short (for example, several msec to several tens of msec) as compared with the cycle of updating the command value for the robot 200. Therefore, even if one command 158 is transmitted by using the plurality of communication frames 40, there is no problem in controlling the robot 200. Therefore, the control device 100 may divide one command 158 into a plurality of communication frames 40 and transmit the command 158 depending on the situation.
  • FIG. 13 is a diagram for explaining a processing example in which the command 158 is divided into a plurality of communication frames 40 and transmitted in the robot control system 1 according to the present embodiment.
  • the data string of the command 158 is divided into sizes that fit in the output value area 44, and each is stored in a plurality of communication frames 40 that are continuous in time.
  • a command 158 is transmitted using three communication frames 40.
  • the robot controller 250 restores the command 158 by acquiring and combining the divided data from the plurality of communication frames 40.
  • FIG. 14 is a flowchart showing a processing procedure in the control device 100 constituting the robot control system 1 according to the present embodiment. Each step shown in FIG. 14 may typically be realized by the processor 102 of the control device 100 executing the system program 1102. As shown in FIG. 14, in the control device 100, the processing by the IEC program execution engine 150 and the processing by the robot program execution engine 152 (robot program interpretation module 154 and command generation module 156) are executed in parallel.
  • the control device 100 determines whether or not the next control cycle has arrived (step S100). If the next control cycle has not arrived (NO in step S100), the control device 100 waits for processing until the next control cycle arrives.
  • control device 100 If the next control cycle has arrived (YES in step S100), the control device 100 outputs the output value determined by the execution of the IEC program 1104 in the previous control cycle (step S102).
  • the process of outputting the output value includes the process of outputting the output value to the robot program execution engine 152.
  • control device 100 acquires the latest input value (step S104), and determines the output value by executing the IEC program 1104 using the acquired latest input value (step S106). Then, the process of step S100 or less is repeated.
  • the control device 100 determines whether or not the reading start condition of the robot program 1108 is satisfied (step S150).
  • the reading start condition of the robot program 1108 may be defined by appropriately combining an output value from the IEC program execution engine 150, an input value from the robot controller 250, an instruction from the support device 400, and other arbitrary information.
  • step S150 If the reading start condition of the robot program 1108 is not satisfied (NO in step S150), the control device 100 skips the processes of steps S152 and S154.
  • step S150 If the reading start condition of the robot program 1108 is satisfied (YES in step S150), the control device 100 executes the robot program 1108 to instruct the robot behavior given to the robot controller 250. Is generated, and the generated command 158 is transmitted to the robot controller 250 (steps S152 to S160).
  • control device 100 sequentially reads the target robot program 1108 (step S152), parses the read robot program 1108, and generates an internal command (step S154).
  • the control device 100 determines whether or not the output start condition of the command 158 is satisfied (step S156).
  • the output start condition of the command 158 may be specified by appropriately combining an output value from the IEC program execution engine 150, an input value from the robot controller 250, an instruction from the support device 400, and any other information.
  • step S156 the control device 100 determines whether or not the next control cycle has arrived. If the next control cycle has not arrived (NO in step S158), the control device 100 waits for processing until the next control cycle arrives.
  • step S158 the control device 100 generates and outputs a command 158 according to an internal command generated in advance (step S160).
  • step S156 If the output start condition of the command 158 is not satisfied (NO in step S156), the control device 100 skips the processes of steps S158 and S160.
  • FIG. 15 is a flowchart showing a processing procedure in the robot controller 250 constituting the robot control system 1 according to the present embodiment. Each step shown in FIG. 15 may be realized by the processor 262 (control processing circuit 260) of the robot controller 250 executing the robot system program 2702.
  • the processing by the target trajectory generation module 288 and the processing by the command value generation module 290 are executed in parallel.
  • the robot controller 250 determines whether or not a command 158 has been received from the control device 100 (step S200). If the command 158 has not been received from the control device 100 (NO in step S200), the robot controller 250 repeats the process of step S200.
  • step S200 If the command 158 is received from the control device 100 (YES in step S200), the robot controller 250 determines whether or not all of the commands 158 have been received (step S202). If only a part of the command 158 is received (NO in step S202), the robot controller 250 repeats the processes of step S200 and the following.
  • step S202 If all of the commands 158 have been received (YES in step S202), the robot controller 250 generates a target trajectory according to the received command 158 (step S204). Then, the process of step S200 or less is repeated.
  • the robot controller 250 determines whether or not the next control cycle has arrived (step S250). If the next control cycle has not arrived (NO in step S250), the robot controller 250 waits for processing until the next control cycle arrives.
  • the robot controller 250 stores the latest predetermined input value in the communication frame 40 and transmits it to the control device 100 (step S252). Then, the robot controller 250 refers to the communication frame 40 and acquires the latest output value transmitted from the control device 100 (step S254). Then, the robot controller 250 determines whether or not the output condition of the command value for the robot 200 is satisfied (step S256).
  • the output condition of the command value for the robot 200 is an appropriate combination of the latest output value transmitted from the control device 100, the state value held by the management module 286, the state value acquired by the robot controller 250, and any other information. It may be specified.
  • step S256 If the output condition of the command value for the robot 200 is not satisfied (NO in step S256), the robot controller 250 skips the processes of steps S258 and S260.
  • step S256 the robot controller 250 will realize the behavior instructed by the command 158 from the control device 100.
  • Command values for driving the shaft are sequentially generated (steps S258 to S260). More specifically, the robot controller 250 generates a command value for each of the motors 230 constituting the robot 200 to be controlled according to a target trajectory generated in advance (step S258). Then, the robot controller 250 outputs each generated command value (step S260).
  • Robot control system (1) The first control device (100) and A second control device (250) for controlling the robot (200), which is network-connected to the first control device, is provided.
  • the first control device is A first program execution unit (152) that generates a command (158) for instructing the behavior of the robot (200) by executing the robot program (1108).
  • a first communication unit (108, 160, 162) for transmitting the command to the second control device is provided.
  • the second control device is A second communication unit (252, 280, 282) that receives the command transmitted from the first control device, and A robot control including a command value generation unit (290) that sequentially generates command values for driving each axis of the robot so as to realize the behavior instructed by the command from the first control device. system.
  • the second control device further includes a target trajectory generating unit (288) that generates a target trajectory of the robot according to the command from the first control device.
  • the robot control system according to configuration 1, wherein the command value generation unit sequentially generates the command values according to the target trajectory.
  • the first control device further includes a second program execution unit (150) that periodically generates an output value given to the second control device by executing the IEC program (1104).
  • the first communication unit transmits the output value and the command to the second control device.
  • the robot control system according to any one of configurations 1 to 3, wherein the second control device further includes a process execution unit (286) that executes a process according to the output value from the first control device.
  • the first program execution unit sequentially executes the robot program, and the first program execution unit executes the robot program sequentially.
  • the first communication unit periodically transmits a communication frame (40) including the output value, and the first communication unit periodically transmits the communication frame (40) including the output value.
  • the robot control system according to configuration 4 or 5, wherein the command is transmitted to the second control device using the plurality of communication frames.
  • the first program execution unit is configured to be able to interpret a plurality of programming languages, and generates the command according to a predetermined command system without depending on the programming language.
  • the robot control system according to item 1.
  • the first control device is network-connected to a plurality of the second control devices.
  • the robot control system according to any one of configurations 1 to 7, wherein the first communication unit transmits a command to each of the plurality of second control devices.
  • a control method in a robot control system (1) including a first control device (100) and a second control device (250) connected to the first control device via a network to control the robot (200). And A step (S152 to S160) in which the first control device executes a robot program (1108) to generate a command (158) instructing the behavior of the robot given to the second control device.
  • a control method including a first control device (100) and a second control device (250) connected to the first control device via a network to control the robot (200).
  • a step (S152 to S160) in which the first control device executes a robot program (1
  • a configuration is adopted in which the control device 100 and the robot controller 250 cooperate to control the behavior of the robot 200.
  • the processing load can be distributed.
  • the behavior of the plurality of robots 200 can be controlled even if the processing capacity of the control device 100 is not high.
  • the control device 100 can execute not only the process related to the behavior of the robot 200 but also another process. It is possible to increase the expandability of the system.
  • 1 robot control system 12 upper network, 20 field network, 40 communication frame, 42 data area, 44 output value area, 46 input value area, 50, 60 communication unit, 100 control device, 102, 262, 362, 402 processor, 104,266,366,404 main memory, 106 upper network controller, 108,252,352 field network controller, 110,270,410 storage, 112 memory card interface, 114 memory card, 116 local bus controller, 118,418 processor bus , 120, 420 USB controller, 122 local bus, 130 functional unit, 150 IEC program execution engine, 152 robot program execution engine, 154 robot program interpretation module, 156 command generation module, 158 commands, 160, 280 communication control module, 162, 282 communication driver, 164 external communication interface, 200 robot, 200A custom robot, 200B general-purpose robot, 210 arm part, 220 drive circuit, 230 motor, 250 robot controller, 260, 360 control processing circuit, 268,368 interface circuit, 284 robot Drive engine, 286 management program, 288 target trajectory generation module, 290 command value generation module, 2

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

L'invention concerne un système de commande de robot comprenant un premier dispositif de commande et un second dispositif de commande qui est connecté par réseau au premier dispositif de commande et qui est utilisé pour commander un robot. Le premier dispositif de commande comprend une première unité d'exécution de programme qui exécute un programme de robot pour générer une instruction pour ordonner un comportement d'un robot, et une première unité de communication qui transmet l'instruction au second dispositif de commande. Le second dispositif de commande comprend une seconde unité de communication qui reçoit l'instruction transmise par le premier dispositif de commande, et une unité de génération de valeur d'instruction qui génère séquentiellement des valeurs d'instruction pour entraîner chaque arbre du robot de façon à exécuter le comportement indiqué par l'instruction provenant du premier dispositif de commande.
PCT/JP2020/047240 2020-03-13 2020-12-17 Procédé de commande et système de commande de robot WO2021181800A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020044124A JP2021142625A (ja) 2020-03-13 2020-03-13 ロボット制御システムおよび制御方法
JP2020-044124 2020-03-13

Publications (1)

Publication Number Publication Date
WO2021181800A1 true WO2021181800A1 (fr) 2021-09-16

Family

ID=77671575

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/047240 WO2021181800A1 (fr) 2020-03-13 2020-12-17 Procédé de commande et système de commande de robot

Country Status (2)

Country Link
JP (1) JP2021142625A (fr)
WO (1) WO2021181800A1 (fr)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000194409A (ja) * 1998-12-25 2000-07-14 Kawasaki Heavy Ind Ltd ロボットのプログラム変換装置
JP2004038876A (ja) * 2002-07-08 2004-02-05 Hitachi Ltd プログラム等のデータ形式変換方法及び装置、並びにそのデータ形式変換装置を用いたコントローラ管理システム
JP2006167825A (ja) * 2004-12-14 2006-06-29 Yaskawa Electric Corp モータ駆動装置、およびモータ駆動装置の非常停止方法
JP2012130977A (ja) * 2010-12-20 2012-07-12 Toshiba Corp ロボット制御装置
JP2016000442A (ja) * 2014-06-12 2016-01-07 セイコーエプソン株式会社 ロボット、ロボットシステム及び制御装置
JP2019061466A (ja) * 2017-09-26 2019-04-18 オムロン株式会社 制御装置
JP2020025992A (ja) * 2018-08-09 2020-02-20 株式会社東芝 制御装置、制御方法、およびプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000194409A (ja) * 1998-12-25 2000-07-14 Kawasaki Heavy Ind Ltd ロボットのプログラム変換装置
JP2004038876A (ja) * 2002-07-08 2004-02-05 Hitachi Ltd プログラム等のデータ形式変換方法及び装置、並びにそのデータ形式変換装置を用いたコントローラ管理システム
JP2006167825A (ja) * 2004-12-14 2006-06-29 Yaskawa Electric Corp モータ駆動装置、およびモータ駆動装置の非常停止方法
JP2012130977A (ja) * 2010-12-20 2012-07-12 Toshiba Corp ロボット制御装置
JP2016000442A (ja) * 2014-06-12 2016-01-07 セイコーエプソン株式会社 ロボット、ロボットシステム及び制御装置
JP2019061466A (ja) * 2017-09-26 2019-04-18 オムロン株式会社 制御装置
JP2020025992A (ja) * 2018-08-09 2020-02-20 株式会社東芝 制御装置、制御方法、およびプログラム

Also Published As

Publication number Publication date
JP2021142625A (ja) 2021-09-24

Similar Documents

Publication Publication Date Title
US10606246B2 (en) Control device and control method with various command values in a shared memory providing access to various program execution and command value operation parts in each control cycle
EP3441831B1 (fr) Dispositif de traitement d'informations, procédé de traitement d'informations et programme de traitement d'informations
WO2021181801A1 (fr) Procédé de commande et système de commande de robot
WO2021106467A1 (fr) Système de commande, dispositif de commande et procédé de commande
US10814486B2 (en) Information processing device, information processing method, and non-transitory computer-readable recording medium
US20190095246A1 (en) Support device and non-transitory storage medium
WO2021181799A1 (fr) Système de commande de robot et procédé de commande de robot
JP7310465B2 (ja) 同期制御装置、同期制御システム、同期制御方法、及びシミュレーション装置
JP6900863B2 (ja) 制御装置、制御方法および制御プログラム
WO2021181800A1 (fr) Procédé de commande et système de commande de robot
WO2021181798A1 (fr) Système de commande de robot et procédé de commande de robot
JP6881174B2 (ja) 制御装置および制御方法
WO2012124145A1 (fr) Unité de calcul, unité d'assistance, programme d'assistance, support d'enregistrement contenant un programme d'assistance, et procédé de fonctionnement dans un dispositif d'assistance
JP7375632B2 (ja) 制御システムおよびサポート装置
WO2021145124A1 (fr) Dispositif de commande
WO2022162958A1 (fr) Dispositif de commande, procédé d'exécution de programme, et programme
WO2022162960A1 (fr) Dispositif de génération de programme, programme de génération de programme et procédé de génération de programme
WO2022049805A1 (fr) Dispositif de commande, système de commande et programme
JP2022114753A (ja) 制御システム、ロボットコントローラおよび制御方法
JP2021114019A (ja) データ処理方法

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

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

Country of ref document: EP

Kind code of ref document: A1