Teaching device

The teaching device accurately calculates robotic arm force by measuring torque, specifying direction, restricting movement, and calculating magnitude, addressing frictional disturbances for precise force estimation.

JP2025104606APending Publication Date: 2025-07-10SUMITOMO HEAVY IND LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023222515
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-12-28
Publication Date
2025-07-10

AI Technical Summary

Technical Problem

Existing teaching devices for robotic arms inaccurately calculate pressing force due to frictional disturbances, especially near singularity, leading to estimation errors in force direction and magnitude.

Method used

A teaching device with an acquisition unit to measure torque, a specifying unit to define force direction, a restricting unit to limit movement, and a calculating unit to determine force magnitude, while storing the data in a storage unit, thereby isolating frictional disturbances.

Benefits of technology

Accurately calculates the force applied to the robotic arm tip despite frictional disturbances, ensuring precise force estimation and reduced influence from unwanted forces.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025104606000001_ABST
    Figure 2025104606000001_ABST
Patent Text Reader

Abstract

To accurately calculate the force applied to the tip of a robot arm even when there is frictional disturbance.SOLUTION: A teaching device comprises: an acquisition unit which is attached to a robot arm having a tip, and acquires torque generated by a force applied to the robot arm; a designation unit which designates a direction of the force applied to the tip of the robot arm; a restriction unit which restricts movement of the tip in the designated direction; a calculation unit which calculates a magnitude of the force applied to the tip on the basis of the torque acquired by the acquisition unit when the force is applied to the robot arm in a state where the tip is restricted from moving in the designated direction; and a storage unit which stores the magnitude of the force applied to the tip.SELECTED DRAWING: Figure 3A
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The technology of the present disclosure relates to a teaching device.

Background Art

[0002] Patent Document 1 discloses a teaching device for directly teaching the pressing force of a tool attached to the tip of a robotic arm against an object. In this teaching device, the user operates the robotic arm to move the tool attached to the robotic arm to a position away from the object and inputs a servo lock instruction to the teaching device. The teaching device that has received the servo lock instruction servo-locks the robotic arm. The user applies a force by hand to the robotic arm. At this time, the torque sensor detects the torque due to the pressing force applied to the robotic arm, and the teaching device calculates the pressing force of the tool against the object from this torque and displays the calculated pressing force on a display device. When the pressing force reaches a desired value, the user inputs a determination instruction to the teaching device. The teaching device that has received the determination instruction registers the value and direction of the pressing force at the time when the determination instruction was input in a storage unit.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] In the above teaching device, when a frictional disturbance is added to the torque applied to the robotic arm, a component of the frictional disturbance is added to the calculated pressing force, the estimation accuracy of the pressing force decreases, and an external force in a direction other than the desired direction is also estimated under the influence of the disturbance. In particular, when the robotic arm takes a posture near a singularity, these phenomena become prominent.

[0005] The technology of the present disclosure has been made in view of the above facts, and an object thereof is to provide a teaching device capable of accurately calculating the force applied to the tip of a robotic arm even in the presence of frictional disturbances.

Means for Solving the Problems

[0006] A teaching device according to an aspect of the technology of the present disclosure includes an acquisition unit attached to a robotic arm having a tip, for acquiring torque due to a force applied to the robotic arm; a specifying unit for specifying a direction of a force applied to the tip of the robotic arm; a restricting unit for restricting movement of the tip in the direction; a calculating unit for calculating a magnitude of the force applied to the tip based on the torque acquired by the acquisition unit while the movement of the tip in the direction is restricted and a force is applied to the robotic arm; and a storage unit for storing the magnitude of the force applied to the tip.

Advantages of the Invention

[0007] The technology of the present disclosure can accurately calculate the force applied to the tip of a robotic arm even in the presence of frictional disturbances.

Brief Description of the Drawings

[0008]

Figure 1

Figure 2

Figure 3A

Figure 3B

Figure 3C

Figure 3D

Figure 4

Figure 5A

Figure 5B

Figure 5C

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10A

Figure 10B

[0009] Hereinafter, embodiments of the technology of the present disclosure will be described with reference to the drawings.

[0010] [First Embodiment] [Configuration] FIG. 1 is a diagram showing an example of the configuration of the teaching device 10 according to the first embodiment. As shown in FIG. 1, the teaching device 10 includes a robot arm 11 having a tip 11P1 that applies a pressing force to the object 12N1 and a plurality of joints 11J.

[0011] The object 12N1 is, for example, a desk, and a desk wiper (not shown) is attached to the tip 11P1. Alternatively, the object 12N1 may be a window, and a window wiper (not shown) may be attached to the tip 11P1.

[0012] The robot arm 11 is configured such that the tip 11P1 can be moved when an external force acts thereon. Specifically, as will be described later, the motors 22 provided at each of the plurality of joints 11J of the robot arm 11 can be freely rotated by the processor 32. The robot arm 11 is configured by the processor 32 so as not to fall downward due to gravity and to operate when an external force other than gravity is applied. For example, when not controlled by the processor 32, there are a first type in which the robot arm 11 is fixed by a brake so as not to move freely and a second type in which the robot arm 11 is not fixed by a brake and can move freely. The first type of robot arm 11 is configured such that the tip 11P1 can be moved when an external force acts thereon, only not falling downward due to gravity.

[0013] The horizontal direction is defined by the X-axis and Y-axis of the absolute coordinate system (X, Y, Z) of the space in which the teaching device 10 and the object 12N1 are arranged. The vertical direction is defined by the Z-axis.

[0014] Note that, instead of the absolute coordinate system, it may be defined by a coordinate system based on the tip 11P1.

[0015] FIG. 2 is a block diagram showing an example of the control system of the teaching device 10 according to the first embodiment. As shown in FIG. 2, the control system of the teaching device 10 includes a computer 30, an input unit 12, a display unit 14, and motors 22, encoders 24, and torque sensors 26 provided at each of the plurality of joints 11J of the robot arm 11.

[0016] The computer 30 includes a processor 32, a non-volatile memory (NVM) 34, a random access memory (RAM) 36, and an input / output (I / O) port 38. The processor 32, the NVM 34, the RAM 36, and the input / output (I / O) port 38 are interconnected by a bus 40. Connected to the input / output (I / O) port 38 are an input unit 12, a display unit 14, motors 22, encoders 24, and torque sensors 26 provided for respective ones of a plurality of joints 11J of the robotic arm 11.

[0017] The processor 32 is a processing device including a digital signal processor (DSP), a central processing unit (CPU), and a graphics processing unit (GPU). The DSP and the GPU operate under the control of the CPU and are responsible for executing each of the processes described later. Here, as an example of the processor 32, a processing device including a DSP, a CPU, and a GPU is given, but this is merely an example. The processor 32 may be one or more CPUs and DSPs integrating the GPU function, or one or more CPUs and DSPs not integrating the GPU function, or a tensor processing unit (TPU) may be mounted.

[0018] The NVM 34 is a non-volatile storage device that stores programs and various parameters, etc. Examples of the NVM 34 include flash memory (e.g., electrically erasable and programmable read-only memory (EEPROM)). A teaching processing program 34P is stored in the NVM 34.

[0019] The RAM 36 is a memory that temporarily stores information and is used as a work memory by the processor 32. Examples of the RAM 36 include, for example, DRAM (Dynamic Random Access Memory) or SRAM (Static Random Access Memory).

[0020] When the teaching process program 34P is read into the RAM 36 and executed by the processor 32, the processor 32 functions as a determination unit 32A, a fixed processing unit 32B, a calculation unit 32C, and a storage processing unit 32D.

[0021] The input unit 12 may be a keyboard and a mouse, a teach pendant (i.e., a portable operation terminal), or a tablet terminal. The input unit 12 inputs information designating the direction of the force applied to the tip 11P1 of the robot arm 11 by the operation of the operator.

[0022] The display unit 14 displays the information input to the input unit 12. As an example of the display unit 14, a liquid crystal display or an EL (Electroluminescent Display) display can be mentioned. When a teach pendant or a tablet terminal is adopted, the input unit and the display unit are configured by the same one device.

[0023] The torque sensor 26 is a sensor that acquires the torque due to the force applied by the operator to the robot arm 11 or the like.

[0024] The input unit 12 is an example of the "designating unit" of the technology of the present disclosure. The torque sensor 26 is an example of the "acquiring unit" of the technology of the present disclosure. The NVM 34 is an example of the "storage unit" of the technology of the present disclosure. The fixed processing unit 32B and the motor 22 are examples of the "limiting unit" of the technology of the present disclosure. The calculation unit 32C is an example of the "calculation unit" of the technology of the present disclosure.

[0025] (Function) Next, the operation of this embodiment will be described. FIG. 3A is a flowchart showing an example of a teaching process program executed by the processor 32 of the teaching device according to the first embodiment. When the teaching process program is executed, a teaching process and a teaching method are executed.

[0026] In step 52, the determination unit 32A determines whether or not the direction for storing the force is specified. If it is determined that the direction for storing the force is not specified, the teaching process returns to step 52.

[0027] In this embodiment, as described above, for example, the input unit 12 inputs information specifying the direction of the force applied to the tip 11P1 of the robot arm 11 by the operation of the operator. The direction of the force applied to the tip 11P1 of the robot arm 11 is, for example, the vertical direction (i.e., the Z-axis direction).

[0028] The display unit 14 displays the information input to the input unit 12. In the above example, the vertically downward direction is displayed. The operator who considers that the displayed direction is acceptable operates a determination button (not shown) of the input unit 12. When the determination button is operated, the displayed direction is specified as the direction of the force applied to the tip 11P1 of the robot arm 11, and the determination in step 52 becomes an affirmative determination.

[0029] The input unit 12 is not limited to inputting information specifying the direction of the force applied to the tip 11P1 of the robot arm 11 by the operation of the operator. For example, the operator may apply a force to the robot arm 11 so that the direction of the tip 11P1 of the robot arm 11 coincides with the direction of the force applied to the tip 11P1 of the robot arm 11, and operate a determination button (not shown) of the input unit 12.

[0030] If it is determined that the direction for storing the force is specified, the teaching process proceeds to step 54.

[0031] In step 54, the fixing processing unit 32B controls the motors 22 provided for each of the plurality of joints 11J of the robot arm 11 so that the movement of the tip 11P1 in the specified direction is restricted. Here, restricting the movement of the tip 11P1 in the specified direction does not mean preventing the tip 11P1 from actually moving in the specified direction, but rather means that movement in the specified direction is allowed, but free movement is not allowed.

[0032] In step 56, the determination unit 32A determines, based on the signals from the respective encoders 24, whether a force has been applied to the tip 11P1 of the robot arm 11 in the specified direction (for example, the vertically downward direction in the above example). When storing the force applied along the locus in the specified direction, there may be a point or time when the force in the specified direction becomes 0. Thereby, for example, when wiping a desk or a window, it is possible to set a point where no force is applied or a time zone when no force is applied, and more complex teaching can be performed.

[0033] If it is determined that the tip 11P1 has not been moved in the specified direction, the teaching process returns to step 56.

[0034] The operator applies a force to the robot arm 11 so that the tip 11P1 moves in a specified direction with its movement restricted, and a force is applied to the tip 11P1 in the specified direction. As a reaction force, a vertically downward force is generated at the tip 11P1 of the robot arm 11, and a vertically downward pressing force acts on the object 12N1 from the tip 11P1. More specifically, in FIG. 1, when the tip 11P1 contacts the object 12N1, the force applied by hand and the reaction force from the object 12N1 are balanced, and no torque is generated at the joint 11J of the robot. Therefore, when the operator teaches the magnitude of the force, the operator moves the tip 11P1 horizontally while applying a force vertically in a state where the tip 11P1 does not contact the object 12N1. Accordingly, when teaching a force, the tip 11P1 is moved onto the object 12N1 while applying a force in a state where the tip 11P1 is at a predetermined distance above the object 12N1 (for example, separated by 1 cm) and the movement of the tip 11P1 in the specified direction is restricted. Or when teaching the operation of wiping a table, the position of the robot tool surface is set to the height of the contact surface of the table, but the force is taught in a state where there is no table, and it may be in a state where there is a table when the operation is executed.

[0035] When it is determined that the operator applies a force to the robot arm 11 and the tip 11P1 is moved in the specified direction as described above, the teaching process proceeds to step 58.

[0036] In step 58, the calculation unit 32C calculates the position of the tip 11P1 of the robot arm 11 based on the signals from the respective encoders 24, and calculates the magnitude of the force (pressing force) applied from the tip 11P1 of the robot arm 11 to the object 12N1 based on the signals from the respective torque sensors 26.

[0037] In step 60, the storage processing unit 32D stores the position and the magnitude of the force calculated in step 58 in the NVM 34 in correspondence with the current time.

[0038] In step 62, the determination unit 32A determines whether the present teaching process ends by determining whether an end button (not shown) of the input unit 12 has been operated. If it is determined that the present teaching process does not end, the teaching process returns to step 56. If it is determined that the process ends, the teaching process ends.

[0039] When the present teaching process ends, in the NVM 34, the positions and magnitudes of the forces from the start of the movement of the tip 11P1 to the end of the movement are stored corresponding to the time, and the direct teaching ends. Thus, based on the positions and magnitudes of the tip 11P1 at each time stored in the NVM 34, the processor 32 controls each motor 22 so that at each time from the start of the movement, the tip 11 is positioned at each stored position and the stored force is generated at the tip 11P1, and the tip 11P1 moves as directly taught.

[0040] (Effect) As described above, in the present embodiment, the direction of the force applied to the tip 11P1 of the robot arm 11 is specified. In the present embodiment, the movement of the tip 11P1 in the specified direction is restricted. And in the present embodiment, in the state where the movement is restricted, the magnitude of the force in the specified direction of the tip 11P1 of the robot arm 11 generated when the operator applies a force to the robot arm 11 is calculated. In this case, even if there are disturbances such as friction in the torque of each joint 11J of the robot arm 11, the present embodiment reduces the influence of the disturbance by calculating only the component of the external force in the specified direction. Therefore, the magnitude of the force in the specified direction of the tip 11P1 of the robot arm 11 is accurately calculated. Thus, the present embodiment has the effect of being able to accurately estimate the force applied to the tip 11P1 of the robot arm 11.

[0041] Also, in the present embodiment, the input unit 12 inputs information specifying the direction of the force applied to the tip 11P1 of the robot arm 11 by the operation of the operator, and the display unit 14 displays the information input to the input unit 12. Therefore, the operator can teach the force in the intuitively specified direction.

[0042] (Modification Example) Next, a modification example of the first embodiment will be described. Since the configuration of each modification example is the same as that of the first embodiment, the description thereof will be omitted. The operation of each modification example is also substantially the same as that of the first embodiment, so the same reference numerals are given to the same parts and the description thereof is omitted, and the different parts will be described.

[0043] Note that each modification example also has the same effect as the first embodiment.

[0044] (First Modification Example) FIG. 3B is a flowchart showing an example of a teaching process program executed by the processor 32 of the first modification example of the teaching apparatus of the first embodiment.

[0045] Similar to the first embodiment, in the first modification example, in step 54, the fixed processing unit 32B controls the motors 22 provided for each of the plurality of joints 11J of the robot arm 11 so that the movement of the tip 11P1 in the specified direction is restricted. In this case, the fixed processing unit 32B controls each motor 22 so that the movement of the tip 11P1 in a direction other than the specified direction is not restricted. Therefore, the tip 11P1 can move freely in a direction other than the specified direction.

[0046] In step 56A, the determination unit 32A determines whether or not the tip 11P1 has moved based on the signals from the respective encoders 24. If it is determined that the tip 11P1 has not moved, this teaching process returns to step 56A.

[0047] The operator applies a force to the robot arm 11 so that the tip 11P1 moves in any direction including the specified direction for direct teaching. As a result, the determination in step 56A becomes an affirmative determination, and this teaching process proceeds to step 58.

[0048] In step 58, the position and the magnitude of the force of the tip 11P1 are calculated, and in step 60, these position and magnitude of the force of the tip 11P1 are stored in the NVM 34 corresponding to the current time.

[0049] (Second modification example) In the second modification example, the processor 32 of the first embodiment further functions as an arm control unit.

[0050] The NVM 34 stores the trajectory data of the trajectory along which the tip 11P1 of the robot arm 11 has moved. Specifically, the NVM 34 stores, as the trajectory data, for each predetermined time from the start of the movement of the tip 11P1 to the end of the movement, the elapsed time and the position of the tip 11P1 at each time (the position on the XYZ axes) in correspondence with each other.

[0051] FIG. 3C is a flowchart showing an example of a teaching process program executed by the processor 32 of the second modification example of the teaching device of the first embodiment.

[0052] In step 55 between step 54 and step 56, the arm control unit moves the tip 11P1 along the trajectory based on the trajectory data.

[0053] Note that in step 55, the arm control unit may move the tip 11P1 at a speed different from the moving speed of the tip 11P1 on the above trajectory when moving the tip 11P1 along the trajectory. For example, the arm control unit may move the tip 11P1 at a speed lower (or higher) than the moving speed of the tip 11P1 on the above trajectory when moving the tip 11P1 along the trajectory.

[0054] The arm control unit is an example of the "control unit" of the technology of the present disclosure.

[0055] (Third modification example) In the third modification example, the teaching device 10 includes a trigger button (not shown). The trigger button includes a button part (not shown) and a communication device. When the button part is pressed, the communication device transmits an instruction signal instructing the computer 30 to calculate the position and the magnitude of the force of the tip 11P1 to the computer 30.

[0056] Here, the trigger button is connected to the computer 30 by a cord. Therefore, even if the button part of the trigger button is pressed, its vibration or the like does not affect the movement of the robot arm 11. That is, the mode of instructing the above calculation by pressing the button part is a mode in which the influence of the instruction does not reach the movement of the robot arm 11. The trigger button is not limited to being connected to the computer 30 by a cable. For example, the trigger button may transmit the above instruction signal to the computer 30 by wireless communication.

[0057] By the way, in this modification example, the object 12N1 has a surface on which a pressing force acts uniformly from the tip 11P1 of the robot arm 11, for example, a horizontal plane. In the direct teaching, the operator applies a force to the robot arm 11 so that the tip 11P1 moves horizontally while applying a constant pressing force to the horizontal plane of the object 12N1. That is, on the horizontal plane of the object 12N1, it is not necessary to change the magnitude of the force depending on the position where the tip 11P1 moves. Therefore, in this modification example, if the magnitude of the pressing force from the tip 11P1 can be specified at a representative point (that is, an arbitrary point) on the horizontal plane of the object 12N1, it can be taught that the specified magnitude of the force is the magnitude of the pressing force acting on each other position on the horizontal plane of the object 12N1.

[0058] The above representative point is an arbitrary point on the horizontal plane of the object 12N1. The operator moves the robot arm 11 so that the tip 11P1 is located on the horizontal plane of the object 12N1, and turns on a determination button (not shown) of the input unit 12. Thereby, the position where the tip 11P1 is located on the horizontal plane of the object 12N1 is set as the representative point.

[0059] FIG. 3D is a flowchart showing an example of a teaching process program executed by the processor 32 of the third modification example of the teaching device 10 of the first embodiment.

[0060] In step 53 between step 52 and step 54, the determination unit 32A determines whether a representative point has been specified. If it is determined that the representative point has not been specified, the teaching process returns to step 53.

[0061] As described above, the operator applies a force to the robot arm 11 so that the tip 11P1 is positioned on the horizontal plane of the object 12N1. When a determination button (not shown) of the input unit 12 is turned on by the operator, the determination in step 53 becomes an affirmative determination. When it is determined that the representative point has been specified, the teaching process proceeds to step 54.

[0062] Specifying the "representative point" is an example of specifying the "position of the tip" of the technology of the present disclosure.

[0063] In step 54, the fixing processing unit 32B controls the motors 22 provided in each of the plurality of joints 11J of the robot arm 11 so that the movement of the tip 11P1 in the specified direction is restricted. In this modification, each motor 22 is controlled so that the tip 11P1 is restricted from moving from the representative point to another position.

[0064] After the process of step 54, in step 56B, the determination unit 32A determines whether the trigger button has been pressed. If it is determined that the trigger button has not been pressed, the teaching process returns to step 56B.

[0065] The operator applies a pressing force to the robot arm 11 so that the tip 11P1 presses against the representative point on the horizontal plane of the object 12N1. When the operator believes that the magnitude of the pressing force from the tip 11P1 to the representative point on the horizontal plane of the object 12N1 has reached the desired magnitude, the operator presses the trigger button. As a result, an instruction signal is transmitted from the trigger button to the computer 30, and the determination in step 56B becomes an affirmative determination. When it is determined that the trigger button has been pressed, the teaching process proceeds to step 58.

[0066] The following processing step may be provided before step 56B. Specifically, the magnitude of the pressing force from the tip 11P1 to the representative point is calculated based on the signals from the respective torque sensors 26, and the calculated magnitude of the pressing force is displayed on the display unit 14.

[0067] The operator checks the magnitude of the pressing force displayed on the display unit 14, and when it is determined that the magnitude of the pressing force from the tip 11P1 to the representative point has reached the desired magnitude, the trigger button is pressed. As a result, the determination in step 56B becomes an affirmative determination.

[0068] As described above, in this modification example, it is taught that the pressing force from the tip 11P1 to the representative point is the magnitude of the pressing force acting on each other position on the horizontal plane of the object 12N1. Therefore, after the processes of step 58 and step 60, this teaching process ends.

[0069] The trigger button is an example of the "instruction unit" of the technology of the present disclosure.

[0070] Instead of the trigger button, a microphone may be provided, the microphone collects the voice from the operator, and the processor 32 of the computer 30 determines whether the operator has generated the voice of a predetermined phrase based on the voice data. When it is determined that the operator has generated the voice of a predetermined phrase, the determination in step 53 may become an affirmative determination.

[0071] Also, instead of the trigger button, a pedal device connected to the computer 30 via a cord may be provided. The pedal device includes a pedal portion stepped on by the operator and a communication device that transmits the instruction signal to the computer 30 when the pedal portion is stepped on. When the pedal portion is stepped on by the operator and the communication device transmits the instruction signal to the computer 30, the determination in step 53 may become an affirmative determination. The mode of instruction by collecting the voice from the operator by the microphone or stepping on the pedal is a mode in which the influence of the instruction does not reach the movement of the robotic arm 11.

[0072] In the first embodiment and each modification of the first embodiment, when the magnitude of the force (pressing force) applied from the tip 11P1 of the robot arm 11 to the object 12N1 calculated in the above calculation (see step 58) exceeds a preset allowable range, for example, the range of the load-bearing capacity of the object 12N1, the display unit 14 may display that the magnitude of the force (pressing force) exceeds the allowable range, prompt the operator to teach a smaller force (pressing force) again, or automatically correct the magnitude of the force so as to fall within the allowable range. The operator may be prompted to teach again, automatically corrected, or the magnitude of the force may be input by the user as a numerical value.

[0073] [Second Embodiment] Next, the second embodiment will be described. Since the configuration of the second embodiment is substantially the same as that of the first embodiment, the same reference numerals are given to the same parts and the description thereof is omitted, and only the different parts will be described. The operation of the second embodiment is also substantially the same as that of the first embodiment, so the same reference numerals are given to the same parts and the description thereof is omitted, and the different parts will be described.

[0074] FIG. 4 is a diagram showing an example of the configuration of the teaching device 10 according to the second embodiment. The object on which the force acts from the tip 11P1 of the robot arm 11 in the present embodiment is the lever handle 12N21 of the doorknob. Specifically, one end side of the object is rotatably attached to the door 120 via the rotation axis 12N20, and the other end side is a lever handle 12N21 that moves along an arc track around the rotation axis 12N20.

[0075] The lever handle 12N21 is configured such that when a part thereof is moved, the part returns to its original position. Specifically, the lever handle 12N21 is configured such that when the other end side is moved in the direction along the arc track, the other end side returns to its original position.

[0076] In the present embodiment, the X-axis direction is defined as the direction facing the teaching device 10 and the lever handle 12N21. Therefore, the arc along which the lever handle 12N21 moves is located on the YZ plane.

[0077] The tip 11P1 of the robot arm 11 is fixed to the other end side of the lever handle 12N21.

[0078] FIG. 5A is a flowchart showing an example of a teaching process program executed by the processor 32 of the teaching device 10 according to the second embodiment.

[0079] In step 52A, the determination unit 32A determines whether or not the rotation direction has been specified by determining whether or not the rotation direction has been input by the operation of the operator via the input unit 12. If it is determined that the rotation direction has not been specified, the teaching process returns to step 52A.

[0080] In the input of the rotation direction, the XYZ coordinates of the rotation center (i.e., the rotation axis 12N20) and the rotation direction (left rotation direction in the above example) along the arc trajectory with respect to the rotation center are input by the operation of the operator via the input unit 12.

[0081] The designation of the rotation direction is not limited to inputting the XYZ coordinates of the rotation center via the input unit 12. For example, the operator may designate by positioning the tip 11P1 of the robot arm 11 at the rotation center and operating a determination button (not shown) of the input unit 12. Further, an operator wearing a VR (Virtual Reality) goggle may designate by positioning his / her hand at the rotation center in the VR screen.

[0082] If it is determined that the rotation direction has been specified, the teaching process proceeds to step 54A.

[0083] In step 54A, the fixing processing unit 32B fixes the rotational direction of the tip 11P1 of the robot arm 11. To open the door 120, the other end side of the lever handle 12N21 is rotated in the rotational direction (counterclockwise rotation in the example shown in FIG. 4) from the original position along the above-mentioned arc. In step 54A, the fixing processing unit 32B controls each motor 22 so that the tip 11P1 of the robot arm 11 is restricted from rotating in the above-mentioned rotational direction (counterclockwise rotation in the example shown in FIG. 4). Here, restricting the rotation of the tip 11P1 in the above-mentioned rotational direction does not mean preventing the tip 11P1 from actually rotating in the above-mentioned rotational direction, but rather allowing rotation in the specified rotational direction while not allowing free rotation.

[0084] In direct teaching, the operator moves the robot arm 11 so that the tip 11P1 fixed to the other end side of the lever handle 12N21 moves (i.e., rotates counterclockwise) in the above-mentioned rotational direction.

[0085] In step 56, the determination unit 32A determines whether a force is applied to the tip 11P1 of the robot arm 11 in the above-mentioned rotational direction (i.e., whether it rotates counterclockwise).

[0086] When this teaching process ends, in the NVM 34, the position and the magnitude of the force from the start to the end of the movement of the tip 11P1 are stored corresponding to the time, and the direct teaching ends. Therefore, based on the position and the magnitude of the force of the tip 11P1 at each time stored in the NVM 34, the processor 32 controls each motor 22 so that at each time from the start of the movement, the tip 11 is positioned at each stored position and the stored force is generated at the tip 11P1, and the tip 11P1 moves as directly taught.

[0087] The second embodiment also exhibits the same effects as those of the first embodiment.

[0088] (Modification example) Next, a modification of the second embodiment will be described. Since the configuration of each modification is the same as that of the second embodiment, the description thereof will be omitted. The operation of each modification is also substantially the same as that of the second embodiment, so the same reference numerals will be given to the same parts and the description thereof will be omitted, and the different parts will be described.

[0089] Each modification also has the same effect as the first embodiment.

[0090] (First Modification) In the first modification, the processor further functions as a motor control unit.

[0091] FIG. 5B is a flowchart showing an example of a teaching process program executed by the processor 32 of the first modification of the teaching apparatus 10 of the second embodiment.

[0092] After step 54A, in step 56A1, the determination unit 32A determines whether or not a moment around the rotation center specified in step 52A has been input via the input unit 12. If it is determined that the moment has not been input, the teaching process returns to step 56A1.

[0093] The distance between the rotation axis 12N20 and the position where the tip 11P1 of the robot arm 11 on the other end side of the lever handle 12N21 is fixed is predetermined. From the distance and the force applied by the tip 11P1 of the robot arm 11 to the other end side of the lever handle 12N21, the moment around the rotation center is determined. Therefore, when the moment is input via the input unit 12, the force applied by the tip 11P1 of the robot arm 11 to the other end side of the lever handle 12N21 can be set.

[0094] In the direct teaching of the second embodiment described above, the operator moves the robot arm 11 so that the tip 11P1 fixed to the other end side of the lever handle 12N21 moves in the above rotation direction (i.e., rotates counterclockwise). In this way, the operator directly teaches by moving the tip 11P1 in the above rotation direction (i.e., rotating counterclockwise).

[0095] In contrast, in the first modification example, direct teaching is performed by inputting, via the input unit 12, the moment around the rotation center specified in step 52A.

[0096] When the above moment is input, the determination in step 56A1 becomes an affirmative determination, and this teaching process proceeds to step 56A2.

[0097] In step 56A2, the motor control unit controls each motor 22 so that the tip 11P1 moves in the above rotation direction (i.e., rotates counterclockwise). Specifically, the motor control unit calculates the force that the tip 11P1 of the robot arm 11 exerts on the other end side of the lever handle 12N21 from the above moment and the above distance. Then, the motor control unit controls each motor 22 so that the calculated force acts on the other end side of the lever handle 12N21 and the tip 11P1 moves in the above rotation direction (i.e., rotates counterclockwise).

[0098] After the process of step 56A2, this teaching process is terminated after the processes of steps 58 and 60 are executed.

[0099] By the way, there may be a case where the force that the tip 11P1 of the robot arm 11 calculated from the above moment and the above distance exerts on the other end side of the lever handle 12N21 is greater than a predetermined force allowed to rotate the other end side of the lever handle 12N21. In such a case, the motor control unit may display on the display unit 14 that the force acting on the other end side of the lever handle 12N21 exceeds the allowable range, prompt the operator to input a smaller moment again, or automatically correct the magnitude of the above force so as to fall within the allowable range.

[0100] (Second modification example) The operation of the second modification example is substantially the same as the operation of the second embodiment, so the same reference numerals are given to the same parts and the description thereof is omitted, and the different parts will be described.

[0101] FIG. 5C is a flowchart showing an example of a teaching process program executed by the processor 32 of a second modification of the teaching apparatus 10 according to the second embodiment.

[0102] In step 56C, the determination unit 32A determines, based on the signals from the respective encoders 24, whether a force has been applied to the tip 11P1b of the robot arm 11 in the specified rotational direction (left rotational direction in the example shown in FIG. 4) in a state where the rotation of the tip 11P1 of the robot arm 11 in the above rotational direction is restricted, that is, whether it has rotated (i.e., rotated left).

[0103] In step 57A, the determination unit 32A determines, based on the signals from the respective encoders 24, whether the movement of the tip 11P1 of the robot arm 11 has stopped. If it is determined that the movement of the tip 11P1 of the robot arm 11 has not stopped, this teaching process returns to step 57A. If it is determined that the movement of the tip 11P1 of the robot arm 11 has stopped, this teaching process proceeds to step 57B.

[0104] In step 57B, the fixing processing unit 32B controls each motor 22 so that the position of the tip 11P1 of the robot arm 11 is fixed.

[0105] As described above, the lever handle 12N21 is configured such that when the other end side is moved, the other end side returns to its original position. Therefore, when the tip 11P1 of the robot arm 11 rotates and stops in the above rotational direction, the other end side of the lever handle 12N21 tries to return to its original position, so a force in the direction opposite to the above rotational direction (right rotational direction) acts on the tip 11P1 of the robot arm 11.

[0106] In step 58A, the calculation unit 32C calculates the magnitude of the force in the direction opposite to the above rotational direction (right rotational direction) acting on the tip 11P1 of the robot arm 11 based on the signals from the respective torque sensors 26.

[0107] In step 60A, the storage processing unit 32D stores the magnitude of the force calculated in step 58A in the NVM 34.

[0108] When the process of step 60A ends, the present teaching process ends.

[0109] [Third Embodiment] (Configuration) Next, a third embodiment will be described. Since the configuration of the third embodiment is substantially the same as that of the first embodiment, the same reference numerals are given to the same parts and the description thereof is omitted, and only the different parts will be described.

[0110] FIG. 6 is a diagram showing an example of the configuration of the teaching device 10 according to the third embodiment. As shown in FIG. 6, the robot arm 11 includes, for example, a pair of robot hands 11H1 and 11H2 that grip an object 12N3 such as a can. The pair of robot hands 11H1 and 11H2 have tips 11P21 and 11P22.

[0111] The pair of robot hands 11H1 and 11H2 are opened and closed by motors 22 in the parts of the pair of robot hands 11H1 and 11H2.

[0112] The pair of robot hands 11H1 and 11H2 are an example of the "pair of gripping parts" of the technology of the present disclosure.

[0113] (Operation) The operation of the third embodiment is substantially the same as that of the first embodiment. Therefore, the same reference numerals are given to the same parts and the description thereof is omitted, and the different parts will be described.

[0114] FIG. 7 is a flowchart showing an example of a teaching process program executed by the processor 32 of the teaching device 10 according to the third embodiment.

[0115] The direction in step 52 is the direction in which the tips 11P21 and 11P22 of the pair of robot hands 11H1 and 11H2 approach each other, that is, the direction in which the tips 11P21 and 11P22 close.

[0116] In step 54, the approaching of the tips 11P21 and 11P22 of the pair of robot hands 11H1 and 11H2 is restricted.

[0117] In the next step 56D after step 54, the determination unit 32A determines whether a force has been applied (i.e., closed) to the tips 11P21 and 11P22 of the pair of robot hands 11H1 and 11H2 in the direction specified in step 52 based on the signals from the encoders 24 of the parts of the pair of robot hands 11H1 and 11H2. If it is determined that the tips 11P21 and 11P22 of the pair of robot hands 11H1 and 11H2 have not been closed, the present teaching process returns to step 56D. If it is determined that the tips 11P21 and 11P22 of the pair of robot hands 11H1 and 11H2 have been closed, the present teaching process proceeds to step 58B.

[0118] In step 58B, the calculation unit 32C calculates the positions of the tips 11P21 and 11P22 of the pair of robot hands 11H1 and 11H2 based on the signals from the encoders 24 of the parts of the pair of robot hands 11H1 and 11H2, and calculates the forces of the tips 11P21 and 11P22 based on the signals from the torque sensors 26 of the parts of the pair of robot hands 11H1 and 11H2.

[0119] The third embodiment also has the same effects as the first embodiment. In the third embodiment, when the magnitude of the forces of the tips 11P21 and 11P22 calculated in the above calculation (see step 58B) exceeds a preset allowable range, for example, the range of the load-bearing capacity of the object 12N3, the display unit 14 may display that the magnitude of the forces of the tips 11P21 and 11P22 exceeds the allowable range, prompt the operator to teach a smaller force again, or automatically correct the magnitude of the force so as to fall within the allowable range.

[0120] [Fourth Embodiment] (Configuration) Next, a fourth embodiment will be described. Since the configuration of the fourth embodiment is substantially the same as that of the first embodiment, the same reference numerals are given to the same parts and the description thereof is omitted, and only the different parts will be described.

[0121] FIG. 8 is a diagram showing an example of the configuration of the teaching device 10 according to the fourth embodiment. As shown in FIG. 8, a polishing portion 11P3 is attached to the tip of the robot arm 11 of the teaching device 10. The surface to be polished 12N40 of the object 12N4 to be polished by the polishing portion 11P3 is a convex curved surface facing the polishing portion 11P3.

[0122] (Operation) The operation of the fourth embodiment is substantially the same as that of the first embodiment. Therefore, the same reference numerals are given to the same parts and the description thereof is omitted, and the different parts will be described.

[0123] FIG. 9 is a flowchart showing an example of a teaching process program executed by the processor 32 of the teaching device 10 according to the fourth embodiment. FIG. 10A is a diagram showing an example of the direction in which the force at the first point P1 of the surface to be polished 12N40 of the object 12N4 of the teaching device 10 according to the fourth embodiment is stored. FIG. 10B is a diagram showing an example of the direction in which the force at the second point P2 of the surface to be polished 12N40 of the object 12N4 of the teaching device 10 according to the fourth embodiment is stored.

[0124] In step 52B of FIG. 9, the determination unit 32A determines whether the input unit 12 has specified the curved surface (i.e., the surface to be polished 12N40) of the object 12N4 by inputting the coordinates of the surface to be polished 12N40 by the operation of the operator. If it is determined that the curved surface of the object 12N4 has not been specified, the present teaching process returns to step 52B. If it is determined that the curved surface of the object 12N4 has been specified, the present teaching process proceeds to step 53A.

[0125] The input unit 12 is not limited to inputting the coordinates of the surface to be polished 12N40 by the operation of the operator. For example, the operator specifies the curved surface of the object 12N4 (i.e., the surface to be polished 12N40) by applying a force to the robot arm 11 so that the tip 11P1 of the robot arm 11 moves along the surface to be polished 12N40.

[0126] In step 53A, the determination unit 32A determines whether the tip (polishing unit 11P3) of the robot arm 11 has moved based on the signals from the respective encoders 24. If it is determined that the tip (polishing unit 11P3) of the robot arm 11 has not moved, the present teaching process returns to step 53A.

[0127] The operator applies a force to the robot arm 11 so that the tip (polishing unit 11P3) of the robot arm 11 moves to any position on the surface to be polished 12N40 in order to polish the surface to be polished 12N40 of the object 12N4 with the polishing unit 11P3. As a result, the determination in step 53A becomes an affirmative determination. If it is determined that the tip (polishing unit 11P3) of the robot arm 11 has moved, the present teaching process proceeds to step 54B.

[0128] In step 54B, the fixing processing unit 32B fixes the direction of the normal line at the position where the tip (polishing unit 11P3) of the robot arm 11 is located on the curved surface of the object 12N4 (i.e., the surface to be polished 12N40). Specifically, the fixing processing unit 32B controls each motor 22 so that the polishing unit 11P3 is restricted from approaching the surface to be polished 12N40 along the direction of the normal line at the position where the polishing unit 11P3 is located on the surface to be polished 12N40. Here, the restriction that the polishing unit 11P3 is restricted from approaching the surface to be polished 12N40 along the direction of the normal line does not mean preventing the polishing unit 11P3 from actually approaching the surface to be polished 12N40 along the direction of the normal line. Instead, it means that it is allowed for the polishing unit 11P3 to actually approach the surface to be polished 12N40 along the direction of the normal line, but it is not allowed to approach freely.

[0129] The operator moves the robot arm 11 so that the polishing portion 11P3 at the tip of the robot arm 11 approaches the surface to be polished 12N40 along the direction normal to the surface to be polished 12N40. As a result, step 56 (determining whether a force is applied to the robot arm 11 in this direction) becomes an affirmative determination.

[0130] For example, as shown in FIG. 10A, the operator applies a force to the robot arm 11 so that the polishing portion 11P3 moves to the first point P1 of the surface to be polished 12N40. As a result, the determination in step 53A becomes an affirmative determination. Further, the operator applies a force and moves the robot arm 11 so that the polishing portion 11P3 approaches the surface to be polished 12N40 along the direction normal to the surface to be polished 12N40 at the first point P1. As a result, the determination in step 56 becomes an affirmative determination. Further, a pressing force Nln1 directed toward the surface to be polished 12N40 is generated on the polishing portion 11P3. In step 58, the calculation unit 32C calculates the first point P1 of the polishing portion 11P3 and the pressing force Nln1. Also, for example, as shown in FIG. 10B, a force is applied to the robot arm 11 so that the polishing portion 11P3 moves to the second point P2 of the surface to be polished 12N40. As a result, the determination in step 53A becomes an affirmative determination. Further, the operator applies a force and moves the robot arm 11 so that the polishing portion 11P3 approaches the surface to be polished 12N40 along the direction normal to the surface to be polished 12N40 at the second point P2. As a result, the determination in step 56 becomes an affirmative determination. Further, a pressing force Nln1 directed toward the surface to be polished 12N40 is generated on the polishing portion 11P3. In step 58, the calculation unit 32C calculates the second position of the polishing portion 11P3 and the pressing force Nln2.

[0131] In the fourth embodiment, when the magnitude of the pressing force calculated in the above calculation (see step 58) exceeds a preset allowable range, for example, the load-bearing capacity range of the surface to be polished 12N40, the display unit 14 may display that the magnitude of the pressing force exceeds the allowable range, prompt the operator to teach a smaller pressing force again, or automatically correct the magnitude of the force so as to fall within the allowable range.

[0132] [Modifications of Each Embodiment] (First Modification) The torque sensor 26 may be omitted, and the torque generated by each motor may be calculated by a current sensor of each motor 22.

[0133] (Second Modification) The magnitude of the force stored in the NVM 34 may be adjusted. For example, in the first embodiment, when the teaching process ends, the position and the magnitude of the force from the start to the end of the movement of the tip 11P1 are stored in the NVM 34 corresponding to the time, and the direct teaching ends. Therefore, based on the position and the magnitude of the force of the tip 11P1 at each time stored in the NVM 34, the processor 32 controls each motor 22 so that the tip 11 is positioned at each stored position and the stored force is generated at the tip 11P1 at each time from the start of the movement, and the tip 11P1 moves as directly taught. When the operator observes the acting state of the pressing force of the tip 11P1 on the object 12N1, if the magnitude of the pressing force of the tip 11P1 on the object 12N1 is large or small, data for reducing or increasing the magnitude of the pressing force is input via the input unit 12. As a result, the storage processing unit 32D reduces or increases the magnitude of the force stored in the NVM 34.

[0134] The adjustment of the magnitude of the force stored in NVM34 is not limited to inputting data for decreasing or increasing the magnitude of the pressing force via the input unit 12. The operator applies a force to the robotic arm 11 again so that the tip 11P1 is pressed against the object 12N1. The calculation unit 32C calculates the pressing force of the tip 11P1 against the object 12N1 based on the signals from the respective torque sensors 26, and the storage processing unit 32D may change the magnitude of the force stored in NVM34 to the calculated magnitude.

[0135] The storage processing unit 32D is an example of the "changing unit" of the technology of the present disclosure.

Explanation of Reference Numerals

[0136] 12N1 Object 11P1 Tip 11 Robotic arm 11H1, 11H2 Robotic hand 12 Input unit 22 Motor 26 Torque sensor 34 NVM 32B Fixing processing unit 32C Calculation unit 32D Storage processing unit

Claims

1. An acquisition unit attached to a robot arm having a tip, for acquiring torque due to a force applied to the robot arm; A specifying unit for specifying the direction of the force applied to the tip of the robot arm; A restricting unit for restricting the tip from moving in the direction; A calculating unit for calculating the magnitude of the force applied to the tip based on the torque acquired by the acquisition unit when a force is applied to the robot arm in a state where the tip is restricted from moving in the direction; A storage unit for storing the magnitude of the force applied to the tip; An instruction device comprising the above.

2. The restricting unit restricts the tip from moving only in the direction so that the tip can move freely in other directions than the direction; The storage unit stores the position of the tip moving in the other direction in a state where the tip is restricted from moving in the direction; The instruction device according to Claim 1.

3. The storage unit stores data of a locus for moving the tip; The robot arm further comprises a control unit for controlling the robot arm so that the tip moves along the locus based on the data of the locus; The calculating unit calculates the magnitude of the force applied to the tip based on the torque acquired by the acquisition unit when a force is applied to the robot arm while the tip is moving along the locus; The storage unit stores the magnitude of the force applied to the tip calculated while the tip is moving along the locus; The instruction device according to Claim 1 or Claim 2.

4. The instruction device further comprises an instruction unit for instructing to calculate the magnitude of the force; The specifying unit further specifies the position of the tip; The restricting unit further restricts the tip from moving from the position; The calculating unit calculates the magnitude of the force applied to the tip based on the torque acquired by the acquisition unit when a force is applied to the robot arm and the instruction is given by the instruction unit in a state where the tip is further restricted from moving from the position; The storage unit stores the magnitude of the force applied to the tip calculated when the instruction is given by the instruction unit; The instruction device according to Claim 1.

5. The mode of the instruction by the instruction unit is a mode in which the influence of the instruction does not reach the movement of the robot arm. The instruction device according to Claim 4.

6. The tip of the robot arm moves a part of the object in the direction, The object is configured such that when the part is moved, the part returns to its original position, When the movement of the tip in the direction is restricted and a force is applied to the robot arm to move and stop the tip of the robot arm on the part of the object, the calculation unit calculates the magnitude of the force applied to the tip based on the torque acquired by the acquisition unit, The storage unit stores the magnitude of the force applied to the tip calculated in a state where the tip has moved and stopped on the part of the object, The teaching device according to claim 1.

7. One end side of the object is rotatably attached to a rotation axis, The tip moves the other end side of the object along an arc trajectory centered on the rotation axis, The specifying unit specifies, as the direction, a direction along the arc trajectory, The object is configured such that when the other end side is moved in the direction along the arc trajectory, the other end side returns to its original position, When the movement of the tip in the direction along the arc trajectory is restricted and a force is applied to the robot arm to move and stop the tip of the robot arm on the other end side of the object in the direction along the arc trajectory, the calculation unit calculates the magnitude of the force applied to the tip based on the torque acquired by the acquisition unit, The storage unit stores the magnitude of the force applied to the tip calculated in a state where the movement of the tip in the direction along the arc trajectory is restricted and the tip has moved and stopped on the other end side of the object, The teaching device according to claim 6.

8. The tip of the robot arm is moved along the curved surface of an object having a curved surface, and the specifying unit specifies, as the direction, the direction of the normal line at each position of the curved surface where the tip is located, The teaching device according to claim 1.

9. The teaching device according to claim 1, further comprising a changing unit that changes the magnitude of the force applied to the tip stored in the storage unit.

10. The robot arm includes joints, The joints are provided with motors for moving the robot arm, The acquisition unit acquires the torque based on the current supplied to the motor, The teaching device according to claim 1.

11. The robot arm includes joints, The acquisition unit is a torque sensor attached to the joint. The teaching device according to claim 1.

12. The robot arm includes a pair of gripping parts for gripping an object. The tip is the tip of each of the pair of gripping parts. The specifying unit specifies, as the direction, the direction in which the tips of the pair of gripping parts approach each other. The acquisition unit acquires the torque due to the force applied to the tips of the pair of gripping parts. The teaching device according to claim 1.

Citation Information

Patent Citations

  • Teaching device and teaching method

    JP2020116703A