Scanner controller and scanner control system
11752629 ยท 2023-09-12
Assignee
Inventors
Cpc classification
B25J9/1671
PERFORMING OPERATIONS; TRANSPORTING
B23K26/082
PERFORMING OPERATIONS; TRANSPORTING
B25J9/1664
PERFORMING OPERATIONS; TRANSPORTING
B25J15/0019
PERFORMING OPERATIONS; TRANSPORTING
B23K37/0229
PERFORMING OPERATIONS; TRANSPORTING
International classification
B23K26/082
PERFORMING OPERATIONS; TRANSPORTING
B23K37/02
PERFORMING OPERATIONS; TRANSPORTING
B25J11/00
PERFORMING OPERATIONS; TRANSPORTING
Abstract
A scanner controller analyzes a position instruction in which a position in a world coordinate system and a position in a local coordinate system of a path of laser light are associated with each other and creates a movement command for a drive unit of a scanner based on the position of the local coordinate system. Further, the scanner controller calculates the current position of the scanner in the local coordinate system based on the position and attitude of a robot in the world coordinate system and the position in the world coordinate system in accordance with the position instruction. When the distance between the calculated position of the local coordinate system and the position in the local coordinate system in accordance with the position instruction is below a predetermined threshold, the scanner controller then determines to start machining and performs control of a drive unit of the scanner.
Claims
1. A scanner controller that controls a scanner attached to an end of a robot and configured to scan a predetermined path with laser light based on a scanner control program to machine a workpiece, wherein, during a simulation, a block of a position instruction in which an operation path of the laser light of the scanner in a world coordinate system and an operation path of the laser light of the scanner in the local coordinate system of a path of the laser light are associated with each other is included in the scanner control program, the scanner controller comprising: a processor configured to: analyze each block of the scanner control program and create a movement command of a laser irradiation position for a drive unit of the scanner based on the operation path of the local coordinate system instructed by the block of the scanner control program; create interpolation data indicating a motion amount for each interpolation cycle of each motor that drives the drive unit of the scanner based on the created movement command for the drive unit of the scanner; calculate a current position of the scanner in the local coordinate system based on received data of position and attitude of the robot in the world coordinate system and the position in the world coordinate system instructed by the block; during an actual machining, determine to start machining the workpiece using an on-the-fly function when a distance between the calculated position of the scanner in the local coordinate system and a start position in the created movement command in the local coordinate system is below a predetermined threshold for an approach of the robot to the start position defined in advance; and control an operation of the motor of the drive unit of the scanner in accordance with the created interpolation data and the determined start of the machining of the workpiece when the distance is below the predetermined threshold for the approach of the robot to the start position in the created movement command for the drive unit.
2. A scanner control system comprising: a path creation device that performs a simulation based on a specified machining path and creates a robot control program and a scanner control program to machine a workpiece, wherein, during the simulation, a block of a position instruction in which an operation path of a laser light of a scanner in a world coordinate system and a position in aan operation path of the laser light of the scanner in the local coordinate system are associated with each other and included in the scanner control program; a robot controller that controls an operation of a robot based on the robot control program; and a scanner controller that controls the scanner attached to an end of the robot and configured to scan a predetermined path with laser light based on the scanner control program to machine a workpiece, wherein the scanner controller includes a processor configured to: analyze each block of the scanner control program and create a movement command of a laser irradiation position for a drive unit of the scanner based on the operation path of the local coordinate system instructed by the block of the scanner control program, create interpolation data indicating a motion amount for each interpolation cycle of each motor that drives the drive unit of the scanner based on the created movement command for the drive unit of the scanner, calculate a current position of the scanner in the local coordinate system based on received data of position and attitude of the robot in the world coordinate system and the position in the world coordinate system instructed by the block, during an actual machining, determine to start machining the workpiece using an on-the-fly function when a distance between the calculated position of the scanner in the local coordinate system and a start position in the created movement command in the local coordinate system is below a predetermined threshold for an approach of the robot to the start position defined in advance, and control an operation of the motor of the drive unit of the scanner in accordance with the created interpolation data and the determined start of the machining of the workpiece when the distance is below the predetermined threshold for the approach of the robot to the start position in the created movement command for the drive unit.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
(9)
(10) A scanner control system 1 according to the present embodiment is configured such that a scanner controller 3 that controls a scanner 4, a robot controller 5 that controls a robot 6 in which the scanner 4 is attached to the end of a hand, and a path creation device 2 that creates a program used for instructing the scanner controller 3 and the robot controller 5 for motion paths are connected to each other via a wired or wireless network 7, for example.
(11) The path creation device 2 provided in the scanner control system 1 can be mounted on a personal computer connected to the scanner controller 3 and the robot controller 5 via the network 7, for example. The CPU 211 provided in the path creation device 2 according to the present embodiment is a processor that generally controls the path creation device 2. The CPU 211 reads a system program stored in a ROM 212 via a bus 222 and controls the overall path creation device 2 in accordance with the system program. A RAM 213 temporarily stores temporary calculated data or display data and various externally input data or the like.
(12) A nonvolatile memory 214 is formed of a memory device, a solid state drive (SSD), or the like backed up by a battery (not illustrated), for example, and the storage state is held even when the path creation device 2 is powered off. The nonvolatile memory 214 stores data loaded from an external device (not illustrated), data input via an input device 271, data acquired from the scanner controller 3, the robot controller 5, or the like via an interface 220, or the like. The data stored in the nonvolatile memory 214 may be loaded into the RAM 213 when executed or used. Further, various system programs such as a known analysis program are written in advance in the ROM 212.
(13) The interface 220 is an interface used for connecting the CPU 211 of the path creation device 2 to the wired or wireless network 7. The scanner controller 3, the robot controller 5, a fog computer, a cloud server, or the like are connected to the network 7 to transfer data to and from the path creation device 2.
(14) On a display device 270, each data loaded on a memory device, data obtained as a result of execution of a program or the like, or the like are output and displayed via an interface 217. Further, the input device 271 formed of a keyboard, a pointing device, or the like passes an instruction, data, or the like based on a worker's operation to the CPU 211 via an interface 218.
(15)
(16) A CPU 311 provided in the scanner controller 3 according to the present embodiment is a processor that generally controls the scanner controller 3. The CPU 311 reads a system program stored in a ROM 312 via a bus 322 and controls the overall scanner controller 3 in accordance with the system program. A RAM 313 temporarily stores temporary calculated data or display data and various externally input data or the like.
(17) A nonvolatile memory 314 is formed of a memory device, a solid state drive (SSD), or the like backed up by a battery (not illustrated), for example, and the storage state is held even when the scanner controller 3 is powered off. The nonvolatile memory 314 stores data loaded from an external device (not illustrated), data input via an input device 371, data acquired from the path creation device 2 or the like via an interface 321, data acquired from the robot controller 5 via an interface 315, or the like. The data stored in the nonvolatile memory 314 may be loaded into the RAM 313 when executed or used. Further, various system programs such as a known analysis program are written in advance in the ROM 312.
(18) The scanner controller 3 is connected to the scanner 4 via an interface 320. The CPU 311 executes a program acquired from the path creation device 2, for example, and outputs an instruction to control a motor provided in the scanner 4 or an instruction to control a laser oscillator (not illustrated) via the interface 320. Further, the CPU 311 acquires data related to the operation status of the scanner 4 via the interface 320.
(19) The interface 321 is an interface used for connecting the CPU 311 of the scanner controller 3 to the wired or wireless network 7. The path creation device 2, the robot controller 5, a fog computer, a cloud server, or the like are connected to the network 7 and transfer data to and from the scanner controller 3.
(20) On a display device 370, each data loaded on a memory device, data obtained as a result of execution of a program or the like, or the like are output and displayed via an interface 317. Further, the input device 371 formed of a keyboard, a pointing device, or the like passes an instruction, data, or the like based on a worker's operation to the CPU 311 via an interface 318.
(21) The CPU 511 provided in the robot controller 5 according to the present embodiment is a processor that generally controls the robot controller 5. The CPU 511 reads a system program stored in a ROM 512 via a bus 522 and controls the overall robot controller 5 in accordance with the system program. A RAM 513 temporarily stores temporary calculated data or display data and various externally input data or the like.
(22) A nonvolatile memory 514 is formed of a memory device, a solid state drive (SSD), or the like backed up by a battery (not illustrated), for example, and the storage state is held even when the robot controller 5 is powered off. The nonvolatile memory 514 stores data loaded from an external device (not illustrated), data input via an input device 571, data acquired from the path creation device 2 or the like via an interface 521, data acquired from the scanner controller 3 via an interface 515, or the like. The data stored in the nonvolatile memory 514 may be loaded into the RAM 513 when executed or used. Further, various system programs such as a known analysis program are written in advance in the ROM 512.
(23) The robot controller 5 is connected to the robot 6 via an interface 520. The CPU 511 executes a program acquired from the path creation device 2, for example, and outputs an instruction to control a motor that drives each axis of the robot 6 via the interface 520. Further, the CPU 511 acquires data related to the operation status of the robot 6 via the interface 520.
(24) The interface 521 is an interface used for connecting the CPU 511 of the robot controller 5 to the wired or wireless network 7. The path creation device 2, the scanner controller 3, a fog computer, a cloud server, or the like are connected to the network 7 and transfer data to and from the robot controller 5.
(25) On a display device 570, each data loaded on a memory device, data obtained as a result of execution of a program or the like, or the like are output and displayed via an interface 517. Further, the input device 571 formed of a keyboard, a pointing device, or the like passes an instruction, data, or the like based on a worker's operation to the CPU 511 via an interface 518.
(26) The scanner controller 3 and the robot controller 5 may be connected to a communication line 8 that is different from and faster than the network 7. For example, the robot controller 5 can transmit data related to the position and attitude of the robot 6 to the scanner controller 3 at a high speed via the communication line 8.
(27)
(28) Each function of the path creation device 2 according to the present embodiment is implemented when the CPU provided in the path creation device 2 illustrated in
(29) The path creation device 2 of the present embodiment has a simulation unit 21, a program creation unit 23, and a program transmission unit 25.
(30) The simulation unit 21 is implemented when the CPU 211 provided in the path creation device 2 illustrated in
(31) The simulation unit 21 links an irradiation position in the world coordinate system instructed by a machining path with an irradiation position in the local coordinate system on which the scanner actually operates. The simulation unit 21 simulates change in the position and attitude of the robot 6 (operation path) for machining a part on the machining path based on the input machining path. Further, the simulation unit 21 simulates change in the position of each motor of the scanner 4 (operation path) for emitting laser to a position on a machining path on a workpiece from the scanner 4 when the position and attitude of the robot 6 is changing. A simulation result from the simulation unit 21 is output to the program creation unit 23.
(32) The program creation unit 23 is implemented when the CPU 211 provided in the path creation device 2 illustrated in
(33) The robot control program created by the program creation unit 23 includes a block for an instruction for an operation path of the robot 6 in the world coordinate system. Further, the scanner control program created by the program creation unit 23 includes a block for an instruction in which an operation path of the scanner in the world coordinate system and an operation path of the scanner in the local coordinate system are associated with each other.
(34) The program transmission unit 25 is implemented when the CPU 211 provided in the path creation device 2 illustrated in
(35)
(36) Each function of the scanner controller 3 according to the present embodiment is implemented when the CPU provided in the scanner controller 3 illustrated in
(37) The scanner controller 3 of the present embodiment has a program analysis unit 31, an interpolation unit 32, a position calculation unit 33, an on-the-fly start determination unit 34, and a motor output unit 36.
(38) The program analysis unit 31 is implemented when the CPU 311 provided in the scanner controller 3 illustrated in
(39) The interpolation unit 32 is implemented when the CPU 311 provided in the scanner controller 3 illustrated in
(40) The position calculation unit 33 is implemented when the CPU 311 provided in the scanner controller 3 illustrated in
(41) The on-the-fly start determination unit 34 is implemented when the CPU 311 provided in the scanner controller 3 illustrated in
(42) The motor output unit 36 is implemented when the CPU 311 provided in the scanner controller 3 illustrated in
(43)
(44) Each function of the robot controller 5 according to the present embodiment is implemented when the CPU provided in the robot controller 5 illustrated in
(45) The robot controller 5 of the present embodiment has a program analysis unit 51, an interpolation unit 52, a motor output unit 56, and a position output unit 58.
(46) The program analysis unit 51 is implemented when the CPU 511 provided in the robot controller 5 illustrated in
(47) The interpolation unit 52 is implemented when the CPU 511 provided in the robot controller 5 illustrated in
(48) The motor output unit 56 is implemented when the CPU 511 provided in the robot controller 5 illustrated in
(49) The position output unit 58 is implemented when the CPU 511 provided in the robot controller 5 illustrated in
(50) In the scanner control system 1 having the configuration described above, the scanner control program that operates the scanner 4 created by the path creation device 2 includes a block in which the position in the world coordinate system and the position in the local coordinate system of the scanner 4 are associated with each other. While the robot controller 5 controls the operation of the robot 6 in accordance with the robot control program, the scanner controller 3 waits execution of the program until the position and attitude of the robot 6 approaches a predetermined machining start position instructed by the scanner control program. When the position and attitude of the robot 6 then approaches the machining start position, execution of the scanner control program is started, and machining of a workpiece is started. The difference between data related to the position and attitude of the robot 6 and the coordinate position instructed by the scanner control program indicates a displacement from an ideal position of the robot 6 assumed by the scanner controller 3, and with knowledge of such a displacement, synchronization of the on-the-fly function is no longer required to be started in a state where the scanner and the robot are stationary each other.
(51) In scanner control system 1 having the configuration described above, only the operation of the scanner 4 near the machining position of a workpiece is required to be created as a scanner control program. Thus, as illustrated in
(52) As described above, although one embodiment of the present invention has been described, the present invention is not limited to only the examples in the embodiment described above and may be implemented in various forms with addition of an appropriate change.