Programming Device
Patent Information
- Application Number
- TW112103031
- Authority / Receiving Office
- TW · TW
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2022-02-01
- Filing Date
- 2023-01-30
- Publication Date
- 2026-10-21
- Estimated Expiration
- 2043-01-29
Smart Images

Figure TWG2TB001916753_001 
Figure TWG2TB001916753_002 
Figure TWG2TB001916753_003
Abstract
Description
Technical Field
[0001] This invention relates to a program design device. Prior Technology
[0002] Regarding methods for teaching robots predetermined actions, online teaching methods and offline teaching methods have been proposed. For example, in terms of online teaching methods, a teaching method based on teaching playback is known (Patent Document 1). On the other hand, offline teaching methods include simulation-based teaching methods. In simulation-based offline teaching, a 3D model of the robot, end effector, workpiece, and peripheral machines is created. The action program can be created while the entire system is moving in an imaginary space displayed on a personal computer, thus eliminating the need for physical operation and making it widely used. [Previous Technical Documents] [Patent Literature]
[0003] [Patent Document 1] Japanese Patent Application Publication No. 09-062335 Summary of the Invention
[0004] [The problem that the invention aims to solve]
[0005] However, in simulated offline teaching, the virtual teaching control panel displayed on the computer needs to be operated in the same way as in online teaching. Specifically, this requires moving the robot model to the teaching location and logging into that location. Furthermore, each time the teaching location is logged in, action conditions such as motion speed, interpolation method, and movement method need to be input. Such operation of the teaching control panel is very time-consuming. In addition, displaying the robot model and the teaching control panel on the screen necessitates shrinking the robot model, making it difficult to confirm the robot model, further increasing the time required for operating the teaching control panel. Therefore, a simulated offline teaching method that is less time-consuming than previous methods is desired. [Methods used to solve problems]
[0006] The disclosed single-state programming device is a programming device for teaching robot motion programs offline, comprising: an operation unit; a display unit that displays a 3D model of the robot by repeatedly moving and stopping according to the user's operation of the operation unit; a recording unit that records a plurality of teaching candidate points successively according to the stopping of the 3D model; a teaching point registration unit that registers a plurality of teaching candidate points selected by the user from the recorded plurality of teaching candidate points as teaching points; and a creation unit that creates motion programs based on the registered plurality of teaching points. [Technical Efficacy]
[0007] In this case, simulation-based offline teaching can be achieved without the time-consuming methods of the past. Simple Explanation of the Diagram
[0008] [Figure 1] Figure 1 is a functional block diagram of the program design device of this embodiment. [Figure 2] Figure 2 is a diagram illustrating an example of a teaching screen displayed in the teaching position of the display unit of the programming device in Figure 1 when manually logged in. [Figure 3] Figure 3 is a diagram illustrating an example of a teaching screen when the automatic login is displayed in the teaching position of the display unit of the programming device in Figure 1. [Figure 4] Figure 4 is a diagram illustrating an example of the editing screen displayed on the display unit of the programming device shown in Figure 1. [Figure 5] Figure 5 is a flowchart illustrating an example of the creation sequence of an action program based on the programming device of Figure 1. Implementation
[0009] The programming apparatus of this embodiment will now be described with reference to the diagrams. This programming apparatus is primarily used for teaching motion programs while simultaneously simulating the movements of a robotic device. In this embodiment, a motion program for performing workpiece picking operations is taught to a robotic device with a hand attached to the wrist of a robotic arm mechanism. In the following description, components with substantially the same function and structure are labeled with the same symbols, and repetitions are made only where necessary.
[0010] As shown in Figure 1, the programming device 1 of this embodiment is configured by connecting a processor 2 (CPU, etc.) to an operation unit 3, a display unit 4, a communication unit 5, and a memory unit 6. The programming device 1 is provided through a general information processing terminal such as a personal computer or tablet.
[0011] The operation unit 3 includes input devices such as a keyboard, mouse, and jog. It can also function as a touch panel that serves as both the operation unit 3 and the display unit 4. The user can input various information into the programming device 1 via the operation unit 3. This information includes selection information related to teaching mode, interpolation form, and movement form; program name; input information for movement speed; and operation information of the robot device displayed on the teaching screen. The interpolation form refers to the conditions related to the interpolation method between two teaching points. For example, the interpolation form "kakujiku" indicates that the two teaching points are interpolated by an arc in a way that does not burden the joints of the robot device. Interpolation forms also include other interpolation forms such as linear interpolation. The movement form refers to the conditions related to how movement is performed between multiple teaching points. For example, the movement form "ichigime" indicates that movement must pass through a teaching point. The movement form "smooth" indicates that movement does not necessarily have to pass through a teaching point, but rather is performed smoothly by passing through the teaching point or its vicinity. Action speed is expressed as a ratio relative to a predefined maximum speed. For example, an action speed of "100%" means that the robot device performs an action at its maximum speed.
[0012] Display unit 4 is equipped with a display device such as an LCD. Display unit 4 displays teaching screens created by teaching screen creation unit 22, editing screens created by editing screen creation unit 23, etc.
[0013] The memory unit 6 is equipped with a memory device such as an HDD or SSD. The memory unit 6 pre-stores teaching program 61 and 3D model 62 data. The 3D model 62 data includes 3D model data of the robot device and 3D model data of the workpiece. The 3D model 62 data is provided through CAD data. In the instruction manual, the 3D model of the robot device is sometimes referred to simply as the robot device, and the 3D model of the workpiece is sometimes referred to simply as the workpiece.
[0014] The memory unit 6 stores various information generated during the automatic registration process of teaching candidate points. For example, the various information includes: information related to the setting of the action program, such as program name, interpolation form, action speed and movement form; information related to the plurality of teaching candidate points recorded by the teaching candidate point recording unit 26 (described later); and information related to the plurality of teaching points registered by the teaching point registration unit 27.
[0015] The communication unit 5 controls the transmission and reception of data between robot control devices. For example, through the processing of the communication unit 5, the motion program created by the procedural design device 1 is provided to the robot control device.
[0016] The teaching program 61 stored in the memory unit 6 is executed by the processor 2, so that the programming device 1 functions as a 3D model creation unit 21, a teaching screen creation unit 22, an editing screen creation unit 23, an action state setting unit 24, an action condition setting unit 25, a teaching candidate point recording unit 26, a teaching point registration unit 27, and a program creation unit 28.
[0017] The 3D model creation unit 21 uses the data stored in the 3D model 62 in the memory unit 6 to create 3D models of the robot device and the workpiece.
[0018] The teaching screen creation unit 22 creates teaching screens for teaching robot devices motion programs offline. Details of the teaching screens will be described later.
[0019] The editing screen creation unit 23 creates an editing screen that is used to handle the selection of multiple teaching points actually used in the action program and the modification of action conditions from multiple teaching candidate points recorded through the teaching candidate point recording unit 26. Details of the editing screen will be described later.
[0020] The Action State Specification Unit 24 specifies the action state of the robot device. On the teaching screen, the robot device can move according to user operations on the simulation area 110. Multiple commands for moving the robot device are assigned to multiple types of operations via the operation unit 3. The Action State Specification Unit receives user input from the operation unit 3, and based on the input command to move the robot device, specifies the state in which the robot device begins to move, and specifies the state in which the robot device transitions from a moving state to a stopped state. The stopped state here refers to the state in which the command to move the robot device has not been input from the operation unit 3 within a predetermined elapsed time. This elapsed time can be arbitrarily changed according to user instructions.
[0021] The motion condition setting unit 25 sets the interpolation form, movement form, program name, and motion speed input via the operation unit 3 as motion conditions.
[0022] The teaching candidate point recording unit 26 records the position and fingertip posture of the robot device's fingertip reference point, which are specified by the motion state specifying unit 24 as the timing of the transition from the robot device's moving state to its stopped state, as teaching candidate points in the memory unit 6. The teaching candidate point includes information related to the position of the fingertip reference point and information related to the fingertip posture. The position of the fingertip reference point is set at the midpoint between a pair of fingers of the robotic hand. The position of the fingertip reference point is represented by its position (X, Y, Z) on three orthogonal axes in imaginary space; the fingertip posture is represented by rotation angles (W, P, R) about each axis.
[0023] The teaching point registration unit 27 records the teaching point selected by the user on the editing screen from the plurality of teaching point candidates recorded by the teaching point candidate recording unit 26 and registers them as teaching points in the memory unit 6.
[0024] The program creation unit 28 creates an action program based on the action conditions set by the action condition setting unit 25 and the plurality of teaching points registered by the teaching point registration unit 27.
[0025] The following description refers to the teaching screen created by the teaching screen creation unit 22, with reference to Figures 2 and 3. Figures 2 and 3 show an example of a teaching screen. As shown in Figures 2 and 3, teaching screens 100 and 200 include a drop-down menu 101 for switching teaching modes. The drop-down list of teaching modes includes a "manual mode" where the user manually registers one teaching location at a time, and an "automatic mode" where teaching locations are automatically registered sequentially.
[0026] Figure 2 shows an example of a teaching screen 100 (referred to as the automatic teaching screen 100) when "automatic mode" is selected as the teaching mode. As shown in Figure 2, the automatic teaching screen 100 includes multiple input fields 102 and 104 for accepting input of program name and robot device movement speed, and multiple drop-down menus 103 and 105 for accepting input of interpolation form and movement form. In this way, the automatic teaching screen 100 is configured to comprehensively accept various action conditions required for the creation of the action program.
[0027] Furthermore, the automatic teaching screen 100 includes a simulation area 110 that displays an imaginary space in which the robot device 70 and the workpiece W are configured. In the simulation area 110, a 2D model of the robot device 70 and the workpiece W, fabricated by the 3D model fabrication unit 21, is displayed. The robot device 70 is a robotic arm mechanism 71 with a robotic hand 72 mounted on its wrist. The position and posture of the robot device 70 and the workpiece W displayed in the simulation area 110 can be changed by the user through the operation unit 3. For example, when operating with a mouse, the fingertip reference point RP of the robot device 70 can be moved to a desired position while the fingertip reference point RP is selected. Furthermore, the fingertip reference point RP of the robot device 70 can be changed to a desired direction through predetermined operations on the simulation area 110. Thus, the automatic teaching screen 100 is configured so that the user can directly operate the robot device 70 through the operation unit 3. On the automatic teaching screen 100, a teaching end button 120 is displayed, which accepts the end of the teaching of the robot device 70 displayed in the simulation area 110.
[0028] Figure 3 shows the teaching screen 200 (referred to as the manual teaching screen 200) when "manual mode" is selected as the teaching mode. As shown in Figure 3, the manual teaching screen 200 includes the same simulation area 110 as the automatic teaching screen 100. On the other hand, in a different aspect from the automatic teaching screen 100, the manual teaching screen 200 displays a teaching operation panel 130 for accepting inputs of program name, robot device movement speed, interpolation form and movement form, and for robot device movement operation.
[0029] The following description refers to the editing screen created by the editing screen creation unit 23, with reference to FIG4. FIG4 shows an example of an editing screen. As shown in FIG4, the editing screen 300 includes: a teaching candidate point display area 310 arranged on the left; a teaching point display area 320 arranged on the right; and a selection key 330 arranged between them. In the teaching candidate point display area 310, a plurality of teaching candidate points 311, 312, 313, and 314 arranged in the order of recording are displayed. In the teaching point display area 320, a plurality of teaching points 321, 322, and 323 arranged in the order of action are displayed. The user selects a specific teaching candidate point from the plurality of teaching candidate points 311, 312, 313, and 314, and clicks the selection key 330 to register the specific teaching candidate point as a teaching point. The order of registered teaching points can be changed using buttons 341 and 342. Furthermore, registered teaching points can be deleted using button 343. Additionally, action conditions can be changed arbitrarily by selecting teaching points. On the editing screen 300, an editing end button 350 is displayed to indicate the end of editing, and a button 360 is displayed to return to the automatic teaching screen 100 to resume teaching.
[0030] The automatic registration process for teaching points will now be explained with reference to FIG5. Assume that the automatic teaching screen 100 shown in FIG2 is displayed on the programming device 1.
[0031] The program name, interpolation form, motion speed, and movement form input by the user on the teaching screen are generally accepted (S11). Furthermore, the monitoring of the robot device 70's motion status, displayed on the automatic teaching screen 100, begins (S12). The system remains in standby mode until a user operation via the operation unit 3 is received regarding the robot device 70 (S13: NO). When a user operation via the operation unit 3 is received regarding the robot device 70, and the robot device 70 begins to move (S13: YES), the recording of teaching candidate points is put into standby mode until there is no user operation on the robot device 70 for a certain period, and the robot device 70 stops (S14: NO). When there is no user operation on the robot device 70 for a certain period, and the robot device 70's motion is stopped (S14: YES), the position and fingertip posture of the robot device 70 at that point are recorded as teaching candidate points (S15). The processing of procedures S13 to S15 is repeated until the teaching ends (procedure S16: NO). The teaching ends here when the teaching end button 120 is clicked or the teaching mode is switched. When the teaching ends (S16: YES), the monitoring of the robot device 70's motion state ends (S17), and the editing screen 300 shown in Figure 4 is displayed (S18). Furthermore, the user operation on the editing screen 300 is used to process the registration of teaching points (S19). Based on the user's registration of teaching points, the process is repeated until the editing ends (S20: NO). When the editing ends (S20: YES), based on the multiple teaching points registered in procedure S19 and the motion conditions processed in procedure S11, an action program is created (S21), and the created action program is marked with the program name processed in procedure S11 and saved.
[0032] When the program design device 1 according to this embodiment is implemented, the following effects are achieved: Specifically, each time the robot device 70 displayed on the automatic teaching screen 100 stops moving, the position and fingertip posture of the fingertip reference point RP at the point of stopping are successively recorded as teaching candidate points. To record the position and fingertip posture of the fingertip reference point RP as teaching candidate points, it is only necessary to stop the robot device 70; no special operations such as button operations for recording are required. The user only needs to move the robot device 70, saving the time and effort required for teaching the motion program.
[0033] Furthermore, the various action conditions required for the creation of the action program can be comprehensively handled by the user's operation of the input fields and drop-down menus displayed on the automatic teaching screen 100 via the operation unit 3. Accordingly, the user can operate the operation unit 3 of the robot device by mouse operation, micro-motion operation, etc., while paying attention to the movement, speed, and path between teaching points.
[0034] In this way, the overall conditions for the creation of the action program are received, and the teaching position is automatically recorded. Therefore, a teaching operation panel 130, as shown in the manual teaching screen 200 in Figure 3, is required. As shown in the automatic teaching screen 100 in Figure 2, the simulation area 110 can be enlarged to display the robot device 70 more prominently. This makes it easier to confirm the position and posture of the robot device 70, reducing operational errors caused by the small size and difficulty in confirming the robot device 70, and also reducing the stress of operating the robot device 70. As a result, the time required to teach the robot device 70 the action program can be reduced.
[0035] Furthermore, even if the fingertip reference point RP of the robot device 70 is recorded as a teaching candidate point due to incorrect position or fingertip posture, it can be prevented from being registered as a teaching point simply by user operation on the post-teaching editing screen 300. Therefore, it is unnecessary to delete the incorrectly recorded teaching candidate point when it is recorded as such, as is the case when the fingertip reference point RP is incorrectly positioned or the fingertip posture is incorrect; operation of the robot device 70 on the automatic teaching screen 100 can continue without interrupting the process. In this way, the stages of inputting the motion conditions required for the creation of the motion program on the automatic teaching screen 100 and recording the teaching candidate points, as well as the stages of editing the input motion conditions and recorded teaching candidate points, are separated into different timeframes. This allows for efficient teaching of motion programs, eliminating the need for repeated recording and editing of teaching positions.
[0036] In this embodiment, the position and direction of the fingertip reference point RP of the robot device 70 at the point when the robot device 70 transitions from an active state to a stopped state are recorded as teaching candidate points. However, the opportunity is not limited to the stopping of the robot device 70, as long as the user can operate the robot device 70 displayed in the simulation area 110 while automatically recording teaching candidate points. For example, a certain period of time without user operation of the simulation area 110 or a certain period of time without user operation of the automatic teaching screen 100 can also be used as an opportunity to record teaching candidate points. In addition, it is also possible to assign instructions to record teaching candidate points based on specific operations under the operation unit 3, and record them manually.
[0037] In this embodiment, the position and orientation of the fingertip reference point RP of the robot device 70 are recorded as teaching candidate points. However, the position of the recorded reference point is not limited to the fingertip reference point, as long as the teaching candidate point can be specified unambiguously. For example, the position and orientation of a predetermined point on the robot device 70 can also be recorded as teaching candidate points.
[0038] In the editing screen 300 of the programming device 1 displayed in this embodiment, the teaching candidate points are recorded using coordinates (X, Y, Z, W, P, R). However, the display pattern of the teaching candidate points is not limited to this embodiment. For example, it is also possible to display a plurality of teaching candidate points overlapping each other in a hypothetical space including the simulation area 110 of the robot device 70 displayed on the automatic teaching screen 100, with consistent positions and orientations. In this case, it is desirable to be able to clearly identify the teaching candidate points selected as teaching points and the unselected teaching candidate points.
[0039] The programming device 1 of this embodiment, in order to save the user's time, has the functions of comprehensively accepting action conditions on the teaching screen 100, automatically recording teaching candidate points by operating only the robot device 70 on the teaching screen 100, and accepting the selection operation of teaching candidate points registered as teaching points from the editing operations on the editing screen 300 displayed after the teaching operation. However, in order to save the user's time, the programming device may also be configured to have only one of the above functions. In addition, the control device for controlling the robot may also be configured to have the functions of a programming device.
[0040] Furthermore, the various functions of the programming device 1 in this embodiment can save time for users of online teaching methods such as direct teaching using a physical machine. For example, in direct teaching, the position where the robot device has actually stopped can be registered as a teaching candidate point or teaching point, eliminating the need for the operation of registering teaching candidate points or teaching points, thus saving time for users of direct teaching. Similarly, by comprehensively handling action conditions, in direct teaching, users can move the robot device without worrying about operating speed or operating path.
[0041] While several embodiments of the present invention have been described, these embodiments are merely illustrative and are not intended to limit the scope of the invention. These embodiments can be implemented in various other ways, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their variations are included within the scope and spirit of the invention, and are included within the scope of the invention as described in the claims and its equivalents.
[0042] 1: Programming Device 2: Processor 3: Operations Department 4: Display Section 5: Communications Department 6: Memory Department 21:3D model creation section 22: Teaching screen creation department 23: Editing Screen Creation Department 24: Action State Specific Section 25: Action Condition Setting Section 26: Teaching Candidate Record Department 27: Teaching Point Login Department 28: Programming Department 61: Teaching Procedure 62:3D model
Claims
1. A programming apparatus for teaching motion programs to a robot offline, comprising: an operation unit; a display unit that displays a 3D model of the robot in a manner that repeatedly moves and stops according to the operation of a user on the operation unit; a motion state specifying unit that specifies the transition of the 3D model from a moving state to a stopped state; a recording unit that, during the operation of the 3D model, records the position and fingertip posture of the 3D model's fingertip reference point as teaching candidate points each time the 3D model stops, in chronological order; a teaching point registration unit that, after the recording unit records the plurality of teaching candidate points, registers a plurality of teaching candidate points selected by the user according to the operation of the user from the plurality of teaching candidate points recorded by the recording unit as teaching points; and a creation unit that creates the motion program based on the plurality of teaching points registered by the teaching point registration unit. The aforementioned action state specific unit is based on the fact that, for the aforementioned 3D model, if the user operation via the aforementioned operation unit is not input within a predetermined elapsed time, the aforementioned 3D model is specified to stop.
2. The programming device of claim 1 further includes a setting unit that comprehensively sets the interpolation form and movement speed between the plurality of teaching points according to the operation of the aforementioned user, and the aforementioned generating unit, together with the plurality of teaching points registered by the aforementioned teaching point registration unit, generates the aforementioned action program based on the aforementioned interpolation form and movement speed.
3. The program design apparatus as described in claim 2, wherein, The aforementioned settings unit sets the name of the aforementioned action program according to the instructions of the aforementioned user.
4. The program design apparatus as described in request item 1, wherein, The aforementioned display unit shows a plurality of teaching candidate points recorded by the aforementioned recording unit, and the aforementioned user selects the plurality of teaching candidate points from the plurality of teaching candidate points shown in the display.
5. The programming apparatus as described in request item 1, wherein, The aforementioned display unit overlays the plurality of teaching candidate points recorded by the aforementioned recording unit onto the aforementioned 3D model and displays them. The aforementioned user selects a teaching point from the plurality of teaching candidate points displayed overlay on the aforementioned 3D model.
Citation Information
Patent Citations
Method and apparatus for optimizing robot assembly trajectory for offline example learning
CN110561430B
Two-way real-time 3D interactive operations of real-time 3D virtual objects within a real-time 3D virtual world representing the real world
EP3572914A2
Teaching data registration processing system
JP1992175801A
Position teaching method using soft floating function
JP1997062335A
Motion planning for multiple robots in shared workspace
TW202107232A
