WO2021117907A1 - 位置検出方法、制御装置及びロボットシステム - Google Patents
位置検出方法、制御装置及びロボットシステム Download PDFInfo
- Publication number
- WO2021117907A1 WO2021117907A1 PCT/JP2020/046568 JP2020046568W WO2021117907A1 WO 2021117907 A1 WO2021117907 A1 WO 2021117907A1 JP 2020046568 W JP2020046568 W JP 2020046568W WO 2021117907 A1 WO2021117907 A1 WO 2021117907A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- robot
- detected
- respect
- control device
- contact
- Prior art date
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 173
- 238000012545 processing Methods 0.000 claims abstract description 21
- 238000000034 method Methods 0.000 claims description 40
- 230000008569 process Effects 0.000 claims description 34
- 230000033001 locomotion Effects 0.000 claims description 19
- 230000002093 peripheral effect Effects 0.000 claims description 7
- 239000012636 effector Substances 0.000 description 39
- 230000036544 posture Effects 0.000 description 19
- 230000006870 function Effects 0.000 description 11
- 238000003780 insertion Methods 0.000 description 8
- 230000037431 insertion Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 210000000078 claw Anatomy 0.000 description 5
- 230000010365 information processing Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000010411 cooking Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000000474 nursing effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/10—Programme-controlled manipulators characterised by positioning means for manipulator elements
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1682—Dual arm manipulator; Coordination of several manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/06—Programme-controlled manipulators characterised by multi-articulated arms
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1633—Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1653—Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39102—Manipulator cooperating with conveyor
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40625—Tactile sensor
Definitions
- This disclosure relates to a position detection method, a control device, and a robot system.
- Patent Document 1 discloses a method of teaching a robot a position in a working environment by using a tactile sensor.
- the robot has a tactile sensor device that includes a touch-sensitive surface in the end effector of the arm.
- the robot brings the touch-sensitive surface into contact with the object, and the tactile sensor device generates a signal indicating the contact position with respect to the touch-sensitive surface. Further, the robot is instructed of the position of contact with the work environment by using the information including the generated signal.
- a tactile sensor device including a touch-sensitive surface is used to detect the positional relationship between the robot and the work object.
- a highly accurate tactile sensor device is required, resulting in increased cost and complicated equipment.
- the accuracy of the tactile sensor device may decrease and calibration may be required. Therefore, the work for the above detection becomes complicated.
- An object of the present disclosure is to provide a position detection method, a control device, and a robot system that simplify the detection of the positional relationship between a robot and an object.
- the position detection method is a position detection method for detecting the position of a robot provided with an arm with respect to an object, wherein (a) the arm is attached to the object. Positioning the contact portion arranged on the arm laterally with respect to the first detected portion of at least two arranged portions to be detected, and (b) the arm. The contact portion is moved to the side so that the contact portion is brought into contact with at least three locations on the surface of the first detected portion, and (c) the contact portion at the time of contact at each of the at least three locations.
- Detecting the position with respect to the robot (d) detecting the position of the first detected portion with respect to the robot by using at least three positions of the detected contact portion, and (e) at least the above-mentioned at least.
- the detected parts other than the first detected part are also subjected to the same processing as in the processes (a) to (d), and (f) at least two of the robots. This includes detecting the position of the robot with respect to the object by using the position of the detected portion and the positions of at least two detected portions with respect to the object.
- FIG. 1 is a diagram showing an example of a configuration of a robot system according to an embodiment.
- FIG. 2 is a side view showing an example of the configuration of the robot according to the embodiment.
- FIG. 3 is a side view showing an example of the configuration of the end effector according to the embodiment.
- FIG. 4 is a plan view showing an example of a member having a detection hole.
- FIG. 5 is a block diagram showing an example of the configuration of the control device and its surroundings according to the embodiment.
- FIG. 6 is a block diagram showing an example of the functional configuration of the control device according to the embodiment.
- FIG. 7 is a flowchart showing an example of the operation of the robot system according to the embodiment.
- FIG. 1 is a diagram showing an example of a configuration of a robot system according to an embodiment.
- FIG. 2 is a side view showing an example of the configuration of the robot according to the embodiment.
- FIG. 3 is a side view showing an example of the configuration of the end effector according to the embodiment.
- FIG. 8 is a plan view showing an example of the moving operation of the insert body according to the embodiment in the detection hole.
- FIG. 9 is a plan view showing an example of three contact states with the detection hole of the insert body according to the embodiment.
- FIG. 10 is a flowchart showing another example of the operation of the robot system according to the embodiment.
- FIG. 11 is a plan view showing an example of a contact state between the contact portion and the detected portion according to the modified example of the embodiment.
- the position detection method is a position detection method for detecting the position of a robot provided with an arm with respect to an object, and (a) at least two detected objects arranged on the arm on the object.
- the contact portion arranged on the arm is positioned laterally to the first detected portion of the portions in the horizontal direction, and (b) the contact portion is placed laterally on the arm.
- To move the contact portion to contact at least three locations on the surface of the first detected portion and (c) detect the position of the contact portion with respect to the robot at the time of contact at each of the at least three locations.
- the position of the first detected portion with respect to the robot is detected by using at least three positions of the detected contact portion, and (e) of the at least two detected portions.
- the detected parts other than the first detected part are also subjected to the same processing as the processes (a) to (d), and (f) the positions of the at least two detected parts with respect to the robot, and the above. This includes detecting the position of the robot with respect to the object by using the positions of the at least two detected portions with respect to the object.
- the position of each detected portion with respect to the robot is detected by detecting the position of the contact portion with respect to the robot at the time of contact at at least three places for each detected portion. Further, the position of the robot with respect to the object is detected by using the position of each detected portion with respect to the robot.
- the detection of the position as described above can be realized by arranging the contact portion with the arm of the robot and the operation of the robot as described above. Therefore, it becomes easy to detect the positional relationship between the robot and the object.
- the at least two detected portions are one of a recess and a protrusion that can be inserted into the recess, and the contact portion is the recess.
- the contact portion is moved to the side of the first detected portion.
- the contact portion may be positioned.
- the contact portion is moved laterally with the protruding portion inserted in the recess. Since the moving range of the contact portion is limited by the recess, the operation of the arm for bringing the contact portion into contact with the detection portion becomes simple and quick.
- the position and orientation of the robot with respect to the object may be detected. According to the above aspect, it is easy to detect a precise positional relationship between the robot and the object.
- the arm includes at least two joints, and in the process (b), the first joint of the at least two joints is operated at each of the at least three joints.
- the second joint of the at least two joints is operated to bring the contact portion into contact with the surface of the first detected portion.
- the second operation of bringing the parts into contact with each other may be performed.
- the first operation the amount of movement of the contact portion increases, and the contact portion may collide with the surface of the detected portion and bounce off.
- the amount of movement of the contact portion may be small, and the contact portion can be brought into contact with the surface of the detected portion.
- the first joint and the second joint are operating, and the contact portion is brought into contact with the detected portion, so that the mechanical rattling (for example, backlash) in the first joint and the second joint is performed.
- the influence of rush etc. on the operation is reduced. Therefore, it is possible to detect the accurate position of each part of the arm at the time of contact. Further, since the first joint and the second joint operate separately, it becomes easy to detect the amount of movement of each joint leading to the contact between the contact portion and the detected portion.
- the first joint and the second joint may enable the movement of the arm so as to move the contact portion to the side.
- the influence of the movement of the first joint due to the mechanical rattling (backlash, etc.) at the second joint is reduced, and the movement of the second joint is mechanically rattling (back) at the first joint. The influence of rush etc.) is reduced.
- the gain of the second servomotor that drives the second joint is made lower than the gain of the first servomotor that drives the first joint.
- the gain of the first servomotor may be lower than the gain of the second servomotor.
- the position detection method may further include (g) causing the arm to perform an operation indicating the type of control being executed among the controls corresponding to each object. According to the above aspect, the user of the robot can visually recognize the processing being executed by the robot.
- the position detection method includes (a1) positioning the contact portion on the arm above the peripheral surface which is the peripheral surface of the first detected portion, and (b1) the arm. In addition, the contact portion is lowered to bring the contact portion into contact with the peripheral surface at at least one location, and (c1) the contact portion at the time of contact at each of the at least one location in the height direction with respect to the robot. Detecting the height position, which is the position, and (d1) detecting the height position of the first detected portion with respect to the robot by using at least one height position of the detected contact portion. , (E1) It may further include detecting the height position of the robot with respect to the object by using the height position of the first detected portion with respect to the robot. According to the above aspect, the detection of the height position of the robot with respect to the object can be realized by the arrangement of the contact portion with the arm of the robot and the operation of the robot as described above.
- the control device is a control device that executes the position detection method according to one aspect of the present disclosure, and the operation device of the robot to which the manual operation for the robot is input in the process (a). It is executed according to the operation information output from, and the processes (b) to (f) are automatically executed according to the program. According to the above aspect, the control device can execute the processes (a) to (f) even if the approximate position of the detected portion with respect to the robot is unknown.
- the control device is a control device that executes the position detection method according to one aspect of the present disclosure, and the processes (a) to (f) may be automatically executed according to a program. According to the above aspect, the control device can automatically execute the processes (a) to (f).
- the robot system includes a control device that executes the position detection method according to one aspect of the present disclosure and controls the operation of the robot, and the robot. According to the above aspect, the same effect as that of the control device according to one aspect of the present disclosure can be obtained.
- control device executes the process (a) according to the operation information output from the operation device of the robot to which the manual operation for the robot is input, and performs the process (b). )-Process (f) may be automatically executed according to the program. According to the above aspect, the same effect as that of the control device according to one aspect of the present disclosure can be obtained.
- control device may automatically execute the processes (a) to (f) according to a program. According to the above aspect, the same effect as that of the control device according to one aspect of the present disclosure can be obtained.
- FIG. 1 is a diagram showing an example of the configuration of the robot system 1 according to the embodiment.
- the robot system 1 includes a robot 100, an operation input device 200, a control device 300, an image pickup device 400, and a presentation device 500.
- the robot system 1 is configured to cause the robot 100 to automatically perform two tasks at different positions.
- the robot 100 packs the article WA carried by the belt conveyor 601A in the storage box 603A on the mounting table 602A at the work place WPA, and puts the boxed storage box 603A on another belt conveyor 604A. Transport to work location. Further, the robot 100 packs the article WB carried by the belt conveyor 601B in the storage box 603B on the mounting table 602B at the work place WPB, puts the boxed storage box 603B on another belt conveyor 604B, and puts another Transport to work location. It is necessary to move the robot 100 between the work place WPA and WPB. Every time the robot 100 moves, it is necessary to teach the position of the robot 100.
- the relative positions of the robot 100 and the belt conveyor 601A or the like in the control device 300 it is necessary to store the relative positions of the robot 100 and the belt conveyor 601A or the like in the control device 300, and in the work place WPB, the relative positions of the robot 100 and the belt conveyor 601B or the like are stored. It is necessary to store such a position in the control device 300.
- the control device 300 causes the robot 100 to automatically perform a predetermined work such as boxing work according to a program based on the above relative positions at the work place WPA and WPB respectively.
- the work performed by the robot 100 is not limited to the work exemplified in this embodiment, and may be any work.
- the control device 300 controls the operation of the robot 100 by autopilot that automatically causes the robot 100 to operate according to a program and manual operation that causes the robot 100 to operate according to the operation information corresponding to the operation input via the operation input device 200. Control.
- FIG. 2 is a side view showing an example of the configuration of the robot 100 according to the embodiment.
- the robot 100 is an industrial robot in the present embodiment, but is not limited thereto.
- the robot 100 includes end effectors 110A and 110B, arms 120A and 120B, a base 130, and an inserter 140.
- the end effectors 110A and 110B act on workpieces such as articles WA and WB, and the arms 120A and 120B move the end effectors 110A and 110B to perform the action, respectively.
- the arms 120A and 120B are robot arms.
- the arms 120A and 120B are rotatably supported by the base 130.
- the base 130 is arranged in a movable device such as a transport device, and is configured to be movable.
- transport devices are wheels, AGVs (automated guided vehicles), and the like.
- the insert body 140 is arranged in each of the end effectors 110A and 110B, that is, is arranged at the tips of the arms 120A and 120B, and is used in the operation of detecting the position of the robot 100.
- the arms 120A and 120B are not particularly limited as long as they have a configuration capable of moving the end effectors 110A and 110B at their respective tips, but in the present embodiment, they are horizontal articulated arms.
- the arms 120A and 120B may be, for example, vertical articulated type, polar coordinate type, cylindrical coordinate type, right angle coordinate type, or other types of robot arms.
- the arms 120A and 120B are rotatable in a horizontal plane on the same axis as the first axis S1 in the vertical direction.
- the arm 120A is arranged so as to be displaced downward in the direction of the first axis S1 with respect to the arm 120B.
- the robot 100 constitutes a coaxial dual-arm robot.
- the arm 120A includes links 121A to 124A, joints JA1 to JA4, and drive devices DA1 to DA4.
- the arm 120B includes links 121B to 124B, joints JB1 to JB4, and drive devices DB1 to DB4.
- the drive devices DA1 to DA4 and DB1 to DB4 include an electric motor or the like using electric power as a power source, and include a servomotor in the present embodiment.
- the drive devices DA1 to DA4 and DB1 to DB4 drive the joints JA1 to JA4 and JB1 to JB4 under the control of the control device 300, respectively. Therefore, the arms 120A and 120B operate independently of each other.
- the number of joints of the arms 120A and 120B is not limited to four, and may be five or more or three or less.
- the links 121A and 121B are rotatably connected to the base 130 in a horizontal plane about the first axis S1 via the rotary joints JA1 and JB1, respectively.
- the links 122A and 122B are rotatably connected to the tips of the links 121A and 121B in a horizontal plane about the second vertical axes S2a and S2b, respectively, via the rotary joints JA2 and JB2.
- the links 123A and 123B are connected to the tips of the links 122A and 122B via the linear motion joints JA3 and JB3 so as to be able to move up and down along the third axes S3a and S3b in the vertical direction, respectively.
- the links 124A and 124B are rotatably connected to the lower ends of the links 123A and 123B via the rotary joints JA4 and JB4, respectively, about the fourth axes S4a and S4b in the longitudinal direction of the links 123A and 123B.
- the fourth axes S4a and S4b are vertical axes.
- the links 124A and 124B form a mechanical interface for connecting to the end effectors 110A and 110B, respectively.
- the "horizontal direction” means the horizontal direction when the robot 100 is arranged on a horizontal surface such as a horizontal floor surface, and is also a direction parallel to the above surface.
- the "vertical direction” means a vertical direction in the same case, and is a direction perpendicular to the surface.
- “Upper” means a direction from lower to upper in the same case, and “downward” means a direction from upper to lower in the same case.
- “Side” means the direction along the surface in the same case.
- FIG. 3 is a side view showing an example of the configuration of the end effector 110A according to the embodiment. As shown in FIGS. 2 and 3, the configurations of the end effectors 110A and 110B are the same. Therefore, only the configuration of the end effector 110A will be described, and the description of the configuration of the end effector 110B will be omitted.
- the end effector 110A includes a connection portion 111, a support portion 112, a drive portion 113, and a grip portion 114.
- the support portion 112 extends in a direction perpendicular to the fourth axis S4a.
- the connecting portion 111 is arranged at one end of the supporting portion 112 in the extending direction, and the driving portion 113 is arranged at the other end.
- the connecting portion 111 is connected to the mechanical interface of the link 124A via the insert body 140.
- the drive unit 113 is mechanically connected to the two gripping claws 114a of the gripping unit 114, and can move the gripping claws 114a in the direction of approaching and away from each other.
- the gripping claw 114a extends in a direction intersecting the fourth axis S4a, and in the present embodiment, extends in a vertical direction.
- the gripping claws 114a grip the workpieces such as the articles WA and WB by moving so as to approach each other, and release the grip by moving away from each other.
- the drive unit 113 includes an electric motor or the like using electric power as a power source, and includes a servomotor in the present embodiment.
- the drive unit 113 drives the grip claw 114a under the control of the control device 300.
- the insert body 140 includes a shaft portion 141 and a connecting portion 142.
- the shaft portion 141 and the connecting portion 142 are composed of one member, but may be divisible.
- the connection portion 142 is connected to the mechanical interface of the link 124A.
- the connecting portion 142 has a disk-like shape having a circular surface similar to the surface of the mechanical interface.
- the connecting portion 142 includes a protrusion 142a on the circular surface.
- the protrusion 142a may be integrated with the connection portion 142 or may be detachable.
- the protrusion 142a is a planar annular protrusion similar to the annular groove 124Aa formed on the surface of the mechanical interface, and can be fitted with the groove 124Aa.
- the connecting portion 142 is positioned at a fixed position with respect to the surface of the mechanical interface by fitting the protrusion 142a into the groove 124Aa.
- the shapes of the protrusions 142a and the grooves 124Aa are not limited to an annular shape, and may be positioned by fitting.
- the protrusions and grooves may be arranged on the link 124A and the connection 142, respectively.
- the shaft portion 141 extends downward through the connecting portion 111 and the supporting portion 112 of the end effector 110A in the direction perpendicular to the circular surface of the connecting portion 142 and in the direction opposite to the protrusion 142a.
- the shaft portion 141 projects downward from the support portion 112.
- the shaft portion 141 does not project downward from the drive portion 113 and / or the grip portion 114 of the end effector 110A.
- the connecting portion 142 is positioned by fitting the protrusion 142a and the groove 124Aa, the shaft portion 141 extends coaxially with the fourth axis S4a. That is, the axis of the shaft portion 141 and the fourth axis S4a coincide with each other.
- the connecting portion 142 includes an annular groove 142b on the circular surface opposite to the protrusion 142a.
- the connection portion 111 of the end effector 110A includes a protrusion 111a on the surface opposite to the support portion 112.
- the protrusion 111a may be integrated with the connection portion 111, or may be detachable.
- the protrusion 111a is a planar annular protrusion similar to the groove 142b, and can be fitted with the groove 142b.
- the connection portion 111 of the end effector 110A is positioned at a fixed position with respect to the insert body 140 and the link 124A by fitting the protrusion 111a into the groove 142b.
- the shapes of the protrusions 111a and the grooves 142b are not limited to the annular shape, and may be positioned by fitting.
- the protrusions and grooves may be arranged at the connection portion 142 and the connection portion 111, respectively.
- the insert body 140 as described above is directly fixed to the link 124A with the connection portion 142 sandwiched between the link 124A and the end effector 110A.
- the robot 100 can perform the work with the insert body 140 attached to the link 124A.
- the insert 140 may be configured to be directly fixed to the end effector 110A and indirectly fixed to the link 124A via the end effector 110A.
- the insert 140 is an example of a contact portion and an example of a protruding portion.
- the robot system 1 has a detection hole 150a (see FIG. 4) in which the shaft portion 141 of the insert body 140 is inserted in order to detect the position of the robot 100 in each of the work place WPA and WPB.
- the detection hole 150a extends in the vertical direction.
- the member in which the detection hole 150a is formed is arranged at a predetermined position in the work place WPA and WPB.
- the predetermined position may be a position whose exact position is known or detectable.
- FIG. 4 is a plan view showing an example of a member having a detection hole.
- the jig 150 in which the detection hole 150a is formed may be arranged on the belt conveyor 604A.
- the shape of the detection hole 150a is a cylindrical shape having a circular cross section, but is not limited thereto.
- the shape of the detection hole 150a is such that if at least three arbitrary positions on the inner wall surface of the detection hole 150a are detected, the three positions can be used as a reference position such as the center or the axial center of the detection hole 150a. Any shape may be used as long as the cross-sectional shape or the like can be detected.
- the shape of the detection hole 150a may be a columnar shape having an elliptical cross section, an oval cross section, a polygonal cross section, or the like.
- the jig 150 may be arranged at each component that requires a relative position with respect to the robot 100, such as the belt conveyor 601A and the mounting table 602A of the work place WPA.
- the jig 150 may be placed on at least one component if the relative positions between the components are known or detectable.
- At least two jigs 150, that is, at least two detection holes 150a, are arranged in each of the work place WPA and WPB.
- the detection hole 150a is an example of a detected portion and an example of a recess.
- the image pickup apparatus 400 is arranged at each of the work place WPA and WPB.
- the image pickup apparatus 400 images at least a part of the mounting tables 602A and 602B and the belt conveyors 601A, 604A, 601B and 604B around the mounting table 602A and 602B.
- the image pickup apparatus 400 may be arranged in each component of the work place WPA and WPB, or may be arranged in the robot 100.
- the image pickup apparatus 400 includes, but is not limited to, a visible camera capable of capturing a moving image of a digital image which is a visible image.
- the image pickup device 400 performs an image pickup operation in accordance with a command of the control device 300, and sends a signal or the like of the captured image to the control device 300, for example.
- the presentation device 500 presents an image, a sound, and the like for operating the robot system 1 received from the control device 300 to the user P of the robot system 1.
- Examples of the presentation device 500 include, but are not limited to, a liquid crystal display, an organic or inorganic EL display, and the like.
- the presenting device 500 may include a speaker that emits sound.
- the presentation device 500 presents the image captured by the image pickup device 400 to the user P who operates the operation input device 200.
- the operation input device 200 receives inputs such as various information, data, and commands, and outputs the received information and the like to the control device 300.
- the operation input device 200 may include known input means such as a lever, a button, a touch panel, a joystick, and a motion capture.
- the operation input device 200 is configured to receive an input of a manual operation to the robot 100 by the user P and output operation information corresponding to the received operation to the control device 300.
- the operation input device 200 may accept an operation via the input means, or may include a dedicated input means for accepting the operation.
- FIG. 5 is a block diagram showing an example of the configuration of the control device 300 and its surroundings according to the embodiment.
- the control device 300 is communicably connected to the robot 100, the operation input device 200, the image pickup device 400, and the presentation device 500.
- the communication format may be any communication format of wired communication and wireless communication.
- the control device 300 operates the robot 100 in response to a command received by the operation input device 200.
- the control device 300 outputs an image or the like captured by the image pickup device 400 to the presentation device 500.
- the control device 300 passes through the drive circuits C1 to C8 (denoted as “SC” in FIG. 5), respectively, and the servomotors M1 to M8 of the drive devices DA1 to DA4 and DB1 to DB4 of the arms 120A and 120B of the robot 100 (FIG. 5). In 5, it is electrically connected to (denoted as "SM"). Each of the drive circuits C1 to C8 adjusts the current value of the current supplied to the servomotors M1 to M8 according to the command of the control device 300.
- the control device 300 is electrically connected to rotation sensors E1 to E8 (denoted as "EN” in FIG. 5) such as encoders of the drive devices DA1 to DA4 and DB1 to DB4.
- the control device 300 is electrically connected to the servomotors M9 and M10 of the drive unit 113 of the end effectors 110A and 110B via the drive circuits C9 and C10, respectively.
- the drive circuits C9 and C10 adjust the current values of the currents supplied to the servomotors M9 and M10, respectively, according to the command of the control device 300.
- the control device 300 is electrically connected to the rotation sensors E9 and E10 of the drive unit 113 of the end effectors 110A and 110B.
- the rotation sensors E1 to E10 detect the amount of rotation (for example, the angle of rotation) of the servomotors M1 to M10, and output the detection result to the control device 300.
- the control device 300 is composed of an arithmetic unit having a processor, a memory, and the like.
- the arithmetic unit transmits / receives information, data, commands, and the like to and from other devices including the operation input device 200.
- the arithmetic unit inputs detection signals from various sensors and outputs control signals to each control target.
- the memory is composed of a semiconductor memory such as a volatile memory and a non-volatile memory, a hard disk, and a storage device such as an SSD (Solid State Drive).
- the memory stores a program executed by an arithmetic unit, various fixed data, and the like.
- the function of the arithmetic unit is a computer system (not shown) consisting of a processor such as a CPU (Central Processing Unit), a volatile memory such as a RAM (Random Access Memory), and a non-volatile memory such as a ROM (Read-Only Memory). It may be realized. Some or all of the functions of the arithmetic unit may be realized by the CPU using the RAM as a work area to execute a program recorded in the ROM. A part or all of the functions of the arithmetic unit may be realized by the above computer system, or may be realized by a dedicated hardware circuit such as an electronic circuit or an integrated circuit, and may be realized by the above computer system and the hardware circuit. It may be realized by a combination.
- a processor such as a CPU (Central Processing Unit)
- a volatile memory such as a RAM (Random Access Memory)
- ROM Read-Only Memory
- Such a control device 300 may be composed of, for example, a microcontroller, an MPU (Micro Processing Unit), an LSI (Large Scale Integration), a system LSI, a PLC (Programmable Logic Controller), a logic circuit, or the like. Good.
- the plurality of functions of the control device 300 may be realized by being individually integrated into one chip, or may be realized by being integrated into one chip so as to include a part or all of them. Further, each circuit may be a general-purpose circuit or a dedicated circuit.
- an FPGA Field Programmable Gate Array
- a reconfigurable processor that can reconfigure the connection and / or setting of circuit cells inside the LSI, or multiple functions for a specific application.
- An ASIC Application Specific Integrated Circuit
- ASIC Application Specific Integrated Circuit
- the control device 300 may be configured to execute each process by centralized control by a single device, or may be configured to execute each process by distributed control by the cooperation of a plurality of devices.
- FIG. 6 is a block diagram showing an example of the functional configuration of the control device 300 according to the embodiment.
- the control device 300 functions as an image pickup control unit 311, an information processing unit 312, an operation command unit 313 and 314, an operation control unit 315, a position calculation unit 316, and a storage unit 317. Included as a component.
- the functions of the above functional components except the storage unit 317 are realized by a computer system and / or a hardware circuit.
- the storage unit 317 is realized by a memory. Not all of the above functional components are required.
- the information processing unit 312 receives various information, data, commands, etc. from the operation input device 200, processes them, and outputs them to the corresponding functional components. For example, the information processing unit 312 receives a command from the operation input device 200 to cause the image pickup device 400 of the work place WPA or WPB to take an image, and outputs the command to the image pickup control unit 311. The information processing unit 312 receives a command for designating the operation mode of the robot 100 from the operation input device 200, and outputs the command to the operation command units 313 and 314 and the like.
- the operation mode includes an automatic operation mode in which the robot 100 executes the work by autopilot, a manual operation mode in which the robot 100 executes the work by manual operation, a detection mode for detecting the position of the robot 100, and the like.
- the automatic operation mode may include the work of the robot 100 by manual operation as a part of the work of the robot 100.
- the detection modes include a first detection mode in which the robot 100 is made to execute all the operations of the robot 100 in the mode by autopilot, and a detection mode in which the robot 100 is made to execute at least a part of the operations of the robot 100 in the mode by autopilot.
- a second detection mode in which the other part is executed by autopilot may be included.
- the work may consist of a plurality of actions of the robot 100 for performing the desired processing on the object.
- the image pickup control unit 311 causes the corresponding image pickup device 400 to perform an image pickup operation in accordance with a command received from the information processing unit 312.
- the image pickup control unit 311 receives a signal of the captured image from the image pickup device 400, generates image data that can be displayed on the screen from the received signal, outputs the image data to the presentation device 500, and displays the signal.
- the first operation command unit 313 functions in the manual operation mode and the second detection mode.
- the first operation command unit 313 generates a manual operation command, which is a command for the robot 100 to operate according to the operation information received from the operation input device 200, and outputs the manual operation command to the operation control unit 315.
- the manual operation command may include a command to move the positions and postures of the end effectors 110A and 110B to the arms 120A and 120B, a command to drive the drive units 113 of the end effectors 110A and 110B, and the like according to the operation information. ..
- the manual operation command is a command for causing the end effectors 110A and 110B to perform an operation corresponding to an operation input to the operation input device 200 by the user P.
- the operation command includes at least one of the position command and the force command, and in the present embodiment, the position command is included.
- the position command includes at least the target value of the position among the target values such as the position and attitude of the controlled object such as the end effectors 110A and 110B and the speed of the position and the attitude.
- the position and its speed represent a position in a three-dimensional space (hereinafter, also referred to as a "three-dimensional position") and a speed
- the posture and its speed represent a posture in a three-dimensional space (hereinafter, "three-dimensional posture"). It may also be expressed as) and speed.
- the position command may include the execution time of the position command.
- the force command includes at least a target value of the magnitude of the force among the target values of the magnitude and the direction of the force applied by the controlled object.
- the direction of the force may represent the direction in the three-dimensional space.
- the force command may include the execution time of the force command.
- position may mean including a position in three-dimensional space, a speed of position, a posture and a speed of posture in at least three-dimensional space.
- the second operation command unit 314 functions in the automatic operation mode and the first detection mode.
- the second operation command unit 314 generates an automatic operation command, which is a command for operating the robot 100, according to the automatic operation information stored in the storage unit 317, and outputs the automatic operation command to the operation control unit 315.
- the automatic operation command is a command for causing the end effectors 110A and 110B to perform an operation corresponding to preset automatic operation information.
- the second operation command unit 314 stores information on the position and posture of the robot 100 with respect to the work place and / or the robot 100 with respect to the components of the work place, which is stored in the storage unit 317 for generating the automatic operation command. Use position and orientation information.
- the posture may be the horizontal orientation of the robot 100, that is, the orientation.
- the automatic operation information may include information including the operation contents and order of the end effectors 110A and 110B, and the drive devices DA1 to 120B of the arms 120A and 120B for operating the end effectors 110A and 110B in the operation contents and order.
- Information including the operation contents and order of the drive units 113 of the DA4 and DB1 to DB4 and the end effectors 110A and 110B may be included.
- the automatic operation information includes the positions, postures, positions and movement speeds of the end effectors 110A and 110B, the execution order of the positions, postures and operations of the drive unit 113, and the positions, postures and drive units 113. The execution time of the operation or the like may be included.
- the automatic operation information corresponding to the automatic operation mode may be teaching data.
- the automatic operation information corresponding to the first detection mode may be the same data as the teaching data, or may be data preset in programming.
- the operation control unit 315 determines the current value to be supplied to the servomotors M1 to M10 so as to drive the servomotors M1 to M10 of the robot 100 according to the manual operation command or the automatic operation command received from the operation command unit 313 or 314. And control the current supply. Further, the motion control unit 315 may use the detected values of the rotation sensors E1 to E10 of the servomotors M1 to M10 and the current sensor (not shown) as feedback information in the above control. The operation control unit 315 may use the command value of the current supplied by the drive circuits C1 to C10 to the servomotors M1 to M10 as feedback information. Such an operation control unit 315 performs servo control.
- the arms 120A and 120B cause the end effectors 110A and 110B to perform an operation corresponding to the operation information or the automatic operation information.
- the current sensor detects the current values of the servomotors M1 to M10 and outputs the detection result to the control device 300.
- the position calculation unit 316 functions in the first and second detection modes. In each detection mode, the position calculation unit 316 detects at least one of the horizontal position and the vertical position of the robot 100. For example, in the detection of the horizontal position, the robot 100 inserts the insertion body 140 of the end effector 110A or 110B into each of the detection holes 150a of the two jigs 150 from above, and moves the insertion body 140 in the horizontal direction for detection. It is brought into contact with at least three positions on the inner wall surface of the hole 150a. The position calculation unit 316 detects the position of the insert body 140 with respect to the robot 100 when the insert body 140 comes into contact with the inner wall surface.
- the position calculation unit 316 detects the driving amount of the joints JA1 to JA4 or JB1 to JB4 of the arms 120A or 120B in which the insertion body 140 is inserted into the detection hole 150a, that is, the rotation sensors E1 to E8. From the value, the position of the insert 140 with respect to the robot 100 is detected.
- the position with respect to the robot 100 may be a position with respect to a fixed reference position of the robot 100 such as an intersection between the first axis S1 and the upper surface of the base 130.
- the position calculation unit 316 detects the horizontal position of the detection hole 150a with respect to the robot 100 by using the positions of the inserters 140 at the three contact positions for each of the detection holes 150a. At this time, the position calculation unit 316 uses the information of the detection hole 150a stored in the storage unit 317. Further, the position calculation unit 316 uses at least the cross-sectional shape information of the cross-sectional shape and dimensions of the detection hole 150a included in the information of the detection hole 150a and the information on the position of the insert 140 with respect to the robot 100.
- the position calculation unit 316 provides information on the horizontal positions of the two detection holes 150a with respect to the robot 100 and the positions of the detection holes 150a with respect to the components of the work place where the jig 150 stored in the storage unit 317 is arranged.
- the position and orientation of the robot 100 in the horizontal direction with respect to the component are detected by using the information of.
- the horizontal posture may be the horizontal orientation (direction).
- the position calculation unit 316 may detect the horizontal position and posture of the robot 100 with respect to at least one component, or may detect the horizontal position and posture of the robot 100 with respect to all the components. For example, when at least two jigs 150 are arranged for each of all the components, the position calculation unit 316 may detect the horizontal position and posture of the robot 100 with respect to each component.
- the position calculation unit 316 may detect the horizontal position and orientation of the robot 100 with respect to one component. Further, the position calculation unit 316 may detect the horizontal position and posture of the robot 100 with respect to the work place by using the position information of each component in each work place stored in the storage unit 317. The position calculation unit 316 stores the detected horizontal position and posture of the robot 100 in the storage unit 317.
- the work place is a work place where the jig 150 having the detection hole 150a and the robot 100 are arranged.
- the component is a component such as a belt conveyor on which the jig 150 is arranged in the work place.
- the position of the detection hole 150a with respect to the component may be the position of the jig 150 with respect to the component.
- the component may be the work place itself, and the position of the detection hole 150a with respect to the component may be the position of the detection hole 150a with respect to the work place.
- the robot 100 inserts the end effector 110A or 110B into the insert 140 at at least one position on the upper surface 150b (see FIG. 4) around the detection hole 150a of one jig 150. Make contact from above.
- the position calculation unit 316 detects the position of the insert body 140 with respect to the robot 100 when the insert body 140 comes into contact with the upper surface 150 b.
- the position calculation unit 316 detects the position of the upper end opening of the detection hole 150a with respect to the robot 100 in the vertical direction by using the position of the insert body 140. At this time, the position calculation unit 316 uses the information of the jig 150 and the detection hole 150a stored in the storage unit 317.
- the position calculation unit 316 provides information on the vertical position of the upper end opening of the detection hole 150a with respect to the robot 100, and the detection hole 150a for the component of the work place where the jig 150 stored in the storage unit 317 is arranged. Using the position information, the position of the robot 100 in the vertical direction with respect to the component is detected.
- the position calculation unit 316 may detect the vertical position of the robot 100 with respect to at least one component, or may detect the vertical position of the robot 100 with respect to all the components. Further, the position calculation unit 316 may detect the position of the robot 100 in the vertical direction with respect to the work place by using the information on the position of each component in each work place stored in the storage unit 317.
- the position calculation unit 316 stores the detected position of the robot 100 in the vertical direction in the storage unit 317.
- the storage unit 317 can store various information, that is, can store the stored information, and can read the stored information.
- the storage unit 317 may store the automatic operation information of the robot 100, the information of the insert body 140 of the robot 100, the information of the jig 150, the information of the detection hole 150a, and the like.
- the storage unit 317 may store information on the position of each component in each work place, information on the relative position between the components, and the like.
- the storage unit 317 may store the design value or target value of the position and posture of the robot 100 with respect to each component in each work place. Further, the storage unit 317 may store a program for realizing each function of the control device 300.
- a program for executing either the first or second detection mode is created for each work place such as the work place WPA and WPB, or for each component, and is stored in the storage unit 317.
- the above information and the like may be stored in advance in the storage unit 317, or may be stored in the storage unit 317 by input using the operation input device 200.
- the information of the insert body 140 may include information such as the position of the insert body 140 with respect to the interface surface of the links 124A and 124B of the arms 120A and 120B, the direction in which the insert body 140 extends, and the shape and dimensions of the insert body 140.
- the information on the jig 150 includes the position of the jig 150 with respect to the work place, the position of the jig 150 with respect to the component on which the jig 150 is arranged, the shape and dimensions of the jig 150, the number of detection holes 150a in the jig 150, and Information such as position and stretching direction may be included.
- the information of the detection hole 150a may include information such as the cross-sectional shape and dimensions of the detection hole 150a.
- FIG. 7 is a flowchart showing an example of the operation of the robot system 1 according to the embodiment.
- FIG. 7 shows a case where the horizontal position of the robot 100 is detected.
- step S101 the user P is arranged in the operation input device 200 of the robot system 1 with a command to detect the horizontal position of the robot 100 in the first detection mode and the robot 100.
- the information of the work place is input, and the control device 300 receives the command and the information.
- the information of the work place WPA is input.
- the control device 300 when the robot 100 is moved from the work place WPA to the work place WPB or vice versa for setup change or the like, the user P has a detection mode in order to make the control device 300 remember the exact position of the robot 100. To execute. Whether the robot 100 is moved by human power or by a transfer device such as an AGV, the arrangement position of the robot 100 has an error in distance and direction with respect to the target position. The control device 300 reflects such an error in the target position.
- step S102 the control device 300 reads and executes the program of the first detection mode corresponding to the work place WPA stored in the storage unit 317.
- step S103 the control device 300 receives information on the target placement position of the robot 100 in the work place WPA stored in the storage unit 317, information on the two jigs 150 in the work place WPA, and the detection hole 150a. And read out the information.
- the two jigs 150 are arranged on the belt conveyor 604A.
- the control device 300 detects the target position of the robot 100 with respect to each detection hole 150a from the above information. Further, the control device 300 estimates the position of each detection hole 150a based on the target position.
- step S104 the control device 300 operates the robot 100 based on the estimated position so as to move upward to the detection hole 150a in which the position of the detection hole 150a has not yet been detected among the two detection holes 150a. Insert body 140 is inserted from. That is, the robot 100 positions the insertion body 140 in the detection hole 150a on the side in the horizontal direction with respect to the detection hole 150a. In this example, the control device 300 inserts the inserter 140 of the arm 120B.
- step S105 the control device 300 operates the rotary joint JB1 of the arm 120B to move the insert body 140 horizontally in the detection hole 150a, that is, laterally to the detection hole 150a.
- the control device 300 makes the gain of the servomotor M5 of the drive device DB1 of the rotary joint JB1 relatively low, and makes the rise and response of the rotational torque gentle.
- the gain of the servomotor M5 may be such that the servomotor M5 can rotate the link 121B together with the portion on the tip side from the link 121B of the arm 120B.
- control device 300 lowers the gain of the servomotor of the drive device of the rotary joint other than the rotary joint JB1 to be lower than the gain of the servomotor M5.
- the gain of the servomotor M6 of the drive device DB2 of the rotary joint JB2 is made lower than the gain of the servomotor M5.
- the gain of the servomotor M6 may be such a gain that the state of the rotary joint JB2 is maintained and the rotary joint JB2 is not rotated when the link 121B is rotated.
- the gain of the servomotor M6 is such that when the tip side portion from the link 122B comes into contact with another object during the rotation of the link 121B, the servomotor M6 is pushed away and the rotation of the rotary joint JB2 is allowed to rotate. You may.
- FIG. 8 is a plan view showing an example of the moving operation of the insert body 140 according to the embodiment in the detection hole 150a.
- the control device 300 rotates the rotary joint JB1 in both directions d1a and d1b in the rotatable direction, and when it detects the contact between the insert body 140 and the inner wall surface of the detection hole 150a, the rotary joint Stop the rotation of JB1.
- the control device 300 may determine the presence or absence of the contact from the deviation of the detection values of the rotation sensor E1 and the current sensor (not shown) of the drive device DB1.
- the insertion body 140 comes into contact with the inner wall surface of the detection hole 150a while the driving device DB1 gives a driving force to rotate the link 121B and the driving device DB2 gives a driving force to maintain the state of the link 122B. Therefore, the movement of the links 121B and 122B due to rattling (for example, backlash) at the rotary joints JB1 and JB2 is suppressed at the time of contact and immediately after the contact.
- rattling for example, backlash
- step S106 the control device 300 operates the rotary joint JB2, which is a rotary joint other than the rotary joint JB1 of the arm 120B, to move the insert body 140 horizontally in the detection hole 150a, that is, laterally to the detection hole 150a. Move to.
- the control device 300 makes the gain of the servomotor M6 of the drive device DB2 relatively low as in the servomotor M5 in step S105. Further, the control device 300 lowers the gain of the servomotor M5 of the drive device DB1 of the rotary joint JB1 which is a rotary joint other than the rotary joint JB2 to be lower than the gain of the servomotor M6 like the servomotor M6 in step S105. To do.
- the control device 300 rotates the rotary joint JB2 in both directions d2a and d2b in the rotatable direction, and when it detects the contact between the insert body 140 and the inner wall surface of the detection hole 150a, the rotary joint Stop the rotation of JB2.
- step S105 there is a possibility that the torque of the servomotor M5 rises because the time for the rotary joint JB1 to continue rotating elapses before the insert body 140 comes into contact with the insert body 140.
- the insert body 140 may bounce off the inner wall surface of the detection hole 150a.
- step S106 since the rotary joint JB2 starts rotating in a state where the insert body 140 is close to the inner wall surface of the detection hole 150a, the torque rise of the servomotor M6 until the insert body 140 comes into contact is low.
- the moving direction of the insert body 140 by the rotary joint JB2 is a different direction such as a crossing direction with respect to the moving direction of the insert body 140 by the rotary joint JB1.
- the rotation of the rotary joint JB2 can be stopped with the insert body 140 in contact with the inner wall surface. Therefore, the horizontal position of the insert 140 may correspond to the horizontal position of the inner wall surface.
- the order of steps S105 and S106 may be reversed.
- step S107 the control device 300 detects the position of the insert body 140 with respect to the robot 100 when the insert body 140 comes into contact with the inner wall surface of the detection hole 150 a. That is, the control device 300 detects the above-mentioned position when the rotation of the rotary joint JB2 is stopped.
- the position calculation unit 316 detects the position and orientation of the interface surface of the end effector 110B from the detection values of the rotation sensors E5 to E8 of the arm 120B.
- the position calculation unit 316 is based on the information on the position and orientation of the interface surface and the information on the insert body 140 stored in the storage unit 317, for example, as shown in FIG. 9, the robot at the axis 140C of the insert body 140.
- FIG. 9 is a plan view showing an example of three contact states of the insert body 140 according to the embodiment with the detection hole 150a.
- step S108 the control device 300 determines whether or not the number of detected positions of the insert 140 is three, and if there are three (Yes in step S108), the process proceeds to step S109. If there are less than three (No in step S108), steps S105 to S107 are repeated.
- step S109 the control device 300 uses the information of the three positions of the insert body 140 with respect to the robot 100 and the information of the detection hole 150a stored in the storage unit 317 in the horizontal direction of the detection hole 150a with respect to the robot 100. Detect the position. Specifically, as shown in FIG. 9, the horizontal position of the axis 150Ca of the detection hole 150a is detected as the horizontal position of the axis of the cylinder passing through the three positions of the axis 140C of the insert 140. Will be done.
- step S110 the control device 300 determines whether or not the detection of the horizontal position with respect to the robot 100 has been completed for all the detection holes 150a, and if it has been completed (Yes in step S110).
- step S111 if it is incomplete (No in step S110), the process returns to step S104, and the processing of step S104 and subsequent steps is repeated for the detection hole 150a in which detection is incomplete.
- the same arm 120B and insert 140 are used for all detection holes 150a. As a result, the error of each detection result due to the characteristics and performance of each of the arms 120A and 120B is reduced.
- step S111 the control device 300 detects the horizontal position and orientation of the robot 100 with respect to the two detection holes 150a by using the information on the horizontal positions of the two detection holes 150a with respect to the robot 100.
- the control device 300 may detect the horizontal position and orientation of the robot 100 with respect to the belt conveyor 604A and / or the work place WPA based on the detection result.
- the control device 300 stores the detection result in the storage unit 317.
- the control device 300 can detect the horizontal position and posture of the robot 100 with respect to the components of the work place WPA and / or the work place WPA. If two or more jigs 150 are arranged for each component, the control device 300 can detect the horizontal position and orientation of the robot 100 with respect to each component.
- the processing of steps S101 to S111 may be performed using the arm 120A.
- the process for one detection hole 150a may be performed using the arm 120A, and the process for the other detection hole 150a may be performed using the arm 120B.
- the horizontal position of the detection hole 150a may be detected by using the positions of the inserters 140 that are in contact with the detection holes 150a at four or more points with respect to one detection hole 150a.
- the processes of steps S104 to S110 may be performed on the three or more detection holes 150a, and the position and orientation of the robot 100 are detected by using the horizontal positions of the three or more detection holes 150a. May be good.
- the control device 300 performs the same processing as in the first detection mode, but in step S104, the operation information output by the operation input device 200 in response to the operation input by the user P.
- the robot 100 may be manually operated to omit the processing of steps S102 and S103.
- the program executed by the control device 300 in the second detection mode does not have to be a program corresponding to the work place.
- FIG. 10 is a flowchart showing another example of the operation of the robot system 1 according to the embodiment.
- FIG. 10 shows a case where the vertical position of the robot 100 is detected.
- the user P gives a command to the operation input device 200 to detect the vertical position of the robot 100 in the first detection mode, and the work place WPA in which the robot 100 is arranged.
- Information is input, and the control device 300 receives the command and information.
- steps S202 and S203 are the same as that of steps S102 and S103.
- the number of detection holes 150a used for detecting the position of the robot 100 in the vertical direction may be at least one, and in this example, it is one.
- step S204 the control device 300 operates the arm 120B of the robot 100 based on the estimated position of the detection hole 150a so as to be above the upper surface 150b of the jig 150 around the upper end opening of the detection hole 150a.
- the insert 140 is moved. Further, the control device 300 lowers the insert body 140 from above onto the upper surface 150b by operating the linear motion joint JB3. In this example, the control device 300 moves the insert 140 of the arm 120B.
- the control device 300 stops the descent of the linear motion joint JB3.
- the control device 300 makes the gain of the servomotor M7 of the drive device DB3 relatively low when the linear motion joint JB3 is lowered.
- the gain of the servomotor M7 may be the same as the gain of the servomotor M5 of the rotary joint JB1 in step S105 of FIG.
- the gain of the servomotor M7 may be such that the servomotor M7 stops rotating when the descending link 123B or the end effector 110B comes into contact with another object.
- step S205 the control device 300 detects the position of the insert body 140 with respect to the robot 100 when the insert body 140 comes into contact with the upper surface 150 b of the jig 150.
- the control device 300 detects the above-mentioned position when the descent of the linear motion joint JB3 is stopped.
- step S206 the control device 300 determines whether or not the number of detected positions of the insert 140 is three, and if there are three (Yes in step S206), the process proceeds to step S207. If there are less than three (No in step S206), steps S204 and S205 are repeated.
- step S207 the control device 300 detects the position of the upper surface 150b of the jig 150 with respect to the robot 100 in the vertical direction from the three positions of the insert body 140 with respect to the robot 100.
- the control device 300 may detect the position of the upper surface 150b in the vertical direction by averaging the three positions of the insert body 140.
- the vertical position of the upper surface 150b corresponds to the vertical position of the upper end opening of the detection hole 150a.
- step S208 the control device 300 uses the information on the vertical position of the upper end opening of the detection hole 150a with respect to the robot 100 and the information on the jig 150 and the belt conveyor 604A stored in the storage unit 317.
- the vertical position of the robot 100 with respect to the belt conveyor 604A is detected.
- the control device 300 may detect the vertical position of the robot 100 with respect to the work place WPA.
- the control device 300 stores the detection result in the storage unit 317.
- the control device 300 can detect the vertical position of the robot 100 with respect to the components of the work place WPA and / or the work place WPA. If the jig 150 is arranged for each component, the control device 300 can detect the position of the robot 100 in the vertical direction with respect to each component.
- the processing of steps S201 to S208 may be performed using the arm 120A. Using the position of the insert 140 in contact with the periphery of the detection hole 150a at one location, two locations, or four or more locations with respect to one detection hole 150a, the vertical direction of the upper end opening of the detection hole 150a is used. The position of may be detected. Steps S204 to 207 may be performed on the two or more detection holes 150a, and the vertical positions of the robot 100 are detected by using the vertical positions of the two or more detection holes 150a. You may.
- the control device 300 performs the same processing as in the first detection mode, but in step S204, the operation information output by the operation input device 200 in response to the operation input by the user P.
- the robot 100 may be manually operated to omit the processing of steps S202 and S203.
- the control device 300 determines the type of control being executed, that is, the current comparison target, among the controls corresponding to the position comparison targets with the robot 100, respectively.
- the robot 100 may be configured to perform the represented motion.
- the example to be compared is a component such as a work place WPA and WPB, and a belt conveyor and a mounting table arranged in each of the work place WPA and WPB.
- the control device 300 may represent the type of comparison target according to the order of the detection holes 150a into which the robot 100 inserts the insert body 140.
- at least one additional detection hole 150a that is not used to detect the position of the robot 100 may be arranged. For example, whether or not the insertion body 140 is inserted into the additional detection holes 150a, the number of additional detection holes 150a into which the insertion body 140 is inserted, and the insertion into the additional detection holes 150a in all the detection holes 150a.
- the order in which the body 140 is inserted may be associated with the comparison target, and a detection mode program for the comparison target may be set.
- the user P can recognize the running program and / or the comparison target corresponding to the program by observing the operation of the robot 100, and determines whether an appropriate program is being executed. Can be done. Therefore, erroneous detection of the position of the robot 100 is suppressed.
- the robot system 1 is used to detect the position of the robot 100 when the robot 100 is moved, but the robot system 1 is not limited to this.
- the robot system 1 may be used in any case where the robot 100 is placed in a predetermined position.
- the robot system 1 may be used in any case where detection of the relative position of the object and the robot 100 is required.
- the insert body 140 which is a protruding portion protruding downward from the end effectors 110A and 110B, is exemplified as the contact portion of the arms 120A and 120B, and the jig 150 arranged at the work place is used as the detected portion.
- the detection hole 150a which is a recess, is exemplified, but is not limited thereto.
- the contact portion may be integrated with the end effectors 110A and 110B or the links 124A and 124B of the arms 120A and 120B instead of being separate members.
- the detected portion may be integrated with a component such as a belt conveyor in the work place instead of being a separate member.
- the contact portion may be a recess and the detected portion may be a protrusion.
- the arms 120A and / or 120B may be provided with a member having a recess such as a hole, and a member such as a jig 150 having a protruding portion such as a shaft may be arranged at a work place.
- the control device 300 when detecting the horizontal position of the robot 100, the control device 300 inserts an upwardly facing protrusion into a downwardly facing recess and brings at least three points on the inner wall surface of the recess into contact with the protruding portion. As such, the recess may be moved laterally to the arm 120A or 120B.
- the control device 300 may move the recess downward to the arm 120A or 120B so that at least one of the surfaces around the recess is in contact with the protrusion. Good.
- the contact portion may be a protruding portion and the detected portion may be a protruding portion.
- the arms 120A and / or 120B may include a member having a protruding portion such as an insert body 140, and a member such as a jig 150 having a protruding portion such as a shaft may be arranged at a work place.
- the control device 300 When detecting the horizontal position of the robot 100, for example, as shown in FIG. 11, the control device 300 has a columnar contact portion 140A facing downward and a columnar cover facing upward of the jig 150A.
- the contact portion 140A may be moved laterally to the arm 120A or 120B so as to come into contact with at least three locations on the outer peripheral surface of the detection portion 150Aa.
- FIG. 11 is a plan view showing an example of a contact state between the contact portion 140A and the detected portion 150Aa according to the modified example of the embodiment.
- the industrial robot 100 is exemplified as a mechanical device to which the technique of the present disclosure can be applied, but the technique of the present disclosure may be applied to a mechanical device other than the industrial robot.
- the mechanical device may be a service robot, a humanoid, or the like.
- Service robots are robots used in various service industries such as nursing care, medical care, cleaning, security, guidance, rescue, cooking, and product provision.
- the technique of the present disclosure may be a position detection method.
- the position detection method according to one aspect of the present disclosure is a position detection method for detecting a position of a robot provided with an arm with respect to an object, and (a) at least two robots arranged on the arm on the object.
- the contact portion arranged on the arm is positioned laterally to the first detected portion of the detected portions in the horizontal direction, and (b) the contact portion is placed on the arm on the side.
- the contact portion is brought into contact with at least three locations on the surface of the first detected portion, and (c) the position of the contact portion with respect to the robot at the time of contact at each of the at least three locations is detected.
- the position detection method may be realized by a circuit such as a CPU or LSI, an IC card, a single module, or the like.
- the technique of the present disclosure may be a program for executing the above-mentioned position detection method, or may be a non-temporary computer-readable recording medium in which the above-mentioned program is recorded. Needless to say, the above program can be distributed via a transmission medium such as the Internet.
- Robot system 100 Robot 110A, 110B End effector 120A, 120B Arm 140 Insert (contact part) 140A Contact part 150a Detection hole (Detected part) 150Aa Detected unit 300 Control device
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
位置検出方法は、(a)ロボット(100)のアーム(120A,120B)に、対象物の少なくとも2つの被検出部(150a)のうちの第1被検出部に対する水平方向での側方に、前記アームの接触部(140)を位置させることと、(b)前記アームに、前記第1被検出部の表面の少なくとも3箇所に前記接触部を接触させることと、(c)前記少なくとも3箇所それぞれでの接触時の前記接触部の前記ロボットに対する位置を検出することと、(d)少なくとも3つの前記位置を用いて、前記ロボットに対する前記第1被検出部の位置を検出することと、(e)他の前記被検出部についても処理(a)~(d)と同様の処理を行うことと、(f)前記ロボットに対する前記少なくとも2つの被検出部の位置と、前記対象物に対する前記少なくとも2つの被検出部の位置とを用いて、前記対象物に対する前記ロボットの位置を検出することとを含む。
Description
本件出願は、2019年12月13日に日本特許庁に出願された特願2019-225623号の優先権を主張するものであり、その全体を参照することにより本件出願の一部となすものとして引用する。
本開示は、位置検出方法、制御装置及びロボットシステムに関する。
従来から、ロボットと作業対象物との位置関係をロボットに教示することが行われている。例えば、特許文献1は、触覚センサを用いて作業環境内の位置をロボットに教える方法を開示している。上記ロボットは、アームのエンドエフェクタにタッチ感応面を含む触覚センサデバイスを有する。ロボットはタッチ感応面を対象物に接触させ、触覚センサデバイスはタッチ感応面に対する接触位置を示す信号を発生する。さらに、発生した信号を含む情報を用いて、作業環境に接触する位置がロボットに教示される。
特許文献1では、ロボットと作業対象物との位置関係を検出するために、タッチ感応面を含む触覚センサデバイスが用いられる。高い位置精度が求められると、高精度な触覚センサデバイスが必要となり、コスト増加及び設備の複雑化が生じる。さらに、触覚センサデバイスが取り付けられた状態でロボットが作業を行うと、触覚センサデバイスの精度が低下し校正が必要になる可能性がある。よって、上記検出のための作業が複雑になる。
本開示は、ロボットと対象物との位置関係の検出を簡易にする位置検出方法、制御装置及びロボットシステムを提供することを目的とする。
上記目的を達成するために、本開示の一態様に係る位置検出方法は、アームを備えるロボットの対象物に対する位置を検出する位置検出方法であって、(a)前記アームに、前記対象物に配置された少なくとも2つの被検出部のうちの第1被検出部に対して、水平方向での側方に、前記アームに配置された接触部を位置させることと、(b)前記アームに、前記接触部を前記側方に移動させ、前記第1被検出部の表面の少なくとも3箇所に前記接触部を接触させることと、(c)前記少なくとも3箇所それぞれでの接触時の前記接触部の前記ロボットに対する位置を検出することと、(d)検出された前記接触部の少なくとも3つの位置を用いて、前記ロボットに対する前記第1被検出部の位置を検出することと、(e)前記少なくとも2つの被検出部のうちの前記第1被検出部以外の前記被検出部についても、処理(a)~(d)と同様の処理を行うことと、(f)前記ロボットに対する前記少なくとも2つの被検出部の位置と、前記対象物に対する前記少なくとも2つの被検出部の位置とを用いて、前記対象物に対する前記ロボットの位置を検出することとを含む。
本開示の技術によれば、ロボットと対象物との位置関係の検出を簡易にすることが可能になる。
まず、本開示の各態様例を説明する。本開示の一態様に係る位置検出方法は、アームを備えるロボットの対象物に対する位置を検出する位置検出方法であって、(a)前記アームに、前記対象物に配置された少なくとも2つの被検出部のうちの第1被検出部に対して、水平方向での側方に、前記アームに配置された接触部を位置させることと、(b)前記アームに、前記接触部を前記側方に移動させ、前記第1被検出部の表面の少なくとも3箇所に前記接触部を接触させることと、(c)前記少なくとも3箇所それぞれでの接触時の前記接触部の前記ロボットに対する位置を検出することと、(d)検出された前記接触部の少なくとも3つの位置を用いて、前記ロボットに対する前記第1被検出部の位置を検出することと、(e)前記少なくとも2つの被検出部のうちの前記第1被検出部以外の前記被検出部についても、処理(a)~(d)と同様の処理を行うことと、(f)前記ロボットに対する前記少なくとも2つの被検出部の位置と、前記対象物に対する前記少なくとも2つの被検出部の位置とを用いて、前記対象物に対する前記ロボットの位置を検出することとを含む。
上記態様によると、各被検出部について、少なくとも3箇所それぞれでの接触時の接触部のロボットに対する位置を検出することで、ロボットに対する各被検出部の位置が検出される。さらに、ロボットに対する各被検出部の位置を用いて、対象物に対するロボットの位置が検出される。上記のような位置の検出は、ロボットのアームへの接触部の配置と、上記のようなロボットの動作とによって実現可能である。よって、ロボットと対象物との位置関係の検出が簡易になる。
本開示の一態様に係る位置検出方法において、前記少なくとも2つの被検出部は、陥凹部と前記陥凹部に挿入可能である突出部とのうちの一方であり、前記接触部は、前記陥凹部と前記突出部とのうちの他方であり、処理(a)では、前記陥凹部に前記突出部を挿入するように前記接触部を移動させることで、前記第1被検出部の前記側方に前記接触部を位置させてもよい。上記態様によると、処理(b)において、突出部が陥凹部に挿入された状態で、接触部が側方に移動される。接触部の移動範囲が陥凹部によって制限されるため、接触部と検出部とを接触させるためのアームの動作が簡易且つ迅速になる。
本開示の一態様に係る位置検出方法において、処理(f)では、前記対象物に対する前記ロボットの位置及び向きを検出してもよい。上記態様によると、ロボットと対象物との緻密な位置関係の検出が簡易になる。
本開示の一態様に係る位置検出方法において、前記アームは少なくとも2つの関節を含み、処理(b)では、前記少なくとも3箇所のそれぞれにおいて、前記少なくとも2つの関節のうちの第1関節を動作させることで前記第1被検出部の表面に前記接触部を接触させる第1動作の後に、前記少なくとも2つの関節のうちの第2関節を動作させることで前記第1被検出部の表面に前記接触部を接触させる第2動作を行ってもよい。上記態様によると、第1動作では、接触部の移動量が多くなり、接触部が被検出部の表面と衝突し跳ね返る可能性がある。第2動作では、接触部の移動量が少なくてよく、接触部を被検出部の表面と当接させることが可能である。第1動作及び第2動作ではそれぞれ、第1関節及び第2関節が動作しつつ、接触部を被検出部に接触させるため、第1関節及び第2関節での機械的なガタツキ(例えば、バックラッシュ等)が動作に与える影響が低減される。よって、接触時でのアームの各部の正確な位置の検出が可能になる。また、第1関節及び第2関節が別個に動作するため、接触部と被検出部との接触に至る各関節の移動量の検出が容易になる。
本開示の一態様に係る位置検出方法において、前記第1関節及び前記第2関節は、前記側方に前記接触部を移動させるような前記アームの動作を可能にしてもよい。上記態様によると、第1関節の動作が第2関節での機械的なガタツキ(バックラッシュ等)によって受ける影響が低減される、第2関節の動作が第1関節での機械的なガタツキ(バックラッシュ等)によって受ける影響が低減される。
本開示の一態様に係る位置検出方法において、前記第1動作では、前記第2関節を駆動する第2サーボモータのゲインを前記第1関節を駆動する第1サーボモータのゲインよりも低くし、前記第2動作では、前記第1サーボモータのゲインを前記第2サーボモータのゲインよりも低くしてもよい。上記態様によると、第1動作では、第2関節の状態を維持するための第2サーボモータの駆動力が、第1サーボモータによって駆動される第1関節の動作に与える影響が低減される。第2動作では、第1関節の状態を維持するための第1サーボモータの駆動力が、第2サーボモータによって駆動される第2関節の動作に与える影響が低減される。
本開示の一態様に係る位置検出方法は、(g)前記アームに、各対象物に対応する制御のうちの実行中の制御の種類を表す動作をさせることをさらに含んでもよい。上記態様によると、ロボットのユーザは、ロボットが実行中の処理を視覚により認識することができる。
本開示の一態様に係る位置検出方法は、(a1)前記アームに、前記第1被検出部の周囲の表面である周囲面の上方に前記接触部を位置させることと、(b1)前記アームに、前記接触部を下降させ、前記周囲面に少なくとも1箇所で前記接触部を接触させることと、(c1)前記少なくとも1箇所それぞれでの接触時の前記接触部の前記ロボットに対する高さ方向の位置である高さ位置を検出することと、(d1)検出された前記接触部の少なくとも1つの高さ位置を用いて、前記ロボットに対する前記第1被検出部の高さ位置を検出することと、(e1)前記ロボットに対する前記第1被検出部の高さ位置を用いて、前記対象物に対する前記ロボットの高さ位置を検出することをさらに含んでもよい。上記態様によると、対象物に対するロボットの高さ位置の検出は、ロボットのアームへの接触部の配置と、上記のようなロボットの動作とによって実現可能である。
本開示の一態様に係る制御装置は、本開示の一態様に係る位置検出方法を実行する制御装置であって、処理(a)を、前記ロボットに対する手動操作が入力された前記ロボットの操作装置から出力される操作情報に従って、実行し、処理(b)~処理(f)をプログラムに従って自動で実行する。上記態様によると、ロボットに対する被検出部の大凡の位置が不明であっても、制御装置は、処理(a)~処理(f)を実行することができる。
本開示の一態様に係る制御装置は、本開示の一態様に係る位置検出方法を実行する制御装置であって、処理(a)~処理(f)をプログラムに従って自動で実行してもよい。上記態様によると、制御装置は、処理(a)~処理(f)を自動で実行することができる。
本開示の一態様に係るロボットシステムは、本開示の一態様に係る位置検出方法を実行し且つ前記ロボットの動作を制御する制御装置と、前記ロボットとを備える。上記態様によると、本開示の一態様に係る制御装置と同様の効果が得られる。
本開示の一態様に係るロボットシステムにおいて、前記制御装置は、処理(a)を、前記ロボットに対する手動操作が入力された前記ロボットの操作装置から出力される操作情報に従って、実行し、処理(b)~処理(f)をプログラムに従って自動で実行してもよい。上記態様によると、本開示の一態様に係る制御装置と同様の効果が得られる。
本開示の一態様に係るロボットシステムにおいて、前記制御装置は、処理(a)~処理(f)をプログラムに従って自動で実行してもよい。上記態様によると、本開示の一態様に係る制御装置と同様の効果が得られる。
(実施の形態)
以下において、本開示の実施の形態を、図面を参照しつつ説明する。なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、添付の図面における各図は、模式的な図であり、必ずしも厳密に図示されたものでない。さらに、各図において、実質的に同一の構成要素に対しては同一の符号を付しており、重複する説明は省略又は簡略化される場合がある。また、本明細書及び請求の範囲では、「装置」とは、1つの装置を意味し得るだけでなく、複数の装置からなるシステムも意味し得る。
以下において、本開示の実施の形態を、図面を参照しつつ説明する。なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、添付の図面における各図は、模式的な図であり、必ずしも厳密に図示されたものでない。さらに、各図において、実質的に同一の構成要素に対しては同一の符号を付しており、重複する説明は省略又は簡略化される場合がある。また、本明細書及び請求の範囲では、「装置」とは、1つの装置を意味し得るだけでなく、複数の装置からなるシステムも意味し得る。
[ロボットシステムの構成]
実施の形態に係るロボットシステム1の構成を説明する。図1は、実施の形態に係るロボットシステム1の構成の一例を示す図である。図1に示すように、ロボットシステム1は、ロボット100と、操作入力装置200と、制御装置300と、撮像装置400と、提示装置500とを備える。これに限定されないが、本実施の形態では、ロボットシステム1は、ロボット100に異なる位置で2つの作業を自動運転でさせるように構成されている。
実施の形態に係るロボットシステム1の構成を説明する。図1は、実施の形態に係るロボットシステム1の構成の一例を示す図である。図1に示すように、ロボットシステム1は、ロボット100と、操作入力装置200と、制御装置300と、撮像装置400と、提示装置500とを備える。これに限定されないが、本実施の形態では、ロボットシステム1は、ロボット100に異なる位置で2つの作業を自動運転でさせるように構成されている。
例えば、ロボット100は、作業場所WPAにおいて、ベルトコンベヤ601Aによって運ばれてくる物品WAを載置台602A上の収容箱603Aに箱詰めし、箱詰め済みの収容箱603Aを別のベルトコンベヤ604Aに載せ他の作業場所に運搬させる。また、ロボット100は、作業場所WPBにおいて、ベルトコンベヤ601Bによって運ばれてくる物品WBを載置台602B上の収容箱603Bに箱詰めし、箱詰め済みの収容箱603Bを別のベルトコンベヤ604Bに載せ他の作業場所に運搬させる。作業場所WPA及びWPBの間で、ロボット100の移動が必要になる。ロボット100の移動毎、ロボット100の位置の教示が必要になる。具体的には、作業場所WPAでは、ロボット100とベルトコンベヤ601A等との相対的な位置を制御装置300に記憶させる必要があり、作業場所WPBでは、ロボット100とベルトコンベヤ601B等との相対的な位置を制御装置300に記憶させる必要がある。
本実施の形態では、制御装置300は、作業場所WPA及びWPBそれぞれにおいて、上記の相対的な位置に基づき、プログラムに従って、ロボット100に箱詰め作業等の所定の作業を自動で実行させる。なお、ロボット100が行う作業は、本実施の形態に例示される作業に限定されず、いかなる作業であってもよい。制御装置300は、プログラムに従ってロボット100に自動で動作させる自動操縦と、操作入力装置200を介して入力される操作に対応する操作情報に従ってロボット100に動作させる手動操縦とにより、ロボット100の動作を制御する。
図2は、実施の形態に係るロボット100の構成の一例を示す側面図である。図1及び図2に示すように、ロボット100は、本実施の形態では産業用ロボットであるが、これに限定されない。ロボット100は、エンドエフェクタ110A及び110Bと、アーム120A及び120Bと、基台130と、挿入体140とを備える。エンドエフェクタ110A及び110Bは、物品WA及びWB等のワークに作用を加え、アーム120A及び120Bはそれぞれ、当該作用を実行するようにエンドエフェクタ110A及び110Bを動かす。アーム120A及び120Bはロボットアームである。アーム120A及び120Bは基台130によって回動可能に支持される。基台130は、搬送装置等の移動可能な装置に配置され、移動できるように構成される。搬送装置の例は、車輪、AGV(無人搬送車:Automated Guided Vehicle)等である。挿入体140は、エンドエフェクタ110A及び110Bそれぞれに配置され、つまり、アーム120A及び120Bの先端に配置され、ロボット100の位置を検出する動作において用いられる。
アーム120A及び120Bは、それぞれの先端のエンドエフェクタ110A及び110Bを動かすことができる構成を有すれば、特に限定されないが、本実施の形態では、水平多関節型アームである。アーム120A及び120Bは、例えば、垂直多関節型、極座標型、円筒座標型、直角座標型、又はその他の型式のロボットアームであってもよい。アーム120A及び120Bは、鉛直方向の第1軸S1を中心とする同軸上で水平面内で回動可能である。アーム120Aはアーム120Bに対して第1軸S1の方向に下方へずらして配置される。ロボット100は、同軸双腕ロボットを構成する。
アーム120Aは、リンク121A~124Aと、関節JA1~JA4と、駆動装置DA1~DA4とを含む。アーム120Bは、リンク121B~124Bと、関節JB1~JB4と、駆動装置DB1~DB4とを含む。駆動装置DA1~DA4及びDB1~DB4は、電力を動力源として電気モータ等を含み、本実施の形態ではサーボモータを含む。駆動装置DA1~DA4及びDB1~DB4はそれぞれ、制御装置300による制御のもと、関節JA1~JA4及びJB1~JB4を駆動する。よって、アーム120A及び120Bは互いから独立して動作する。なお、アーム120A及び120Bの関節の数量は、4つに限定されず、5つ以上又は3つ以下であってもよい。
リンク121A及び121Bはそれぞれ、回転関節JA1及びJB1を介して、第1軸S1を中心に水平面内で回動可能に基台130と接続される。リンク122A及び122Bはそれぞれ、回転関節JA2及びJB2を介して、鉛直方向の第2軸S2a及びS2bを中心に水平面内で回動可能にリンク121A及び121Bの先端と接続される。リンク123A及び123Bはそれぞれ、直動関節JA3及びJB3を介して、鉛直方向の第3軸S3a及びS3bに沿って昇降可能にリンク122A及び122Bの先端と接続される。リンク124A及び124Bはそれぞれ、回転関節JA4及びJB4を介して、リンク123A及び123Bの長手方向の第4軸S4a及びS4bを中心に回動可能にリンク123A及び123Bの下端と接続される。第4軸S4a及びS4bは、鉛直方向の軸である。リンク124A及び124Bはそれぞれ、エンドエフェクタ110A及び110Bと接続するためのメカニカルインタフェースを構成する。
ここで、「水平方向」とは、ロボット100が水平な床面等の水平な表面上に配置された場合での水平方向を意味し、上記表面に平行な方向でもある。「鉛直方向」とは、同様の場合での鉛直方向を意味し、上記表面に垂直な方向である。「上方」とは、同様の場合での下方から上方に向かう方向を意味し、「下方」とは、同様の場合での上方から下方に向かう方向を意味する。「側方」とは、同様の場合での上記表面に沿う方向を意味する。
図3は、実施の形態に係るエンドエフェクタ110Aの構成の一例を示す側面図である。図2及び図3に示すように、エンドエフェクタ110A及び110Bの構成は、同様である。このため、エンドエフェクタ110Aの構成のみを説明し、エンドエフェクタ110Bの構成の説明を省略する。エンドエフェクタ110Aは、接続部111と、支持部112と、駆動部113と、把持部114とを含む。
支持部112は、第4軸S4aと垂直な方向に延びる。支持部112の延伸方向の一端に接続部111が配置され、他端に駆動部113が配置される、接続部111は、挿入体140を介してリンク124Aのメカニカルインタフェースと接続される。駆動部113は、把持部114の2つの把持爪114aと機械的に接続され、把持爪114aを互いに接近する方向及び離れる方向に移動させることができる。把持爪114aは、第4軸S4aと交差する方向に延び、本実施の形態では、垂直な方向に延びる。把持爪114aは、互いに接近するように移動することで、物品WA及びWB等のワークを把持し、互いから離れるように移動することで、上記把持を解除する。駆動部113は、電力を動力源として電気モータ等を含み、本実施の形態ではサーボモータを含む。駆動部113は、制御装置300による制御のもと、把持爪114aを駆動する。
挿入体140は、軸部141と接続部142とを含む。本実施の形態では、軸部141及び接続部142は1つの部材で構成されているが、分割可能であってもよい。接続部142は、リンク124Aのメカニカルインタフェースと接続される。接続部142は、メカニカルインタフェースの表面と同様に円状の表面を有する円板状の形状を有する。接続部142は上記円状の表面に突起142aを含む。突起142aは、接続部142に一体化されていてもよく、着脱可能であってもよい。突起142aは、メカニカルインタフェースの表面に形成された環状の溝124Aaと同様の平面形状の環状の突起であり、溝124Aaと嵌合可能である。接続部142は、突起142aを溝124Aaに嵌合させることで、メカニカルインタフェースの表面に対して一定の位置に位置決めされる。突起142a及び溝124Aaの形状は環状に限定されず、嵌合により位置決めできればよい。上記の突起及び溝はそれぞれ、リンク124A及び接続部142に配置されてもよい。
軸部141は、接続部142の円状の表面と垂直な方向に且つ突起142aと反対方向に、エンドエフェクタ110Aの接続部111及び支持部112を貫通して下方に延びる。軸部141は、支持部112から下方に突出する。これに限定されないが、本実施の形態では、軸部141は、エンドエフェクタ110Aの駆動部113及び/又は把持部114よりも下方に突出しない。突起142aと溝124Aaとの嵌合により接続部142が位置決めされたとき、軸部141は、第4軸S4aと同軸上に延びる。つまり、軸部141の軸心と第4軸S4aとが一致する。
また、接続部142は、突起142aと反対側の円状の表面に環状の溝142bを含む。エンドエフェクタ110Aの接続部111は、支持部112と反対側の表面に突起111aを含む。突起111aは、接続部111と一体化されてもよく、着脱可能であってもよい。突起111aは、溝142bと同様の平面形状の環状の突起であり、溝142bと嵌合可能である。エンドエフェクタ110Aの接続部111は、突起111aを溝142bに嵌合させることで、挿入体140及びリンク124Aに対して一定の位置に位置決めされる。突起111a及び溝142bの形状は、環状に限定されず、嵌合により位置決めできればよい。上記の突起及び溝はそれぞれ、接続部142及び接続部111に配置されてもよい。
上記のような挿入体140は、接続部142がリンク124Aとエンドエフェクタ110Aとに挟まれた状態で、リンク124Aに直接的に固定される。ロボット100は、挿入体140がリンク124Aに装着された状態で作業を行うことができる。なお、挿入体140は、エンドエフェクタ110Aに直接的に固定され、エンドエフェクタ110Aを介してリンク124Aに間接的に固定されるように構成されてもよい。挿入体140は、接触部の一例であり、突出部の一例である。
また、ロボットシステム1は、作業場所WPA及びWPBのそれぞれに、ロボット100の位置を検出するために挿入体140の軸部141が挿入される検知穴150a(図4参照)を有する。検知穴150aは、鉛直方向に延びる。例えば、検知穴150aが形成された部材が、作業場所WPA及びWPBの所定の位置に配置される。上記所定の位置は、その正確な位置が既知である又は検出可能である位置であってよい。
図4は検知穴を有する部材の一例を示す平面図である。図4に示すように、例えば、作業場所WPAにおいて、検知穴150aが形成された治具150が、ベルトコンベヤ604Aに配置されてもよい。図4では、検知穴150aの形状は、円形断面を有する円筒形状であるが、これに限定されない。例えば、検知穴150aの形状は、検知穴150aの内壁面上の任意の少なくとも3つの位置が検出されれば、当該3つの位置を用いて、検知穴150aの中心若しくは軸心等の基準位置又は断面形状等が検出可能である形状であればよい。例えば、検知穴150aの形状は、楕円断面、長円断面、多角形断面等を有する柱状形状であってもよい。
治具150は、作業場所WPAのベルトコンベヤ601A及び載置台602A等のロボット100との相対的な位置が要求される各構成要素に配置されてもよい。構成要素間の相対的な位置が既知である又は検出可能である場合、少なくとも1つの構成要素に治具150が配置されてもよい。作業場所WPA及びWPBのそれぞれには、少なくとも2つの治具150、つまり、少なくとも2つの検知穴150aが配置される。検知穴150aは、被検出部の一例であり、陥凹部の一例である。
図1に示すように、撮像装置400は、作業場所WPA及びWPBのそれぞれに配置される。作業場所WPA及びWPBのそれぞれにおいて、撮像装置400は、載置台602A及び602B、並びに、その周辺のベルトコンベヤ601A、604A、601B及び604Bの少なくとも一部を撮像する。撮像装置400は、作業場所WPA及びWPBの各構成要素に配置されてもよく、ロボット100に配置されてもよい。本実施の形態では、撮像装置400は、可視画像であるデジタル画像の動画像を撮像することができる可視カメラを含むが、これに限定されない。撮像装置400は、例えば、制御装置300の指令に従って撮像動作を行い、撮像された画像の信号等を制御装置300に送る。
提示装置500は、制御装置300から受け取るロボットシステム1を動作させるための画像及び音声等を、ロボットシステム1のユーザPに提示する。提示装置500の例は、液晶ディスプレイ(Liquid Crystal Display)及び有機又は無機ELディスプレイ(Electro-Luminescence Display)等であるが、これらに限定されない。提示装置500は、音声を発するスピーカを備えてもよい。例えば、提示装置500は、撮像装置400によって撮像された画像を、操作入力装置200を操作するユーザPに提示する。
操作入力装置200は、種々の情報、データ及び指令等の入力を受け付け、受け付けた情報等を制御装置300に出力する。例えば、操作入力装置200は、レバー、ボタン、タッチパネル、ジョイスティック、モーションキャプチャ等の公知の入力手段を備えてもよい。例えば、操作入力装置200は、ユーザPによるロボット100に対する手動操作の入力を受け付け、受け付けた操作に対応する操作情報を制御装置300に出力するように構成される。操作入力装置200は、上記入力手段を介して操作を受け付けてもよく、操作を受け付けるための専用の入力手段を備えてもよい。
図5は、実施の形態に係る制御装置300及びその周辺の構成の一例を示すブロック図である。図5に示すように、制御装置300は、ロボット100、操作入力装置200、撮像装置400及び提示装置500と通信可能に接続されている。通信の形式は、有線通信及び無線通信のいかなる通信形式であってもよい。制御装置300は、操作入力装置200が受け付けた指令に応答してロボット100を動作させる。制御装置300は、撮像装置400によって撮像された画像等を提示装置500に出力する。
制御装置300は、駆動回路C1~C8(図5では「SC」と表記)それぞれを介して、ロボット100のアーム120A及び120Bの駆動装置DA1~DA4及びDB1~DB4のサーボモータM1~M8(図5では「SM」と表記)と電気的に接続される。駆動回路C1~C8はそれぞれ、制御装置300の指令に従って、サーボモータM1~M8に供給する電流の電流値を調節する。制御装置300は、駆動装置DA1~DA4及びDB1~DB4のエンコーダ等の回転センサE1~E8(図5では「EN」と表記)と電気的に接続される。制御装置300は、駆動回路C9及びC10それぞれを介して、エンドエフェクタ110A及び110Bの駆動部113のサーボモータM9及びM10と電気的に接続される。駆動回路C9及びC10はそれぞれ、制御装置300の指令に従って、サーボモータM9及びM10に供給する電流の電流値を調節する。制御装置300は、エンドエフェクタ110A及び110Bの駆動部113の回転センサE9及びE10と電気的に接続される。回転センサE1~E10は、サーボモータM1~M10の回転量(例えば、回転角)を検出し、検出結果を制御装置300に出力する。
制御装置300は、プロセッサ及びメモリ等を有する演算器で構成される。演算器は、操作入力装置200を含む他の装置との情報、データ及び指令等の送受信を行う。演算器は、各種センサからの検出信号の入力及び各制御対象への制御信号の出力を行う。メモリは、揮発性メモリ及び不揮発性メモリなどの半導体メモリ、ハードディスク及びSSD(Solid State Drive)等の記憶装置で構成される。例えば、メモリは、演算器が実行するプログラム、及び各種固定データ等を記憶する。
演算器の機能は、CPU(Central Processing Unit)などのプロセッサ、RAM(Random Access Memory)などの揮発性メモリ及びROM(Read-Only Memory)などの不揮発性メモリ等からなるコンピュータシステム(図示略)により実現されてもよい。演算器の機能の一部又は全部は、CPUがRAMをワークエリアとして用いてROMに記録されたプログラムを実行することによって実現されてもよい。なお、演算器の機能の一部又は全部は、上記コンピュータシステムにより実現されてもよく、電子回路又は集積回路等の専用のハードウェア回路により実現されてもよく、上記コンピュータシステム及びハードウェア回路の組み合わせにより実現されてもよい。
このような制御装置300は、例えば、マイクロコントローラ、MPU(Micro Processing Unit)、LSI(Large Scale Integration:大規模集積回路)、システムLSI、PLC(Programmable Logic Controller)、論理回路等で構成されてもよい。制御装置300の複数の機能は、個別に1チップ化されることで実現されてもよく、一部又は全てを含むように1チップ化されることで実現されてもよい。また、回路はそれぞれ、汎用的な回路でもよく、専用の回路でもよい。LSIとして、LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、LSI内部の回路セルの接続及び/又は設定を再構成可能なリコンフィギュラブルプロセッサ、又は、特定用途向けに複数の機能の回路が1つにまとめられたASIC(Application Specific Integrated Circuit)等が利用されてもよい。
制御装置300は、単一の装置による集中制御により各処理を実行するように構成されてもよく、複数の装置の協働による分散制御により各処理を実行するように構成されてもよい。
[制御装置の機能的構成]
図6は、実施の形態に係る制御装置300の機能的構成の一例を示すブロック図である。図6に示すように、制御装置300は、撮像制御部311と、情報処理部312と、動作指令部313及び314と、動作制御部315と、位置演算部316と、記憶部317とを機能的構成要素として含む。記憶部317を除く上記機能的構成要素の機能は、コンピュータシステム及び/又はハードウェア回路によって実現される。記憶部317は、メモリによって実現される。上記機能的構成要素の全てが必須ではない。
図6は、実施の形態に係る制御装置300の機能的構成の一例を示すブロック図である。図6に示すように、制御装置300は、撮像制御部311と、情報処理部312と、動作指令部313及び314と、動作制御部315と、位置演算部316と、記憶部317とを機能的構成要素として含む。記憶部317を除く上記機能的構成要素の機能は、コンピュータシステム及び/又はハードウェア回路によって実現される。記憶部317は、メモリによって実現される。上記機能的構成要素の全てが必須ではない。
情報処理部312は、操作入力装置200から種々の情報、データ及び指令等を受け取り処理し、対応する機能的構成要素に出力する。例えば、情報処理部312は、操作入力装置200から、作業場所WPA又はWPBの撮像装置400に撮像させる指令を受け取り、撮像制御部311に出力する。情報処理部312は、操作入力装置200から、ロボット100の動作モードを指定する指令を受け取り、動作指令部313及び314等に出力する。
例えば、動作モードは、ロボット100に自動操縦で作業を実行させる自動運転モードと、ロボット100に手動操縦で作業を実行させる手動運転モードと、ロボット100の位置を検出する検出モード等とを含む。自動運転モードは、ロボット100の作業の一部に手動操縦でのロボット100の作業を含んでいてもよい。検出モードは、ロボット100に当該モードでのロボット100の全ての動作を自動操縦で実行させる第1検出モードと、ロボット100に当該モードでのロボット100の動作の少なくとも一部を手動操縦で実行させ、他部を自動操縦で実行させる第2検出モードとを含んでもよい。例えば、作業は、対象物に対して目的の処理を行うためのロボット100の複数の動作で構成され得る。
撮像制御部311は、情報処理部312から受け取る指令に従って、該当する撮像装置400に撮像動作をさせる。撮像制御部311は、当該撮像装置400から、撮像された画像の信号を受け取り、受け取った信号から画面表示可能な画像データを生成し提示装置500に出力し表示させる。
第1動作指令部313は、手動運転モード及び第2検出モードで機能する。第1動作指令部313は、操作入力装置200から受け取る操作情報に従ってロボット100に動作させるための指令である手動動作指令を生成し、動作制御部315に出力する。具体的には、手動動作指令は、操作情報に従って、アーム120A及び120Bにエンドエフェクタ110A及び110Bの位置及び姿勢を移動させる指令、エンドエフェクタ110A及び110Bの駆動部113に駆動させる指令等を含み得る。手動動作指令は、ユーザPによって操作入力装置200に入力される操作に対応する動作をエンドエフェクタ110A及び110Bにさせるための指令である。
ここで、動作指令は、位置指令及び力指令の少なくとも1つを含み、本実施の形態では、位置指令を含む。位置指令は、エンドエフェクタ110A及び110B等の制御対象の位置、姿勢、並びに、位置及び姿勢の速度等の目標値のうち、少なくとも位置の目標値を含む。上記位置及びその速度は、3次元空間内の位置(以下、「3次元位置」とも表記する)及び速度を表し、上記姿勢及びその速度は、3次元空間内の姿勢(以下、「3次元姿勢」とも表記する)及び速度を表してもよい。さらに、位置指令は、位置指令の実行時刻を含んでもよい。また、力指令は、制御対象が加える力の大きさ及び方向の目標値のうち、少なくとも力の大きさの目標値を含む。力の方向は、3次元空間内の方向を表してもよい。力指令は、力指令の実行時刻を含んでもよい。本明細書及び請求の範囲において、「位置」とは、3次元空間内の位置、位置の速度、姿勢及び姿勢の速度のうちの少なくとも3次元空間内の位置を含むことを意味し得る。
第2動作指令部314は、自動運転モード及び第1検出モードで機能する。第2動作指令部314は、記憶部317に記憶される自動動作情報に従って、ロボット100に動作させるための指令である自動動作指令を生成し、動作制御部315に出力する。自動動作指令は、予め設定された自動動作情報に対応する動作をエンドエフェクタ110A及び110Bにさせるための指令である。第2動作指令部314は、自動動作指令の生成のために、記憶部317に記憶される、作業場所に対するロボット100の位置及び姿勢の情報、及び/又は、作業場所の構成要素に対するロボット100の位置及び姿勢の情報を用いる。上記姿勢は、水平方向のロボット100の向き、つまり方位であってもよい。
例えば、自動動作情報は、エンドエフェクタ110A及び110Bの動作内容及び順序を含む情報を含んでもよく、当該動作内容及び順序でエンドエフェクタ110A及び110Bを動作させるためのアーム120A及び120Bの駆動装置DA1~DA4及びDB1~DB4並びにエンドエフェクタ110A及び110Bの駆動部113の動作内容及び順序を含む情報を含んでもよい。例えば、自動動作情報は、エンドエフェクタ110A及び110Bの位置、姿勢、位置及び姿勢の移動速度、上記位置、姿勢及び駆動部113の動作等の実行順序、並びに、上記位置、姿勢及び駆動部113の動作等の実行時刻等を含んでもよい。
例えば、自動運転モードに対応する自動動作情報は、教示データであってもよい。第1検出モードに対応する自動動作情報は、教示データと同様のデータであってもよく、プログラミングにおいて予め設定されるデータであってもよい。
動作制御部315は、動作指令部313又は314から受け取る手動動作指令又は自動動作指令に従って、ロボット100の各サーボモータM1~M10を駆動させるように各サーボモータM1~M10に供給する電流値を決定し、電流の供給を制御する。さらに、動作制御部315は、上記制御において、サーボモータM1~M10の回転センサE1~E10及び電流センサ(図示略)等の検出値をフィードバック情報として用いてもよい。なお、動作制御部315は、駆動回路C1~C10がサーボモータM1~M10に供給する電流の指令値をフィードバック情報として用いてもよい。このような動作制御部315はサーボ制御する。その結果、アーム120A及び120Bは、エンドエフェクタ110A及び110Bに操作情報又は自動動作情報に対応する動作をさせる。電流センサは、サーボモータM1~M10の電流値を検出し、検出結果を制御装置300に出力する。
位置演算部316は、第1及び第2検出モードで機能する。各検出モードにおいて、位置演算部316は、ロボット100の水平方向の位置及び鉛直方向の位置の少なくとも一方を検出する。例えば、水平方向の位置の検出では、ロボット100が、2つの治具150の検知穴150aそれぞれにエンドエフェクタ110A又は110Bの挿入体140を上方から挿入し、挿入体140を水平方向に移動させ検知穴150aの内壁面の少なくとも3つの位置に接触させる。位置演算部316は、挿入体140が上記内壁面に接触したときのロボット100に対する挿入体140の位置を検出する。具体的には、位置演算部316は、検知穴150aに挿入体140を挿入しているアーム120A又は120Bの各関節JA1~JA4又はJB1~JB4の駆動量、つまり、回転センサE1~E8の検出値から、ロボット100に対する挿入体140の位置を検出する。ロボット100に対する位置は、第1軸S1と基台130の上面との交点等のロボット100の固定された基準位置に対する位置であってもよい。
位置演算部316は、検知穴150aそれぞれについて、3つの接触位置での挿入体140の位置を用いて、ロボット100に対する当該検知穴150aの水平方向の位置を検出する。このとき、位置演算部316は、記憶部317に記憶される検知穴150aの情報を用いる。さらに、位置演算部316は、検知穴150aの情報に含まれる検知穴150aの断面形状及び寸法のうちの少なくとも断面形状の情報と、ロボット100に対する挿入体140の位置の情報とを用いて、3つの接触位置での挿入体140の軸心を通り且つ上記断面形状の水平断面を有する円筒の軸心を検出し、当該軸心の水平方向の位置を検知穴150aの水平方向の位置に決定する。
さらに、位置演算部316は、ロボット100に対する2つの検知穴150aの水平方向の位置の情報と、記憶部317に記憶される治具150が配置される作業場所の構成要素に対する検知穴150aの位置の情報とを用いて、構成要素に対するロボット100の水平方向の位置及び姿勢を検出する。水平方向の姿勢は、水平方向の向き(方位)であってもよい。位置演算部316は、少なくとも1つの構成要素に対するロボット100の水平方向の位置及び姿勢を検出してもよく、全ての構成要素に対するロボット100の水平方向の位置及び姿勢を検出してもよい。例えば、全ての構成要素それぞれに少なくとも2つの治具150が配置されている場合、位置演算部316は、各構成要素に対するロボット100の水平方向の位置及び姿勢を検出してもよい。構成要素間の位置関係が既知である場合、位置演算部316は、1つの構成要素に対するロボット100の水平方向の位置及び姿勢を検出してもよい。さらに、位置演算部316は、記憶部317に記憶される各作業場所における各構成要素の位置の情報を用いて、作業場所に対するロボット100の水平方向の位置及び姿勢を検出してもよい。位置演算部316は、検出されたロボット100の水平方向の位置及び姿勢を記憶部317に記憶させる。
上記作業場所は、上記検知穴150aを有する治具150及びロボット100が配置される作業場所である。上記構成要素は、上記作業場所において上記治具150が配置されるベルトコンベヤ等の構成要素である。上記構成要素に対する検知穴150aの位置は、上記構成要素に対する治具150の位置であってもよい。上記構成要素は、作業場所自体であってもよく、上記構成要素に対する検知穴150aの位置は、作業場所に対する検知穴150aの位置であってもよい。
また、鉛直方向の位置の検出では、ロボット100が、1つの治具150の検知穴150aの周囲の上面150b(図4参照)上の少なくとも1つの位置にエンドエフェクタ110A又は110Bの挿入体140を上方から接触させる。位置演算部316は、挿入体140が上面150bに接触したときのロボット100に対する挿入体140の位置を検出する。位置演算部316は、上記挿入体140の位置を用いて、ロボット100に対する当該検知穴150aの上端開口の鉛直方向の位置を検出する。このとき、位置演算部316は、記憶部317に記憶される治具150及び検知穴150aの情報を用いる。
さらに、位置演算部316は、ロボット100に対する検知穴150aの上端開口の鉛直方向の位置の情報と、記憶部317に記憶される治具150が配置される作業場所の構成要素に対する検知穴150aの位置の情報とを用いて、構成要素に対するロボット100の鉛直方向の位置を検出する。位置演算部316は、少なくとも1つの構成要素に対するロボット100の鉛直方向の位置を検出してもよく、全ての構成要素に対するロボット100の鉛直方向の位置を検出してもよい。さらに、位置演算部316は、記憶部317に記憶される各作業場所における各構成要素の位置の情報を用いて、作業場所に対するロボット100の鉛直方向の位置を検出してもよい。位置演算部316は、検出されたロボット100の鉛直方向の位置を記憶部317に記憶させる。
記憶部317は、種々の情報の格納つまり記憶することができ、且つ、格納した情報の読み出しを可能にする。例えば、記憶部317は、ロボット100の自動動作情報、ロボット100の挿入体140の情報、治具150の情報、及び、検知穴150aの情報等を記憶していてもよい。記憶部317は、各作業場所における各構成要素の位置の情報、及び、各構成要素間の相対位置の情報等を記憶していてもよい。記憶部317は、各作業場所における各構成要素に対するロボット100の位置及び姿勢の設計値又は目標値等を記憶していてもよい。また、記憶部317は、制御装置300の各機能を実現するためのプログラムを格納してもよい。例えば、第1及び第2検出モードのいずれを実行するためのプログラムも、作業場所WPA及びWPB等の作業場所毎、又は、構成要素毎に作成され、記憶部317に記憶される。上記情報等は、記憶部317に予め記憶されていてもよく、操作入力装置200を用いた入力により記憶部317に記憶されてもよい。
挿入体140の情報は、アーム120A及び120Bのリンク124A及び124Bのインタフェース面に対する挿入体140の位置、挿入体140が延びる方向、並びに、挿入体140の形状及び寸法等の情報を含んでもよい。治具150の情報は、作業場所に対する治具150の位置、治具150が配置される構成要素に対する治具150の位置、治具150の形状及び寸法、治具150における検知穴150aの数量、位置及び延伸方向等の情報を含んでもよい。検知穴150aの情報は、検知穴150aの断面形状及び寸法等の情報を含んでもよい。
[ロボットシステムの動作]
実施の形態に係るロボットシステム1の動作を説明する。具体的には、第1検出モードでの動作を説明する。図7は、実施の形態に係るロボットシステム1の動作の一例を示すフローチャートである。図7は、ロボット100の水平方向の位置を検出するケースを示す。
実施の形態に係るロボットシステム1の動作を説明する。具体的には、第1検出モードでの動作を説明する。図7は、実施の形態に係るロボットシステム1の動作の一例を示すフローチャートである。図7は、ロボット100の水平方向の位置を検出するケースを示す。
図7に示すように、ステップS101において、ユーザPは、ロボットシステム1の操作入力装置200に、第1検出モードでロボット100の水平方向の位置を検出する指令と、ロボット100が配置されている作業場所の情報とを入力し、制御装置300は当該指令及び情報を受け付ける。本例では、作業場所WPAの情報が入力される。
例えば、段取り替え等のためにロボット100が作業場所WPAから作業場所WPBへ又はその逆へ移動された場合、ユーザPは、制御装置300にロボット100の正確な位置を覚えさせるために、検出モードを実行する。ロボット100が人力で移動された場合でもAGV等の搬送装置によって移動された場合でも、ロボット100の配置位置は、目標の位置に対して距離及び方向の誤差を有する。制御装置300は、このような誤差を目標位置に反映する。
次いで、ステップS102において、制御装置300は、記憶部317に記憶される作業場所WPAに対応する第1検出モードのプログラムを読み込み、実行する。
次いで、ステップS103において、制御装置300は、記憶部317に記憶される作業場所WPAでのロボット100の目標の配置位置の情報と、作業場所WPAの2つの治具150の情報と、検知穴150aの情報とを読み出す。本例では、図4に示すように、2つの治具150は、ベルトコンベヤ604Aに配置されている。さらに、制御装置300は、上記情報から、各検知穴150aに対するロボット100の目標位置を検出する。さらに、制御装置300は、上記目標位置に基づき各検知穴150aの位置を推定する。
次いで、ステップS104において、制御装置300は、上記推定位置に基づき、ロボット100を動作させることで、2つの検知穴150aのうち、検知穴150aの位置が未だ検出されていない検知穴150aに、上方から挿入体140を挿入させる。つまり、ロボット100は、検知穴150a内において、当該検知穴150aに対する水平方向での側方に、挿入体140を位置させる。本例では、制御装置300は、アーム120Bの挿入体140を挿入させる。
次いで、ステップS105において、制御装置300は、アーム120Bの回転関節JB1を動作させ、検知穴150a内で挿入体140を水平方向に、つまり検知穴150aに対する側方に移動させる。このとき、制御装置300は、回転関節JB1の駆動装置DB1のサーボモータM5のゲインを比較的低くし、回転トルクの立ち上がり及びレスポンスを穏やかにする。例えば、サーボモータM5のゲインは、サーボモータM5がアーム120Bのリンク121Bから先端側の部分と共にリンク121Bを回動できる程度のゲインであってもよい。
さらに、制御装置300は、回転関節JB1以外の回転関節の駆動装置のサーボモータのゲインを、サーボモータM5のゲインよりも低くする。具体的には、回転関節JB2の駆動装置DB2のサーボモータM6のゲインが、サーボモータM5のゲインよりも低くされる。サーボモータM6のゲインは、リンク121Bの回動時、回転関節JB2の状態を維持し回転関節JB2を回動させない程度のゲインであってもよい。例えば、サーボモータM6のゲインは、リンク121Bの回動中にリンク122Bから先端側の部分が他の物体と接触すると、サーボモータM6が押し負けて回転関節JB2の回動を許容する程度であってもよい。
図8は、実施の形態に係る挿入体140の検知穴150a内での移動動作の一例を示す平面図である。図8に示すように、制御装置300は、回転関節JB1を回動可能な方向の両方向d1a及びd1bに回動させ、挿入体140と検知穴150aの内壁面との接触を検知すると、回転関節JB1の回動を停止させる。制御装置300は、駆動装置DB1の回転センサE1及び電流センサ(図示略)の検出値の偏差から、上記接触の有無を判定してもよい。駆動装置DB1がリンク121Bに回動させる駆動力を与え且つ駆動装置DB2がリンク122Bに状態を維持させる駆動力を与えつつ挿入体140が検知穴150aの内壁面と接触する。このため、接触時及び接触直後において、回転関節JB1及びJB2でのガタツキ(例えば、バックラッシュ等)に起因するリンク121B及び122Bの移動が抑制される。
次いで、ステップS106において、制御装置300は、アーム120Bの回転関節JB1以外の回転関節である回転関節JB2を動作させ、検知穴150a内で挿入体140を水平方向に、つまり検知穴150aに対する側方に移動させる。このとき、制御装置300は、駆動装置DB2のサーボモータM6のゲインを、ステップS105でのサーボモータM5と同様に比較的低くする。さらに、制御装置300は、回転関節JB2以外の回転関節である回転関節JB1の駆動装置DB1のサーボモータM5のゲインを、ステップS105でのサーボモータM6と同様に、サーボモータM6のゲインよりも低くする。図8に示すように、制御装置300は、回転関節JB2を回動可能な方向の両方向d2a及びd2bに回動させ、挿入体140と検知穴150aの内壁面との接触を検知すると、回転関節JB2の回動を停止させる。
例えば、ステップS105では、挿入体140が接触するまでに回転関節JB1が回動を継続する時間が経過し、サーボモータM5のトルクが立ち上がる可能性がある。この場合、挿入体140が検知穴150aの内壁面で跳ね返る可能性がある。ステップS106では、挿入体140が検知穴150aの内壁面に接近した状態で回転関節JB2が回動を開始するため、挿入体140が接触するまでのサーボモータM6のトルクの立ち上がりは低い。さらに、回転関節JB2による挿入体140の移動方向は、回転関節JB1による挿入体140の移動方向に対して、交差する方向等の異なる方向である。このため、挿入体140と検知穴150aの内壁面との接触が検知されたとき、挿入体140が当該内壁面に当接した状態で回転関節JB2の回動が停止され得る。よって、挿入体140の水平方向の位置は、内壁面の水平方向の位置と対応し得る。なお、ステップS105及びS106の順序は逆であってもよい。
次いで、ステップS107において、制御装置300は、挿入体140が検知穴150aの内壁面に接触したときのロボット100に対する挿入体140の位置を検出する。つまり、制御装置300は、回転関節JB2の回動を停止したときの上記位置を検出する。具体的には、位置演算部316は、アーム120Bの回転センサE5~E8の検出値からエンドエフェクタ110Bのインタフェース面の位置及び姿勢を検出する。位置演算部316は、インタフェース面の位置及び姿勢の情報と、記憶部317に記憶される挿入体140の情報とに基づき、例えば、図9に示すように、挿入体140の軸心140Cのロボット100に対する位置を検出する。ステップS105及びS106では回転関節JB1又はJB2のみが回動するため、上記検出のための演算が簡易である。図9は、実施の形態に係る挿入体140の検知穴150aとの3つの接触状態の一例を示す平面図である。
次いで、ステップS108において、制御装置300は、検出された挿入体140の位置の数量は3つであるか否かを判定し、3つである場合(ステップS108でYes)にステップS109に進み、3つ未満である場合(ステップS108でNo)にステップS105~S107を繰り返す。
ステップS109において、制御装置300は、ロボット100に対する挿入体140の3つの位置の情報と、記憶部317に記憶される検知穴150aの情報とを用いて、ロボット100に対する検知穴150aの水平方向の位置を検出する。具体的には、図9に示すように、検知穴150aの軸心150Caの水平方向の位置が、挿入体140の軸心140Cの3つの位置を通る円筒の軸心の水平方向の位置として検出される。
次いで、ステップS110において、制御装置300は、全ての検知穴150aに対して、ロボット100に対する水平方向の位置の検出が完了したか否かを判定し、完了済みである場合(ステップS110でYes)にステップS111に進み、未完了である場合(ステップS110でNo)にステップS104に戻り、検出未完了の検知穴150aに対して、ステップS104以降の処理を繰り返す。本例では、全ての検知穴150aに対して同じアーム120B及び挿入体140が用いられる。これにより、アーム120A及び120Bそれぞれの特性及び性能等に起因する各検出結果の誤差が低減される。
ステップS111において、制御装置300は、ロボット100に対する2つの検知穴150aの水平方向の位置の情報を用いて、2つの検知穴150aに対するロボット100の水平方向の位置及び姿勢を検出する。制御装置300は、当該検出結果に基づき、ベルトコンベヤ604A及び/又は作業場所WPAに対するロボット100の水平方向の位置及び姿勢を検出してもよい。制御装置300は検出結果を記憶部317に記憶させる。
ステップS101~S111の処理によって、制御装置300は、作業場所WPA及び/又は作業場所WPAの構成要素に対するロボット100の水平方向の位置及び姿勢を検出することができる。構成要素それぞれに2つ以上の治具150が配置されていれば、制御装置300は、各構成要素に対するロボット100の水平方向の位置及び姿勢を検出することができる。なお、ステップS101~S111の処理は、アーム120Aを用いて行われてもよい。ステップS101~S111の処理において、一方の検知穴150aに対する処理が、アーム120Aを用いて行われ、他方の検知穴150aに対する処理が、アーム120Bを用いて行われてもよい。1つの検知穴150aに対して、4つ以上の箇所で検知穴150aと接触した挿入体140の位置を用いて、当該検知穴150aの水平方向の位置が検出されてもよい。3つ以上の検知穴150aに対して、ステップS104~S110の処理が行われてもよく、3つ以上の検知穴150aの水平方向の位置を用いて、ロボット100の位置及び姿勢が検出されてもよい。
また、第2検出モードでは、制御装置300は、第1検出モードと同様の処理を行うが、ステップS104において、ユーザPによって入力される操作に対応して操作入力装置200によって出力される操作情報に従って、ロボット100を手動操縦で動作させ、ステップS102及びS103の処理を省略するように構成されてもよい。第2検出モードで制御装置300が実行するプログラムは作業場所に対応したプログラムでなくてもよい。
図10は、実施の形態に係るロボットシステム1の動作の別の一例を示すフローチャートである。図10は、ロボット100の鉛直方向の位置を検出するケースを示す。図10に示すように、ステップS201において、ユーザPは、操作入力装置200に、第1検出モードでロボット100の鉛直方向の位置を検出する指令と、ロボット100が配置されている作業場所WPAの情報とを入力し、制御装置300は当該指令及び情報を受け付ける。
ステップS202及びS203の処理は、ステップS102及びS103と同様である。なお、ロボット100の鉛直方向の位置の検出に用いられる検知穴150aの数量は、少なくとも1つであってもよく、本例では1つである。
次いで、ステップS204において、制御装置300は、検知穴150aの推定位置に基づき、ロボット100のアーム120Bを動作させることで、当該検知穴150aの上端開口の周囲の治具150の上面150bの上方に挿入体140を移動させる。さらに、制御装置300は、直動関節JB3を動作させることで、上方から上面150b上へ挿入体140を下降させる。本例では、制御装置300は、アーム120Bの挿入体140を移動させる。制御装置300は、挿入体140と治具150の上面150bとの接触を検知すると、直動関節JB3の下降を停止させる。
なお、制御装置300は、直動関節JB3の下降動作時、駆動装置DB3のサーボモータM7のゲインを比較的低くする。例えば、サーボモータM7のゲインは、図7のステップS105での回転関節JB1のサーボモータM5と同程度のゲインであってもよい。例えば、サーボモータM7のゲインは、下降するリンク123B又はエンドエフェクタ110Bが他の物体と接触するとサーボモータM7が回転停止する程度のゲインであってもよい。
次いで、ステップS205において、制御装置300は、挿入体140が治具150の上面150bに接触したときのロボット100に対する挿入体140の位置を検出する。制御装置300は、直動関節JB3の下降を停止したときの上記位置を検出する。
次いで、ステップS206において、制御装置300は、検出された挿入体140の位置の数量は3つであるか否かを判定し、3つである場合(ステップS206でYes)にステップS207に進み、3つ未満である場合(ステップS206でNo)にステップS204及びS205を繰り返す。
ステップS207において、制御装置300は、ロボット100に対する挿入体140の3つの位置から、ロボット100に対する治具150の上面150bの鉛直方向の位置を検出する。例えば、制御装置300は、上記の挿入体140の3つの位置を平均化することで、上面150bの鉛直方向の位置を検出してもよい。上面150bの鉛直方向の位置は、検知穴150aの上端開口の鉛直方向の位置に対応する。
次いで、ステップS208において、制御装置300は、ロボット100に対する検知穴150aの上端開口の鉛直方向の位置の情報と、記憶部317に記憶される治具150及びベルトコンベヤ604Aの情報とを用いて、ベルトコンベヤ604Aに対するロボット100の鉛直方向の位置を検出する。さらに、制御装置300は、作業場所WPAに対するロボット100の鉛直方向の位置を検出してもよい。制御装置300は、検出結果を記憶部317に記憶させる。
ステップS201~S208の処理によって、制御装置300は、作業場所WPA及び/又は作業場所WPAの構成要素に対するロボット100の鉛直方向の位置を検出することができる。構成要素それぞれに治具150が配置されていれば、制御装置300は、各構成要素に対するロボット100の鉛直方向の位置を検出することができる。なお、ステップS201~S208の処理は、アーム120Aを用いて行われてもよい。1つの検知穴150aに対して、1つの箇所、2つの箇所又は4つ以上の箇所で検知穴150aの周囲と接触した挿入体140の位置を用いて、当該検知穴150aの上端開口の鉛直方向の位置が検出されてもよい。2つ以上の検知穴150aに対して、ステップS204~207の処理が行われてもよく、2つ以上の検知穴150aの鉛直方向の位置を用いて、ロボット100の鉛直方向の位置が検出されてもよい。
また、第2検出モードでは、制御装置300は、第1検出モードと同様の処理を行うが、ステップS204において、ユーザPによって入力される操作に対応して操作入力装置200によって出力される操作情報に従って、ロボット100を手動操縦で動作させ、ステップS202及びS203の処理を省略するように構成されてもよい。
(その他の実施の形態)
以上、本開示の実施の形態の例について説明したが、本開示は、上記実施の形態に限定されない。すなわち、本開示の範囲内で種々の変形及び改良が可能である。例えば、各種変形を実施の形態に施したもの、及び、異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の範囲内に含まれる。
以上、本開示の実施の形態の例について説明したが、本開示は、上記実施の形態に限定されない。すなわち、本開示の範囲内で種々の変形及び改良が可能である。例えば、各種変形を実施の形態に施したもの、及び、異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の範囲内に含まれる。
例えば、実施の形態において、制御装置300は、第1及び第2検出モードにおいて、ロボット100との位置の比較対象それぞれに対応する制御のうちの実行中の制御の種類、つまり現在の比較対象を表す動作をロボット100にさせるように構成されてもよい。例えば、上記比較対象の例は、作業場所WPA及びWPB、並びに、作業場所WPA及びWPBそれぞれに配置されるベルトコンベヤ及び載置台等の構成要素である。
制御装置300は、ロボット100が挿入体140を挿入する検知穴150aの順序により、比較対象の種類を表してもよい。又は、ロボット100の位置を検出するために用いられない少なくとも1つの付加的な検知穴150aが配置されてもよい。例えば、付加的な検知穴150aに挿入体140を挿入する動作の有無、挿入体140が挿入される付加的な検知穴150aの数量、全ての検知穴150aにおける付加的な検知穴150aへの挿入体140の挿入が行われる順序等が比較対象と対応付けられて、比較対象に対する検出モードのプログラムが設定されていてもよい。これにより、ユーザPは、ロボット100の動作を視ることで、実行中のプログラム及び/又は当該プログラムに対応する比較対象を認識することができ、適切なプログラムが実行されているかを判断することができる。よって、ロボット100の位置の誤検出が抑制される。
実施の形態に係るロボットシステム1は、ロボット100を移動させたときのロボット100の位置を検出するために用いられるが、これに限定されない。ロボットシステム1は、ロボット100が所定の位置に配置されるいかなるケースに用いられてもよい。ロボットシステム1は、対象物とロボット100との相対的な位置の検出が要求されるいかなるケースに用いられてもよい。
実施の形態では、アーム120A及び120Bの接触部として、エンドエフェクタ110A及び110Bから下方に突出する突出部である挿入体140が例示され、被検出部として、作業場所に配置された治具150の陥凹部である検知穴150aが例示されるが、これに限定されない。例えば、接触部は、エンドエフェクタ110A及び110B又はアーム120A及び120Bのリンク124A及び124Bと、別部材ではなく一体化されていてもよい。被検出部は、作業場所のベルトコンベヤ等の構成要素と、別部材ではなく一体化されていてもよい。
例えば、接触部が陥凹部であり、被検出部が突出部であってもよい。この場合、アーム120A及び/又は120Bが、穴等の陥凹部を有する部材を備え、作業場所に、軸等の突出部を有する治具150等の部材が配置されてもよい。例えば、ロボット100の水平方向の位置を検出する場合、制御装置300は、下方に向いた陥凹部に上方に向いた突出部を挿入し陥凹部の内壁面の少なくとも3箇所を突出部に接触させるように、アーム120A又は120Bに陥凹部を側方に移動させてもよい。ロボット100の鉛直方向の位置を検出する場合、制御装置300は、陥凹部の周囲の表面の少なくとも1箇所を突出部に接触させるように、アーム120A又は120Bに陥凹部を下方に移動させてもよい。
又は、接触部が突出部であり、被検出部が突出部であってもよい。アーム120A及び/又は120Bが、挿入体140等の突出部を有する部材を備え、作業場所に、軸等の突出部を有する治具150等の部材が配置されてもよい。ロボット100の水平方向の位置を検出する場合、例えば、図11に示すように、制御装置300は、下方に向いた円柱状の接触部140Aを、治具150Aの上方に向いた円柱状の被検出部150Aaの外周面上の少なくとも3箇所に接触させるように、アーム120A又は120Bに接触部140Aを側方に移動させてもよい。ロボット100の鉛直方向の位置を検出する場合、制御装置300は、接触部140Aを、被検出部150Aaの周囲の治具150Aの上面150Abの少なくとも1箇所に接触させるように、アーム120A又は120Bに接触部140Aを下方に移動させてもよい。図11は、実施の形態の変形例に係る接触部140Aと被検出部150Aaとの接触状態の一例を示す平面図である。
実施の形態では、本開示の技術が適用可能である機械装置として、産業用ロボット100が例示されるが、本開示の技術は、産業用ロボット以外の機械装置に適用されてもよい。例えば、当該機械装置は、サービスロボット及びヒューマノイド等であってもよい。サービスロボットは、介護、医療、清掃、警備、案内、救助、調理、商品提供等の様々なサービス業で使用されるロボットである。
また、本開示の技術は、位置検出方法であってもよい。例えば、本開示の一態様に係る位置検出方法は、アームを備えるロボットの対象物に対する位置を検出する位置検出方法であって、(a)前記アームに、前記対象物に配置された少なくとも2つの被検出部のうちの第1被検出部に対して、水平方向での側方に、前記アームに配置された接触部を位置させることと、(b)前記アームに、前記接触部を前記側方に移動させ、前記第1被検出部の表面の少なくとも3箇所に前記接触部を接触させることと、(c)前記少なくとも3箇所それぞれでの接触時の前記接触部の前記ロボットに対する位置を検出することと、(d)検出された前記接触部の少なくとも3つの位置を用いて、前記ロボットに対する前記第1被検出部の位置を検出することと、(e)前記少なくとも2つの被検出部のうちの前記第1被検出部以外の前記被検出部についても、処理(a)~(d)と同様の処理を行うことと、(f)前記ロボットに対する前記少なくとも2つの被検出部の位置と、前記対象物に対する前記少なくとも2つの被検出部の位置とを用いて、前記対象物に対する前記ロボットの位置を検出することとを含む。上記位置検出方法は、CPU、LSIなどの回路、ICカード又は単体のモジュール等によって、実現されてもよい。
また、本開示の技術は、上記位置検出方法を実行するためのプログラムであってもよく、上記プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
1 ロボットシステム
100 ロボット
110A,110B エンドエフェクタ
120A,120B アーム
140 挿入体(接触部)
140A 接触部
150a 検知穴(被検出部)
150Aa 被検出部
300 制御装置
100 ロボット
110A,110B エンドエフェクタ
120A,120B アーム
140 挿入体(接触部)
140A 接触部
150a 検知穴(被検出部)
150Aa 被検出部
300 制御装置
Claims (13)
- アームを備えるロボットの対象物に対する位置を検出する位置検出方法であって、
(a)前記アームに、前記対象物に配置された少なくとも2つの被検出部のうちの第1被検出部に対して、水平方向での側方に、前記アームに配置された接触部を位置させることと、
(b)前記アームに、前記接触部を前記側方に移動させ、前記第1被検出部の表面の少なくとも3箇所に前記接触部を接触させることと、
(c)前記少なくとも3箇所それぞれでの接触時の前記接触部の前記ロボットに対する位置を検出することと、
(d)検出された前記接触部の少なくとも3つの位置を用いて、前記ロボットに対する前記第1被検出部の位置を検出することと、
(e)前記少なくとも2つの被検出部のうちの前記第1被検出部以外の前記被検出部についても、処理(a)~(d)と同様の処理を行うことと、
(f)前記ロボットに対する前記少なくとも2つの被検出部の位置と、前記対象物に対する前記少なくとも2つの被検出部の位置とを用いて、前記対象物に対する前記ロボットの位置を検出することとを含む
位置検出方法。 - 前記少なくとも2つの被検出部は、陥凹部と前記陥凹部に挿入可能である突出部とのうちの一方であり、
前記接触部は、前記陥凹部と前記突出部とのうちの他方であり、
処理(a)では、前記陥凹部に前記突出部を挿入するように前記接触部を移動させることで、前記第1被検出部の前記側方に前記接触部を位置させる
請求項1に記載の位置検出方法。 - 処理(f)では、前記対象物に対する前記ロボットの位置及び向きを検出する
請求項1または2に記載の位置検出方法。 - 前記アームは少なくとも2つの関節を含み、
処理(b)では、前記少なくとも3箇所のそれぞれにおいて、前記少なくとも2つの関節のうちの第1関節を動作させることで前記第1被検出部の表面に前記接触部を接触させる第1動作の後に、前記少なくとも2つの関節のうちの第2関節を動作させることで前記第1被検出部の表面に前記接触部を接触させる第2動作を行う
請求項1~3のいずれか一項に記載の位置検出方法。 - 前記第1関節及び前記第2関節は、前記側方に前記接触部を移動させるような前記アームの動作を可能にする
請求項4に記載の位置検出方法。 - 前記第1動作では、前記第2関節を駆動する第2サーボモータのゲインを前記第1関節を駆動する第1サーボモータのゲインよりも低くし、
前記第2動作では、前記第1サーボモータのゲインを前記第2サーボモータのゲインよりも低くする
請求項4または5に記載の位置検出方法。 - (g)前記アームに、各対象物に対応する制御のうちの実行中の制御の種類を表す動作をさせることをさらに含む
請求項1~6のいずれか一項に記載の位置検出方法。 - (a1)前記アームに、前記第1被検出部の周囲の表面である周囲面の上方に前記接触部を位置させることと、
(b1)前記アームに、前記接触部を下降させ、前記周囲面に少なくとも1箇所で前記接触部を接触させることと、
(c1)前記少なくとも1箇所それぞれでの接触時の前記接触部の前記ロボットに対する高さ方向の位置である高さ位置を検出することと、
(d1)検出された前記接触部の少なくとも1つの高さ位置を用いて、前記ロボットに対する前記第1被検出部の高さ位置を検出することと、
(e1)前記ロボットに対する前記第1被検出部の高さ位置を用いて、前記対象物に対する前記ロボットの高さ位置を検出することをさらに含む
請求項1~7のいずれか一項に記載の位置検出方法。 - 請求項1~8のいずれか一項に記載の位置検出方法を実行する制御装置であって、
処理(a)を、前記ロボットに対する手動操作が入力された前記ロボットの操作装置から出力される操作情報に従って、実行し、
処理(b)~処理(f)をプログラムに従って自動で実行する
制御装置。 - 請求項1~8のいずれか一項に記載の位置検出方法を実行する制御装置であって、
処理(a)~処理(f)をプログラムに従って自動で実行する
制御装置。 - 請求項1~8のいずれか一項に記載の位置検出方法を実行し且つ前記ロボットの動作を制御する制御装置と、
前記ロボットとを備える
ロボットシステム。 - 前記制御装置は、
処理(a)を、前記ロボットに対する手動操作が入力された前記ロボットの操作装置から出力される操作情報に従って、実行し、
処理(b)~処理(f)をプログラムに従って自動で実行する
請求項11に記載のロボットシステム。 - 前記制御装置は、処理(a)~処理(f)をプログラムに従って自動で実行する
請求項11に記載のロボットシステム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202080085831.7A CN114786885B (zh) | 2019-12-13 | 2020-12-14 | 位置检测方法、控制装置以及机器人*** |
US17/784,683 US20230028767A1 (en) | 2019-12-13 | 2020-12-14 | Position detection method, controller, and robot system |
KR1020227022674A KR20220108143A (ko) | 2019-12-13 | 2020-12-14 | 위치 검출 방법, 제어 장치 및 로봇 시스템 |
EP20899638.9A EP4074466A4 (en) | 2019-12-13 | 2020-12-14 | POSITION DETECTION METHOD, CONTROL DEVICE AND ROBOT SYSTEM |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019225623A JP7330876B2 (ja) | 2019-12-13 | 2019-12-13 | 位置検出方法、制御装置及びロボットシステム |
JP2019-225623 | 2019-12-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021117907A1 true WO2021117907A1 (ja) | 2021-06-17 |
Family
ID=76330065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/046568 WO2021117907A1 (ja) | 2019-12-13 | 2020-12-14 | 位置検出方法、制御装置及びロボットシステム |
Country Status (7)
Country | Link |
---|---|
US (1) | US20230028767A1 (ja) |
EP (1) | EP4074466A4 (ja) |
JP (1) | JP7330876B2 (ja) |
KR (1) | KR20220108143A (ja) |
CN (1) | CN114786885B (ja) |
TW (1) | TWI760008B (ja) |
WO (1) | WO2021117907A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003181782A (ja) * | 2001-12-19 | 2003-07-02 | Nachi Fujikoshi Corp | 産業用ロボット |
JP2006503721A (ja) | 2002-10-21 | 2006-02-02 | エフエスアイ インターナショナル インコーポレイテッド | 触覚センサを有するロボットの教育 |
JP2015155126A (ja) * | 2014-02-20 | 2015-08-27 | キヤノン株式会社 | ロボットシステムのツール座標系補正方法、およびロボットシステム |
JP2018083284A (ja) * | 2016-11-11 | 2018-05-31 | セイコーエプソン株式会社 | ロボット制御装置、ロボット、ロボットシステム、及び、ロボット制御方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5235376B2 (ja) * | 2007-10-05 | 2013-07-10 | 川崎重工業株式会社 | ロボットのターゲット位置検出装置 |
WO2010037552A1 (de) * | 2008-10-03 | 2010-04-08 | Abb Ag | Kalibrierungswerkzeug, system und verfahren zur automatisierten kalibrierung und ausrichtung einer handhabungsvorrichtung |
JP2015033747A (ja) * | 2013-08-09 | 2015-02-19 | 株式会社安川電機 | ロボットシステム、ロボット制御装置及びロボット制御方法 |
CN104625676B (zh) * | 2013-11-14 | 2016-09-14 | 沈阳新松机器人自动化股份有限公司 | 轴孔装配工业机器人***及其工作方法 |
CN104440384B (zh) * | 2014-10-15 | 2016-11-30 | 中航飞机股份有限公司西安飞机分公司 | 一种建立工件数控加工坐标系的方法 |
EP3484676B1 (en) * | 2016-07-14 | 2020-08-12 | Siemens Healthcare Diagnostics Inc. | Methods and apparatus to calibrate a positional orientation between a robot gripper and a component |
JP2018031701A (ja) * | 2016-08-25 | 2018-03-01 | キヤノン株式会社 | 校正方法、および校正装置 |
JP7102115B2 (ja) * | 2017-09-15 | 2022-07-19 | キヤノン株式会社 | 校正方法、校正装置、3次元測定機、3次元視覚測定装置、ロボットのエンドエフェクタ、プログラム、記録媒体 |
JP7069747B2 (ja) * | 2018-01-26 | 2022-05-18 | セイコーエプソン株式会社 | ロボット制御装置及びロボットシステム |
JP7351667B2 (ja) * | 2019-08-01 | 2023-09-27 | ファナック株式会社 | 複数点嵌合を行うロボット制御システム、制御方法、コンピュータのプログラム、および制御装置 |
-
2019
- 2019-12-13 JP JP2019225623A patent/JP7330876B2/ja active Active
-
2020
- 2020-12-14 WO PCT/JP2020/046568 patent/WO2021117907A1/ja unknown
- 2020-12-14 CN CN202080085831.7A patent/CN114786885B/zh active Active
- 2020-12-14 US US17/784,683 patent/US20230028767A1/en active Pending
- 2020-12-14 EP EP20899638.9A patent/EP4074466A4/en active Pending
- 2020-12-14 TW TW109144078A patent/TWI760008B/zh active
- 2020-12-14 KR KR1020227022674A patent/KR20220108143A/ko not_active Application Discontinuation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003181782A (ja) * | 2001-12-19 | 2003-07-02 | Nachi Fujikoshi Corp | 産業用ロボット |
JP2006503721A (ja) | 2002-10-21 | 2006-02-02 | エフエスアイ インターナショナル インコーポレイテッド | 触覚センサを有するロボットの教育 |
JP2015155126A (ja) * | 2014-02-20 | 2015-08-27 | キヤノン株式会社 | ロボットシステムのツール座標系補正方法、およびロボットシステム |
JP2018083284A (ja) * | 2016-11-11 | 2018-05-31 | セイコーエプソン株式会社 | ロボット制御装置、ロボット、ロボットシステム、及び、ロボット制御方法 |
Non-Patent Citations (1)
Title |
---|
See also references of EP4074466A4 |
Also Published As
Publication number | Publication date |
---|---|
TW202142368A (zh) | 2021-11-16 |
JP7330876B2 (ja) | 2023-08-22 |
CN114786885B (zh) | 2024-04-05 |
EP4074466A4 (en) | 2024-01-03 |
TWI760008B (zh) | 2022-04-01 |
US20230028767A1 (en) | 2023-01-26 |
EP4074466A1 (en) | 2022-10-19 |
KR20220108143A (ko) | 2022-08-02 |
CN114786885A (zh) | 2022-07-22 |
JP2021094611A (ja) | 2021-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9156160B2 (en) | Robot system, calibration method, and method for producing to-be-processed material | |
US20150127141A1 (en) | Robot, control device, robot system and robot control method | |
JP6924145B2 (ja) | ロボット教示方法及びロボットアーム制御装置 | |
JP7363098B2 (ja) | ロボットの制御方法 | |
WO2017033351A1 (ja) | 遠隔操作ロボットシステム | |
TWI630081B (zh) | Direct teaching method of robot | |
US10195744B2 (en) | Control device, robot, and robot system | |
CN108235696B (zh) | 机器人控制方法和设备 | |
US9604360B2 (en) | Robot system for preventing accidental dropping of conveyed objects | |
US20160031078A1 (en) | Robot and device having multi-axis motion sensor, and method of use thereof | |
JP6329645B2 (ja) | ロボット | |
CN107924175A (zh) | 用于确定工作偏移的***和方法 | |
US11597083B2 (en) | Robot apparatus, robot system, control method of robot apparatus, product manufacturing method using robot apparatus, and storage medium | |
US20180071911A1 (en) | Controller, robot and robot system | |
Metzner et al. | High-precision assembly of electronic devices with lightweight robots through sensor-guided insertion | |
WO2021117907A1 (ja) | 位置検出方法、制御装置及びロボットシステム | |
JP2015085499A (ja) | ロボット、ロボットシステム、制御装置及び制御方法 | |
CN112867586A (zh) | 机器人*** | |
KR101439748B1 (ko) | 교시 시스템을 갖는 로봇 및 이의 교시 방법 | |
WO2023166588A1 (ja) | 作業ロボットシステム | |
US20230311315A1 (en) | Robot control device, robot control method, and non-transitory computer-readable storage medium storing robot control program | |
JP2015000438A (ja) | ロボット、位置姿勢補正装置および位置姿勢補正方法 | |
ISLAM et al. | A six-axis robotic manipulator and its programming and controlling operation for loading and unloading | |
Bostelman et al. | NIST-Internal Report# 7844 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20899638 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 20227022674 Country of ref document: KR Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2020899638 Country of ref document: EP Effective date: 20220713 |