WO2022249363A1 - プログラミング装置及びプログラム - Google Patents
プログラミング装置及びプログラム Download PDFInfo
- Publication number
- WO2022249363A1 WO2022249363A1 PCT/JP2021/020083 JP2021020083W WO2022249363A1 WO 2022249363 A1 WO2022249363 A1 WO 2022249363A1 JP 2021020083 W JP2021020083 W JP 2021020083W WO 2022249363 A1 WO2022249363 A1 WO 2022249363A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- processor
- range
- singularity
- robot
- movable range
- Prior art date
Links
- 238000012545 processing Methods 0.000 claims abstract description 44
- 238000000034 method Methods 0.000 claims description 60
- 230000008569 process Effects 0.000 claims description 58
- 230000008859 change Effects 0.000 claims description 8
- 238000012937 correction Methods 0.000 abstract description 5
- 238000004088 simulation Methods 0.000 description 59
- 238000010586 diagram Methods 0.000 description 11
- 102100029860 Suppressor of tumorigenicity 20 protein Human genes 0.000 description 9
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 101000585359 Homo sapiens Suppressor of tumorigenicity 20 protein Proteins 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 102100036848 C-C motif chemokine 20 Human genes 0.000 description 3
- 101000911772 Homo sapiens Hsc70-interacting protein Proteins 0.000 description 3
- 101000661807 Homo sapiens Suppressor of tumorigenicity 14 protein Proteins 0.000 description 3
- 102220062245 rs1800369 Human genes 0.000 description 3
- 238000005401 electroluminescence Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 102220062239 rs369129220 Human genes 0.000 description 2
- 102220203583 rs547012864 Human genes 0.000 description 2
- 102220059961 rs786201335 Human genes 0.000 description 2
- 102100035353 Cyclin-dependent kinase 2-associated protein 1 Human genes 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1671—Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/4155—Numerical 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 programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/42—Recording 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
- G05B19/425—Teaching successive positions by numerical control, i.e. commands being entered to control the positioning servo of the tool head or end effector
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/42—Recording 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40354—Singularity detection
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40387—Modify without repeating teaching operation
Definitions
- the present disclosure relates to programming devices and programs.
- Robot programs for operating robots equipped with robot arms etc. may be created using offline programming.
- off-line programming for example, programming is performed using a robot that emulates or simulates a real robot on software (hereinafter referred to as "virtual robot").
- virtual robot various parts such as the placement positions of objects are different from the real environment. For this reason, if a robot program created by offline programming is only modified to match the site and the actual robot is operated, the robot program will try to move the robot out of the movable range or make the robot reach a singular point. It may be moved. Therefore, when operating a real robot with a robot program created by offline programming, additional modification of the program may be required.
- What is desired is a programming device and program that can reduce the amount of modifications required to robot programs created by offline programming.
- the programming device of the present disclosure includes a processing unit.
- the processing unit determines that the computer simulated or emulated virtual drive unit of the robot falls within a second singularity range wider than the first singularity range, which is the range of the actual singularity of the drive unit. judge.
- the present disclosure can reduce the amount of modifications required to robot programs created by offline programming.
- FIG. 1 is a block diagram showing an example of a programming system according to an embodiment and an example of a main configuration of components included in the programming system;
- FIG. FIG. 2 is a diagram for explaining a driving unit in FIG. 1; 2 is a flowchart showing an example of processing by a processor of the programming device shown in FIG. 1; 2 is a flowchart showing an example of processing by a processor of the programming device shown in FIG. 1; The figure which shows an example of the setting screen for collectively setting the virtual movable range of each drive part.
- FIG. 10 is a diagram showing an example of a setting screen for individually setting the virtual movable range of each drive unit; The figure which shows an example of the setting screen for collectively setting the singularity warning range of each drive part.
- FIG. 10 is a diagram showing an example of a setting screen for individually setting singularity warning ranges for the respective driving units;
- FIG. 1 is a block diagram showing an example of the main configuration of a programming system 1 according to an embodiment and components included in the programming system 1.
- the programming system 1 is a system that can create a robot program for operating the robot 300 by offline programming.
- the programming system 1 includes a programming device 100, a robot control device 200 and a robot 300 as an example.
- the programming device 100 is a device capable of offline programming of robot programs. Also, the programming device 100 can simulate or emulate the robot 300 in virtual space.
- the programming device 100 is, for example, a PC, server, workstation, tablet terminal, or the like.
- the programming device 100 includes, as an example, a processor 101 , a ROM (read-only memory) 102 , a RAM (random-access memory) 103 , an auxiliary storage device 104 , an input device 105 , a display device 106 and a data output section 107 .
- a bus 108 or the like connects these units.
- the processor 101 is a central part of a computer that performs processing such as calculation and control necessary for the operation of the programming device 100, and performs various calculations and processing.
- the processor 101 includes, for example, a CPU (central processing unit), MPU (micro processing unit), SoC (system on a chip), DSP (digital signal processor), GPU (graphics processing unit), ASIC (application specific integrated circuit), PLD (programmable logic device) or FPGA (field-programmable gate array).
- processor 101 is a combination of several of these.
- the processor 101 may be a combination of these with a hardware accelerator or the like.
- the processor 101 controls each part to realize various functions of the programming device 100 based on programs such as firmware, system software, and application software stored in the ROM 102 or the auxiliary storage device 104 . Further, the processor 101 executes processing described later based on the program. Note that part or all of the program may be incorporated in the circuit of the processor 101 .
- Processor 101 is an example of a processing unit.
- a ROM 102 and a RAM 103 are main storage devices of a computer centered on the processor 101 .
- the ROM 102 is a non-volatile memory exclusively used for reading data.
- the ROM 102 stores, for example, firmware among the above programs.
- the ROM 102 also stores data used when the processor 101 performs various processes.
- a RAM 103 is a memory used for reading and writing data.
- the RAM 103 is used as a work area for storing data temporarily used when the processor 101 performs various processes.
- RAM 103 is typically volatile memory.
- the auxiliary storage device 104 is an auxiliary storage device of a computer with the processor 101 at its core.
- the auxiliary storage device 104 is, for example, an EEPROM (electric erasable programmable read-only memory), a HDD (hard disk drive), or a flash memory.
- the auxiliary storage device 104 stores, for example, system software and application software among the above programs.
- the auxiliary storage device 104 stores data used when the processor 101 performs various types of processing, data such as a robot program generated by processing by the processor 101, various set values, and the like.
- the auxiliary storage device 104 also stores information for each model of the robot 300 (hereinafter referred to as "model information").
- the model information includes, for example, various information such as the dimensions and shape of each model, and the movable range and singular point range of each part.
- the model information includes setting information.
- the setting information includes various setting values for each model.
- the setting information includes, for example, settings for a virtual movable range and a singularity warning range, which will be described later.
- the input device 105 accepts operations by the operator of the programming device 100 .
- the input device 105 is, for example, a keyboard, keypad, touchpad, mouse or controller. Also, the input device 105 may be a device for voice input.
- the display device 106 displays a screen for notifying the operator of the programming device 100 of various information.
- the display device 106 is, for example, a display such as a liquid crystal display or an organic EL (electro-luminescence) display.
- a touch panel can also be used as the input device 105 and the display device 106 . That is, a display panel included in the touch panel can be used as the display device 106 and a touch pad included in the touch panel can be used as the input device 105 .
- the display device 106 is an example of a notification unit.
- the data output unit 107 outputs data within the programming device 100 .
- the data output unit 107 is, for example, a device that writes data to a removable storage medium such as semiconductor media, optical media, or magnetic media.
- the data output unit 107 is an interface for wired communication by connecting with another device using a communication cable such as a USB (universal serial bus) cable or an Ethernet (registered trademark) cable.
- the data output unit 107 is an interface for wireless communication with another device.
- a bus 108 includes a control bus, an address bus, a data bus, etc., and transmits signals exchanged with each part of the programming device 100 .
- the robot control device 200 is a device that controls the robot 300 based on a program such as a robot program.
- the robot control device 200 includes, as an example, a processor 201, a ROM 202, a RAM 203, an auxiliary storage device 204, a data input section 205 and a control interface 206.
- a bus 207 or the like connects these units.
- the processor 201 is a central part of a computer that performs processing such as calculation and control necessary for the operation of the robot control device 200, and performs various types of calculation and processing.
- the processor 201 is, for example, CPU, MPU, SoC, DSP, GPU, ASIC, PLD, FPGA, or the like.
- processor 201 is a combination of several of these.
- the processor 201 may be a combination of these with a hardware accelerator or the like.
- the processor 201 controls each part to realize various functions of the robot control device 200 based on programs such as firmware, system software, application software, and robot programs stored in the ROM 202 or the auxiliary storage device 204 . Further, the processor 201 executes processing described later based on the program. Note that part or all of the program may be incorporated in the circuit of the processor 201 .
- a ROM 202 and a RAM 203 are main storage devices of a computer centered on the processor 201 .
- the ROM 202 is a non-volatile memory exclusively used for reading data.
- the ROM 202 stores, for example, firmware among the above programs.
- the ROM 202 also stores data used when the processor 201 performs various processes.
- a RAM 203 is a memory used for reading and writing data.
- the RAM 203 is used as a work area for storing data temporarily used when the processor 201 performs various processes.
- RAM 203 is typically volatile memory.
- the auxiliary storage device 204 is an auxiliary storage device of a computer with the processor 201 at its core.
- Auxiliary storage device 204 is, for example, EEPROM, HDD, or flash memory.
- the auxiliary storage device 204 stores, among the above programs, system software, application software, robot programs, and the like, for example.
- the auxiliary storage device 204 stores data used by the processor 201 to perform various processes, data generated by the processes performed by the processor 201, various setting values, and the like.
- the data input unit 205 receives inputs such as data output by the data output unit 107 of the programming device 100 .
- the data input unit 205 is, for example, a device that reads data stored on a removable storage medium.
- the data input unit 205 is an interface for wired or wireless communication with the data output unit 107 or the like.
- the control interface 206 is an interface for the robot control device 200 to communicate with the robot 300.
- Robot controller 200 controls robot 300 via control interface 206 .
- a bus 207 includes a control bus, an address bus, a data bus, etc., and transmits signals sent and received by each part of the robot control device 200 .
- the robot 300 is, for example, a manipulator, a robot arm, or a robot equipped with these.
- the robot 300 is, for example, an articulated robot.
- Robot 300 illustratively includes one or more drives 310 .
- the robot 300 arranged in the virtual space is an example of a virtual robot.
- the drive unit 310 of the virtual robot is specifically referred to as a drive unit 310b.
- Driver 310b is an example of a virtual driver.
- the drive unit 310 is a part driven by a motor such as a servomotor.
- the drive unit 310 is rotationally driven around a drive shaft, for example.
- FIG. 2 is a diagram for explaining the driving section 310 and the driving section 310b.
- the drive unit 310 includes a drive shaft 311 , a root arm 312 and a tip arm 313 .
- the drive portion 310 b similarly includes a drive shaft 311 , a proximal arm 312 and a distal arm 313 .
- FIG. 2 also shows a movable range R1, a virtual movable range R2, a singularity range R3, and a singularity warning range R4.
- the movable range R1 is an example of a first movable range.
- the virtual movable range R2 is an example of a second movable range.
- the singularity range R3 is an example of a first singularity range.
- the singularity warning range R4 is an example of a second singularity range.
- a proximal arm 312 and a distal arm 313 are two arms connected by a drive shaft 311 .
- the tip-side arm 313 is closer to the tip side of the robot arm 300 than the root-side arm 312 and is next to the root-side arm 312 to the root side of the robot arm 300 .
- the tip side arm 313 may also be the root side arm 312 of the other drive section 310 .
- the front arm 313 is freely rotatable about the drive shaft 311 with respect to the base arm 312 within a movable range R1.
- the movable range R1 is, for example, a range from an angle D11 [°] to an angle D12 [°] with the reference angle D0 set to 0 [° (degrees)].
- the angle D11 and the angle D12 are D11 ⁇ 0 ⁇ D12.
- the programming device 100 sets a virtual movable range R2 for each drive unit 310b.
- the virtual movable range R2 is a range narrower than the movable range R1.
- the range of motion R1 includes the virtual range of motion R2.
- the virtual movable range R2 is a range of an angle D21 [°] or more and an angle D22 [°] or less with the reference angle D0 being 0 [°].
- the angle D21 and the angle D22 are D21 ⁇ 0 ⁇ D22.
- the difference between the angles D11 and D21 is, for example, 0° to 10°.
- the difference between the angles D12 and D22 is, for example, 0° to 10°.
- a singular point range R3 is a range where the front arm 313 is a singular point.
- the programming device 100 also sets a singularity warning range R4 for each driving unit 310b.
- the singularity warning range R4 includes the singularity range R3 and is wider than the singularity range R3.
- the singular point range R3 is a range of an angle D31 [°] or more and an angle D32 [°] or less when the reference angle D0 is 0 [°].
- the angle D31 and the angle D32 are D31 ⁇ 0 ⁇ D32.
- the singularity warning range R4 is a range from an angle D41 [°] to an angle D42 [°] where the reference angle D0 is 0 [°].
- the angle D41 and the angle D42 are D41 ⁇ 0 ⁇ D42.
- the difference between the angles D41 and D31 is, for example, 0° to 6°.
- the difference between the angle D42 and the angle D32 is, for example, 0° to 6°.
- FIG. 2 shows an angle D5.
- the angle D5 is an angle indicating the rotational position of the front arm 313 with respect to the base arm 312 when the reference angle D0 is 0[°].
- D5 shown in FIG. 2 satisfies D22 ⁇ D5 ⁇ D12, but is not limited to this.
- FIGS. 3 and 4 are flowcharts showing an example of processing by the processor 101 of the programming device 100.
- the processor 101 executes the processes of FIGS. 3 and 4 based on programs stored in the ROM 102 or the auxiliary storage device 104, for example.
- the processor 101 of the programming device 100 starts the processing shown in FIG. 3, for example, when application software for offline programming is activated.
- the processor 101 determines settings such as the model of the robot 300 for which the robot program is to be created. For this purpose, the processor 101 acquires, for example, model information about the model of the robot 300 from the auxiliary storage device 104 or the like. The model information of which model the processor 101 acquires is based on, for example, the content of the operation input by the operator of the programming device 100 using the input device 105 . Alternatively, the processor 101 may acquire model information of a predetermined model.
- the processor 101 determines the placement of the robot 300, workpieces, obstacles, and other necessary objects in the virtual space.
- the processor 101 determines the setting of the arrangement, for example, based on the contents of operation input by the operator of the programming device 100 using the input device 105 .
- the processor 101 may determine the placement settings based on information obtained from the auxiliary storage device 104 or other devices, for example.
- the processor 101 determines whether or not a teaching point indicating the destination of the robot 300 has been specified.
- the teaching point is specified based on an operation input by the operator of programming device 100 .
- the teach point is designated based on input of information such as a command from another device.
- the processor 101 may automatically designate teaching points.
- the teaching point may be designated by other methods.
- the teaching point specified here is called a temporary teaching point. If the temporary teaching point is not designated, processor 101 determines No in step ST13, and advances the process to step ST14.
- step ST14 the processor 101 determines whether or not to start setting the warning range. For example, when the operator of the programming device 100 performs an operation to start setting the warning range, the processor 101 determines to start setting the warning range. If the setting of the warning range is not started, the processor 101 determines No in step ST14 and returns the process to step ST13. Thus, the processor 101 enters a standby state in which steps ST13 and ST14 are repeated until the provisional teaching point is designated or until it is determined to start setting the warning range.
- step ST13 When the processor 101 is in the standby state of steps ST13 and ST14 and a teaching point indicating the destination of the robot 300 is designated, the processor 101 determines Yes in step ST13 and advances the process to step ST15.
- the processor 101 advances the simulation of the movement path of the robot 300 in the virtual space from the latest teaching point of the robot program being created to the temporary teaching point by a predetermined amount.
- the latest teach point is the teach point added at the end of the robot programming. If the simulation has progressed halfway in the previous execution of step ST15, the processor 101 advances the simulation from the middle by a predetermined amount.
- the processor 101 also starts the simulation and advances it by a predetermined amount if the simulation has not yet started. However, the processor 101 advances the simulation to completion if less than the predetermined amount remains to complete the simulation. In the simulation, the processor 101 performs the simulation so that all the drive units 310b do not enter the virtual movable range R2 and the singular point warning range R4.
- the processor 101 determines that any of the drive units 310b is virtually movable. A moving route that goes outside the range R2 or enters the singularity warning range R4 may be simulated. Further, the processor 101 prevents all of the drive units 310b from entering the outside of the movable range R1 and the singularity range R3 even if at least one of the drive units 310b enters the outside of the virtual movable range R2 or the singularity warning range R4. Simulate.
- the processor 101 determines whether any of the drive units 310b is out of the movable range R1. Alternatively, a moving route that falls within the singular point range R3 may be simulated.
- the processor 101 executes the stop processing shown in FIG. It should be noted that the processor 101 performs a stop process for the process of the most recent step ST15 in the simulation being executed.
- the stopping process is a process of determining whether or not to stop the simulation based on the processing result of the step ST15, and stopping the simulation when it is decided to stop.
- the processor 101 advances the process to step ST31 in FIG. 4 upon starting the execution of the stop process.
- the processor 101 determines whether or not at least one of the front arms 313 of the robot 300 has newly moved out of the virtual movable range R2 due to the most recent processing of step ST15 in the simulation being executed. That the front arm 313 is out of the virtual movable range R2 indicates that the angle D5 of the front arm 313 is less than the angle D21 or greater than the angle D22. Note that the processor 101 considers that the front arm 313 does not go outside the virtual movable range R2 regardless of the angle D5 for the drive unit 310b for which the virtual movable range R2 is disabled by setting. If at least one of the front arms 313 newly moves out of the virtual movable range R2, the processor 101 determines Yes in step ST31, and advances the process to step ST32.
- the processor 101 generates an image corresponding to the first warning screen.
- Processor 101 then instructs display device 106 to display this generated image.
- the display device 106 Upon receiving the display instruction, the display device 106 displays the first warning screen.
- the first warning screen includes an image indicating that the front arm 313 is going out of the virtual movable range R2. Also, the first warning screen includes an image showing which front arm 313 will go out of the virtual movable range R2.
- a character is a kind of image.
- the processor 101 determines whether or not to stop the simulation. For example, the processor 101 refers to the setting information and determines to stop the simulation when the setting is to stop the simulation when the front arm 313 goes out of the virtual movable range R2.
- step ST33 If the processor 101 does not stop the simulation, it determines No in step ST33 and advances the process to step ST34. If none of the drive units 310b has newly moved outside the virtual movable range R2, the processor 101 determines No in step ST31, and advances the process to step ST34.
- step ST34 the processor 101 determines whether or not at least one of the leading arms 313 has newly entered the singularity warning range R4 due to the most recent processing of step ST15 in the simulation being executed. That the front arm 313 is within the singularity warning range R4 means that the angle D5 of the front arm 313 is greater than or equal to the angle D41 and less than the angle D42. Note that the processor 101 considers that the front arm 313 of the drive unit 310b for which the singularity warning range R4 is disabled by setting does not enter the singularity warning range R4 regardless of the angle D5. If at least one of the front arms 313 has newly entered the singularity warning range R4, the processor 101 determines Yes in step ST34, and advances the process to step ST35.
- the processor 101 generates an image corresponding to the second warning screen.
- Processor 101 then instructs display device 106 to display this generated image.
- the display device 106 displays the second warning screen.
- the second warning screen includes an image showing that the distal arm 313 will enter the singularity warning range R4. Also, the second warning screen includes an image showing which front arm 313 enters the singularity warning range R4.
- the processor 101 determines whether or not to stop the simulation. For example, the processor 101 refers to the setting information and determines to stop the simulation if the setting is to stop the simulation when the front arm 313 enters the singular point warning range R4.
- processor 101 determines No in step ST36 and advances the process to step ST37. If none of the front arms 313 newly enter the singularity warning range R4, the processor 101 determines No in step ST34, and advances the process to step ST37.
- step ST37 the processor 101 determines whether or not at least one of the leading arms 313 has newly moved out of the movable range R1 due to the most recent processing of step ST15 in the simulation being executed. If at least one of the front arms 313 newly moves out of the movable range R1, the processor 101 determines Yes in step ST37, and advances the process to step ST38.
- the processor 101 generates an image corresponding to the third warning screen.
- Processor 101 then instructs display device 106 to display this generated image.
- the display device 106 displays the third warning screen.
- the third warning screen includes an image indicating that the front arm 313 is going out of the movable range R1. Also, the third warning screen includes an image indicating which front arm 313 is out of the movable range R1.
- step ST39 the processor 101 determines whether or not at least one of the leading arms 313 has newly entered the singular point range R3 by the most recent processing of step ST15 in the simulation being executed. If none of the front arms 313 newly enter the singular point range R3, the processor 101 determines No in step ST39, and terminates the stop processing shown in FIG. On the other hand, if at least one of the front arms 313 has newly entered the singularity warning range R4, the processor 101 determines Yes in step ST39, and advances the process to step ST40.
- the processor 101 generates an image corresponding to the fourth warning screen.
- Processor 101 then instructs display device 106 to display this generated image.
- the display device 106 displays the fourth warning screen.
- the fourth warning screen includes an image showing that the distal arm 313 enters the singularity warning. Also, the fourth warning screen includes an image showing which front arm 313 enters the singular point range R3.
- step ST36 determines Yes and advances the process to step ST41. If the processor 101 determines to stop the simulation in step ST33, it determines Yes and advances the process to step ST41. Moreover, the processor 101 advances a process to step ST41 after the process of step ST38 or step ST41.
- the processor 101 stops the running simulation. That is, the processor 101 stops the motion of the virtual robot.
- the processor 101 outputs a sound such as an alarm indicating that the simulation has stopped from a speaker or the like. Also, the processor 101 may cause the display device 106 to display an image indicating that the simulation has stopped. After the process of step ST41, the processor 101 ends the stop process shown in FIG.
- step ST16 After finishing the stop process, the processor 101 finishes the process of step ST16 in FIG. 3 and advances the process to step ST17.
- step ST17 the processor 101 determines whether or not the simulation was stopped in the most recent processing of step ST16. After the simulation, the processor 101 determines Yes in step ST17 and returns the process to step ST13. On the other hand, if the simulation has not been stopped, the processor 101 determines No in step ST17 and advances the process to step ST18.
- step ST18 the processor 101 determines whether or not the simulation of the moving route from the latest taught point to the tentative taught point has been completed. If the simulation has not been completed, the processor 101 determines No in step ST18 and returns the process to step ST15. Then, the processor 101 continues the simulation in step ST15. On the other hand, if the simulation is completed, the processor 101 determines Yes in step ST18, and advances the process to step ST20.
- the processor 101 generates an image corresponding to the teaching point addition screen.
- Processor 101 then instructs display device 106 to display this generated image.
- the display device 106 displays the teaching point screen.
- the teaching point screen is a screen that indicates the completion of the simulation of the movement route from the latest teaching point to the temporary teaching point and the result of the simulation.
- the teaching point screen includes an image indicating that the temporary teaching point can be added to the robot program as a teaching point.
- the teaching point screen includes an image showing the moving route from the latest teaching point to the temporary teaching point.
- the teaching point screen shows that in the simulation of the movement path from the latest teaching point to the temporary teaching point, if any of the front arms 313 is out of the virtual movable range R2, the front arm 313 An image showing going out of the virtual movable range R2 is included.
- the teaching point screen displays that when any of the front arms 313 is within the singularity warning range R4 in the simulation of the movement path from the latest teaching point to the temporary teaching point, the front arm 313 It contains an image showing entry into the point warning range R4.
- step ST20 the processor 101 determines whether or not a temporary teaching point indicating the destination of the robot 300 has been specified. That is, the processor 101 performs the same process as step ST13. If the temporary teaching point is not specified, processor 101 determines No in step ST20, and advances the process to step ST21.
- step ST21 the processor 101 determines whether or not to start setting the warning range. That is, the processor 101 performs the same process as step ST14. If the setting of the warning range is not started, processor 101 determines No in step ST21 and advances the process to step ST22.
- the processor 101 determines whether or not to add the provisional teaching point as a teaching point to the robot program being created.
- the operator of the programming device 100 decides whether or not to add a teaching point by looking at the content displayed on the teaching point screen, for example. Then, if the operator wants to add a teaching point, the operator performs an operation using the input device 105 to instruct to add the teaching point.
- the processor 101 determines, for example, to add the teaching point in response to the operation being performed. Further, the processor 101 may automatically determine whether or not to add the teaching point based on the simulation result of the movement route from the latest teaching point to the temporary teaching point.
- the processor 101 may determine to add a teaching point if none of the front arms 313 go out of the virtual movable range R2 and does not enter the singular point warning range R4 in the simulation. If the processor 101 does not add the teaching point, it determines No in step ST22 and returns the process to step ST20. Thus, the processor 101 is in a standby state in which steps ST20 to ST22 are repeated until a teaching point indicating the destination of the robot 300 is specified, a determination is made to start setting the warning range, or a determination is made to add a teaching point. becomes.
- step ST20 When the processor 101 is in the standby state of steps ST20 to ST22 and a tentative teaching point is designated, the processor 101 determines Yes in step ST20 and returns the process to step ST15.
- step ST23 the processor 101 adds the temporary teaching point to the robot program being created as a teaching point. That is, the processor 101, based on the result of the simulation of the movement path of the robot 300 from the latest teaching point to the temporary teaching point, determines the robot 300 for moving along the movement path from the latest teaching point to the temporary teaching point. A program demonstrating the operation of 300 is added to the robot program under construction. Note that the temporary teaching point becomes the latest teaching point by the processing of step ST23. The processor 101 returns the process to step ST13 after the process of step ST23.
- processor 101 determines Yes in step ST14 and advances the process to step ST24. If the processor 101 determines to start setting the warning range in the standby state of steps ST20 to ST22, it determines Yes in step ST21 and advances the process to step ST24.
- the processor 101 generates images corresponding to the setting screens shown in FIGS. Processor 101 then instructs display device 106 to display this generated image. Upon receiving the display instruction, the display device 106 displays the setting screen.
- 5 to 8 are diagrams each showing an example of the setting screen.
- the processor 101 displays different setting screens depending on, for example, what settings are to be made.
- the setting to be made is based on, for example, the details of the operation performed by the operator of the programming device 100 .
- FIG. 5 is a diagram showing an example of a setting screen SC1 for collectively setting the virtual movable range R2 of each drive unit 310b.
- the setting screen SC1 includes an area AR11, an area AR12, a default value button B11, a return button B12, and an enter button B13.
- the area AR11 is an input field for inputting a set value indicating how much smaller the virtual movable range R2 is compared to the movable range R1. As an example, 10[%] is entered in the area AR11 in FIG. In this case, if the movable range R1 is -140° to 140°, the virtual movable range R2 is -126° to 126°.
- D21 D11 ⁇ (100 ⁇ C1) ⁇ 0.01 (1)
- D22 D12+(D12-D11) ⁇ C1 ⁇ 0.01 ⁇ 2 (4) may be
- the area AR11 may be an input field for inputting an angle instead of a ratio.
- the movable range R1 is -140° to 140°
- the virtual movable range R2 is -130° to 130°.
- the angle input to the area AR11 is C2
- D21 D11-C2
- C2 is a number greater than 0 and less than 100.
- the area AR12 is an area for inputting a setting as to whether or not to stop the simulation when one of the front arms 313 goes out of the virtual movable range R2.
- the area AR12 indicates that the simulation is set to stop if the check box is ON, that is, if the value of the area AR12 is True.
- Area AR12 indicates that the simulation is not stopped when the check box is off, that is, when the value of area AR12 is False.
- the default value button B11 is a button for entering default values in the areas AR11 and AR12.
- the processor 101 inputs predetermined default values to the areas AR11 and AR12.
- the return button B12 is a button operated by the operator to end the display of the setting screen without changing the settings.
- the decision button B13 is a button operated by the operator when saving the contents entered on the setting screen and changing the settings.
- FIG. 6 is a diagram showing an example of the setting screen SC2 for individually setting the virtual movable range R2 of each drive unit 310b.
- the setting screen SC2 includes an area AR21, a plurality of areas AR22, a default value button B21, a return button B12, and an enter button B13.
- Each area AR22 includes areas AR221 to AR225.
- the area AR21 is an area for inputting a setting as to whether or not to stop the simulation when one of the front arms 313 goes out of the virtual movable range R2.
- the area AR21 indicates that the simulation is set to stop when the check box is ON, that is, when the value of the area AR21 is True.
- An area AR21 indicates that the simulation is not stopped when the check box is off, that is, when the value of the area AR21 is False.
- Each area AR22 corresponds to each different drive unit 310b on a one-to-one basis.
- J1 to J3 shown in each area AR22 are examples of numbers for identifying which driver 310b they correspond to.
- a region AR221 displays the angle D11 for the corresponding drive unit 310b.
- Area AR222 is an input field for inputting angle D21 for corresponding drive unit 310b.
- Area AR223 is an input field for inputting angle D22 for corresponding driving unit 310b.
- Area AR224 displays angle D12 for corresponding driver 310b.
- the area AR225 is an area for inputting a setting as to whether or not to enable the virtual movable range R2 of the corresponding drive unit 310b.
- the area AR225 indicates that the virtual movable range R2 is enabled when the check box is ON, that is, when the value of the area AR225 is True.
- An area AR225 indicates that the virtual movable range R2 is invalidated if the check box is in an OFF state, that is, if the value of the area AR225 is False or the like.
- the setting screen SC2 may allow setting of the virtual movable range R2 by inputting a ratio in the same manner as the setting screen SC1.
- the default value button B21 is a button for entering default values in the areas AR21, AR222, AR223, and AR225.
- the processor 101 inputs predetermined default values to the areas AR21, AR222, AR223, and AR225.
- the default value is included in model information, for example.
- FIG. 7 is a diagram showing an example of the setting screen SC3 for collectively setting the singularity warning range R4 of each driving unit 310b.
- the setting screen SC3 includes an area AR31, an area AR32, a default value button B31, a return button B12, and an enter button B13.
- the area AR31 is an input field for inputting a set value indicating how large the singularity warning range R4 is compared to the singularity range R3.
- 2 [times] is input as an example. In this case, if the singular point range R3 is -5° to 5°, the virtual movable range R2 is -10° to 10°.
- D41 D31 ⁇ C3 (7)
- the angle may be input for the area AR31. The angles indicate, for example, the difference between the angles D41 and D31 and the difference between the angles D42 and D32.
- the area AR32 is an area for inputting a setting as to whether or not to stop the simulation when one of the front arms 313 enters the singular point range R3.
- the area AR32 indicates that the simulation is set to stop if the check box is ON, that is, if the value of the area AR32 is True.
- Area AR32 indicates that the simulation is not stopped when the check box is off, that is, when the value of area AR32 is False.
- the default value button B31 is a button for entering default values in the areas AR31 and AR32.
- the processor 101 inputs predetermined default values to the areas AR31 and AR32.
- the default value is included in model information, for example.
- FIG. 8 is a diagram showing an example of the setting screen SC4 for individually setting the singularity warning range R4 of each drive unit 310b.
- the setting screen SC4 includes an area AR41, a plurality of areas AR42, a default value button B41, a return button B12, and an enter button B13.
- Each area AR42 includes an area AR421 and an area AR422.
- the area AR41 is an area for inputting a setting as to whether or not to stop the simulation when any of the front arms 313 enters the singular point warning range R4.
- an area AR41 indicates that the simulation is set to stop if the check box is ON, that is, if the value of the area AR41 is True.
- An area AR41 indicates that the simulation is not stopped when the check box is off, that is, when the value of the area AR41 is False.
- the number of areas AR42 is the same as the number of drive units 310b. Each area AR42 corresponds to each different drive unit 310b on a one-to-one basis.
- the area AR421 is an input field for inputting a set value indicating how large the singularity warning range R4 for the corresponding drive unit 310b is compared to the singularity range R3. It should be noted that the area AR421 may be able to input an angle.
- Area AR422 is an area for inputting a setting as to whether or not singularity warning range R4 of corresponding drive unit 310b is to be enabled. As an example, an area AR422 indicates that the singularity warning range R4 is valid if the check box is ON, that is, if the value of the area AR422 is True. An area AR422 indicates that the singularity warning range R4 is invalidated if the check box is in an OFF state, that is, if the value of the area AR422 is False or the like.
- the default value button B41 is a button for entering default values in the areas AR41, AR421, and AR422.
- the processor 101 inputs predetermined default values to the areas AR41, AR421, and AR422.
- the default value is included in model information, for example.
- the operator of the programming device 100 operates the setting screen as shown above to input desired setting contents.
- step ST25 the processor 101 determines whether or not an operation has been performed to instruct to return to the original screen without changing the settings. That is, the processor 101 determines whether or not a predetermined operation such as operating the return button B12 has been performed. Processor 101 determines No in step ST25 and advances the process to step ST26 unless an operation instructing to return to the original screen without changing the settings is performed.
- step ST26 the processor 101 determines whether or not an operation instructing a change of settings has been performed. That is, the processor 101 determines whether or not a predetermined operation such as operating the enter button B13 has been performed. Processor 101 determines No in step ST26 and returns the process to step ST25 unless an operation to instruct the change of setting is performed. Thus, the processor 101 enters a standby state in which steps ST25 and ST26 are repeated until an operation instructing to return to the original screen without changing the settings or an operation instructing to change the settings is performed.
- step ST25 When the processor 101 is in the standby state of steps ST25 and ST26, if an operation instructing to return to the original screen without changing the settings is performed, the processor 101 determines Yes in step ST25, The process is returned to step ST13. Also, at this time, the processor 101 controls the display device 106 to end the display of the setting screen.
- step ST26 When the processor 101 is in the standby state of steps ST25 and ST26, if an operation instructing a change of settings is performed, the processor 101 determines Yes in step ST26 and advances the process to step ST27.
- step ST27 the processor 101 saves the setting content based on the content input on the setting screen in the setting information of the auxiliary storage device 104 or the like.
- the processor 101 returns the process to step ST25 after the process of step ST27.
- the programming device 100 of the embodiment determines that the drive unit 310b of the virtual robot that simulates or emulates the robot 300 enters the singularity warning range R4, which is wider than the actual singularity range R3.
- the programming device 100 of the embodiment can detect that the drive unit 310b enters the singularity warning range R4, and perform various processes such as stopping the simulation and issuing a warning.
- the programming device 100 of the embodiment can prevent the drive unit 310 of the actual robot 300 operating with the robot program created by offline programming from entering the singular point range R3. This also allows the programming device 100 of the embodiment to reduce the amount of modifications required to a robot program created by offline programming.
- the programming device 100 of the embodiment notifies that the drive unit 310b of the virtual robot enters the singularity warning range R4. As a result, the programming device 100 of the embodiment prevents the driving unit 310 of the actual robot 300 operating with the robot program created by offline programming from entering the singular point range R3, and corrects the amount of correction required for the robot program. can be reduced.
- the programming device 100 of the embodiment stops the simulation when the virtual robot drive unit 310b enters the singularity warning range R4. That is, programming device 100 stops the operation of the virtual robot. This prevents the programming device 100 from adding a teaching point to the robot program such that the drive unit 310b enters the singularity warning range R4. As a result, the programming device 100 of the embodiment prevents the driving unit 310 of the actual robot 300 operating with the robot program created by offline programming from entering the singular point range R3, and corrects the amount of correction required for the robot program. can be reduced.
- the programming device 100 of the embodiment can set the width of the singularity warning range R4.
- the robot program creator, the administrator of the programming system 1, etc. can change the settings to facilitate offline programming, control the quality of robot programming created by offline programming, and the like. It is considered possible.
- the programming device 100 of the embodiment determines that the virtual robot's drive unit 310b goes out of the virtual movable range R2, which is narrower than the actual movable range R1.
- the programming device 100 of the embodiment can detect that the drive unit 310b is out of the virtual movable range R2, and can perform various processes such as stopping the simulation and issuing a warning.
- the programming device 100 of the embodiment can prevent the driving section 310 of the actual robot 300 operating with the robot program created by offline programming from entering the movable range R1. This also allows the programming device 100 of the embodiment to reduce the amount of modifications required to a robot program created by offline programming.
- the programming device 100 of the embodiment notifies that the drive unit 310b of the virtual robot will move out of the virtual movable range R2. As a result, the programming device 100 of the embodiment prevents the drive unit 310 of the actual robot 300 operating with the robot program created by offline programming from going out of the movable range R1, and corrects the amount of correction required for the robot program. can be reduced.
- the programming device 100 of the embodiment stops the simulation when the drive unit 310b of the virtual robot goes out of the virtual movable range R2. That is, programming device 100 stops the operation of the virtual robot. This prevents the programming device 100 from adding to the robot program a teaching point that causes the drive unit 310b to go outside the virtual movable range R2. As a result, the programming device 100 of the embodiment prevents the drive unit 310 of the actual robot 300 operating with the robot program created by offline programming from going out of the movable range R1, and corrects the amount of correction required for the robot program. can be reduced.
- the programming device 100 of the embodiment can set the width of the virtual movable range R2.
- the robot program creator, the administrator of the programming system 1, etc. can change the settings to facilitate offline programming, control the quality of robot programming created by offline programming, and the like. It is considered possible.
- the above embodiment can also be modified as follows.
- the programming device 100 may notify the content displayed on the display device 106 in the above embodiment by other methods such as outputting the contents by voice from a speaker.
- the speaker is an example of the notification unit.
- the unit of angle used in the above embodiment is [°]. However, the units of angles used in the embodiments may be other units such as [rad]. Also, the unit of angle used in the embodiment is not limited.
- the unit of ratio used in the above embodiment is [%] or [times]. However, the unit of ratio used in the embodiment is not limited.
- the processor 101 may implement part or all of the processing implemented by the program in the above embodiment by means of a circuit hardware configuration.
- a program that implements the processing of the embodiment is transferred, for example, in a state stored in a device.
- the device may be transferred without the program stored.
- the program may be transferred separately and written into the device. Transfer of the program at this time can be realized, for example, by recording it on a removable storage medium or downloading it via a network such as the Internet or a LAN (local area network).
- 1 programming system 100 programming device 101, 201 processor 102, 202 ROM 103, 203 RAM 104, 204 auxiliary storage device 105 input device 106 display device (notification unit) 107 data output section 108, 207 bus 200 robot controller 205 data input section 206 control interface 300 robot 310 drive section 310b drive section (virtual drive section) 311 drive shaft 312 root side arm 313 tip side arm R1 movable range (first movable range) R2 virtual movable range (second movable range) R3 singularity range (first singularity range) R4 Singularity warning range (second singularity range)
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
Description
ROM102は、専らデータの読み出しに用いられる不揮発性メモリである。ROM102は、上記のプログラムのうち、例えばファームウェアなどを記憶する。また、ROM102は、プロセッサー101が各種の処理を行う上で使用するデータなども記憶する。
RAM103は、データの読み書きに用いられるメモリである。RAM103は、プロセッサー101が各種の処理を行う上で一時的に使用するデータを記憶するワークエリアなどとして利用される。RAM103は、典型的には揮発性メモリである。
ROM202は、専らデータの読み出しに用いられる不揮発性メモリである。ROM202は、上記のプログラムのうち、例えばファームウェアなどを記憶する。また、ROM202は、プロセッサー201が各種の処理を行う上で使用するデータなども記憶する。
RAM203は、データの読み書きに用いられるメモリである。RAM203は、プロセッサー201が各種の処理を行う上で一時的に使用するデータを記憶するワークエリアなどとして利用される。RAM203は、典型的には揮発性メモリである。
先側アーム313は、根本側アーム312に対して駆動軸311を中心に、可動範囲R1内で自由に回転可能である。可動範囲R1は、一例として、基準角度D0を0[°(度)]として角度D11[°]以上角度D12[°]以下の範囲である。なお、角度D11及び角度D12は、D11<0<D12である。角度D11及び角度D12は、例えば、D11=-D12である。
ステップST39においてプロセッサー101は、実行中のシミュレーションにおいて先側アーム313の少なくともいずれかが、直近のステップST15の処理によって新たに特異点範囲R3に入ったか否かを判定する。プロセッサー101は、いずれの先側アーム313も新たに特異点範囲R3に入っていないならば、ステップST39においてNoと判定して、図4に示す停止処理を終了する。対して、プロセッサー101は、先側アーム313の少なくともいずれかが新たに特異点警告範囲R4に入ったならば、ステップST39においてYesと判定して、処理をステップST40へと進める。
ステップST23においてプロセッサー101は、仮教示点を、作成中のロボットプログラムに教示点として追加する。すなわち、プロセッサー101は、最新の教示点から仮教示点までのロボット300の移動経路のシミュレーションの結果に基づき、最新の教示点から仮教示点までのロボット300が当該移動経路で移動するためのロボット300の動作を示すプログラムを、作成中のロボットプログラムに追加する。なお、ステップST23の処理によって、仮教示点が最新の教示点となる。プロセッサー101は、ステップST23の処理の後、処理をステップST13へと戻す。
D21=D11×(100-C1)×0.01 (1)
D22=D12×(100-C1)×0.01 (2)
である。あるいは、
D21=D11-(D12-D11)×C1×0.01÷2 (3)
D22=D12+(D12-D11)×C1×0.01÷2 (4)
であってもよい。
D21=D11-C2 (5)
D22=D12-C2 (6)
である。なお、C2は、0超100未満の数である。
なお、設定画面SC2は、設定画面SC1と同様に割合を入力して仮想可動範囲R2を設定することができてもよい。
D41=D31×C3 (7)
D42=D32×C3 (8)
である。あるいは、
D41=D31-(D32-D31)×(C3-1) (9)
D42=D32+(D32-D31)×(C3-1) (10)
であってもよい。なお、C3は、0以上の数である。なお、領域AR31は、角度を入力することができてもよい。当該角度は、例えば、角度D41と角度D31の差、及び角度D42と角度D32の差を示す。
プログラミング装置100は、上記の実施形態で表示デバイス106に表示することで報知する内容を、スピーカーから音声で出力するなどの他の方法によって報知してもよい。当該スピーカーは、報知部の一例である。
100 プログラミング装置
101,201 プロセッサー
102,202 ROM
103,203 RAM
104,204 補助記憶装置
105 入力デバイス
106 表示デバイス(報知部)
107 データ出力部
108,207 バス
200 ロボット制御装置
205 データ入力部
206 制御インターフェース
300 ロボット
310 駆動部
310b 駆動部(仮想駆動部)
311 駆動軸
312 根本側アーム
313 先側アーム R1 可動範囲(第1の可動範囲)
R2 仮想可動範囲(第2の可動範囲)
R3 特異点範囲(第1の特異点範囲)
R4 特異点警告範囲(第2の特異点範囲)
Claims (9)
- ロボットの駆動部をコンピューターでシミュレート又はエミュレートした仮想駆動部が前記駆動部の実際の特異点の範囲である第1の特異点範囲より広い第2の特異点範囲に入ることを判定する処理部を備えるプログラミング装置。
- 前記処理部は、前記仮想駆動部が前記第2の特異点範囲に入ると判定した場合、前記仮想駆動部が前記第2の特異点範囲に入ることを報知するよう報知部を制御する、請求項1に記載のプログラミング装置。
- 前記処理部は、前記仮想駆動部が前記第2の特異点範囲に入ると判定した場合、前記仮想駆動部の動作を停止する、請求項1又は請求項2に記載のプログラミング装置。
- 前記処理部は、前記第2の特異点範囲の設定変更を指示する入力に基づき前記第2の特異点範囲を設定する、請求項1乃至請求項3のいずれか1項に記載のプログラミング装置。
- 前記処理部は、前記仮想駆動部が前記駆動部の実際の可動範囲である第1の可動範囲より狭い第2の可動範囲の外に出ることを判定する、請求項1乃至請求項4のいずれか1項に記載のプログラミング装置。
- 前記処理部は、前記仮想駆動部が前記第2の可動範囲の外に出ると判定した場合、前記仮想駆動部が前記第2の可動範囲の外に出ることを報知するよう報知部を制御する、請求項5に記載のプログラミング装置。
- 前記処理部は、前記仮想駆動部が前記第2の可動範囲の外に出ると判定した場合、前記仮想駆動部の動作を停止する、請求項5又は請求項6に記載のプログラミング装置。
- 前記処理部は、前記第2の可動範囲の設定変更を指示する入力に基づき前記第2の可動範囲を設定する、請求項5乃至請求項7のいずれか1項に記載のプログラミング装置。
- プログラミング装置のプロセッサーを、
駆動部をコンピューターでシミュレート又はエミュレートした仮想駆動部が、前記駆動部の実際の特異点の範囲である第1の特異点範囲より広い第2の特異点範囲に入ることを判定する処理部として機能させるプログラム。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE112021007218.8T DE112021007218T5 (de) | 2021-05-26 | 2021-05-26 | Programmiervorrichtung und Programm |
CN202180097575.8A CN117222500A (zh) | 2021-05-26 | 2021-05-26 | 编程装置及程序 |
US18/555,691 US20240198527A1 (en) | 2021-05-26 | 2021-05-26 | Programming device and program |
JP2023523834A JPWO2022249363A1 (ja) | 2021-05-26 | 2021-05-26 | |
PCT/JP2021/020083 WO2022249363A1 (ja) | 2021-05-26 | 2021-05-26 | プログラミング装置及びプログラム |
TW111116682A TW202313282A (zh) | 2021-05-26 | 2022-05-03 | 程式編寫裝置及程式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2021/020083 WO2022249363A1 (ja) | 2021-05-26 | 2021-05-26 | プログラミング装置及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022249363A1 true WO2022249363A1 (ja) | 2022-12-01 |
Family
ID=84228652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2021/020083 WO2022249363A1 (ja) | 2021-05-26 | 2021-05-26 | プログラミング装置及びプログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US20240198527A1 (ja) |
JP (1) | JPWO2022249363A1 (ja) |
CN (1) | CN117222500A (ja) |
DE (1) | DE112021007218T5 (ja) |
TW (1) | TW202313282A (ja) |
WO (1) | WO2022249363A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63260779A (ja) * | 1987-04-20 | 1988-10-27 | 富士通株式会社 | 直接教示制御方式 |
JP2000015593A (ja) * | 1998-06-30 | 2000-01-18 | Toshiba Corp | マニピュレータ軌道生成装置及びマニピュレータ軌道生成プログラムを記録した記録媒体 |
JP2009279700A (ja) * | 2008-05-21 | 2009-12-03 | Purex:Kk | ワークの把持方法および装置 |
JP2015066668A (ja) * | 2013-10-01 | 2015-04-13 | キヤノン株式会社 | ロボットの教示点調整方法、ロボットの設置位置算出方法、ロボットシステム、プログラム及び記録媒体 |
-
2021
- 2021-05-26 CN CN202180097575.8A patent/CN117222500A/zh active Pending
- 2021-05-26 DE DE112021007218.8T patent/DE112021007218T5/de active Pending
- 2021-05-26 JP JP2023523834A patent/JPWO2022249363A1/ja active Pending
- 2021-05-26 WO PCT/JP2021/020083 patent/WO2022249363A1/ja active Application Filing
- 2021-05-26 US US18/555,691 patent/US20240198527A1/en active Pending
-
2022
- 2022-05-03 TW TW111116682A patent/TW202313282A/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63260779A (ja) * | 1987-04-20 | 1988-10-27 | 富士通株式会社 | 直接教示制御方式 |
JP2000015593A (ja) * | 1998-06-30 | 2000-01-18 | Toshiba Corp | マニピュレータ軌道生成装置及びマニピュレータ軌道生成プログラムを記録した記録媒体 |
JP2009279700A (ja) * | 2008-05-21 | 2009-12-03 | Purex:Kk | ワークの把持方法および装置 |
JP2015066668A (ja) * | 2013-10-01 | 2015-04-13 | キヤノン株式会社 | ロボットの教示点調整方法、ロボットの設置位置算出方法、ロボットシステム、プログラム及び記録媒体 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2022249363A1 (ja) | 2022-12-01 |
US20240198527A1 (en) | 2024-06-20 |
CN117222500A (zh) | 2023-12-12 |
DE112021007218T5 (de) | 2024-01-04 |
TW202313282A (zh) | 2023-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11161247B2 (en) | Robot trajectory generation method, robot trajectory generation apparatus, storage medium, and manufacturing method | |
US20140195054A1 (en) | Robot system, robot control device and method for controlling robot | |
JP6915543B2 (ja) | ロボット教示装置、コンピュータプログラム及びロボット教示方法 | |
KR101607742B1 (ko) | 티칭 시스템 및 티칭 방법 | |
WO2004085120A1 (ja) | ロボットシミュレーション装置、および、シミュレーションプログラム | |
JP2019018272A (ja) | モーション生成方法、モーション生成装置、システム及びコンピュータプログラム | |
JP7052250B2 (ja) | 情報処理装置、情報処理方法、および情報処理プログラム | |
JP2018020412A (ja) | シミュレーション装置、ロボット制御装置およびロボット | |
US6327518B1 (en) | Off-line teaching apparatus | |
JP2019193975A (ja) | ロボット軌道生成方法、ロボット軌道生成装置、および製造方法 | |
WO2022249363A1 (ja) | プログラミング装置及びプログラム | |
JP2006281330A (ja) | ロボットシミュレーション装置 | |
CN100404211C (zh) | 用于多关节型机器人的教导数据准备方法 | |
KR101787865B1 (ko) | 다관절 링크 기구의 역운동학 해법, 및 이 역운동학 해법을 이용한 교시 데이터 작성 장치 | |
JP2019081204A (ja) | ロボット制御方法、制御端末、およびロボットシステム | |
CN114999296B (zh) | 力反馈设备、提供反馈力的方法及存储介质 | |
JP2009166172A (ja) | ロボットのシミュレーション方法及びロボットのシミュレーション装置 | |
TW202239547A (zh) | 機器人控制裝置、機器人控制系統及機器人控制方法 | |
WO2024018516A1 (ja) | シミュレーション装置及びプログラム | |
JP2021070096A (ja) | 制御方法、制御装置、ロボット装置、物品の製造方法、動作プログラム作成方法、動作プログラム作成装置、表示装置、制御プログラムおよび記録媒体 | |
JP4202276B2 (ja) | 操作対象の動作指令装置、操作対象の動作指令用プログラム、およびそのプログラムを記録した記録媒体 | |
JP7276359B2 (ja) | 動作指令生成装置、機構制御システム、コンピュータプログラム、動作指令生成方法及び機構制御方法 | |
JP2001042907A (ja) | シーケンス制御装置 | |
JP2003260680A (ja) | 最適位置決定支援方法、最適位置決定支援装置及びロボットシステム | |
TW202415513A (zh) | 顯示控制裝置及程式 |
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: 21943014 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2023523834 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 18555691 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 202180097575.8 Country of ref document: CN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 112021007218 Country of ref document: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21943014 Country of ref document: EP Kind code of ref document: A1 |