Method and system for teaching robot
11534914 · 2022-12-27
Assignee
Inventors
Cpc classification
G05B19/402
PHYSICS
G05B19/425
PHYSICS
B25J9/1676
PERFORMING OPERATIONS; TRANSPORTING
B25J9/1666
PERFORMING OPERATIONS; TRANSPORTING
International classification
Abstract
A robot teaching system includes a teaching unit and a robot including a robotic arm and a robot controller. In the robot teaching system, a workpiece includes an internal space having an opening, and a target object of a work by the end effector exists in the internal space. The robot controller determines a possibility that the arm part interferes with an edge of the opening while the robotic arm is jogging or inching.
Claims
1. A method of teaching a robot including a robotic arm and a robot controller, the robotic arm being provided with an end effector at a tip-end part of an arm part of the robotic arm, and the robot controller controlling operation of the robotic arm and setting a teach point according to operation of an operation inputter, wherein a workpiece includes an internal space having an opening, and a target object of a work by the end effector exists in the internal space, the method comprising performing a first process, the first process comprising: estimating by the robot controller a position of the robotic arm that corresponds to a jogging operation or an inching operation of the operation inputter; determining by the robot controller a possibility that the arm part interferes with an edge of the opening in a case that the robotic arm jogs to the estimated position of the robotic arm according to the jogging operation or inches to the estimated position of the robotic arm according to the inching operation; and upon determining that there is no possibility of interference of the arm part with the edge of the opening, causing by the robot controller the robotic arm to jog to the estimated position of the robotic arm according to the jogging operation or inch to the estimated position of the robotic arm according to the inching operation.
2. The method of claim 1, further comprising performing a second process using the first process, wherein the second process comprises operating the robotic arm by the jogging operation or the inching operation of the operation inputter so that, after the robotic arm enters the end effector into the internal space of the workpiece through the opening, the robotic arm jogs according to the jogging operation or inches according to the inching operation to perform a work against the target object inside the internal space using the end effector, and wherein the second process further comprises setting a plurality of teach points that realize the operation of the robotic arm in the second process, by a teach-point setting operation of the operation inputter.
3. The method of claim 1, further comprising, when determined that there is the possibility of the arm part interfering with the edge of the opening, controlling the operation of the robotic arm by the robot controller to evade the interference between the arm part and the edge of the opening, or controlling a warning unit by the robot controller to alert.
4. The method of claim 2, further comprising performing a third process, the third process comprising repeating: locating the end effector at a defined point that defines the opening of the workpiece, by the jogging operation or the inching operation of the operation inputter; and setting by the robot controller a position and a defined order of the defined point so as to be associated with each other, by a defined-point setting operation of the operation inputter, wherein the opening is identified by connecting a plurality of defined points with straight lines in the defined order, the plurality of defined points being set repeatedly in the third process.
5. The method of claim 4, wherein the internal space of the workpiece includes a plurality of openings, the method further comprising performing a fourth process, the fourth process comprising: selecting one of the plurality of openings of the workpiece by a selecting operation of the operation inputter before the second process, wherein, for the selected opening, the second process, a combination of the second and third processes, or a combination of the second, third and fourth processes is performed.
6. The method of claim 1, wherein the workpiece is a vehicle body of an automobile under assembly, and the opening is a window of a door of the vehicle body.
7. A system of teaching a robot, comprising: an operation inputter; and a robot including a robotic arm and a robot controller, the robotic arm being provided with an end effector at a tip-end part of an arm part of the robotic arm, and the robot controller controlling operation of the robotic arm and setting a teach point according to operation of the operation inputter, wherein a workpiece includes an internal space having an opening, and a target object of a work by the end effector exists in the internal space, and the robot controller executes a first process, the first process comprising: in response to a jogging operation or an inching operation to the operation inputter, estimating a position of the robotic arm that corresponds to the jogging operation or the inching operation; determining a possibility that the arm part interferes with an edge of the opening in a case that the robotic arm jogs to the estimated position of the robotic arm according to the jogging operation or inches to the estimated position of the robotic arm according to the inching operation; and upon determining that there is no possibility of interference of the arm part with the edge of the opening, causing the robotic arm to jog to the estimated position of the robotic arm according to the jogging operation or inch to the estimated position of the robotic arm according to the inching operation.
8. The system of claim 7, wherein the robotic controller executes a second process using the first process, the second process comprising operating the robotic arm based on the jogging operation or the inching operation to the operation inputter so that, after the robotic arm enters the end effector into the internal space of the workpiece through the opening, the robotic arm jogs according to the jogging operation or inches according to the inching operation to perform a work against the target object inside the internal space using the end effector, and the second process further comprising setting a plurality of teach points that realize the operation of the robotic arm in the second process, according to a teach-point setting operation to the operation inputter.
9. The system of claim 7, wherein, when determined that there is the possibility of the arm part interfering with the edge of the opening, the robot controller controls the operation of the robotic arm to evade the interference between the arm part and the edge of the opening, or the robot controller controls a warning unit to alert.
10. The system of claim 8, wherein the robot controller further executes a third process, the third process comprising repeating: locating the end effector at a defined point that defines the opening of the workpiece, according to the jogging operation or the inching operation to the operation inputter; and setting a position and a defined order of the defined point so as to be associated with each other, according to a defined-point setting operation to the operation inputter, and wherein the opening is identified by connecting a plurality of defined points with straight lines in the defined order, the plurality of defined points being set repeatedly in the third process.
11. The system of claim 10, wherein the internal space of the workpiece includes a plurality of openings, wherein the robot controller further executes (c) a fourth process, the fourth process comprising selecting one of the plurality of openings of the workpiece according to a selecting operation to the operation inputter before the second process, and wherein, for the selected opening, the robot controller executes the second process, a combination of the second and third processes, or a combination of the second, third and fourth processes.
12. The system of claim 7, wherein the workpiece is a vehicle body of an automobile under assembly, and the opening is a window of a door of the vehicle body.
Description
BRIEF DESCRIPTION OF DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
MODES FOR CARRYING OUT THE DISCLOSURE
(9) Below, one preferred embodiment of the present disclosure is described with reference to the drawings. Note that the same reference characters are given to the same or corresponding elements throughout the drawings to omit description. Moreover, the accompanying drawings are for illustrating the present disclosure. Therefore, elements irrelevant to the present disclosure may be omitted, dimensions may be inaccurate for exaggeration, elements may be simplified, and shapes of the same elements in the plurality of drawings may be inconsistent. Moreover, the present disclosure is not limited to the embodiment described below.
Embodiment
(10) [Configuration of Hardware]
(11)
(12) Referring to
(13) <Robotic Arm>
(14) The robotic arm 1 includes a pedestal 15, an arm part 13 supported by the pedestal 15, and an end effector 17 attached to a wrist part 14 which constitutes a tip-end part of the arm part 13. The pedestal 15 is provided with a pedestal moving mechanism 15a, and is movable on a traveling path 31 which will be described later (see
(15) As illustrated in
(16) In this example, the robotic arm 1 is comprised of a 6-axis articulated robotic arm, and the pedestal moving mechanism 15a constitutes a seventh axis which is a redundant axis of the robotic arm 1.
(17) <Robot Controller>
(18) The robot controller 2 controls operation of the robotic arm 1. The robot controller 2 is placed at a suitable location in a work environment where the robot 10 is installed. Note that the controller 2 may be provided inside the pedestal 15 of the robotic arm 1.
(19) <Teaching Unit>
(20) The teaching unit 3 is a device for teaching the robot 10. The robot controller 2 executes controls according to the operation of the teaching unit 3 to operate the robotic arm 1, to set a teach point, or to set a defined point of an opening which will be described later.
(21) <Warning Unit>
(22) The warning unit 6 alerts an operator. Although the warning unit 6 may be a buzzer, PATLITE®, a speaker, etc., the buzzer is used here as the warning unit 6.
(23) [Configuration of Control System]
(24)
(25) Referring to
(26) Moreover, “positions” of the end effector 17, a workpiece 21 (see
(27) The teaching unit 3 is comprised of, for example, an information processor such as a teach pendant, a portable information terminal, and a personal computer. The portable information terminal is, for example, a tablet, a smartphone, and a cellular phone. The teaching unit 3 and the robot controller 2 may be connected to each other wiredly or wirelessly for communication.
(28) The robot controller 2 includes a controller 4 and a memory 5. The robot controller 2 is comprised of a processing unit including a processor and a memory. The processing unit is, for example, an FPGA (Field-Programmable Gate Array), a microcontroller, a PLC (Programmable Logic Controller), and a microprocessor. Here, for example, the robot controller 2 is comprised of the FPGA, the controller 4 is comprised of a CPU of the FPGA, and the memory 5 is comprised of a memory of the FPGA.
(29) The memory 5 stores a generated operation program 5a and opening-defined data 5b. The generated operation program 5a is an operation program for the robot 10, which is generated by a teaching control of the robot teaching system 100. The opening-defined data 5b is data generated by a defined-point setting control for the opening 22 which will be described later. Note that the memory 5 stores, in advance, data (not illustrated) of a plurality of openings of the workpiece 21.
(30) The controller 4 reads and executes a given control program stored in the memory 5, and outputs a control signal to the robotic arm 1. When the controller 4 outputs an arm part control signal as the control signal, the joints of the arm part rotate according to the arm part control signal. When the controller 4 outputs an end effector control signal as the control signal, the end effector 17 operates according to the end effector control signal. When the controller 4 outputs a pedestal-moving-mechanism control signal as the control signal, the pedestal moving mechanism 15a moves according to the pedestal-moving-mechanism control signal. These controls may be a feedforward control or a feedback control. In this example, the feedback control is adopted.
(31) When the mode switching command is inputted from the teaching unit 3, the controller 4 switches the operation mode of the robot 10 according to the mode switching command between the teaching mode, the opening definition mode, and the repeating mode.
(32) The controller 4 switches the mode of the robot 10 to the teaching mode when the mode switching command to the teaching mode is inputted. In this teaching mode, when the opening selecting command is inputted, the controller 4 selects an opening according to the opening selecting command, from the plurality of openings which correspond to the opening-defined data 5b stored in the memory 5. Then, when the jogging command is inputted, the controller 4 causes the robotic arm 1 to perform the jogging operation, and when the inching command is inputted, the controller 4 causes the robotic arm 1 to perform the inching operation. At this time, the controller 4 checks whether the arm part 13 of the robotic arm 1 may interfere with an edge of the selected opening 22. Then, when the teach-point setting command is inputted, the controller 4 sets a teach point, and generates the operation program 5a for the robot 10 based on the set teach point. Then, the controller 4 stores the generated operation program 5a in the memory 5.
(33) When the mode switching command to the opening definition mode is inputted, the controller 4 switches the mode of the robot 10 to the opening definition mode. In the opening definition mode, when the opening selecting command is inputted, the controller 4 selects the opening 22 selected by the opening selecting command, from the data of the plurality of openings of the workpiece 21 stored in the memory 5. When the jogging command or the inching command is inputted, the controller 4 causes the robotic arm 1 to perform the jogging operation or the inching operation. Then, when the defined-point setting command is inputted, the controller 4 sets the defined point of the opening 22. When all the defined points are set, the controller 4 stores the set defined points in the memory 5 so as to be associated with the selected opening 22 (and the workpiece 21).
(34) When the mode switching command to the repeating mode is inputted, the controller 4 reads the generated operation program 5a from the memory 5 and executes it so as to operate the robot 10 in accordance with the generated operation program 5a.
(35) When determined that the arm part 13 of the robotic arm 1 may interfere with the edge of the selected opening 22, the controller 4 causes the warning unit 6 to alert. In this example, the controller 4 causes as the warning unit 6 the buzzer to sound.
(36) <Work Environment>
(37)
(38) Referring to
(39) In detail, the pedestal 15 is fitted slidably to a linear guide (not illustrated) which extends in an extending direction of the traveling path 31. The pedestal 15 is moved by the pedestal moving mechanism 15a on the traveling path 31 in the extending direction of the traveling path 31 as illustrated by arrows.
(40) The extending direction of the traveling path 31 is parallel to a transferring direction of the workpiece 21 in an assembly line of the workpiece 21.
(41) The workpiece 21 may be any workpiece in which an internal space having the opening 22 is formed in a manufacturing process. In this example, the workpiece 21 is a vehicle body of an automobile under assembly, the internal space of the workpiece 21 is an internal space of the vehicle body, the openings 22 of the internal space are two windows of left doors and two windows of right doors of the vehicle body, a window in a front part of the vehicle body, a window in a rear part of the vehicle body, and windows in rear side parts of the vehicle body. The total number of the openings 22 is eight.
(42) In this example, the robot 10 is provided with a spray gun as the end effector 17 at the tip-end part of the robotic arm 1, and performs a sealing work inside the cabin of the vehicle body as the workpiece 21.
(43) [Opening-Defined Data]
(44)
(45) The opening 22 of the workpiece 21 is defined by positions of the plurality of defined points P1-P5, an order of defining the plurality of defined points P1-P5, and a plurality of straight lines connecting the plurality of defined points P1-P5 in the defined order. In this example, the defined order of the defined points P1-P5 is that the defined point P1 is the first, the defined point P2 is the second, the defined point P3 is the third, the defined point P4 is the fourth, and the defined point P5 is the fifth. By connecting the plurality of defined points P1-P5 with the plurality of (here, five) straight lines in the defined order, a two-dimensional or three-dimensional polygon is formed, and the polygon defines (identifies) a shape and a position of the opening 22.
(46) The positions and the defined order of the plurality of defined points P1-P5 are stored in the memory 5 as the opening-defined data 5b so that the positions and the defined order correspond to (are associated with) each other, and also correspond to (are associated with) the workpiece 21 and the opening 22.
(47) [Interference Check]
(48) Next, an interference check executed by the controller 4 is described.
(49) A well-known method may be used for determining the possibility of the interference between the arm part 13 of the robotic arm 1 and the edge of the opening 22 (hereinafter, referred to as the “interference check”). In this embodiment, the interference check between the arm part 13 of the robotic arm 1 and the edge of the opening 22 is executed as follows.
(50) In this embodiment, the link model of the robotic arm 1 is used as illustrated in
(51) Here, the coordinates of the specified start point and end point are positional coordinates of each link when the arm part 13 of the robotic arm 1 is in a reference posture (when axis angles of all the joints are 0°).
(52) The link model of the arm part 13 of the robotic arm 1 is as illustrated in
(53) The interference check between the arm part 13 of the robotic arm 1 and the edge of the opening 22 is executed by calculating a shortest distance between the line segments indicating the shape of the opening 22 (straight lines connecting the defined points) and the line segment of the capsule-shape link model, and determining whether the shortest distance is smaller than the thickness R of the link model. In this case, a spatial position of the link model changes according to the angle of each axis of the arm part 13 of the robotic arm 1. Therefore, as the angle of each axis of the link model, an angle called a “virtual command value” is used. The “virtual command value” is an angle of each axis at a position to which the arm part 13 under operation is to be moved after a given period of time. This given period of time is determined based on a period of time required for stopping the arm part 13. By executing the interference check using this “virtual command value,” the interference can be detected before the actual interference occurs, and thus, the actual interference can be prevented in advance.
(54) [Operation]
(55) The operation of the robot teaching system 100 configured as described above is described with reference to
(56) <Teaching Control>
(57)
(58) Referring to
(59) First, the controller 4 stands by until the opening 22 is selected (NO at Step S1). In detail, the controller 4 stands by until the opening selecting command is inputted from the teaching unit 3.
(60) When the operator operates the opening selecting part of the teaching unit 3, the controller 4 reads opening-defined data of the selected opening 22 from the memory 5, and acquires the shape and position of the selected opening 22 by connecting the plurality of defined points P1-P5 with straight lines (Step S2).
(61) Next, the controller 4 stands by until a jogging or an inching operation is performed (NO at Step S3). In detail, the controller 4 stands by until the jogging command or the inching command is inputted from the teaching unit 3.
(62) When the operator operates the jogging part or the inching part of the teaching unit 3, the controller 4 calculates the position of the robotic arm 1 corresponding to the inputted jogging command or inching command, and sets it as an estimated position (Step S4).
(63) Next, the controller 4 determines whether the robotic arm 1 may interfere with the edge of the opening 22 based on the estimated position of the robotic arm 1 and the shape and position of the selected opening 22 (Step S5). The controller 4 determines the possibility of the interference between the arm part 13 of the robotic arm 1 and the edge of the opening 22 based on the interference check as described above.
(64) When determined that the arm part 13 of the robotic arm 1 and the edge of the opening 22 may interfere (YES at Step S5), the controller 4 executes an evasive operation and a warning (Step S6). In detail, the controller 4 first causes the warning unit 6 to alert. Moreover, as the evasive operation, the controller 4 controls the pedestal moving mechanism 15a of the pedestal 15 of the robotic arm 1 so that the pedestal 15 moves to take a posture where the arm part 13 separates from the edge of the opening 22. Alternatively, the controller 4 stops the operation of the robotic arm 1, or decreases an operation speed of the robotic arm 1.
(65) Next, the controller 4 stands by until the jogging or the inching operation is performed (NO at Step S7).
(66) When the operator operates the jogging part or the inching part of the teaching unit 3, the controller 4 cancels the alert by the warning unit 6 (Step S8), and returns the control to Step S4.
(67) On the other hand, when determined that the arm part 13 of the robotic arm 1 and the edge of the opening 22 do not interfere (NO at Step S5), the controller 4 operates the robotic arm 1 to be located at the estimated position (Step S9). Next, the controller 4 determines whether a teach-point setting operation is performed (Step S10). In detail, the controller 4 determines whether the teach-point setting command is inputted from the teaching unit 3. If the teach-point setting command is not inputted within a given period of time (NO at Step S10), the controller 4 proceeds the control to Step S12.
(68) On the other hand, when the teach-point setting command is inputted within the given period of time (YES at Step 10), the controller 4 sets the position of the end effector 17 of the robotic arm 1 as the teach point (Step S11). Next, the controller 4 determines whether the ending command is inputted from the teaching unit 3 (Step S12). In detail, the controller 4 determines whether the ending command is inputted from the teaching unit 3.
(69) If the ending command is not inputted (NO at Step S12), the controller 4 returns the control to Step S3.
(70) Then, according to the operation by the operator to the jogging part or the inching part of the teaching unit 3, and the operation by the operator to the teach-point setting part of the teaching unit 3, the controller 4 repeats Steps S3 to S12. While repeating Steps S3 to S12, as illustrated in
(71) Then, the controller 4 determines that the ending command is inputted (YES at Step S12), and ends this teaching control.
(72) Therefore, the teaching for the work inside the internal space having the opening 22 can be carried out by operating the teaching unit 3. Moreover, during the teaching, it is unnecessary to pay attention to the interference between the arm part 13 of the robotic arm 1 and the edge of the opening 22.
(73) <Opening Definition Control>
(74)
(75) First, the controller 4 stands by until the opening 22 is selected (NO at Step S21). In detail, the controller 4 stands by until the opening selecting command is inputted from the teaching unit 3.
(76) When the operator operates the opening selecting part of the teaching unit 3, the controller 4 selects the selected opening 22 from the data of the plurality of openings of the workpiece 21 stored in the memory 5 (YES at Step S21).
(77) Next, the controller 4 stands by until the jogging or the inching operation is performed (NO at Step S22). In detail, the controller 4 stands by until the jogging command or the inching command is inputted from the teaching unit 3.
(78) When the operator operates the jogging part or the inching part of the teaching unit 3, the controller 4 locates the end effector 17 of the robotic arm 1 at the position corresponding to the inputted jogging command or the inching command (Step S23).
(79) Next, the controller 4 determines whether a defined-point setting operation is performed (Step S24). In detail, the controller 4 determines whether the defined-point setting command is inputted from the teaching unit 3 within a given period of time.
(80) When the operator operates the defined-point setting part of the teaching unit 3, the controller 4 determines that the determined-point setting operation is performed (YES at Step S24), and sets the position and the defined order of the defined point so that they are associated with each other, and are also associated with the opening 22.
(81) On the other hand, when the defined-point setting command is not inputted from the teaching unit 3 within the given period of time (NO at Step S24), the controller 4 proceeds the control to Step S26.
(82) Next, the controller 4 determines whether the ending command is inputted from the teaching unit 3 (Step S26).
(83) When the ending command is not inputted, the controller 4 returns the control to Step S22.
(84) Then, according to the operation by the operator to the jogging part or the inching part of the teaching unit 3, the controller 4 repeats Steps S22 to S24, and S26. While repeating Steps S22 to S24, and S26, as illustrated in
(85) After this, the operator operates similarly, and the controller 4 operates according to the operation by the operator so that the positions and the defined orders of the respective defined points P2-P5 are set. Then the operator operates the ending part of the teaching unit 3.
(86) Then, the controller 4 determines that the ending command is inputted (YES at Step S26), and ends the opening definition control.
(87) Accordingly, the plurality of defined-point settings for the opening 22 are executed.
Other Embodiments
(88) Although in the above embodiment the robot 10 is provided with the redundant axis comprised of the pedestal moving mechanism 15a and the traveling path 31, the redundant axis may be omitted.
(89) Moreover, although in the above embodiment the opening 22 is defined by using the robot 10 at the work site, the opening 22 may be defined separately. For example, data which identifies the shape of the opening 22 and the position of the workpiece 21 may be created in advance based on design data for the workpiece 21, and the created data may be stored in the memory 5 as the opening-defined data 5b.
(90) Moreover, in the above embodiment the interference check, the warning, and the evasive operation may be executed in the repeating mode.
(91) It is apparent for a person skilled in the art from the above description that many improvements and other embodiments of the present disclosure are possible. Therefore, the above description is to be interpreted only as illustration.
INDUSTRIAL APPLICABILITY
(92) The method and system for teaching the robot according to the present disclosure is useful as a method and system for teaching a robot, unnecessary of paying attention to an interference between a robotic arm and an edge of an opening when a teaching is performed for a work in an internal space having the opening by operating a teaching unit.
DESCRIPTION OF REFERENCE CHARACTERS
(93) 1 Robotic Arm
(94) 2 Robot Controller
(95) 3 Teaching Unit
(96) 4 Controller
(97) 5 Memory
(98) 6 Warning Unit
(99) 10 Robot
(100) 15 Pedestal
(101) 15a Pedestal Moving Mechanism
(102) 17 End Effector
(103) 21 Workpiece
(104) 22 Opening
(105) 31 Traveling Path
(106) 100 Robot Teaching System