Teaching device for robot, teaching method for robot, and program
The robot teaching device dynamically adjusts the display angle of a three-dimensional workspace to automatically select the most suitable editing plane, enhancing intuitive operation and efficiency by prioritizing the XY plane.
Patent Information
- Application Number
- JP2024080995
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-05-17
- Publication Date
- 2025-11-28
AI Technical Summary
Existing robot teaching methods require switching editing planes in a predetermined order, limiting intuitive operation and efficiency.
A robot teaching device that displays a three-dimensional workspace and allows dynamic adjustment of the display angle, enabling automatic selection of the most suitable two-dimensional editing plane based on the display angle, with the XY plane prioritized for ease of use.
Facilitates intuitive and efficient teaching operations by allowing seamless switching of editing planes without additional user input, improving user experience and operational efficiency.
Smart Images

Figure 2025174553000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a robot teaching device, a robot teaching method, and a program. [Background technology]
[0002] BACKGROUND ART Conventionally, there is known a robot teaching device that can edit the motion coordinates of a robot (hereinafter also referred to as "teaching data") using a virtual three-dimensional space that correlates with the working space of the robot.
[0003] Generally, teaching data is created on a two-dimensional plane. Conventionally, when editing operations in a three-dimensional space on a two-dimensional plane, a method has been proposed in which an arbitrary two-dimensional plane is selected as an editing plane by operating buttons on a mouse or the like, and the teaching data is edited while switching between editing planes (see, for example, Patent Document 1).
[0004] Furthermore, Patent Document 2 discloses a technique for omitting the user's operation of selecting an editing plane by switching the editing plane in a predetermined order, such as from the XY plane to the YZ plane, by operating a cursor with a pointing device. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Japanese Patent Application Publication No. 10-333827 [Patent Document 2] Patent No. 5120290 Summary of the Invention [Problem to be solved by the invention]
[0006] In the method described in Patent Document 2, the editing plane needs to be switched in a predetermined order, such as the first plane (XY plane) and the second plane (YZ plane). For this reason, even if you want to edit teaching data on the YZ plane, you cannot switch to editing mode on the YZ plane without first going through editing mode on the XY plane.
[0007] The present invention has been made in consideration of the above circumstances, and aims to provide a robot teaching device, a robot teaching method, and a program that are easy to operate and allow teaching work to be performed intuitively. [Means for solving the problem]
[0008] One aspect of the present invention is a robot teaching device that displays a three-dimensional space correlated with the robot's workspace on a display unit and is capable of inputting the robot's motion coordinates into the three-dimensional space, and is equipped with an angle change means that changes the display angle of the three-dimensional space based on instructions from an input means, and a setting means that sets one of the two-dimensional planes in the three-dimensional space as an editing plane on which the motion coordinates can be edited, depending on the display angle of the three-dimensional space.
[0009] One aspect of the present invention is a robot teaching method that displays a three-dimensional space that correlates with the robot's workspace on a display unit and allows the robot's motion coordinates to be input into the three-dimensional space, wherein the robot teaching method is executed by a computer, and includes an angle change process that changes the display angle of the three-dimensional space based on instructions from an input means, and a setting process that sets one of the two-dimensional planes in the three-dimensional space as an editing plane on which the motion coordinates can be edited, depending on the display angle of the three-dimensional space.
[0010] One aspect of the present invention is a program for causing a computer to function as a teaching device for the robot. [Effects of the Invention]
[0011] According to the present invention, it is possible to achieve the effect that input operations are simple and teaching work can be performed intuitively. [Brief explanation of the drawings]
[0012] [Figure 1] 1 is an external view of a robot as an example to which a robot teaching device of the present invention is applied; [Figure 2] FIG. 2 is a diagram illustrating an example of a configuration of a control system of a robot. [Figure 3] FIG. 1 is a diagram illustrating an example of a hardware configuration of a teaching device according to an embodiment of the present invention. [Figure 4] 1 is a functional configuration diagram showing an example of functions provided in a teaching device according to an embodiment of the present invention; [Figure 5] FIG. 10 is a diagram illustrating an editing plane according to an embodiment of the present invention. [Figure 6] FIG. 10 is a diagram illustrating an editing plane according to an embodiment of the present invention. [Figure 7] FIG. 10 is a diagram illustrating an editing plane according to an embodiment of the present invention. [Figure 8] FIG. 4 is a diagram showing an example of teaching data according to an embodiment of the present invention. [Figure 9] 10 is a flowchart showing an example of a procedure of an editing plane setting process executed by the teaching device according to an embodiment of the present invention. [Figure 10] 10A to 10C are diagrams illustrating an editing plane setting process according to an embodiment of the present invention. [Figure 11] 10A to 10C are diagrams illustrating an editing plane setting process according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0013] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A robot teaching device, a robot teaching method, and a program according to an embodiment of the present invention will be described below with reference to the drawings. Fig. 1 is an external view of a robot 1 as an example to which the robot teaching device of the present invention is applied. As shown in Fig. 1, the robot 1 is, for example, a tabletop robot, and performs desired processing on the workpiece W by three-dimensionally moving a workpiece W placed on an X-table 3 attached to a base body 2 and a tool 4 of the robot 1 relative to each other. The three-dimensional space in which the robot 1 can move the workpiece W and the tool 4 relative to each other, that is, the movable range of the robot 1, is called the workspace S.
[0014] The X-table 3 is provided so as to be reciprocable in the X-direction relative to the base body 2. The robot 1 also includes a Y-unit 5 provided so as to be reciprocable in the Y-direction. A Z-unit 6 provided so as to be reciprocable in the Z-direction is attached to the underside of the Y-unit 5. A tool 4 serving as a processing end is attached to the Z-unit 6. The tool 4 may be provided so as to be detachable from the Z-unit 6. An example of the tool 4 is a tool or device used for cutting, coating, assembling, welding, or inspection.
[0015] FIG. 2 is a diagram showing an example of the configuration of a control system for robot 1. As shown in FIG. 2, robot 1 includes an X motor (X-direction drive mechanism) 11 for moving X table 3 in the X direction, a Y motor (Y-direction drive mechanism) 12 for moving Y unit 5 in the Y direction, and a Z motor (Z-direction drive mechanism) 13 for moving Z unit 6 in the Z direction. X motor 11, Y motor 12, and Z motor 13 are controlled by robot control unit 14. Specifically, robot control unit 14 controls X motor 11, Y motor 12, and Z motor 13 based on teaching data stored in memory unit 15, thereby moving tool 4 three-dimensionally relative to workpiece W and performing desired machining. Robot 1 may also include a start button 16 that a user uses to input a command to start operating robot 1. The configuration of the robot 1 described above is merely an example, and any robot can be used as long as it can move the workpiece W and the tool 4 relative to each other in three dimensions. For example, the robot 1 is not limited to a desktop robot, but may be a six-axis robot equipped with an arm with six degrees of freedom, and various industrial robots can be used as the robot 1.
[0016] A teaching device 20 is communicatively connected to the robot 1. In Fig. 1, as an example, the robot 1 and the teaching device 20 are connected by wire. The teaching device 20 is a device for inputting and editing teaching data for controlling the robot 1. In the following description, "editing" is used in a broad sense to include data entry.
[0017] The teaching device 20 is an information processing device, and examples thereof include a notebook PC, a desktop PC, a PC with an integrated display, a tablet terminal, a smartphone, a teaching pendant, etc. Note that Fig. 1 illustrates an example in which a notebook PC is used as the teaching device 20.
[0018] Fig. 3 is a diagram showing an example of the hardware configuration of the teaching device 20. As shown in Fig. 3, the teaching device 20 includes, for example, a CPU (Central Processing Unit: processor) 21, a main memory 22, and a secondary storage 23. The teaching device 20 may also include an external interface 24, a communication interface 25, etc. These components are connected to each other directly or indirectly via a bus, and cooperate with each other to execute various processes.
[0019] The teaching device 20 may further include an input device (input means) 26, a display (display unit) 27, etc. These input device 26 and display 27 may be connected to the CPU 21, etc. via a bus, or may be connected via an external interface 24 or a communication interface 25. Examples of the input device 26 include a keyboard, a touchpad, a pointing device, etc. Examples of the pointing device include a mouse, a touch panel, a pen tablet, a trackpad, a trackball, etc. The teaching device 20 may also include a speaker, a microphone, a camera, etc.
[0020] The CPU 21 controls the entire teaching device 20 using, for example, an OS (Operating System) stored in a secondary storage device 23 connected via a bus, and performs various processes by executing various programs stored in the secondary storage device 23. One or more CPUs 21 may be provided, and may implement processes in cooperation with each other.
[0021] The main storage device 22 is composed of writable memory such as cache memory and RAM (Random Access Memory), and is used as a working area for reading out execution programs of the CPU 21 and writing processing data by the execution programs.
[0022] The secondary storage device 23 is a non-transitory computer-readable storage medium. Examples of the secondary storage device 23 include a magnetic disk, a magneto-optical disk, a CD-ROM, a DVD-ROM, and a semiconductor memory. Examples of the secondary storage device 23 include a read-only memory (ROM), a hard disk drive (HDD), a solid-state drive (SSD), and a flash memory. The secondary storage device 23 stores, for example, an operating system (OS) for controlling the entire teaching device 20, such as Windows (registered trademark), iOS (registered trademark), or Android (registered trademark), a basic input / output system (BIOS), various device drivers for operating peripheral devices, various application software, and various data and files. The secondary storage device 23 also stores programs for implementing various processes and various data required for implementing the various processes. A plurality of secondary storage devices 23 may be provided, and the programs and data described above may be stored separately in each secondary storage device 23.
[0023] The external interface 24 is an interface for connecting to an external device. Examples of external devices include an external monitor, a USB memory, an external HDD, an external camera, etc. Although only one external interface 24 is shown in the example shown in FIG. 3, multiple external interfaces 24 may be provided.
[0024] The communication interface 25 functions as an interface for connecting to a network to communicate with other devices and transmitting and receiving information. For example, the communication interface 25 communicates with other devices via wired or wireless communication. Examples of wireless communication include communication via lines such as Bluetooth (registered trademark), Wi-Fi, mobile communication systems (3G, 4G, 5G, 6G, LTE, etc.), and wireless LAN. Examples of wired communication include serial communication such as RS-232C and RS-485, CAN (Controller Area Network), Ethernet, and wired LAN (Local Area Network).
[0025] A series of processes for realizing the functions of the teaching device 20 is stored in the secondary storage device 23 or the like in the form of a program, and the CPU (processor) 21 reads this program into the main storage device 22 and executes information processing and arithmetic processing to realize various functions. Note that the program may be pre-installed in the secondary storage device 23, provided in a state stored in a non-transitory computer-readable storage medium, or distributed via wired or wireless communication means. Examples of non-transitory computer-readable storage media include magnetic disks, magneto-optical disks, CD-ROMs, DVD-ROMs, and semiconductor memories.
[0026] 1, the teaching device 20 displays a virtual three-dimensional space VS correlated with the workspace S of the robot 1 on the display 27. In this embodiment, the three-dimensional space VS is expressed in an XYZ coordinate system.
[0027] By operating the input device 26, the user can perform teaching work in the three-dimensional space VS displayed on the display 27. For example, a pointing device such as a mouse or a keyboard can be used to input and change motion coordinates and rotate the three-dimensional space VS. Note that the coordinate system indicated by directional arrows in each figure indicates the world coordinate system. Therefore, it should be noted that when the three-dimensional space VS is rotated, the coordinate system of the three-dimensional space VS and the world coordinate system shown in the figure may not coincide.
[0028] Note that various known techniques have been proposed for inputting motion coordinates and motion conditions into the three-dimensional space VS displayed on the display 27, and for rotating the three-dimensional space VS, using the input device 26. These known techniques can be appropriately adopted. For example, it is possible to adopt the technology of a design support system using a computer, such as CAD (Computer Aided Design).
[0029] 4 is a functional configuration diagram showing an example of functions included in the teaching device 20 according to this embodiment. As shown in FIG. 4, the teaching device 20 includes an angle changing unit 31, a setting unit 32, an editing unit 33, a storage unit 34, and the like.
[0030] The angle change unit 31 changes the display angle of the three-dimensional space VS based on an instruction from the input device 26. As a result, the three-dimensional space VS displayed on the display 27 is rotated based on an instruction from the input device 26, as illustrated in, for example, Figures 10 and 11 .
[0031] For example, a user can rotate the three-dimensional space VS using a mouse. In this embodiment, the three-dimensional space VS can be rotated by operating the mouse two-dimensionally while pressing a predetermined button on the mouse, and the rotation of the three-dimensional space VS is stopped and the display angle is determined by releasing the button.
[0032] The setting unit 32 sets one of the two-dimensional planes in the three-dimensional space VS as an editing plane on which the motion coordinates can be edited (input, change, etc.) according to the display angle of the three-dimensional space VS displayed on the display 27.
[0033] For example, the setting unit 32 sets the editing plane using the angle between the normal to the display screen of the display 27 and the normal to each of the two-dimensional planes that define the three-dimensional space. Here, the two-dimensional planes are the XY plane, the YZ plane, and the ZX plane. 5, the setting unit 32 sets the editing plane using the angle θz between the normal Nu of the display screen of the display 27 and the normal Nxy of the XY plane, the angle θx between the normal Nu and the normal Nyz of the YZ plane, and the angle θy between the normal Nu and the normal Nxz of the XZ plane. Here, in the XYZ coordinate system, the normal Nxy of the XY plane is parallel to the Z axis, the normal Nyz of the YZ plane is parallel to the X axis, and the normal Nxz of the XZ plane is parallel to the Y axis. For convenience, the normal Nu of the display screen of the display 27 is indicated by an arrow pointing in the opposite direction.
[0034] Specifically, the setting unit 32 calculates the absolute values of the cosines |cosθz|, |cosθx|, and |cosθy| from the angles θz, θx, and θy formed between the normal Nu of the display screen of the display 27 and the normals Nxy, Nyz, and Nxz of each of the two-dimensional planes (XY plane, YZ plane, and ZX plane) that define the three-dimensional space VS, and sets the editing plane using these absolute values of the cosines.
[0035] In this case, the plurality of two-dimensional planes may include a priority editing plane that is to be preferentially set as the editing plane, and the setting unit 32 may set the priority editing plane as the editing plane when the absolute value of the cosine of the priority editing plane is equal to or greater than a preset threshold. For example, the priority editing plane may be an XY plane.
[0036] For example, if the absolute value of the cosine of the XY plane |cosθz| is equal to or greater than a preset threshold, the setting unit 32 sets the XY plane as the editing plane. Here, the threshold is a value that is arbitrarily set in terms of design, and in this embodiment, a case where the threshold is set to 0.3 will be described as an example. The reason for setting the threshold to 0.3 is to make it easier to select the XY plane as the editing plane. This is because the XY plane is the widest and is also the most frequently used. By making it easier to select the XY plane as the editing plane, it is possible to provide the user with more intuitive operability. Of course, the threshold may be other than 0.3; for example, a threshold (approximately 0.7) may be set that does not set a plane as a priority selection. This threshold may also be changeable by the user.
[0037] Also, for example, if the absolute value of the cosine of the XY plane |cosθz| is less than a preset threshold, the setting unit 32 compares the absolute value of the cosine of the YZ plane |cosθx| with the absolute value of the cosine of the XZ plane |cosθy|, and sets the plane with the larger absolute value of the cosine as the editing plane.
[0038] The editing plane set by the setting unit 32 is displayed with more emphasis than other planes. For example, the editing plane in FIG. 5 is the YZ plane, and the editing plane in FIG. 6 is the XY plane. In FIGS. 7, 10, and 11, the editing plane is also emphasized with a thick line. However, the manner of emphasis is not limited to this. For example, the emphasis may be achieved by changing the color, changing the shape by adding grid lines, or by changing the display method, such as blinking.
[0039] The editing unit 33 receives input of motion coordinates of the robot 1 in the three-dimensional space VS. Here, when an editing plane is set by the setting unit 32, the editing unit 33 is able to edit only the coordinate values on the editing plane.
[0040] For example, when the XY plane is set as the editing plane, the editing unit 33 interprets input from the input device 26 as input to the XY plane, displays the motion coordinate group MP in the three-dimensional space VS, and registers teaching data (see FIG. 8). As a result, in the teaching data, coordinate values specified from the input device 26 are registered for the X and Y values, and the coordinate of the base plane (default is Z=0) is registered for the Z value. Note that the coordinate of the base plane may be configured to be changeable by the user. Here, the "motion coordinate group MP" includes at least one coordinate. If the motion coordinate group MP includes multiple motion coordinates, the motion coordinate group MP may also include path information connecting the multiple motion coordinates.
[0041] For example, as shown in Fig. 6, when an XY plane is set as the editing screen and a group of motion coordinates MP having a locus shaped like the letter "R" is drawn (input), the editing unit 33 interprets it as an input to the XY plane and the Z value as a fixed value (base value). Note that in Fig. 6, the coordinate values of each motion coordinate (point) designated by the user may be displayed.
[0042] Furthermore, when a motion coordinate group MP is selected in the three-dimensional space VS, the motion coordinate group MP can only be moved on the editing plane. For example, in Figure 6, when a motion coordinate group of a drawn "R" shape is selected as the motion coordinate group MP, the motion coordinate group of the drawn "R" shape can be moved on the XY plane, and the Z value is treated as unchanged.
[0043] By limiting the editing plane to a two-dimensional plane, two-dimensional operations using a pointing device such as a mouse can be made to match the dimensions of the editing plane, allowing users to easily and intuitively edit teaching data in three-dimensional space.
[0044] Here, as shown in Fig. 7, when a motion coordinate group MP is selected on the editing plane, the selected motion coordinate group MP may be projected and displayed on at least one other plane that defines the three-dimensional space VS. Fig. 7 shows a diagram in which the selected motion coordinate group MP is projected and displayed on each of three two-dimensional planes that define the three-dimensional space, but the motion coordinate group MP may also be projected and displayed only on the editing plane (the YZ plane in Fig. 7). In these figures, the symbol PP indicates the projected and displayed motion coordinate group.
[0045] By projecting and displaying the motion coordinate group MP in this way, the user can more clearly grasp the positional relationship of the selected motion coordinate group MP in the three-dimensional space VS, and can perform input operations more intuitively.
[0046] The memory unit 34 stores teaching data (information on the motion coordinate group) corresponding to the motion coordinate group MP input from the input device 26 in the three-dimensional space VS or on a text editing screen (not shown). FIG. 8 shows an example of the teaching data. As shown in FIG. 8, the teaching data includes the three-dimensional position coordinates of the robot at each point (each motion coordinate) P0, P1, and P2. The teaching data may also include conditions corresponding to each point P0, P1, and P2. The point conditions may include speed conditions or input / output conditions for linking with external devices. The point conditions may also include attributes of the point or a line or curve connecting multiple points, such as a straight line trajectory or a curved line trajectory.
[0047] Next, a method for setting an editing plane will be described with reference to Fig. 9. Fig. 9 is a flowchart showing an example of the procedure for editing plane setting processing executed by the teaching device 20 according to this embodiment. A series of processes described below is stored in the form of a program in the secondary storage device 23 or the like provided in the teaching device 20, for example, and is realized by the CPU (processor) 21 reading this program into the main storage device 22 and executing information processing and arithmetic processing. The following processing flow is an example, and unnecessary steps may be deleted, new steps may be added, or the processing order may be changed within the scope of the present invention.
[0048] The following processing is executed when there is a change in the rotation angle of the three-dimensional space VS displayed on the display 27. For example, in this embodiment, a case will be described in which the processing is executed when the user operates the mouse two-dimensionally while pressing a predetermined button provided on the mouse, and then releases the button, thereby finalizing the rotation angle of the three-dimensional space VS.
[0049] First, based on the display angle of the three-dimensional space VS after the change, the absolute value |cosθz| of the cosine of the angle θz formed between the normal Nxy of the XY plane and the normal Nu of the display screen of the display 27 is obtained (SA1). Here, the absolute value |cosθz| of the cosine of the angle θz may be calculated using a pre-stored arithmetic expression, or may be obtained using a table in which the angle θz and the absolute value of the cosine are associated with each other.
[0050] Next, it is determined whether the absolute value of the cosine of the angle θz, |cosθz|, is equal to or greater than the threshold value (SA2). As a result, if the absolute value of the cosine of the angle θz, |cosθz|, is equal to or greater than the threshold value (SA2: YES), the XY plane is set as the editing plane (SA3), and this process ends. On the other hand, if the absolute value of the cosine of the angle θz, |cosθz|, is less than the threshold value (SA2: NO), the absolute value of the cosine of the angle θy, |cosθy|, between the normal Nxz to the XZ plane and the normal Nu to the display screen, is obtained (SA4), and the absolute value of the cosine of the angle θx, |cosθx|, between the normal Nyz to the YZ plane and the normal Nu to the display screen, is obtained (SA5).Then, the absolute value of the cosine of the angle θy, |cosθy|, is compared with the absolute value of the cosine of the angle θx, |cosθx|, (SA6).
[0051] As a result, if the absolute value of the cosine of angle θx, |cosθx|, is greater than the absolute value of the cosine of angle θy, |cosθy|, (SA6: YES), plane YZ is set as the editing plane (SA7), and this process ends. On the other hand, if the absolute value of the cosine of angle θx, |cosθx|, is equal to or less than the absolute value of the cosine of angle θy, |cosθy|, (SA6: NO), plane XZ is set as the editing plane (SA8), and this process ends.
[0052] For example, as shown on the display 27 in Figure 5, if the angles between each normal Nxy, Nyz, Nxz and the normal Nu of the display screen are θz = 90°, θx = 180°, and θy = 90°, respectively, the absolute values of the cosines of each angle θz, θy, and θx are as follows.
[0053] |cosθz|=0 |cosθx|=1.0 |cosθy|=0
[0054] Therefore, according to the process of FIG. 9, the result is "NO" in step SA2 and "YES" in step SA6, and the YZ plane is set as the editing plane (SA7).
[0055] 10(a) to 10(c) show a state in which the user operates input device 26 to rotate three-dimensional space VS in the pitch direction by a predetermined angle (for example, approximately 30°) from the display state of three-dimensional space VS shown in FIG. 5. In FIG. 10(a), angle θz is approximately 120°, and the absolute value of the cosine |cosθz| is 0.5 (SA2: YES), so the XY plane is set as the editing plane (SA3). Also, in FIGS. 10(b) and 10(c), the absolute value of the cosine of angle θz |cosθz| is equal to or greater than the threshold value (=0.3), so the XY plane is set as the editing plane.
[0056] 11(a) to 11(c) show a state in which the user operates the input device 26 to rotate the three-dimensional space VS in the yaw direction by a predetermined angle (for example, approximately 30°) from the display state of the three-dimensional space VS shown in Fig. 5. In Fig. 11(a) to 11(c), the angle θz is always maintained at 90°, so the absolute value of the cosine |cosθz| is zero, and the determination at step SA2 in the flowchart shown in Fig. 9 is always "NO."
[0057] 11(a) to 11(c), the relationship between the absolute value of the cosine of the angle x |cos θx| and the absolute value of the cosine of the angle y |cos θy| changes according to the rotation.
[0058] That is, in the state of Figure 11(a), the absolute value of the cosine of the angle θx = 150°, |cosθx| = approximately 0.87, which is greater than the absolute value of the cosine of the angle θy = 120°, |cosθy| = 0.5 (step SA6 in Figure 9: YES), so the YZ plane is set as the editing plane (step SA7).
[0059] In the state of Figure 11(b), the absolute value of the cosine of angle θx = 120°, |cosθx| = 0.5, is smaller than the absolute value of the cosine of angle θy = 150°, |cosθy| = approximately 0.87 (step SA6: NO in Figure 9), so the XZ plane is set as the editing plane (SA8).
[0060] In the state of Figure 11(c), the absolute value of the cosine of angle θx = 90°, |cosθx| = 0, is smaller than the absolute value of the cosine of angle θy = 180°, |cosθy| = 1.0 (step SA6: NO in Figure 9), so the XZ plane is set as the editing plane (SA8).
[0061] As described above, the editing plane is automatically set according to the display angle of the three-dimensional space VS, so the user can easily switch the editing plane without performing any additional operations to set the editing plane.
[0062] As the user proceeds with the teaching work using the three-dimensional space VS, teaching data is created and stored in the memory unit 34. The teaching data created in this way is transmitted online from the teaching device 20 to the robot 1. Note that although wired communication is used in FIG. 1, wireless communication may also be used.
[0063] In the robot 1, teaching data is stored in a memory unit 15 (see FIG. 2). Then, the robot control unit 14 reads out the teaching data stored in the memory unit 15 and controls the X motor 11, Y motor 12, Z motor 13, etc. in accordance with the read teaching data, thereby performing processing and the like based on the teaching data.
[0064] As explained above, the robot teaching device, robot teaching method, and program according to this embodiment include an angle change unit 31 that changes the display angle of the three-dimensional space VS displayed on the display 27 based on instructions from the input device 26, and a setting unit 32 that sets one of the two-dimensional planes in the three-dimensional space VS as an editing plane on which the motion coordinates can be edited, depending on the display angle of the three-dimensional space VS.
[0065] As a result, the editing plane is automatically switched as the display angle of the three-dimensional space VS is changed. Generally, when performing a teaching operation, the user rotates the three-dimensional space VS and edits the teaching data while checking the motion coordinates (motion points) in the three-dimensional space. In other words, the operation of rotating the three-dimensional space VS is one of a series of operations essential to the teaching operation. According to this embodiment, the editing plane is automatically switched as the three-dimensional space VS is rotated, so that the editing plane can be switched seamlessly. This allows the teaching operation to proceed without the user having to perform the special operation of switching the editing operation, and is expected to improve the efficiency of the teaching operation.
[0066] Furthermore, because the editing unit 33 allows editing of only coordinate values on the editing plane, it is possible to match the dimensions of two-dimensional operations using a pointing device such as a mouse with input operations in the three-dimensional space VS. This allows the user to intuitively operate the input device 26 during teaching work, improving the user experience.
[0067] Furthermore, according to this embodiment, the XY plane is preferentially set as the editing plane among multiple two-dimensional planes. Specifically, the setting unit 32 sets the XY plane as the editing plane when the absolute value of the cosine of the angle between the normal to the XY plane and the normal to the display screen is equal to or greater than a predetermined threshold. Here, the threshold is set to, for example, 0.3. The XY plane generally has the largest area and tends to be used most frequently. Therefore, by making it easier to select the XY plane as the editing plane, operability can be improved. Note that in this embodiment, the XY plane is selected as the priority editing plane that is preferentially set as the editing plane, but this is not limited thereto. For example, the priority editing plane can be arbitrarily set depending on the definition of the three-dimensional space VS and the teaching content.
[0068] Although the present invention has been described above using embodiments, the technical scope of the present invention is not limited to the scope described in the above embodiments. Various modifications or improvements can be made to the above embodiments without departing from the gist of the invention, and such modifications or improvements are also included in the technical scope of the present invention. Furthermore, the above embodiments may be combined as appropriate.
[0069] For example, in this embodiment, the three-dimensional space VS can be rotated by moving the mouse two-dimensionally while pressing a predetermined button on the mouse, but this is not limited to this. For example, the three-dimensional space VS may be rotated without pressing a button. Furthermore, the display angle of the three-dimensional space VS may be set by inputting the rotation angle as a numerical value.
[0070] Alternatively, the display angle of the three-dimensional space VS may be changed by a predetermined angle by pressing a predetermined button on the keyboard. In this case, it is possible to change the display angle of the three-dimensional space VS by operating the predetermined button on the keyboard, while operating the mouse to input data to the editing plane.
[0071] 9 is executed when the user operates the mouse two-dimensionally while pressing a predetermined button on the mouse, and then releases the button to fix the rotation angle of the three-dimensional space VS. However, the start timing of the editing plane setting process is not limited to this. For example, the editing plane setting process may be executed repeatedly at predetermined time intervals while the user is changing the display angle of the three-dimensional space VS by operating the input device 26.
[0072] In this embodiment, the teaching device 20 is realized as an information processing device connectable to the robot 1, but is not limited to this. For example, the teaching device 20 may be incorporated into the robot body and configured integrally with the robot 1.
[0073] According to this embodiment, if the absolute value of the cosine of an XY plane among a plurality of two-dimensional planes, |cos θz|, is equal to or greater than a threshold, the XY plane is set as the editing plane. However, this is not limited to this. For example, the absolute value of the cosine may be calculated using the angle between the normal of each two-dimensional plane and the normal of the display screen, and the plane with the largest absolute value of the calculated cosine may be set as the editing plane.
[0074] In the present embodiment, the setting unit 32 may have a first mode in which an editing plane is set according to the display angle of the three-dimensional space VS, and a second mode in which an editing plane is set based on an instruction from the input device 26. The setting unit 32 may also include a mode switching unit (mode switching means) that switches between the first mode and the second mode based on an instruction from the input device 26. This allows the user to select a desired mode according to the teaching content and preferences, improving convenience.
[0075] In the present embodiment, online teaching has been described as an example in which teaching is performed on the robot 1 while the robot 1 and the teaching device 20 are electrically connected, but this is not limiting. For example, offline teaching may also be used. Offline teaching is a method in which teaching data is created when the teaching device 20 is not directly connected to the robot 1, and then the teaching data is transmitted to the robot 1 using a communication means or the like for teaching.
[0076] Online teaching has the advantage that, for example, teaching can be performed while test driving the robot 1. In contrast, offline teaching has the advantage that teaching can be performed on the robot 1 from a remote location and that teaching can be performed on multiple robots 1 at the same time.
[0077] In this embodiment, an editing plane is set using the angle between the normal to the display screen of display 27 and the normal to each two-dimensional plane that defines the three-dimensional space, and in particular, a priority editing plane can be set by setting a threshold value, but this is not limited to this. In other words, using the angle θz between the normal Nu of the display screen of the display 27 and the normal Nxy of the XY plane, the angle θx between the normal Nu and the normal Nyz of the YZ plane, and the angle θy between the normal Nu and the normal Nxz of the XZ plane, for example, the plane with the largest or smallest numerical value may be set as the editing plane by simply comparing the angles θz, θx, and θy, or by comparing their absolute values, or by comparing the absolute values of the cosines of these angles. [Explanation of symbols]
[0078] 1:Robot 2: Base body 3:X table 4: Tools 5:Y unit 6: Z Unit 11:X motor 12: Y motor 13: Z motor 14: Robot control unit 15: Storage section 16: Start button 20: Teaching device 21: CPU 22: Main memory 23:Secondary storage device 24: External interface 25: Communication interface 26: Input device (input means) 27: Display (display unit) 31: Angle change unit (angle change means) 32: Setting unit (setting means) 33: Editorial Department (Editing Method) 34: Storage section S:Work space VS: 3D space W: Work
Claims
1. A robot teaching device that displays a three-dimensional space correlated with a working space of a robot on a display unit and is capable of inputting motion coordinates of the robot into the three-dimensional space, An angle change means for changing a display angle of the three-dimensional space based on an instruction from an input means; a setting means for setting any one of two-dimensional planes in the three-dimensional space as an editing plane on which the motion coordinates can be edited, according to a display angle of the three-dimensional space; A robot teaching device comprising:
2. an editing means for receiving an input of motion coordinates of the robot in the three-dimensional space; 2. The robot teaching device according to claim 1, wherein said editing means, when said editing plane is set, allows only coordinate values on said editing plane to be edited.
3. 2. The robot teaching device according to claim 1, wherein the setting means sets the editing plane using an angle formed between a normal to the display screen of the display unit and a normal to each of the two-dimensional planes that define the three-dimensional space.
4. 2. The robot teaching device according to claim 1, wherein the setting means calculates absolute values of cosines from angles formed between a normal to the display screen of the display unit and a normal to each of the two-dimensional planes that define the three-dimensional space, and sets the editing plane using the absolute values of the cosines.
5. The plurality of two-dimensional planes include a priority editing plane that is preferentially set as an editing plane, 5. The robot teaching device according to claim 4, wherein the setting means sets the priority editing plane as the editing plane when the absolute value of the cosine of the priority editing plane is equal to or greater than a preset threshold value.
6. 5. The robot teaching device according to claim 4, wherein said setting means sets the two-dimensional plane having the largest absolute value of the cosine as the editing plane.
7. 2. The robot teaching device according to claim 1, wherein the setting means has a first mode in which the editing plane is set in accordance with a display angle of the three-dimensional space, and a second mode in which the editing plane is set based on an instruction from the input means, and further comprises mode switching means for switching between the first mode and the second mode based on an instruction from the input means.
8. 2. A robot teaching device as described in claim 1, wherein when the motion coordinates or path information connecting multiple motion coordinates is selected in the three-dimensional space, the motion coordinates or the path information is projected and displayed on at least one of the two-dimensional planes that define the three-dimensional space.
9. 2. The robot teaching device according to claim 1, wherein the editing plane is displayed in an emphasized manner.
10. A robot teaching method that displays a three-dimensional space correlated with a working space of the robot on a display unit and enables input of motion coordinates of the robot into the three-dimensional space, comprising: an angle changing step of changing a display angle of the three-dimensional space based on an instruction from an input means; a setting step of setting any one of two-dimensional planes in the three-dimensional space as an editing plane on which the motion coordinates can be edited, according to a display angle of the three-dimensional space; A robot teaching method in which the above is executed by a computer.
11. A program for causing a computer to function as the robot teaching device according to any one of claims 1 to 9.
Citation Information
Patent Citations
Netsukasoseijushiseishokokeipaipuyorinaru shiitojobutsu oyobi sonoseizoho
JP1976020290A
Coordinate inputting method
JP1998333827A