Control device and control method
The control device and method ensure accurate and safe robot arm operation by verifying tool information before starting, addressing the issue of unintended contact due to incorrect settings.
Patent Information
- Application Number
- JP2024052397
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-27
- Publication Date
- 2025-10-09
AI Technical Summary
Existing robot systems lack sufficient measures to prevent unintended contact with obstacles due to incorrect or inappropriate settings of tools attached to robot arms, despite the use of movement prohibition zones.
A control device and method that includes an acquisition unit to gather information about the tool attached to the robot arm, a determination unit to verify this information against preset data, and a drive control unit to initiate operation only when the information matches, along with a notification unit to alert errors if they do not match.
Prevents the robot arm from operating with mismatched tool settings, enhancing work accuracy and safety by ensuring proper tool alignment before operation.
Smart Images

Figure 2025151132000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a control device and a control method. [Background technology]
[0002] In recent years, in order to improve the efficiency and uniformity of work, manufacturing, processing, assembly, and other tasks have been performed by robots having robot arms, as shown in Patent Document 1, for example. Such robots have various mechanisms in place to prevent the robot arms from coming into unintended contact with obstacles. For example, the robot described in Patent Document 1 sets a movement prohibition zone around the robot that prohibits the robot arms from entering, and drives the robot arms so as not to enter the movement prohibition zone, thereby preventing the robot arms from coming into unintended contact with obstacles. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 1-16395 Summary of the Invention [Problem to be solved by the invention]
[0004] However, with the robot described in Patent Document 1, even if a movement-prohibited area is set, if an operator makes a mistake or inappropriate setting for the type or shape of the tool attached to the tip of the robot arm or the position of the control point set on the tool when moving the robot, there is a risk that the tool will enter the movement-prohibited area, which may cause the robot arm to come into unintended contact with an obstacle. Conventionally, sufficient measures have not been taken to prevent such incorrect or inappropriate settings. [Means for solving the problem]
[0005] The control device of the present invention includes: an acquisition unit that acquires first information about a tool attached to a tip end of a robot arm among a plurality of tools; a determination unit that determines whether the first information acquired by the acquisition unit matches preset second information related to the tool; a drive control unit that controls driving of the robot arm to start operation of the robot arm when the determination unit determines that the first information and the second information match; The device further includes a notification signal generating unit that notifies an error when the determining unit determines that the first information and the second information do not match.
[0006] The control method of the present invention includes an acquisition step of acquiring first information about a tool attached to a tip end of a robot arm among a plurality of tools; a determination step of determining whether or not the first information acquired in the acquisition step matches preset second information related to the tool, a driving step of controlling the driving of the robot arm so as to start an operation of the robot arm when it is determined in the determining step that the first information and the second information match; If it is determined in the determining step that the first information and the second information do not match, a notifying step is executed to notify that an error has occurred. [Brief explanation of the drawings]
[0007] [Figure 1] FIG. 1 is a diagram showing the overall configuration of a robot system equipped with a first embodiment of a control device of the present invention. [Figure 2] FIG. 2 is a block diagram of the robot system shown in FIG. [Figure 3] FIG. 3 is a perspective view of a tool attached to a robot arm. [Figure 4] FIG. 4 is a diagram showing an example of the teaching screen. [Figure 5] FIG. 5 is a diagram showing an example of the confirmation screen. [Figure 6] FIG. 6 is a diagram showing an example of the confirmation screen. [Figure 7] FIG. 7 is a diagram showing an example of the execution screen. [Figure 8] FIG. 8 is a diagram showing an example of the notification screen. [Figure 9] FIG. 9 is a flowchart illustrating an example of a control method of the present invention. [Figure 10] FIG. 10 is a diagram showing an example of a program creation screen in the second embodiment of the control device of the present invention. [Figure 11] FIG. 11 is a diagram showing an example of a program creation screen in the second embodiment of the control device of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0008] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A control device and a control method according to the present invention will be described in detail below based on preferred embodiments shown in the accompanying drawings.
[0009] First Embodiment FIG. 1 is a diagram showing the overall configuration of a robot system including a first embodiment of a control device of the present invention. FIG. 2 is a block diagram of the robot system shown in FIG. 1. FIG. 3 is a perspective view of a tool attached to a robot arm. FIG. 4 is a diagram showing an example of a teaching screen. FIG. 5 is a diagram showing an example of a confirmation screen. FIG. 6 is a diagram showing an example of a confirmation screen. FIG. 7 is a diagram showing an example of an execution screen. FIG. 8 is a diagram showing an example of a notification screen. FIG. 9 is a flowchart for explaining an example of a control method of the present invention.
[0010] For ease of explanation, the robot arm 10 will be hereinafter referred to as the "base end" on the side of the base 11 in FIG. 1 and the "tip" on the opposite side, i.e., the side of the tool 20.
[0011] As shown in FIG. 1, the robot system 100 includes a robot 1 and a robot controller 3.
[0012] First, the robot 1 will be described. In this embodiment, the robot 1 shown in FIG. 1 is a single-arm, six-axis vertical articulated robot, and includes a base 11 and a robot arm 10. A tool 20, which is an end effector, can be attached to the tip of the robot arm 10. The tool 20 may be a component of the robot 1, or may be a separate member from the robot 1, i.e., it does not have to be a component of the robot 1.
[0013] The robot 1 is not limited to the configuration shown in the figure, and may be, for example, a dual-arm articulated robot. The robot 1 may also be a horizontal articulated robot. The robot 1 can perform a variety of tasks, such as transporting work objects, assembling, disassembling, painting, and polishing.
[0014] The base 11 is a support that drivably supports the robot arm 10 at its base end, and is fixed to, for example, the floor of a factory. The base 11 of the robot 1 is electrically connected to the robot controller 3 via a relay cable. Note that the connection between the robot 1 and the robot controller 3 is not limited to a wired connection as shown in FIG. 1, and may be, for example, a wireless connection. Furthermore, the connection may also be via a network such as the Internet.
[0015] In this embodiment, the robot arm 10 has a first arm 12, a second arm 13, a third arm 14, a fourth arm 15, a fifth arm 16, and a sixth arm 17, which are connected in this order from the base 11 side toward the tip side. The number of arms that the robot arm 10 has is not limited to six, and may be, for example, one, two, three, four, five, or seven or more. The size of each arm, such as its overall length, is not particularly limited and can be set as appropriate.
[0016] The base 11 and the first arm 12 are connected via a first joint 171. The first arm 12 is rotatable around a first rotation axis extending in the Z-axis direction relative to the base 11. In this way, the first rotation axis coincides with the normal to the floor surface to which the base 11 is fixed, and the entire robot arm 10 can rotate in either the forward or reverse direction around the first rotation axis.
[0017] The first arm 12 and the second arm 13 are connected via a second joint 172. The second arm 13 is rotatable relative to the first arm 12 about a second rotation axis that extends horizontally.
[0018] The second arm 13 and the third arm 14 are connected via a third joint 173. The third arm 14 is rotatable about a third rotation axis that extends horizontally relative to the second arm 13. The third rotation axis is parallel to the second rotation axis.
[0019] The third arm 14 and the fourth arm 15 are connected via a fourth joint 174. The fourth arm 15 is rotatable relative to the third arm 14 about a fourth rotation axis that is parallel to the central axis of the third arm 14. The fourth rotation axis is perpendicular to the third rotation axis.
[0020] The fourth arm 15 and the fifth arm 16 are connected via a fifth joint 175. The fifth arm 16 is rotatable relative to the fourth arm 15 around a fifth rotation axis. The fifth rotation axis is perpendicular to the fourth rotation axis.
[0021] The fifth arm 16 and the sixth arm 17 are connected via a sixth joint 176. The sixth arm 17 is rotatable around a sixth rotation axis O6 relative to the fifth arm 16. The sixth rotation axis O6 is perpendicular to the fifth rotation axis.
[0022] The sixth arm 17 is the robot tip located at the most distal end of the robot arm 10. The sixth arm 17 can be displaced together with the tool 20 by being driven by the robot arm 10.
[0023] In the following description, the first arm 12, the second arm 13, the third arm 14, the fourth arm 15, the fifth arm 16, and the sixth arm 17 will be collectively referred to as "arms," and the first joint 171, the second joint 172, the third joint 173, the fourth joint 174, the fifth joint 175, and the sixth joint 176 will be collectively referred to as "joints."
[0024] The robot 1 includes motors M1, M2, M3, M4, M5, and M6 as drive units, and encoders E1, E2, E3, E4, E5, and E6. The motor M1 is built into the first joint 171 and rotates the first arm 12 relative to the base 11 around the first rotation axis. The motor M2 is built into the second joint 172 and rotates the first arm 12 and the second arm 13 relatively around the second rotation axis. The motor M3 is built into the third joint 173 and rotates the second arm 13 and the third arm 14 relatively around the third rotation axis. The motor M4 is built into the fourth joint 174 and rotates the third arm 14 and the fourth arm 15 relatively around the fourth rotation axis. The motor M5 is built into the fifth joint 175 and rotates the fourth arm 15 and the fifth arm 16 relatively around the fifth rotation axis O6. The motor M6 is built into the sixth joint 176 and rotates the fifth arm 16 and the sixth arm 17 relatively around the sixth rotation axis O6.
[0025] Furthermore, encoder E1 is built into the first joint 171 and detects the position of motor M1. Encoder E2 is built into the second joint 172 and detects the position of motor M2. Encoder E3 is built into the third joint 173 and detects the position of motor M3. Encoder E4 is built into the fourth joint 174 and detects the position of motor M4. Encoder E5 is built into the fifth joint 175 and detects the position of motor M5. Encoder E6 is built into the sixth joint 176 and detects the position of motor M6. Note that "detecting position" here refers to detecting the rotation angle of the motor, i.e., the amount of rotation including forward and reverse, and the angular velocity, and the detected information is referred to as "position information."
[0026] 2, motor drivers D1 to D6 are connected to corresponding motors M1 to M6, respectively, and control the driving of these motors. Motor drivers D1 to D6 are built into a first joint 171, a second joint 172, a third joint 173, a fourth joint 174, a fifth joint 175, and a sixth joint 176, respectively.
[0027] Encoders E1 to E6, motors M1 to M6, and motor drivers D1 to D6 are each electrically connected to the robot controller 3. Position information of motors M1 to M6 detected by encoders E1 to E6, i.e., the amount of rotation, is transmitted to the robot controller 3 as an electrical signal. Based on this position information, the robot controller 3 outputs control signals to motor drivers D1 to D6 shown in FIG. 2 to drive motors M1 to M6. In other words, controlling the robot arm 10 means controlling the operation of first arm 12 to sixth arm 17 belonging to the robot arm 10 by controlling the driving of motors M1 to M6.
[0028] As shown in FIG. 3, a tool 20 is attached to the tip of the robot arm 10, i.e., the tip of the sixth arm 17. The tool 20 is selected and attached based on the type, shape, and size of the tool 20 appropriate for the task. In the illustrated configuration, the tool 20 includes a driver 201 and a holder 202 that holds the driver 201. However, in the present invention, the tool 20 is not limited to the driver 201 and may be, for example, a drill, a tap, a hand, or the like.
[0029] The driver 201 has a shaft portion 205 made of a hard material and a holder 206 that holds the shaft portion 205. The shaft portion 205 is spaced a predetermined distance from the sixth rotation axis O6 and extends in a direction parallel to the sixth rotation axis O6.
[0030] The holder 202 has a shaft 203 and a plate member 204 fixed to the shaft 203. The shaft 203 is fixed to the tip of the sixth arm 17. The shaft 203 is provided concentrically with the sixth rotation axis O6. The plate member 204 has an elongated shape extending in a direction perpendicular to the shaft 203, one end of which is fixed to the shaft 203, and the driver 201 is fixed to the other end. Therefore, the driver 201 is held at a position eccentric from the sixth rotation axis O6. In addition, the center of gravity G of the tool 20 is eccentric from the sixth rotation axis O6.
[0031] Next, the control device 2 will be described. As shown in FIGS. 1 and 2, the control device 2 includes a robot controller 3 and a teaching device 4.
[0032] As shown in FIG. 1, in this embodiment, the robot controller 3 is installed at a location separate from the robot 1. However, this configuration is not limiting, and the robot controller 3 may be built into the base 11. The robot controller 3 also has a function of controlling the driving of the robot 1, and is electrically connected to each of the above-mentioned components of the robot 1. As shown in FIG. 2, the robot controller 3 has a control unit 31, a storage unit 32, and a communication unit 33. These components are connected to each other so that they can communicate with each other, for example, via a bus.
[0033] The control unit 31 reads and executes various programs such as operation programs stored in the memory unit 32. The control unit 31 is composed of at least one processor such as a CPU (Central Processing Unit). Signals generated by the control unit 31 are transmitted to each part of the robot 1 via the communication unit 33, and signals from each part of the robot 1 are received by the control unit 31 via the communication unit 33. This allows the robot arm 10 to perform a predetermined task under predetermined conditions. In addition, signals generated by the control unit 31 can also be transmitted to the teaching device 4 via the communication unit 33.
[0034] The storage unit 32 stores various programs and the like to be executed by the control unit 31. Specifically, the storage unit 32 stores programs and the like for executing the control method of the present invention. Examples of the storage unit 32 include a configuration including a volatile memory such as a RAM (Random Access Memory), a non-volatile memory such as a ROM (Read Only Memory), and a removable external storage device. The storage unit 32 also stores some or all of the programs for executing the control method of the present invention.
[0035] The communication unit 33 transmits and receives signals to and from the robot 1 and the teaching device 4 using an external interface such as a wired LAN (Local Area Network) or a wireless LAN. In this case, communication may be performed via a server (not shown), or via a network such as the Internet.
[0036] As shown in FIGS. 1 and 2, the teaching device 4 is a device that teaches the robot 1 an operation program, and is configured as a notebook computer having a display unit 40 and an input operation unit 44.
[0037] The input operation unit 44 is composed of a keyboard and a mouse (not shown), and the operator operates these to input various types of information. The display unit 40 is composed of, for example, a liquid crystal display, an organic electroluminescence display, or the like, and can display various display screens in color or monochrome. The display unit 40 displays a teaching screen DA, a confirmation screen DB, a confirmation screen DC, an execution screen DD, a notification screen DE, and the like, which will be described later. The teaching screen DA, the confirmation screen DB, the confirmation screen DC, the execution screen DD, and the notification screen DE may be displayed simultaneously on the display unit 40, or may be displayed sequentially or at appropriate times by performing an image switching operation, etc. The image switching operation is performed using the input operation unit 44.
[0038] The teaching device 4 is not limited to a notebook computer, but may be a desktop computer, a tablet terminal, or the like. If the teaching device 4 is a tablet terminal, a touch panel may be used as the input operation unit 44. The display unit is not limited to the display unit 40, but may be, for example, an image projection unit that projects various images using a projector.
[0039] 2 is configured with at least one processor such as a CPU (Central Processing Unit), and reads and executes various programs stored in a storage unit 42. The control unit 41 has a function of accepting operations via an input operation unit 44 and controlling the operation of the display unit 40. Controlling the operation of the display unit 40 means generating image data such as a teaching screen DA, a confirmation screen DB, a confirmation screen DC, an execution screen DD, and a notification screen DE, and displaying them on the display unit 40.
[0040] The control unit 41 also has an acquisition unit 41A, a determination unit 41B, a drive control unit 41C, and an announcement signal generation unit 41D. The acquisition unit 41A executes an acquisition step, which will be described later. The determination unit 41B executes a determination step, which will be described later. The drive control unit 41C generates a drive signal that permits the execution of a drive step, which will be described later. The announcement signal generation unit 41D executes an announcement step, which will be described later. That is, among the processors included in the control unit 41, the processor that executes the acquisition step is the acquisition unit 41A, the processor that executes the determination step is the determination unit 41B, the processor that executes the drive step is the drive control unit 41C, and the processor that executes the announcement step is the announcement signal generation unit 41D.
[0041] The storage unit 42 stores various programs executable by the control unit 41. Examples of the storage unit 42 include a volatile memory such as a random access memory (RAM), a non-volatile memory such as a read only memory (ROM), and a removable external storage device. The storage unit 42 stores part or all of the program for executing the control method of the present invention. The program for executing the control method of the present invention may be stored in an external storage device.
[0042] The communication unit 43 includes an interface circuit and transmits and receives signals to and from the robot controller 3 using an external interface such as a wired local area network (LAN) or a wireless LAN. In this case, communication may be performed via a server (not shown), or via a network such as the Internet. The communication unit 43 transmits information related to the operation program stored in the storage unit 42 to the robot controller 3. The communication unit 43 can also receive information stored in the storage unit 32 and store the information in the storage unit 42.
[0043] Such a control device 2 is operated by an operator to teach point data, which is data on control points, i.e., points (position information of the robot arm 10), and then executes an operation program using the point data created by the teaching. Before actually executing the operation program, the first information about the tool 20 set in the robot arm 10 must match the information about the tool 20 set when the point data was created in the teaching, i.e., the second information about the tool 20 that is set in advance. If the two do not match, for example, the robot arm 10 may perform an unexpected operation. The present invention solves the above problem with the following configuration. This will be explained below. First, the case of performing teaching will be explained.
[0044] When teaching, point data is created using the teaching device 4. That is, the input operation unit 44 of the teaching device 4 is operated to associate the point data of the robot arm 10 with position information of the origin of a predetermined coordinate system, and this is stored in the storage unit 32. The point data includes position data of the robot arm 10 in the predetermined coordinate system. Note that the position information of the origin of the predetermined coordinate system is, for example, an origin set for each tool. That is, the point data of the robot arm 10 may be associated with information indicating the type of tool, and stored in the storage unit 32. The information indicating the type of tool may be a tool number set for each tool.
[0045] In teaching, first, the coordinate system to be used is set. This selection is made by selecting from the base coordinate system, tip coordinate system, external coordinate system, etc. Below, an explanation will be given using the external coordinate system as an example. Position information of the origin in the external coordinate system is set. In the external coordinate system, the position of the origin can be selected and set from multiple locations, and in this embodiment, from three locations: origin O1, origin O2, and origin O3, as shown in FIG. 3.
[0046] The origin O1 is located at the tip of the shaft 203 of the tool 20, the origin O2 is located at the tip of the shank 205 of the driver 201, and the origin O3 is located a predetermined distance away from the shaft 203 of the driver 201. For example, the origin O3 is located at the tip of a tool other than the driver 201, such as a hand, when the hand is attached. Here, the tool whose reference point is the origin O1 is designated as tool number 0, the tool whose reference point is the origin O2 is designated as tool number 1, and the tool whose reference point is the origin O3 is designated as tool number 2. When teaching, the display unit 40 appropriately displays the teaching screen DA, confirmation screen DB, confirmation screen DC, execution screen DD, and notification screen DE shown in FIGS. 4 to 8. In addition to these, a simulation screen of the tip of the robot arm 10 and the tool 20 shown in FIG. 3, particularly a simulation screen displaying the origin O1, the origin O2, and the origin O3, may also be displayed. This makes it possible to easily grasp the type and shape of the tool 20, the position of each origin, the positional relationship with the tool 20, etc., and to perform teaching more easily and appropriately.
[0047] Such settings can be selectively set on the teaching screen DA shown in Fig. 4 depending on the operation or application. Then, multiple point data are created. Point data can be created, for example, by operating button A in Fig. 4 to move the origin of the robot arm or tool 20 to a predetermined position, or by inputting coordinates into input section B which represents coordinates.
[0048] Furthermore, the position information of the origin is set by operating the pull-down menu PA labeled "Tool" on the teaching screen DA shown in FIG. 4 and selecting a number. The numbers selected using the pull-down menu PA correspond to the origin O1, origin O2, and origin O3, respectively. Information about the tool 20 set using the pull-down menu PA, i.e., information about the position information of the origin, is the second information. The information about the tool 20 may be, for example, a tool number.
[0049] After creating point data and setting the position information of the origin, pressing the button B1 marked "Teach (T)" on the teaching screen DA shown in FIG. 4 causes information about the tool 20 set using the pull-down menu PA, i.e., information about the position information of the origin, to be associated with the point data and stored in the storage unit 42 as an operation program. At this time, a confirmation screen DB such as that shown in FIG. 5 is also displayed. The confirmation screen DB displays "Do you want to register the current position to P1 (undefined)? (Tool number: 0 is set)." "P1" here is one of the point data and corresponds to "Label 1" on the confirmation screen DC shown in FIG. 6.
[0050] The point data and origin position information created in this way can be confirmed on a confirmation screen DC shown in FIG.
[0051] The confirmation screen DC is a screen that displays and allows you to check point data and origin position information in a list, and the rows "Label 1," "Label 2," and "Label 3" each show information about each point data.
[0052] Each point data is displayed in association with the position information of the origin. The numbers shown in the "Tool" column correspond to the number of the origin. That is, the number 0 of the position information indicated by "Label 1" is the origin O1, the number 1 of the position information indicated by "Label 2" is the origin O2, and the number 2 of the position information indicated by "Label 3" is the origin O2.
[0053] Furthermore, each point data is displayed in association with information on whether or not a comparison check, which will be described later, is performed. The characters "Check" or "NoCheck" shown in the "ToolCheck" column in the confirmation screen DC shown in FIG. 6 correspond to whether or not a pass / fail judgment, which will be described later, is performed. That is, "Label 1" is set to perform a pass / fail judgment, "Label 2" is set to not perform a pass / fail judgment, and "Label 3" is set to not perform a pass / fail judgment. Such settings can be made, for example, on the confirmation screen DC, or on program creation screens DF and DG in the second embodiment, which will be described later.
[0054] Next, the case where the operation program created by teaching is executed will be described. When executing an operation program created by teaching, for example, the execution screen DD shown in Fig. 7 is displayed on the display unit 40, and operations are performed on the execution screen DD. Specifically, the pull-down menu PB labeled "Tool" is operated to select a number. The numbers selected using the pull-down menu PB correspond to the origin O1, origin O2, and origin O3, respectively.
[0055] Next, the acquisition unit 41A acquires information about the origin set by the pull-down menu PB. This information is the first information about the tool 20. The first information is information about the tool that is attached to the robot arm when an operation program is executed, in other words, it is position information about the origin that is selected when an operation program is executed.
[0056] Also, a check box CB is displayed on the execution screen DD. After checking the check box CB, pressing the button B2 marked "Execute" causes the judgment unit 41B to perform a judgment step, i.e., pass / fail judgment. If the button B2 marked "Execute" is pressed without checking the check box CB, the pass / fail judgment by the judgment unit 41B is omitted. In this way, the check box CB can be said to be a selection unit for selecting whether or not to perform the pass / fail judgment by the judgment unit 41B.
[0057] Next, the information about the tool 20 that has been set in advance, i.e., the position information of the origin set at the time of teaching (second information), is compared with the information about the tool 20 that the acquisition unit 41A has acquired, i.e., the position information of the origin input by the operator before (approximately immediately before) the operation of the robot arm 10 (first information), and a determination is made as to whether or not they match. This determination is made by the determination unit 41B. The determination unit 41B makes a pass / fail determination for each of the taught point data.
[0058] If the judgment unit 41B determines that the position information of the origin set during teaching matches the position information of the origin acquired by the acquisition unit 41A, the drive control unit 41C sends a drive signal to the robot controller 3 to drive the robot arm 10, and controls the drive of the robot arm 10 so that the robot arm 10 starts operating.
[0059] If the determination unit 41B determines that the position information of the origin set during teaching does not match the position information of the origin acquired by the acquisition unit 41A, the notification signal generation unit 41D notifies the user of an error. That is, the notification signal generation unit 41D generates image data of a notification screen DE as shown in FIG. 8 and displays it on the display unit 40.
[0060] The notification screen DE displays the message "The currently set tool number does not match the tool number set for the point. Do you want to continue processing?". By pressing the "Yes (Y)" button B3 or the "No (N)" button B4 below, you can choose whether to continue processing or reset the settings.
[0061] In this way, the control device 2 determines whether the origin position information set during teaching the robot arm 10 matches the origin position information for the operation to be performed before the robot arm 10 starts operating. This prevents the robot arm 10 from being driven when these information do not match. In other words, it prevents the robot arm 10 from being operated when the origin position information differs from the expected information. This allows the robot arm 10 to operate properly and more accurately, improving work accuracy and safety. For example, if a tool with tool number 0 is attached to the tip of the robot arm 10, but the point data included in the operation program executed by the robot arm 10 is a point (position) taught using tool number 1 during teaching, when the robot arm 10 is actually operated, there is a risk that the operator will arrive at an unintended location along a route unintended by the operator. As described above, the present invention prevents the robot arm 10 from operating unintendedly by checking whether the tool information matches before the robot arm 10 operates.
[0062] As described above, the control device 2 includes an acquisition unit 41A that acquires position information of the origin of the tool 20, which is first information about a tool attached to the tip of the robot arm among multiple tools; a determination unit 41B that performs a pass / fail determination on whether the first information acquired by the acquisition unit 41A matches preset position information of the origin of the tool 20, which is second information about the tool 20; a drive control unit 41C that controls the drive of the robot arm 10 to start operating the robot arm 10 when the determination unit 41B determines that the first information and the second information match; and a notification signal generation unit 41D that notifies an error when the determination unit 41B determines that the first information and the second information do not match. This prevents the robot arm 10 from operating in a state different from the expected state of the tool 20 information. Therefore, the robot arm 10 can be operated more appropriately and accurately, thereby improving work precision and safety.
[0063] The first information and the second information each include position information of the origin of a coordinate system set for each tool. This allows the robot arm 10 to operate in a state where the position information of the origin of the coordinate system in the first information and the second information matches. This allows the robot arm 10 to operate more accurately, thereby improving work accuracy and safety. In the present invention, the first information and the second information may include information other than the position information of the origin, or may be information other than the position information of the origin.
[0064] The determination unit 41B performs a pass / fail determination for each point, which is the position information of the robot arm 10 in the operation program. This allows the robot arm 10 to operate in a state where the position information of the origin of the coordinate system of the first information and the second information matches at each point.
[0065] The control device 2 has a check box CB as a selection unit for selecting whether or not to perform a pass / fail judgment by the judgment unit 41B. This allows the pass / fail judgment to be performed only when necessary. As a result, teaching work and the like can be speeded up.
[0066] In the present invention, the selection section may be omitted, in which case pass / fail determination is always performed.
[0067] The origin of the coordinate system set for each tool is located at a position eccentric to the tip of the robot arm 10. When using a tool 20 with such a shape, unless the position information of the origin is set accurately, the tool is likely to come into unintended contact or collision with other objects. Therefore, by using a tool 20 with such a shape, the effects of the present invention can be more pronounced.
[0068] In the present invention, the type, shape, size, etc. of the tool 20 are not particularly limited, and the positional relationship of the center of gravity G of the tool 20 with respect to the sixth rotation axis O6 is not limited to the above.
[0069] Next, an example of the control method of the present invention will be described using the flowchart shown in Fig. 9. The following explanation will start from the stage of executing the created operating program after teaching has been performed to create the operating program.
[0070] (Step S101) First, the operator uses the teaching device 4 to operate the execution screen DD shown in FIG. 7 to set the position information of the origin. That is, the operator operates the pull-down menu PB labeled "Tool" and selects a number to select one of the origins O1, O2, and O3. In step S101, the acquisition unit 41A acquires the first information set by the selection of this origin. This step S101 is the acquisition step.
[0071] (Step S102) Next, in step S102, it is determined whether or not a comparison check is to be performed, i.e., whether or not a pass / fail judgment is to be made. This determination is made based on whether or not the check box CB, which is the selection section, is checked in the operation in step S101.
[0072] If it is determined in step S102 that a comparison check is to be performed, the process proceeds to step S103, and if it is determined in step S102 that a comparison check is not to be performed, the process proceeds to step S105.
[0073] (Step S103) In step S103, it is determined whether the first information and the second information match. That is, the determination unit 41B compares information about the tool 20 that has been set in advance, i.e., the position information of the origin set at the time of teaching (second information), with information about the tool 20 that has been acquired by the acquisition unit 41A, i.e., the position information of the origin (first information), and determines whether the two match.
[0074] (Step S104) If it is determined in step S103 that the first information and the second information do not match, an error is displayed on the display unit 40 in step S104. That is, the notification screen DE shown in Fig. 8 is displayed. This step is executed by the notification signal generation unit 41D. This step S104 is the notification step.
[0075] (Step S105) On the other hand, if it is determined in step S103 that the first information and the second information match, the robot 1 is operated in step S105. That is, the drive control unit 41C generates a signal to drive the robot arm 10 and transmits it to the robot controller 3. This step S105 is a drive step.
[0076] As described above, the control method of the present invention includes an acquisition step of acquiring first information (position information of the origin of the tool 20) about the tool 20 attached to the tip of the robot arm 10 among multiple tools, and a determination step of determining whether the first information acquired in the acquisition step matches preset second information about the tool 20 (position information of the origin of the tool 20). If it is determined in the determination step that the first information and the second information match, a drive step of controlling the drive of the robot arm 10 to start operation of the robot arm 10 is executed. If it is determined in the determination step that the first information and the second information do not match, a notification step of notifying an error is executed. This makes it possible to prevent the robot arm 10 from operating in a state different from the information of the tool 20 as expected. Therefore, the robot arm 10 can be operated more appropriately and accurately, thereby improving work precision and safety.
[0077] The notification of an error is not limited to an error display on the display unit 40, but may also be, for example, a notification by a pilot lamp lighting up or flashing, a notification by the generation of sound or vibration, or a notification by the robot arm 10 refusing to operate.
[0078] Furthermore, the control method of the present invention may be performed by the robot controller 3 alone, by the teaching device 4 alone, or by both of them in a shared role.
[0079] Second Embodiment 10 and 11 are diagrams showing an example of a program creation screen in the second embodiment of the control device of the present invention.
[0080] Hereinafter, a second embodiment of the control device and control method of the present invention will be described with reference to Figures 10 and 11. Below, differences from the first embodiment will be mainly described, and commonalities will not be described.
[0081] In this embodiment, information about the tool 20 is set using a program creation screen DF shown in Fig. 10 or a program creation screen DG shown in Fig. 11. The program creation screen DF and the program creation screen DG can be displayed appropriately on the display unit 40 by performing a screen switching operation or the like.
[0082] As shown in FIG. 10, the program creation screen DF is used to create an operation program in C language. The text "Tool 1" in FIG. 10 indicates the type of tool, i.e., the program that sets the use of tool 20, and "Tool 1" is the first information. The text "MoveP1" in FIG. 10 indicates a unit operation program set to move to position P1, and "TL0" indicates that position P1 is point data associated with tool number 0. This "TL0" is the second information. Furthermore, "TLC0" indicates that it is not determined whether the first information and the second information match. The text "MoveP2" in FIG. 10 indicates a unit operation program set to move to position P2, and "TL1" indicates that position P2 is point data associated with tool number 1. This "TL1" is the second information. Furthermore, "TLC1" indicates that it is determined whether the first information and the second information match. In this case, the first information and the second information match, so the robot arm 10 starts operating.
[0083] In the operation program created on the program creation screen DF, "TLC0" or "TLC1" is specified for each unit operation program. Therefore, pass / fail judgment is performed for each unit operation program, "MoveP1" and "MoveP2".
[0084] In this way, the control device 2 judges whether each unit operation program included in the operation program executed by the robot arm 10 passes or fails. This allows each unit operation program to be executed in a state where the first information and the second information match. This allows the robot arm 10 to operate more accurately, thereby improving work accuracy and safety.
[0085] Furthermore, on the program creation screen DF, it is possible to set information on the type of tool 20 attached to the tip of the robot arm 10, for example, information on whether the tool 20 is a screwdriver, a drill, or a tap. The information on the type of tool 20 is first information. That is, in this embodiment, the first information includes information on the type of tool 20 and position information of the origin of the tool 20. The second information also includes information on the type of tool and position information of the origin of the tool.
[0086] Here, "type of tool" refers in a broad sense to the types of tools corresponding to the purpose of work, such as the screwdriver, drill, and tap, but is not limited to this. For example, in the case of a screwdriver, it may refer to a medium or small category of screwdriver, such as a flathead screwdriver or a Phillips screwdriver, or the shape of the tip of the screwdriver. Furthermore, in a narrow sense, "type of tool" may include information regarding the dimensions of tool 20, such as the thickness and length of shank 205, for example, for screwdriver 201.
[0087] A determination is made as to whether the information on the type of tool 20 set during teaching matches the information on the type of tool for the operation to be performed, thereby preventing the robot arm 10 from being driven when they do not match.
[0088] In particular, in this embodiment, a pass / fail judgment is made for the information on the type of tool 20 and the position information of the origin. Since it is possible that the position information of the origin matches even if the types of tools 20 do not match, this embodiment can identify such errors. Therefore, the robot arm 10 can be operated more accurately, and work precision and safety can be further improved.
[0089] In this way, the first information and the second information include information about the type of tool. This makes it possible to make a pass / fail judgment taking into account the information about the type of tool 20, and allows the robot arm 10 to operate more accurately. In other words, the robot arm 10 can be driven with the type of tool 20 consistent, thereby further improving work accuracy and safety.
[0090] As shown in Figure 11, the program creation screen DG uses the SPEL function to create an operation program. In Figure 11, the text "Tool 1" indicates that origin O1 is used as the tool origin. In other words, "Tool 1" is the first information. The text "SetToolNum(P0,0)" indicates a unit operation program set to use origin O1 as the tool origin at point P0. This unit operation program is the second information. The text "SetToolCheckState(Off)" indicates a unit operation program set not to perform a pass / fail judgment. Therefore, the subsequent unit operation program "Go P0" does not perform a pass / fail judgment.
[0091] The next unit operation program, "SetToolNum(P1,1)," is a unit operation program set to use origin O2 as the tool origin at point P1. This unit operation program is the second information. The words "SetToolCheckState(On)" indicate a unit operation program set to make a pass / fail judgment. In this case, the first information and the second information match, so the robot arm 10 starts operating.
[0092] For an operation program created on such a program creation screen DG, it is possible to select whether or not to perform a pass / fail judgment, as in the first embodiment. In particular, if a pass / fail judgment is set to be performed on the program creation screen DG, it is possible to set a priority so that a pass / fail judgment is performed even if the button B2 marked "Execute" is pressed without checking the check box CB on the execution screen DD shown in Fig. 7. Therefore, a pass / fail judgment can be performed even if the check box CB on the execution screen DD has been forgotten to be checked.
[0093] In this embodiment, it is possible to set whether to make a pass / fail judgment for a plurality of unit operation programs collectively or for each unit operation program, and if the settings made collectively for a plurality of unit operation programs overlap with the settings made for each unit operation program, the settings made for each unit operation program take priority. This allows for more accurate pass / fail judgment. The order of priority may also be reversed.
[0094] Although the control device and control method of the present invention have been described above with reference to the illustrated embodiments, the present invention is not limited to these. Furthermore, each process and each part of the control method and fitting jig can be replaced with any process or structure that can perform the same function. Furthermore, any process or structure may be added. [Explanation of symbols]
[0095] 1...robot, 2...control device, 3...robot controller, 4...teaching device, 10...robot arm, 11...base, 12...first arm, 13...second arm, 14...third arm, 15...fourth arm, 16...fifth arm, 17...sixth arm, 20...tool, 31...control unit, 32...storage unit, 33...communication unit, 40...display unit, 41...control unit, 41A...acquisition unit, 41B...determination unit, 41C...drive control unit, 41D...alarm signal generation unit, 4 2...Memory unit, 43...Communication unit, 44...Input operation unit, 100...Robot system, 171...First joint, 172...Second joint, 173...Third joint, 174...Fourth joint, 175...Fifth joint, 176...Sixth joint, 201...Driver, 202...Jig, 203...Shaft, 204...Plate member, 205...Axis portion, 206...Holding portion, A...Button, B...Input unit, B1...Button, B2...Button, B3...Button, B4...Button, CB...Check button box, D1...motor driver, D2...motor driver, D3...motor driver, D4...motor driver, D5...motor driver, D6...motor driver, DA...teaching screen, DC...confirmation screen, DB...confirmation screen, DD...execution screen, DE...notification screen, DF...program creation screen, DG...program creation screen, E1...encoder, E2...encoder, E3...encoder, E4...encoder, E5...encoder, E6...encoder, G...center of gravity, M1...motor, M2...motor, M3...motor, M4...motor, M5...motor, M6...motor, O1...origin, O2...origin, O3...origin, O6...6th rotation axis, P0...point, P1...position, P2...position, PA...pull-down, PB...pull-down, S101...step, S102...step, S103...step, S104...step, S105...step
Claims
1. an acquisition unit that acquires first information regarding the tool attached to the tip of the robot arm among the plurality of tools; a determination unit that determines whether the first information acquired by the acquisition unit matches preset second information related to the tool; a drive control unit that controls driving of the robot arm to start operation of the robot arm when the determination unit determines that the first information and the second information match; a notification signal generation unit that notifies an error when the determination unit determines that the first information and the second information do not match.
2. The control device according to claim 1 , wherein the first information and the second information each include position information of an origin of a coordinate system set for each of the tools.
3. The control device according to claim 2 , wherein the determination unit performs the pass / fail determination for each point that is position information of the robot arm in an operation program.
4. The control device according to claim 2 , wherein the pass / fail determination is performed for each unit operation program included in the operation program executed by the robot arm.
5. The control device according to claim 2 , wherein the origin of the coordinate system set for each tool is at a position eccentric to the tip of the robot arm.
6. The control device according to claim 1 , wherein the first information and the second information include information about the type of the tool.
7. The control device according to claim 1 , further comprising a selection unit for selecting whether or not the pass / fail determination by the determination unit is to be performed.
8. It is possible to set whether the pass / fail judgment is performed for a plurality of unit operation programs collectively or for each of the unit operation programs, 3. The control device according to claim 2, wherein when the settings made collectively for the plurality of unit operation programs and the settings made for each of the unit operation programs overlap, the settings made for each of the unit operation programs take priority.
9. an acquiring step of acquiring first information about the tool attached to the tip of the robot arm among the plurality of tools; a determining step of determining whether or not the first information acquired in the acquiring step matches preset second information related to the tool, a driving step of controlling the driving of the robot arm so as to start an operation of the robot arm when it is determined in the determining step that the first information and the second information match; A control method characterized in that, when it is determined in the determining step that the first information and the second information do not match, a notifying step is executed to notify that an error has occurred.
Citation Information
Patent Citations
Controller for industrial robot
JP1989016395A