programming device
The programming device automates the registration of teaching points and simultaneous input of conditions for offline robot teaching, addressing the time-consuming nature of conventional methods by simplifying the operation and improving efficiency.
Patent Information
- Application Number
- JP2023578224
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-02-01
- Publication Date
- 2025-10-22
- Estimated Expiration
- 2042-02-01
AI Technical Summary
Simulation-based offline teaching methods for robots are time-consuming due to the need for manual operation of a virtual teaching control panel and the difficulty in checking the robot model, which is displayed small on the screen.
A programming device that includes an operation unit, display unit, recording unit, and creation unit to facilitate offline teaching by allowing users to operate a three-dimensional robot model, automatically record teaching candidate points, and create an operation program based on user inputs.
Reduces the time and effort required for offline teaching by allowing automatic registration of teaching points and simultaneous input of operating conditions, enabling a more efficient and less cumbersome teaching process.
Smart Images

Figure 0007758762000001 
Figure 0007758762000002 
Figure 0007758762000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a programming device. [Background technology]
[0002] As a method for teaching a robot a predetermined operation, there have been proposed methods such as online teaching and offline teaching. For example, a teaching playback method is known as an online teaching method (Patent Document 1). On the other hand, an offline teaching method is a simulation teaching method. Offline teaching using the simulation method is widely used because it allows creating a three-dimensional model of the robot, end effector, workpiece, peripheral equipment, etc., and creating an operation program while operating the entire system in a virtual space displayed on a PC, eliminating the need to operate the actual machine. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Publication No. 09-062335 Summary of the Invention [Problem to be solved by the invention]
[0004] However, simulation-based offline teaching requires the user to operate a virtual teaching control panel displayed on a computer in the same way as online teaching. Specifically, the user must move the robot model to the teaching position and register that teaching position. Furthermore, each time a teaching position is registered, the user must input operating conditions such as the operating speed, interpolation type, and movement type. Operating the teaching control panel in this manner is extremely time-consuming. Furthermore, because the robot model and teaching control panel must be displayed on the screen, the robot model must be displayed small, making it difficult to check the robot model, which increases the time and effort required to operate the teaching control panel. Therefore, a simulation-based offline teaching method that is less time-consuming than conventional methods is desired. [Means for solving the problem]
[0005] A programming device according to one embodiment of the present disclosure is a programming device that teaches a robot's operation program offline, and includes an operation unit, a display unit that displays a three-dimensional model of the robot that repeatedly moves and stops in accordance with user operation on the operation unit, a recording unit that records a plurality of teaching candidate points one after another in accordance with the stopping of the three-dimensional model, a teaching point registration unit that registers a plurality of teaching candidate points selected from the recorded plurality of teaching candidate points in accordance with user instructions as teaching points, and a creation unit that creates an operation program based on the registered plurality of teaching points. [Effects of the Invention]
[0006] According to this aspect, it is possible to realize simulation-type offline teaching that is less time-consuming than conventional methods. [Brief explanation of the drawings]
[0007] [Figure 1] FIG. 1 is a functional block diagram of a programming device according to this embodiment. [Figure 2]FIG. 2 is a diagram showing an example of a teaching screen displayed on the display unit of the programming device of FIG. 1 when manually registering a teaching position. [Figure 3] FIG. 3 is a diagram showing an example of a teaching screen displayed on the display unit of the programming device of FIG. 1 when a teaching position is automatically registered. [Figure 4] FIG. 4 is a diagram showing an example of an editing screen displayed on the display unit of the programming device of FIG. [Figure 5] FIG. 5 is a flowchart showing an example of a procedure for creating an operation program using the programming device of FIG. DETAILED DESCRIPTION OF THE INVENTION
[0008] A programming device according to this embodiment will be described below with reference to the drawings. The programming device according to this embodiment is primarily used for teaching an operation program using an operation simulation of a robot device. In this embodiment, an operation program is taught to a robot device having a hand attached to the wrist of a robot arm mechanism, for performing a workpiece picking operation. In the following description, components having substantially the same functions and configurations are given the same reference numerals, and redundant description will be given only when necessary.
[0009] 1, a programming device 1 according to this embodiment is configured by connecting hardware such as an operation unit 3, a display unit 4, a communication unit 5, and a storage unit 6 to a processor 2 (such as a CPU). The programming device 1 is provided by a general information processing terminal such as a personal computer or a tablet.
[0010] The operation unit 3 includes input devices such as a keyboard, mouse, and jog wheel. A touch panel or the like may be used as both the operation unit 3 and the display unit 4. The user can input various information to the programming device 1 via the operation unit 3. This information includes selection information regarding the teaching mode, interpolation type, and movement type, program name, input information regarding the movement speed, and operation information of the robot device displayed on the teaching screen. The interpolation type is a condition regarding the interpolation type between two teaching points. For example, the interpolation type "Kakujiku" indicates circular interpolation between two teaching points to minimize strain on each joint of the robot device. The interpolation type also includes other interpolation types such as linear interpolation. The movement type is a condition regarding how to move between multiple teaching points. For example, the movement type "Ichigime" indicates that movement must always pass through the teaching points. The movement type "Nameraka" indicates that movement does not necessarily have to pass through the teaching points, but rather that smooth movement passes through or near the teaching points. The movement speed is expressed as a percentage of a predefined maximum speed. For example, a movement speed of "100%" indicates that the robot device moves at the maximum speed.
[0011] The display unit 4 has a display device such as an LCD, etc. The display unit 4 displays a teaching screen created by the teaching screen creating unit 22, an editing screen created by the editing screen creating unit 23, etc.
[0012] The storage unit 6 has a storage device such as an HDD or SSD. The storage unit 6 pre-stores a teaching program 61 and data for a three-dimensional model 62. The data for the three-dimensional model 62 includes three-dimensional model data of the robot device and three-dimensional model data of the workpiece. The data for the three-dimensional model 62 is provided as CAD data. In the description of the specification, the three-dimensional model of the robot device may be simply referred to as the robot device, and the three-dimensional model of the workpiece may be simply referred to as the workpiece.
[0013] Various types of information generated during the automatic registration process of teaching candidate points is stored in the storage unit 6. For example, the various types of information include information on the settings of the operation program such as the program name, interpolation type, operation speed, and movement type, information on a plurality of teaching candidate points recorded by a teaching candidate point recording unit 26 (described later), and information on a plurality of teaching points registered by a teaching point registration unit 27.
[0014] The communication unit 5 controls the transmission and reception of data to and from the robot control device. For example, the operation program created by the programming device 1 is provided to the robot control device through processing by the communication unit 5.
[0015] When the processor 2 executes the teaching program 61 stored in the memory unit 6, 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 operating state identification unit 24, an operating condition setting unit 25, a teaching point candidate recording unit 26, a teaching point registration unit 27, and a program creation unit 28.
[0016] The three-dimensional model creation unit 21 uses the data of the three-dimensional model 62 stored in the storage unit 6 to create a three-dimensional model of the robot device and the workpiece.
[0017] The teaching screen creation unit 22 creates a teaching screen for teaching the robot device's operation program offline. The teaching screen will be described in detail later.
[0018] The editing screen creation unit 23 creates an editing screen for accepting an operation to select a plurality of teaching points to be actually used in the operation program from a plurality of teaching candidate points recorded by the teaching candidate point recording unit 26, and an operation to modify the operating conditions. The details of the editing screen will be described later.
[0019] The motion state identification unit 24 identifies the motion state of the robot apparatus. On the teaching screen, the robot apparatus can be moved in accordance with user operations in the simulation area 110. A plurality of commands for moving the robot apparatus are assigned to a plurality of types of operations performed via the operation unit 3. The motion state identification unit receives input of user operations from the operation unit 3, and identifies whether the robot apparatus has started to move or whether the robot apparatus has transitioned from a moving state to a stopped state in accordance with the input of a command to operate the robot apparatus. The stopped state here refers to a state in which a predetermined elapsed time has not elapsed since the input of a command to operate the robot apparatus from the operation unit 3. This elapsed time can be arbitrarily changed in accordance with user instructions.
[0020] The operation condition setting unit 25 sets the interpolation type, movement type, program name, and operation speed input via the operation unit 3 as operation conditions.
[0021] The teaching candidate point recording unit 26 records the position of the hand reference point and the hand posture of the robot device as teaching candidate points in the memory unit 6 at the time when the motion state identification unit 24 identifies that the robot device has transitioned from a moving state to a stopped state. The teaching candidate point includes information about the position of the hand reference point and information about the hand posture. The position of the hand reference point is set at the midpoint between a pair of fingers of the robot hand. The position of the hand reference point is expressed by a position on three orthogonal axes (X, Y, Z) in virtual space, and the hand posture is expressed by a rotation angle (W, P, R) around each axis.
[0022] The teaching point registration unit 27 registers in the storage unit 6 as a teaching point a teaching point candidate selected from the plurality of teaching points recorded by the teaching point candidate recording unit 26 in accordance with a user operation on the editing screen.
[0023] The program creation unit 28 creates an operation program based on the operating conditions set by the operating condition setting unit 25 and the plurality of teaching points registered by the teaching point registration unit 27 .
[0024] The teaching screens created by the teaching screen creation unit 22 will be described below with reference to Figs. 2 and 3. Figs. 2 and 3 show examples of teaching screens. As shown in Figs. 2 and 3, teaching screens 100 and 200 include a pull-down menu 101 for switching teaching modes. The pull-down list of teaching modes includes a "manual mode" in which the user manually registers teaching positions one by one, and an "automatic mode" in which teaching positions are automatically registered one after another.
[0025] 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 FIG. 2, the automatic teaching screen 100 includes a plurality of input fields 102, 104 for receiving input of a program name and an operating speed of the robot apparatus, and a plurality of pull-down menus 103, 105 for receiving input of an interpolation type and a movement type. In this way, the automatic teaching screen 100 is configured to collectively receive various operating conditions required for creating an operating program.
[0026] The automatic teaching screen 100 also includes a simulation area 110 that displays a virtual space in which the robot device 70 and the workpiece W are placed. In the simulation area 110, three-dimensional models of the robot device 70, which is a robot arm mechanism 71 equipped with a robot hand 72 at the wrist, and the workpiece W, created by the three-dimensional model creation unit 21, are displayed two-dimensionally. The position and posture of the robot device 70 and the workpiece W displayed in the simulation area 110 can be changed by user operation via the operation unit 3. For example, when operating with a mouse, the hand reference point RP of the robot device 70 can be moved to a desired position while the hand reference point RP is selected. Furthermore, the hand reference point RP of the robot device 70 can be changed to a desired orientation by a predetermined operation on the simulation area 110. In this way, the automatic teaching screen 100 is configured so that the user can directly operate the robot device 70 via the operation unit 3. A teaching end button 120 is displayed on the automatic teaching screen 100 to end teaching of the robot device 70 displayed in the simulation area 110.
[0027] 3 shows a teaching screen 200 (referred to as the manual teaching screen 200) when "manual mode" is selected as the teaching mode. As shown in Fig. 3, the manual teaching screen 200 includes a simulation area 110 similar to that of the automatic teaching screen 100. However, as a configuration different from that of the automatic teaching screen 100, the manual teaching screen 200 displays a teaching operation panel 130 for receiving input of the program name, the motion speed of the robot device, the interpolation type and the movement type, and the movement operation of the robot device.
[0028] The editing screen created by the editing screen creation unit 23 will be described below with reference to FIG. 4. FIG. 4 shows an example of the editing screen. As shown in FIG. 4, the editing screen 300 includes a teaching point candidate display area 310 arranged on the left side, a teaching point display area 320 arranged on the right side, and a selection button 330 arranged therebetween. The teaching point candidate display area 310 displays a list of multiple teaching points 311, 312, 313, and 314 arranged in the order in which they were recorded. The teaching point display area 320 displays a list of multiple teaching points 321, 322, and 323 arranged in the order of operation. The user can select a specific teaching point from the multiple teaching point candidates 311, 312, 313, and 314 and register the specific teaching point as a teaching point by clicking the selection button 330. The order of the registered teaching points can be changed by operating buttons 341 and 342. The registered teaching point can also be deleted by operating the delete button 343. Furthermore, by selecting a teaching point, the operating conditions can be changed as desired. An edit end button 350 for ending editing and a button 360 for returning to the automatic teaching screen 100 to resume teaching are displayed on the editing screen 300.
[0029] The automatic registration process of teaching points will be described below with reference to Fig. 5. It is assumed that the programming device 1 displays an automatic teaching screen 100 as shown in Fig. 2.
[0030] The program name, interpolation type, motion speed, and movement type input in accordance with user operation on the teaching screen are accepted all at once (S11). Furthermore, monitoring of the motion status of the robot device 70 displayed on the automatic teaching screen 100 is started (S12). The system waits until a user operation on the robot device 70 is accepted via the operation unit 3 (S13; NO). When a user operation on the robot device 70 is accepted via the operation unit 3 and the robot device 70 starts moving (S13; YES), the system waits until there is no user operation on the robot device 70 for a certain period of time and the robot device 70 stops, before recording the teaching candidate points (S14; NO). When there is no user operation on the robot device 70 for a certain period of time and the motion of the robot device 70 stops (S14; YES), the position and posture of the hand reference point RP of the robot device 70 at that time are recorded as teaching candidate points (S15). The processes of steps S13 to S15 are repeatedly executed until the teaching is completed (step S16; NO). Here, the end of teaching is triggered by clicking the teaching end button 120 or switching the teaching mode. When teaching is ended (S16; YES), monitoring of the operating state of the robot device 70 is ended (S17), and an editing screen 300 such as that shown in FIG. 4 is displayed (S18). Then, a registration process of teaching points is accepted through a user operation on the editing screen 300 (S19). The registration of teaching points by the user is repeated until the editing is ended (S20; NO). When the editing is ended (S20; YES), an operation program is created (S21) based on the multiple teaching points registered in step S19 and the operation conditions accepted in step S11, and the created operation program is saved with the program name accepted in step S11.
[0031] The programming device 1 according to this embodiment has the following advantages. That is, each time the operation of the robot device 70 displayed on the automatic teaching screen 100 stops, the position and posture of the hand tip reference point RP at the time of the stop can be recorded one after another as teaching candidate points. In order to record the position and posture of the hand tip reference point RP as teaching candidate points, it is sufficient to stop the robot device 70, and no special operation such as a button operation for recording is required. The user only needs to operate the robot device 70, which saves the effort of teaching an operation program.
[0032] Furthermore, various operating conditions required for creating an operating program can be accepted all at once by user operations via the operation unit 3 for each input field and each pull-down menu displayed on the automatic teaching screen 100. This allows the user to perform operations such as mouse operation and jog operation on the robot device using the operation unit 3 without having to worry about the movement, speed, or path between teaching points.
[0033] In this way, the operating conditions required for creating an operation program are received all at once, and the teaching positions are automatically recorded, so there is no need to display the teaching operation panel 130 as shown in the manual teaching screen 200 of Fig. 3. As shown in the automatic teaching screen 100 of Fig. 2, the simulation area 110 can be made wider, and the robot device 70 can be displayed in a larger size. This makes it easier to check the position and posture of the robot device 70, reduces operating errors that occur because the robot device 70 is small and difficult to check, and also reduces the stress of operating the robot device 70. As a result, the effort required to teach the operation program for the robot device 70 can be reduced.
[0034] Furthermore, even if the position or posture of the hand reference point RP of the robot device 70 is recorded as an incorrect teaching candidate point, the incorrectly recorded teaching candidate point can simply be prevented from being registered as a teaching point by a user operation on the editing screen 300 after teaching. Therefore, when the position or posture of the hand reference point RP is recorded as a teaching candidate point in an incorrect state, there is no need to perform an operation to delete the incorrectly recorded teaching candidate point, and operation of the robot device 70 on the automatic teaching screen 100 can be continued without interruption. In this way, by inputting operating conditions required for creating an operation program on the automatic teaching screen 100 and dividing the phase for recording teaching candidate points and the phase for editing the input operating conditions and the recorded teaching candidate points in a time-division manner, there is no need to repeatedly perform the operations of recording teaching positions and editing teaching positions, and as a result, an operation program can be efficiently taught.
[0035] In the present embodiment, the position and orientation of the hand reference point RP of the robot device 70 at the time when the robot device 70 transitions from an operating state to a stopped state are recorded as teaching candidate points. However, as long as a user can automatically record teaching candidate points while operating the robot device 70 displayed in the simulation area 110, the trigger for this is not limited to the stopping of the robot device 70. For example, the trigger for recording teaching candidate points may be a time when there is no user operation on the simulation area 110 for a certain period of time or a time when there is no user operation on the automatic teaching screen 100 for a certain period of time. Furthermore, a command for recording teaching candidate points may be assigned to a specific operation by the operation unit 3, so that teaching candidate points can be recorded manually.
[0036] In this embodiment, the position and orientation of the hand reference point RP of the robot device 70 are recorded as the teaching candidate point. However, as long as the teaching candidate point can be uniquely identified, the position of the reference point to be recorded is not limited to the hand reference point. For example, the position and orientation of a predetermined point on the robot device 70 may be recorded as the teaching candidate point.
[0037] In the editing screen 300 displayed on the programming device 1 according to this embodiment, the teaching candidate points are represented by coordinates (X, Y, Z, W, P, R). However, the display manner of the teaching candidate points is not limited to this embodiment. For example, a plurality of teaching candidate points may be displayed overlapping each other with the same position and orientation in a virtual space including the robot device 70 displayed in the simulation area 110 of the automatic teaching screen 100. In this case, it is desirable to distinguish between the teaching candidate points selected as teaching points and the teaching candidate points not selected.
[0038] To reduce the user's workload, the programming device 1 according to this embodiment has functions such as accepting operating conditions all at once on the teaching screen 100, automatically recording teaching candidate points simply by operating the robot device 70 on the teaching screen 100, and accepting a selection operation of a teaching candidate point to be registered as a teaching point from among the teaching candidate points during editing on the editing screen 300 displayed after the teaching operation. However, from the perspective of reducing the user's workload alone, the programming device may have only one of the above functions. Alternatively, the functions of the programming device may be included in a control device that controls the robot.
[0039] Furthermore, the functions of the programming device 1 according to this embodiment can be used to reduce the user's effort in online teaching, such as direct teaching using an actual machine. For example, in direct teaching, the position where the robot device actually stops can be registered as a teaching candidate point or teaching point, eliminating the need for the user to perform the operation to register the point as a teaching candidate point or teaching point, thereby reducing the user's effort in direct teaching. Similarly, by accepting operation conditions collectively, in direct teaching, the user can move and operate the robot device without worrying about the operation speed or operation path.
[0040] Although several embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These embodiments can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included within the scope and spirit of the invention, as well as within the scope of the invention described in the claims and their equivalents. [Explanation of symbols]
[0041] 1...programming device, 2...processor, 3...operation unit, 4...display unit, 5...communication unit, 6...memory unit, 21...3D model creation unit, 22...teaching screen creation unit, 23...editing screen creation unit, 24...operating state identification unit, 25...operating condition setting unit, 26...teaching point candidate recording unit, 27...teaching point registration unit, 28...program creation unit, 61...teaching program, 62...3D model.
Claims
1. A programming device that teaches a robot operation program offline, An operation unit; a display unit that displays a three-dimensional model of the robot so that the robot repeatedly moves and stops in accordance with a user's operation on the operation unit; a recording unit that sequentially records a plurality of teaching candidate points as the three-dimensional model stops; a teaching point registration unit that registers, as teaching points, a plurality of teaching candidate points selected in accordance with an operation by the user from the plurality of recorded teaching candidate points; a creating unit that creates the operation program based on the registered teaching points; A programming device comprising:
2. a setting unit that collectively sets an interpolation type and a movement speed between the plurality of teaching points in accordance with an operation by the user; 2. The programming device according to claim 1, wherein the creation section creates the operation program based on the interpolation format and the movement speed together with the plurality of registered teaching points.
3. 3. The programming device according to claim 2, wherein said setting section sets a name of said operation program in accordance with an instruction from said user.
4. 2. The programming device according to claim 1, wherein the display unit displays a list of the recorded teaching candidate points, and the user selects the teaching points from the displayed list of the teaching candidate points.
5. 2. The programming device according to claim 1, wherein the display unit displays the recorded plurality of teaching candidate points superimposed on the three-dimensional model, and the user selects a teaching point from the plurality of teaching candidate points displayed superimposed on the three-dimensional model.
Citation Information
Patent Citations
Teaching data registration processing system
JP1992175801A
Direct teaching device of articulated robot
JP1993237784A
Position teaching method using soft floating function
JP1997062335A
Robot off-line teaching method
JP2011048621A