WO2016151667A1 - ティーチング装置及び制御情報の生成方法 - Google Patents
ティーチング装置及び制御情報の生成方法 Download PDFInfo
- Publication number
- WO2016151667A1 WO2016151667A1 PCT/JP2015/058426 JP2015058426W WO2016151667A1 WO 2016151667 A1 WO2016151667 A1 WO 2016151667A1 JP 2015058426 W JP2015058426 W JP 2015058426W WO 2016151667 A1 WO2016151667 A1 WO 2016151667A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- marker
- unit
- information
- work
- moving
- Prior art date
Links
Images
Classifications
-
- 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
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/42—Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
Definitions
- the present invention relates to a teaching device for teaching an operation to a robot and a method for generating control information for controlling the robot.
- Some industrial robots for example, robot arms, include a so-called parallel link mechanism that supports one end effector by a plurality of arm units arranged in parallel, or a plurality of arm units such as an articulated robot in one direction.
- Patent Document 1 there is a teaching device that simulates the work performed by the robot arm, acquires the motion of the simulated person by motion capture, and teaches the robot arm (for example, Patent Document 1).
- Patent Literature 1 when an operator operates the measuring device (in the literature, “motion capture”) while wearing the hand, based on the three-dimensional coordinate data transmitted from the measuring device, The position of the measuring device is sampled at a predetermined sampling interval.
- the teaching device calculates the movement position, movement speed, and the like based on the sampled data, and controls the arm unit to move the calculated movement position at the movement speed.
- the present invention has been made in view of the above-described problems, and an object of the present invention is to provide a teaching apparatus and a control information generation method capable of teaching cooperative work by a plurality of robots.
- a teaching device is provided in the first and second moving units, the first working unit provided in the first moving unit, and the second moving unit.
- a teaching device that generates control information for controlling the operation of the robot including the second working unit, the first jig having a first position marker unit indicating the position of the first moving unit, and the second moving unit And a second jig having a second position marker portion having a characteristic different from that of the first position marker portion, and a first jig and a second jig that move with the movement of each of the first and second jigs.
- a detection unit that detects a position marker unit, an input unit that inputs work information related to work performed by each of the first and second work units at the work position, and a detection unit that is a first and second position marker unit, respectively.
- Detection data detected, and work information of the input section A processing unit that processes, based on the detection data, the processing unit generates position information of the three-dimensional coordinates of each of the first and second position marker units, and based on the position information , Movement information generation processing for generating movement information related to the movement direction and movement speed of each of the first and second position marker units, and each of the first and second movement units in accordance with the position information and the movement information.
- a control information generation process for generating a series of work control information for causing each of the first and second working units to work according to the work information.
- the plurality of first position marker units and the plurality of second position marker units different in number from the plurality of first position marker units.
- the processing unit sets the center of gravity of the plurality of first position marker units as the first center of gravity position, and sets the center of gravity of the plurality of second position marker units as the second center of gravity position.
- Second position-of-gravity position setting processing is executed, and position information of the three-dimensional coordinates of each of the first position of the center of gravity and the position of the second position of the center of gravity is generated as position information generation processing.
- the detection unit images the first and second position marker units, and outputs the captured imaging data to the processing unit as detection data.
- an illuminating unit that irradiates each of the first and second position marker units with the first irradiation light and the second irradiation light having different wavelengths.
- the first position marker unit includes: The second position marker unit is configured to be capable of reflecting the irradiation light, and the second position marker unit is configured to be capable of reflecting the second irradiation light.
- the processing unit is configured such that the first and second position marker units are based on the position information.
- a distance determination process for determining a distance between the two and a notification process for notifying that when the distance is equal to or less than a predetermined distance are executed.
- the first jig includes a first movable part and a first movable part that drives the first movable part.
- the position information of each of the first and second movable portion marker portions that move as the device moves is generated.
- the processing unit performs the first operation after moving the first moving unit in the control information generating process.
- control information to be executed at at least one of the two timings before performing the work by the working unit and after moving the second moving unit and before performing the work by the second working unit Control information for correcting the positions of the first and second working units is added.
- the processing unit includes a plurality of feature points from the generated position information in the position information generation process. And a correction process for approximating position information between feature points is performed.
- the processing unit performs first and second based on the detection data as position information generation processing. Each position of the position marker unit is sampled, and the position of the sampling point is generated as position information.
- each of the first and second position marker units generated by the position information generation process as the movement information generation process is detected based on the positional relationship between the adjacent sampling points, and the moving speed is detected based on the distance between the adjacent sampling points and the sampling period.
- the processing unit moves as the movement information generation process.
- the position information is corrected when the speed exceeds a predetermined speed and at least one of the cases where the acceleration at the moving speed exceeds the predetermined acceleration.
- the teaching device is the teaching device according to any one of claims 1 to 10, further comprising a reference marker portion provided at a position serving as a reference for the operation of the robot.
- the reference marker unit is detected, and the processing unit determines, in the position information generation process, the relative position of the first position marker unit to the reference marker unit and the relative position of the second position marker unit to the reference marker unit. Each is generated as position information.
- the robot in the teaching device according to any one of claims 1 to 11, includes a serial link mechanism as a driving mechanism for each of the first and second moving units. It is characterized by that.
- the control information generation method includes a first and second moving unit, a first working unit provided in the first moving unit, and a second A control information generation method for controlling the operation of a robot including a second working unit provided in a moving unit, the first jig having a first position marker unit indicating a position of the first moving unit, 2 indicates the position of the moving part, the second jig having the second position marker part having a characteristic different from that of the first position marker part, and the first jig that moves with the movement of each of the first and second jigs And a detection unit that detects a second position marker unit, and an input unit that inputs work information related to work performed by each of the first and second work units at the work position.
- Detection data for detecting each of the first and second position marker portions A position information generating step for generating position information of the three-dimensional coordinates of each of the first and second position marker units based on the data, and a moving direction of each of the first and second position marker units based on the position information And a movement information generation step for generating movement information related to the movement speed, and each of the first and second movement units is moved in cooperation according to the position information and movement information, and the first and second movement information is generated according to the work information. And a control information generation step process for generating control information for a series of operations for causing each of the two working units to perform the operations.
- control information for controlling a robot including two sets of combinations of a moving unit and a working unit is generated.
- the first jig provided with the first position marker portion and the second jig provided with the second position marker portion are used as the detected objects, so that the person wearing the measurement device There is no need to use hands.
- the arms of the plurality of workers are not inserted into the space where the motion capture is performed, and the arms of the workers interfere. Problems can be prevented.
- robot movements that cannot be expressed by human movement for example, movements that move the joints of human arms in the opposite direction, can be taught by moving the jig.
- the second position marker part is configured with different characteristics from the first position marker part.
- a detection method of the first and second position marker portions for example, from imaging data obtained by irradiating each of the first and second position marker portions with light of different wavelengths and imaging the reflected light of each position marker portion.
- An optical motion capture that calculates position information or the like can be used.
- the second position marker portion is made of a material that reflects light having a wavelength different from that of the first position marker portion.
- the detection method of the position marker portion is not limited to this, and other methods, for example, image processing for detecting the shape of the position marker portion with respect to the imaging data may be executed, and the position may be detected from the execution result.
- using a magnetic sensor as a position marker unit receiving position data with identification information from a plurality of moving magnetic sensors, and calculating position information of each magnetic sensor from the received position data Motion capture can be used.
- the teaching device inputs work information related to work performed by the working unit at the work position, for example, work such as pinching the work, gripping the work, irradiating with a laser, performing imaging, and picking up the work.
- work information related to work performed by the working unit at the work position for example, work such as pinching the work, gripping the work, irradiating with a laser, performing imaging, and picking up the work.
- An input unit is provided.
- the user operates the input unit at an appropriate timing, and inputs the work content desired to be performed by the robot as work information, so that each fine work of the first and second work parts is performed on the teaching device. Etc. can be set.
- the processing unit moves the first and second moving units in cooperation according to the position information and the movement information generated from the detection data, and causes the first and second working units to perform work according to the work information. Generate control information for a series of tasks. That is, the processing unit can generate control information by linking movement information and work information and the like in the control information generation process. Accordingly, in the teaching device, for example, correction processing for adjusting the work positions of the first and second working units is performed in accordance with the movement of the two moving units so as to be performed at an appropriate timing and work content. Can be incorporated into a series of work processes.
- a plurality of first position marker portions are attached to the first jig and grouped, and the first center of gravity positions of the plurality of first position marker portions are Motion capture as a detection target.
- a plurality of second position marker portions (a number different from the first position marker portion) are attached to the second jig and grouped, and the second center of gravity positions of the plurality of second position marker portions are detected. Motion capture as a target. In this case, the number of marker portions and the difference in the position of the center of gravity are different characteristics.
- position information matching is performed in group units of the grouped position marker portions, so that the position information can be prevented from being confused and the operation of each position marker portion can be detected with high accuracy.
- position information matching is facilitated by changing the attachment position and arrangement of the position marker portions of each group and setting unique shapes and center-of-gravity positions.
- the position of the position marker part that cannot be detected based on the position information of other position marker parts is interpolated to obtain the center of gravity position By doing so, it is possible to prevent the loss of position information.
- the first and second position marker portions are configured with different reflection characteristics.
- a detection part images the reflected light which the 1st position marker part reflected the 1st irradiation light, and the reflected light which the 2nd position marker part reflected the 2nd irradiation light with an image sensor.
- the processing unit can detect the operation of each position marker unit with high accuracy by detecting the position of each of the first and second position marker units while identifying them from the imaging data of the image sensor by luminance or the like. Become.
- the first and second jigs simulate actual robot arms and the like, but it is conceivable to reduce the outer shape of the actual object in consideration of user operability.
- the first and second moving units may collide and interfere with each other. Therefore, in the teaching device according to claim 4 of the present application, for example, a distance corresponding to the external dimensions of the actual robot from the centers of the first and second position marker portions is set as a distance that may cause a collision.
- the processing unit determines that the distance between the first and second position marker units is equal to or less than the distance that may cause a collision, the processing unit notifies the fact.
- the user can recognize that the first and second jigs have actually approached a distance that may cause a collision during the work, and can take appropriate measures such as starting again.
- each of the first and second jigs includes the first and second movable parts, the first and second movable part marker parts, the first and second drives. With each of the parts.
- the processing unit performs motion capture of the first and second movable unit marker units of the first and second movable units that are movable in accordance with the driving of the first and second drive units.
- the user grasps the workpiece at a predetermined work position by operating each of the first and second movable parts by the first and second drive parts as compared with the case of simulating with a human finger or the like. It is possible to more faithfully reproduce the movement of moving away and away.
- the accuracy of movement of the first position marker portion depends on the accuracy of manipulating the jig. To do. For this reason, when higher work accuracy is required in the teaching device, high accuracy is required by performing position correction processing before performing work at the work position and correcting the final work position. It is possible to cope with work to be performed.
- the processing unit performs extraction of feature points and correction processing for approximating position information between the feature points.
- the feature point extraction for example, a point whose movement direction is changed by a predetermined angle or more is extracted as a feature point.
- the feature points are extracted by, for example, extracting points at fixed intervals from the plurality of pieces of position information as feature points.
- the processing unit sets the extracted feature points as, for example, the starting point and the ending point of the operation of the robot, and corrects the positional information between the feature points so that the robot can move from the starting point toward the ending point. For example, as a correction process, when a point whose position is significantly shifted due to external noise is between feature points, the position information related to the point is discarded as unnecessary data. Alternatively, as correction processing, position information between feature points is approximated by a straight line or a curve connecting the feature points. As a result, the robot can be operated more smoothly based on the generated control information, and wasteful operations can be omitted to improve work efficiency. In addition, it is possible to correct a positional information shift caused by shaking of a person's hand when the person operates the jig.
- the processing unit generates position information from the detection data at a predetermined sampling period. For this reason, in the said teaching apparatus, it becomes possible to adjust the precision which a process part detects each position of a 1st and 2nd position marker part by changing the time of a sampling period.
- the processing unit detects the moving direction and the moving speed based on the position information of the adjacent sampling points. For this reason, in the teaching apparatus, it is possible to adjust the accuracy with which the processing unit detects the moving direction and the moving speed of each of the first and second position marker units by changing the time of the sampling cycle.
- the moving direction, moving speed, and acceleration of the first and second jigs exceed the moving ability of the robot to which the control information is applied.
- the curvature of the curve connecting the sampling points exceeds a predetermined curvature (for example, a curvature that the robot can move)
- the curvature becomes movable.
- the position information (coordinates etc.) is corrected as follows. Thereby, the control information generated by the motion capture can be easily used as data for actually controlling the robot.
- position information is generated with reference to the reference marker portion.
- the robot can be accurately controlled by matching the position of the reference marker portion with the reference in the actual work area.
- the reference in the work area here is, for example, an XY robot, a position used as a reference when determining the positions in the X direction and the Y direction.
- control information can be captured and used by matching the position of the reference marker portion with the reference position of the tool. It becomes easy. Further, for example, by generating the control information of the two robots separately using the same reference marker part and simulating the position of the reference marker part of the two control information according to the reference position of the tool, 2 It is possible to confirm whether the operations of the two robots do not interfere with each other.
- the invention according to the present application is not limited to the teaching device, and can be implemented as an invention of a method for generating control information by the teaching device.
- FIG. 1 schematically shows a configuration of a main part of the teaching device 10 of the present embodiment.
- the teaching device 10 includes a plurality of cameras 13 (only one is shown in FIG. 1), two jigs 15 (only one is shown in FIG. 1), and a control information generating device 17 by optical motion capture. Prepare.
- the teaching device 10 images each movement of the jig 15 with a plurality of cameras 13, and uses the control information generating device 17 to obtain control information D5 for controlling the robot arms 101 and 103 shown in FIG. Generate.
- each of the plurality of cameras 13 is attached to a frame portion 23 in which a plurality of (12 in this embodiment) pipes 21 are assembled in a rectangular parallelepiped shape.
- Each of the plurality of pipes 21 is formed with the same length, and any three of the twelve pipes 21 are connected to each other by the connecting member 25 at the corner portion of the rectangular parallelepiped frame portion 23. It is connected.
- Each connecting member 25 inserts and holds the end portions 21A of the three pipes 21, and fixes the three pipes 21 so as to be orthogonal to each other.
- the direction orthogonal to the placement surface of the table 19 on which the frame portion 23 is arranged is the vertical direction, the direction orthogonal to the vertical direction and going forward and backward in FIG.
- the direction orthogonal to the front-rear direction is referred to as the left-right direction and will be described.
- a total of six cameras 13 are attached to the frame portion 23.
- the six cameras will be collectively referred to as “camera 13”.
- four cameras 13 ⁇ / b> A, 13 ⁇ / b> B, 13 ⁇ / b> C, and 13 ⁇ / b> D are attached to each of the four pipes 21 on the upper side of the frame portion 23 by a fixing member 27.
- Each of the four cameras 13A to 13D is attached to a position close to each of the upper four connecting members 25.
- the fixing member 27 fixes each of the cameras 13A to 13D so that the imaging direction faces the central portion of the frame portion 23.
- the remaining two cameras 13E and 13F are connected to each of a pair of pipes 21 that face each other diagonally among the four pipes 21 provided along the vertical direction.
- the fixing member 27 is attached.
- the cameras 13 ⁇ / b> E and 13 ⁇ / b> F are attached to a lower end portion of the pipe 21 on the side of the base 19, and are fixed by a fixing member 27 so that the imaging direction faces the central portion of the frame portion 23.
- These six cameras 13 move the tracking region R1, that is, the jig 15 and the marker unit 43, in the cube-shaped region surrounded by the frame unit 23 in order to photograph the marker unit 43 of the jig 15 to be described later. Is set as an area for tracking.
- the six cameras 13 are set so that the imaging ranges overlap each other in order to track the marker unit 43, for example, and the tracking region R1 can be imaged three-dimensionally.
- the shape of the frame part 23 shown in FIG. 2, the number of cameras 13, the attachment position of the camera 13, etc. are examples, and can be changed suitably.
- each of the cameras 13 includes an image sensor 31 and illumination devices 33 and 34.
- the image sensor 31 is, for example, a CCD image sensor or a CMOS image sensor.
- the illumination devices 33 and 34 are, for example, LED illuminations, and irradiate light having different wavelengths. This is two types of light corresponding to the marker portions 43A and 43B provided in each of two jigs 15A and 15B (see FIG. 4) described later.
- the camera 13 receives reflected light reflected from the marker units 43 ⁇ / b> A and 43 ⁇ / b> B by the imaging device 31 while being irradiated from the illumination devices 33 and 34.
- the camera 13 outputs the captured data as imaging data D1 to the teaching device 10 via the video cable 35.
- the camera 13 has an optical filter corresponding to the wavelength of light emitted from the illumination devices 33 and 34 attached to the light entrance of the image sensor 31 so that the reflected light of the marker units 43A and 43B can be easily detected. Also good.
- a jig 15 shown in FIG. 1 is a detection target that simulates the robot arms 101 and 103 of the industrial robot 100 shown in FIG. 3, and includes a main body portion 41, a marker portion 43, an end effector 45, and a gripping portion 47.
- FIG. 3 schematically shows the configuration of the industrial robot 100.
- the robot arm 101 is an articulated robot having a serial link mechanism that connects two arm portions 105 (an example of a moving unit) in one direction and supports a hand unit 109 (an example of a working unit) that is an end effector at a tip portion. It is.
- the robot arm 103 connects the two arm portions 107 in one direction and supports the hand portion 111 at the tip portion.
- the industrial robot 100 drives the robot arms 101 and 103 to attach the workpieces W1 and W2 sandwiched between the hand units 109 and 111 to the substrate B.
- the workpieces W1 and W2 are, for example, electronic parts, screws, and the like.
- the teaching device 10 of the present embodiment generates control information D5 for operating the two robot arms 101 and 103 in a coordinated manner. Therefore, two types of jigs 15A and 15B (see FIG. 4) are used, and motion capture is performed assuming that the jigs 15A and 15B are different robot arms 101 and 103, respectively.
- the two jigs 15 when it is necessary to distinguish between the two types of jigs 15 or the parts (marker parts 43 and the like) provided in the jigs 15, as shown in FIG. It will be described later with an alphabet. When there is no need to distinguish between them, the two jigs will be collectively referred to as “jigs 15”.
- the marker part 43 is fixed to the outer peripheral part of the main body part 41.
- the marker unit 43 forms a sphere and reflects light emitted from the illumination devices 33 and 34 of each camera 13.
- the marker portion 43A provided in the jig 15A shown in FIG. 4 is made of a material having a reflection characteristic that reflects light of a specific wavelength irradiated by the illumination device 33.
- the marker portion 43B provided on the other jig 15B is made of a material having a reflection characteristic that reflects light of a specific wavelength irradiated by the illumination device 34.
- the end effector 45 has a shape simulating the hand portions 109 and 111 sandwiching the workpieces W1 and W2 of the robot arms 101 and 103 (see FIG. 3), and a pair of end portions bent in a direction approaching each other. It is comprised by the rod-shaped member.
- a pair of end effector 45 is provided in the position which pinches the marker part 43, and the front-end
- a movable portion marker portion 46 for tracking the movement of the end effector 45 is provided at the tip portion of each end effector 45.
- the movable portion marker portions 46A and 46B are configured with mutually different reflection characteristics, and reflect the light emitted from each of the illumination devices 33 and 34 of the camera 13.
- the control information generation device 17 can also acquire the position information D2 of the end effector 45 as in the case of the jig 15.
- the camera 13 may include a dedicated illumination device that irradiates the end effector 45 with light separately from the illumination devices 33 and 34 used for the jig 15.
- the main body 41 has an actuator 49 for opening and closing the end effector 45 built therein.
- the main body 41 is attached with a tip end portion of a rod-shaped gripping portion 47 at a portion opposite to the marker portion 43 and the end effector 45.
- the gripping portion 47 is a state in which the user hands the proximal end portion of the gripping portion 47 protruding out of the frame portion 23 in a state where the jig 15 is placed in the tracking region R1 (see FIG. 2) of the frame portion 23. It has a length that can be held by Thereby, the user can operate the jig 15 without putting a part of the body into the tracking region R1.
- a driving switch 51 for driving or stopping the actuator 49 is provided at the base end portion of the gripping portion 47 opposite to the main body portion 41.
- the drive switch 51 is connected to the actuator 49 by a connection line 53 disposed in the grip portion 47 and the main body portion 41.
- the user holds the proximal end portion of the grip portion 47 and the jig 15 provided at the distal end portion from the start position within the tracking region R1 of the frame portion 23.
- the robot arms 101 and 103 are moved to the work position where the hands W1 and W2 are clamped by the hand units 109 and 111, respectively.
- the user turns on the drive switch 51 to close the distal end portion of the end effector 45.
- control information D5 is control information D5 for controlling the hand units 109 and 111 of the industrial robot 100 shown in FIG.
- the control information generation device 17 is, for example, a personal computer mainly composed of a CPU (Central Processing Unit) 61, and includes a conversion unit 63, a storage unit 65, an input unit 67, a display unit 69, and the like.
- the control information generation device 17 inputs the imaging data D1 output from the camera 13 to the conversion unit 63 via the video cable 35 (see FIG. 2).
- the conversion unit 63 arranges the imaging data D1 captured by the plurality of cameras 13 in time series, adds identification information of the camera 13, time information, and the like, and outputs them to the CPU 61.
- the CPU 61 stores the imaging data D1 input from the conversion unit 63 in the storage unit 65.
- the storage unit 65 includes a memory, a hard disk, and the like, and stores a control program D7, design information D6, and the like in addition to the imaging data D1.
- the control program D7 is a program executed on the CPU 61.
- the design information D6 is information related to the industrial robot 100 shown in FIG. 3, and is information such as the outer dimensions of the arm portions 105 and 107, the maximum moving speed of the arm portions 105 and 107, and the like.
- the CPU 61 implements various processing modules of the position information generation unit 71, the movement information generation unit 73, and the control information generation unit 75 by reading and executing the control program D7 stored in the storage unit 65.
- the position information generation unit 71 and the like are configured as software realized by the CPU 61 executing the control program D7, but may be configured as dedicated hardware.
- the input unit 67 is an input device such as a keyboard or a mouse that receives input from the user.
- the teaching device 10 of the present embodiment moves the jig 15 to the working position, and then opens and closes the end effector 45 by operating the drive switch 51, and the hand portions 109 and 111 (see FIG. 3). ) Can be taught to the teaching device 10 to generate the work information D3.
- the user can instruct the teaching device 10 to generate other work information D3 by operating the input unit 67 after moving the jig 15 to the work position. It has become.
- the user operates the input unit 67 to suck the workpieces W1 and W2, to irradiate a part of the workpieces W1 and W2 with a laser, and to apply an adhesive to the workpieces W1 and W2.
- Etc. can be entered.
- the teaching device 10 can generate a series of work control information D5 in which the position information D2 of the jig 15 and the work information D3 are linked.
- the display unit 69 displays various information such as the progress in the process of generating the control information D5 and the result information after generation.
- FIG. 4 schematically shows a state in which motion capture is performed.
- supply devices 81 and 82 for supplying the workpieces W ⁇ b> 1 and W ⁇ b> 2 are arranged in the tracking region R ⁇ b> 1 of the frame portion 23.
- the supply devices 81 and 82 are, for example, a tape feeder type supply device for feeding taped electronic components (workpieces) one by one to a supply position, or a plurality of trays in which electronic components are arranged at predetermined intervals.
- a supply position marker portion 84 is provided at the supply position of the workpiece W2 of the supply device 81.
- a supply position marker portion 85 is provided at the supply position of the workpiece W1 of the supply device 82.
- the supply device 81 and the supply device 82 are arranged so that the supply positions (supply position marker portions 84 and 85) face each other in the front-rear direction.
- a substrate 86 is disposed between the supply devices 81 and 82 in the front-rear direction.
- the substrate 86 is formed in a rectangular shape, and is disposed horizontally such that the plane is along the front-rear direction and the left-right direction.
- mounting position marker portions 88 are provided on the four corners of the substrate 86.
- the mounting position marker portion 88 on which the jig 15A performs the mounting operation is referred to as a mounting position marker portion 88A in order to distinguish it from the other mounting position marker portions 88.
- the mounting position marker portion 88 on which the jig 15B performs the mounting operation is referred to as a mounting position marker portion 88B in order to distinguish it from other mounting position marker portions 88.
- the supply devices 81 and 82 and the substrate 86 described above may be actual devices or substrates, or may be members that simulate shapes. Further, three reference marker portions 91 are provided adjacent to each other at the center of the substrate 86.
- the reference marker unit 91 is a position serving as a reference for the operation of the robot arms 101 and 103 (see FIG. 3).
- the jig 15A teaches the work of picking up the workpiece W1 from the supply position of the supply device 82 (see FIG. 4) by the hand unit 109 of the robot arm 101 shown in FIG.
- the user operates the jig 15A by holding the grip portion 47A, and moves the jig 15A from the start position shown in FIG. 4 to the supply position marker portion 85.
- the user turns on the drive switch 51A to close the end effector 45A.
- the user Before operating the drive switch 51A, the user operates the input unit 67 of the control information generation device 17 and inputs work information D3 indicating that the end effector 45A is operated.
- the user moves the jig 15A from the supply position marker portion 85 to the position of the mounting position marker portion 88A. Then, at the position of the mounting position marker portion 88A, the user turns off the drive switch 51A to open the end effector 45A. Also in this case, the user operates the input unit 67 before operating the drive switch 51A, and inputs work information D3 indicating that the end effector 45A is operated.
- the jig 15B teaches the work of picking up the workpiece W2 from the supply position of the supply device 81 (see FIG. 4) by the hand unit 111 of the robot arm 103 and mounting it on the substrate B. This operation is performed simultaneously with the operation of the robot arm 101 described above.
- the user moves the jig 15B from the start position shown in FIG. 4 to the supply position marker section 84 as shown by the broken line arrow 95 in FIG. 4 to operate the jig 15B while holding the grip portion 47B.
- the user inputs the work information D3 by the input unit 67 at the position of the supply position marker unit 84, the user turns on the drive switch 51B to close the end effector 45B.
- the user moves the jig 15B from the supply position marker portion 84 to the position of the mounting position marker portion 88B. Then, after the user inputs the work information D3 with the input unit 67 at the position of the mounting position marker unit 88B, the user turns off the drive switch 51B to open the end effector 45B. Note that the user who operates the jig 15B may be a different user from the user who operates the jig 15A.
- the control information generation device 17 generates the control information D5 by tracking the operation of the jigs 15A and 15B. More specifically, after the CPU 61 executes the control program D7 and starts processing, the user operates the input unit 67 at step 11 shown in FIG. 5 (hereinafter simply referred to as “S”). It is determined whether or not information D3 has been input.
- the CPU 61 If the input work information D3 is information indicating that the end effector 45 is to be operated in S12 (S12: YES), the CPU 61 generates position information D2 and the like shown in S15 and subsequent steps, and the end effector 45A, Control information D5 corresponding to the position, inclination, movement direction, etc. of each of the movable portion marker portions 46A and 46B of 45B, that is, control information D5 for causing the hand portions 109 and 111 (see FIG. 3) to perform a desired operation is generated. To do. In the following description, a process of generating the control information D5 based mainly on the imaging data D1 obtained by imaging the marker portion 43 of the jig 15 will be described. Since the process of generating the control information D5 based on the imaging data D1 obtained by imaging the movable part marker unit 46 of the actuator 49 is the same as that of the marker unit 43, it is omitted as appropriate.
- the CPU 61 executes a process of taking the imaging data D1 from the conversion unit 63 and storing it in the storage unit 65 (S15).
- the CPU 61 of this embodiment processes the imaging data D1 of the camera 13 in real time so as to notify the user of errors detected during motion capture.
- the CPU 61 may store all the imaging data D1 once in the storage unit 65 and process all the imaging data D1 collectively later.
- the position information generating unit 71 is based on the identification information and time information of the camera 13 added to the imaging data D1 stored in the storage unit 65, and the marker units 43A and 43B attached to the jigs 15A and 15B.
- the position of the three-dimensional coordinates for each photographing time is calculated (S17).
- the position information generation unit 71 stores the calculated position information D2 in the storage unit 65.
- the position information generation unit 71 performs labeling on the binarized imaging data D1, performs processing using an algorithm such as epipolar matching, and coordinates positions of the marker units 43A and 43B in the three-dimensional space. Is calculated.
- the position information generation unit 71 calculates the position of the coordinates relative to the reference marker unit 91.
- the position information generation unit 71 calculates the coordinate positions of the marker units 43 ⁇ / b> A and 43 ⁇ / b> B on the basis of the barycentric positions of the three reference marker units 91.
- each of the marker portions 43A and 43B has a structure having different reflection characteristics according to the wavelength of light emitted from the illumination devices 33 and 34. For this reason, the position information generation unit 71 identifies the reflected light from the marker units 43A and 43B, for example, based on the difference in luminance, and calculates the coordinate position for each of the marker units 43A and 43B with respect to the imaging data D1. .
- the processing method by which the position information generation unit 71 calculates the coordinate position (position information D2) is not particularly limited.
- the position information D2 may be calculated by the principle of triangulation.
- the position information generating unit 71 is the work information D3 indicating that the end effector 45 (drive switch 51) is operated in S12 (S12: YES), the position information generating unit 71 is for the movable unit as in the case of the marker unit 43.
- the position information D2 is generated for the marker unit 46.
- the position information generation unit 71 performs a process of displaying the position information D2 on the display unit 69 (S19). For example, as illustrated in FIG. 6, the position information generation unit 71 acquires sampling points SP1 and SP2 obtained by sampling the respective positions of the marker units 43A and 43B at predetermined time intervals as the position information D2. The position information generation unit 71 performs a process of displaying all the acquired sampling points SP1 and SP2 (position information D2) on the display unit 69 in real time. Thereby, the user can check the acquired position information D2 as appropriate by checking the display on the display unit 69 and determine whether or not it is appropriate.
- the position information generation unit 71 may display only the feature points such as the start point, the end point, and the point where the moving direction changes by a predetermined angle or more without displaying all the sampling points SP1 and SP2.
- a black circle sampling point SP1 shown in FIG. 6 corresponds to the marker portion 43A of the jig 15A.
- a black square sampling point SP2 corresponds to the marker portion 43B of the jig 15B.
- the position information generation unit 71 determines whether or not the distance between the marker units 43A and 43B is normal based on the sampling points SP1 and SP2 of the position information D2 (S21).
- the two jigs 15A and 15B simulate the robot arms 101 and 103 shown in FIG. 3, but it is conceivable to reduce the outer shape of the actual object in consideration of operability by the user's hand. In this case, when the robot arms 101 and 103 are moved based on the control information D5 created by operating the jigs 15A and 15B, the arm portions 105 and 107 may collide and interfere with each other.
- the position information generation unit 71 based on the design information D6 stored in the storage unit 65, the position information generation unit 71, for example, sets a distance corresponding to the dimension of the outer shape of the arm unit 105 from the center of the marker unit 43A to a distance that may cause a collision. Set as. Then, the position information generation unit 71 calculates the distance between the sampling points SP1 and SP2, and when it is determined that the calculated distance is equal to or less than the distance that may cause a collision (S21: YES), an error is displayed on the display unit 69. Is executed (S23).
- the position information generation unit 71 may calculate and determine the distance between the sampling points SP1 and SP2 at the same time, for example. Alternatively, the position information generation unit 71 may calculate and determine the distance from one sampling point SP1 with respect to the sampling point SP2 within a predetermined time with reference to the time of the sampling point SP1.
- the location information generation unit 71 After executing S23, the location information generation unit 71 temporarily stops the process until there is a response from the user to the error display, for example. Alternatively, when the predetermined time has elapsed, the position information generation unit 71 delivers necessary data and shifts the subject of processing to the movement information generation unit 73 (S25). If the position information generation unit 71 determines in S21 that the calculated distance is greater than the distance that may cause a collision (S21: NO), the position information generation unit 71 shifts the subject of processing to the movement information generation unit 73 (S25). .
- the movement information generation unit 73 generates movement information D4 related to the movement of the marker units 43A and 43B based on the position information D2 stored in the storage unit 65 (S25).
- the movement information generation unit 73 calculates physical quantities such as movement distance, movement direction, speed, acceleration, and angle from the position information D2 as movement information D4 of the marker units 43A and 43B.
- the movement information generation unit 73 extracts feature points from a plurality of sampling points SP1 shown in FIG. Specifically, the movement information generation unit 73 extracts, for example, a sampling point SP1A corresponding to the movement start position of the jig 15A as a feature point as a feature point serving as a starting point. In addition, the movement information generation unit 73 greatly changes the movement direction at a point close to the supply position marker unit 85 at a point where the movement direction is changed by a predetermined angle or more from among the plurality of sampling points SP1. Sampling point SP1B is extracted as a feature point. This feature point determination may be made automatically by the movement information generation unit 73 based on the movement speed and movement direction, or may be instructed by the user operating the input unit 67.
- the movement information generation unit 73 calculates the inclination from the coordinate position of the extracted feature points (sampling points SP1A, SP1B), and detects the movement direction of the marker unit 43A (the jig 15A). Or the movement information generation part 73 divides the distance of the extracted feature point by the time between feature points, for example, and detects the moving speed of the marker part 43A.
- the movement information generation unit 73 may perform a correction process for approximating the position information D2 of the sampling point SP1 between the feature points. For example, the movement information generation unit 73 sets the extracted feature points (sampling points SP1A, SP1B) as the movement start point and end point, and moves the robot arm from the start point (sampling point SP1A) toward the end point (sampling point SP1B). The position information D2 of the sampling point SP1 between the feature points is corrected so that the arm part 105 of 101 (see FIG. 3) can move. For example, when the sampling point SP1 whose position is greatly shifted due to external noise is between the feature points, the movement information generation unit 73 discards the position information D2 related to the sampling point SP1 as unnecessary data. Alternatively, the movement information generation unit 73 approximates the position information D2 between feature points with a straight line connecting the feature points.
- the movement information generation unit 73 may approximate the feature points with a curve. For example, among the plurality of sampling points SP2 shown in FIG. 6, the movement information generation unit 73 extracts sampling points SP2A and SP2B whose movement directions are changed by a predetermined angle or more as feature points. The movement between the two feature points (sampling points SP2A, SP2B) is curving while gradually changing the movement direction. In this case, for example, the movement information generation unit 73 approximates the position information D2 of the sampling point SP2 between the feature points (sampling points SP2A and SP2B) with a curve using the sampling point SP2A as a starting point and the sampling point SP2B as an end point. .
- the movement information generation unit 73 is not limited to the method using the feature points described above, and may detect the movement direction or the like using another method.
- the movement information generation unit 73 calculates the inclination from the coordinate position of the adjacent sampling point SP1 among the plurality of sampling points SP1 sampled by the position information generation unit 71, and the movement direction of the marker unit 43A (the jig 15A) May be detected.
- the movement information generation unit 73 may detect the movement speed of the marker unit 43A by multiplying, for example, the distance between adjacent sampling points SP1 and the sampling period of the position information generation unit 71.
- the information D2 is corrected, and the generation of the movement information D4 is executed again (S27).
- the sampling point SP2C which is one of the plurality of sampling points SP2
- the marker unit 43B is greatly curved and moved.
- the movement information generation unit 73 uses, for example, the curvature connecting the sampling points SP2 (for example, between the sampling points SP2A and SP2B) based on the design information D6 stored in the storage unit 65 as the movement capability of the robot arm 103. If the curvature is larger than the curvature set accordingly, the position information D2 is corrected so as to have a movable curvature. Then, the movement information generation unit 73 generates movement information D4 again based on the corrected position information D2 (sampling point SP2).
- the distance between the sampling points SP1C and SP1D which are two of the plurality of sampling points SP1 is greatly separated.
- the moving speed of the calculation result increases. If this moving speed exceeds the moving ability of the actual robot arm 103 or if it is desired to exceed the safe moving speed, the robot arm 103 is controlled even if the control information D5 is generated as in the above-described curvature. It becomes difficult.
- the movement information generation unit 73 determines that the movement speed calculated from the distance between the sampling points SP1C and SP1D based on the design information D6 stored in the storage unit 65 is the robot arm, for example. If it is larger than the maximum moving speed 103, the position information D2 is corrected so as to be a movable speed. Then, the movement information generation unit 73 generates the movement information D4 again based on the corrected position information D2 (sampling points SP1C, SP1D). When the movement information generation unit 73 corrects the sampling points SP1 and SP2 (position information D2) according to the curvature and the movement speed, the distance between the corrected sampling points SP1 and SP2 may cause the above-described collision. Correct so that it is more than a certain distance.
- the CPU 61 inquires of the conversion unit 63 whether there is imaging data D1 that has not been captured (S29). When there is imaging data D1 that has not been captured (S29: NO), the CPU 61 executes the processing from S11 again.
- the CPU 61 instructs the control information generation unit 75 to generate the control information D5.
- the control information generation unit 75 moves the robot arms 101 and 103 based on the position information D2, the movement information D4, and the work information D3 stored in the storage unit 65, and operates the hand units 109 and 111 at the work position.
- Control information D5 of a series of work to be generated is generated (S31).
- the control information generation unit 75 allows the user to operate the input unit 67 after the unprocessed work information D3, for example, the jigs 15A and 15B reach the positions of the mounting position marker units 88A and 88B and finish the imaging. If there is work information D3 input in this way, it is preferable to process the work information D3 together.
- control information generation part 75 produces
- control information generation unit 75 moves the arm units 105 and 107 to a predetermined work position (such as the supply position marker unit 84 in FIG. 4), and then holds the workpieces W1 and W2 by the hand units 109 and 111. It becomes possible to generate control information D5 of a series of work to be performed.
- control information generation unit 75 executes a process of adding the correction work to the control information D5 in S31. Specifically, for example, the control information generation unit 75 moves the arm units 105 and 107 to the supply positions of the supply devices 81 and 82 (positions of the supply position marker units 84 and 85), Before performing the clamping work of the workpieces W1 and W2 by 111, information for correcting an error between the supply position of the supply device 82 and the positions of the hand units 109 and 111 is added to the control information D5. For example, when a camera for imaging the substrate B or the like is mounted on the hand unit 109 of the robot arm 101, the supply position of the supply device 82 is imaged using the camera, and the hand unit 109 is based on the imaging data. A process of correcting the relative position error between the supply position and the supply position is added to the control information D5. In this way, the teaching device 10 can generate the control information D5 by executing motion capture.
- the camera 13 is an example of a detection unit.
- the jig 15A is an example of a first jig.
- the jig 15B is an example of a second jig.
- the marker unit 43A is an example of a first position marker unit.
- the marker unit 43B is an example of a second position marker unit.
- the end effector 45A is an example of a first movable part.
- the end effector 45B is an example of a second movable part.
- the actuator 49 is an example of first and second drive units.
- the CPU 61 is an example of a processing unit.
- the robot arms 101 and 103 are examples of robots.
- the arm unit 105 is an example of a first moving unit.
- the arm unit 107 is an example of a second moving unit.
- the hand unit 109 is an example of a first working unit.
- the hand unit 109 is an example of a second working unit.
- the imaging data D1 is an example of detection data.
- Sampling points SP1A, SP1B, SP2A, SP2B are examples of feature points.
- the process of S17 is an example of a position information generation process.
- the process of S21 is an example of a distance determination process.
- the process of S23 is an example of a notification process.
- the process of S25 is an example of a movement information generation process.
- the process of S31 is an example of a control information generation process.
- the teaching device 10 generates control information D5 for controlling the pair of robot arms 101 and 103 including the arm units 105 and 107 and the hand units 109 and 111 shown in FIG.
- a human hand or the like wearing a measuring device is used as the detection target, and thus there is a possibility that a human arm or the like enters the tracking region and contacts it.
- the jig 15A provided with the marker portion 43A and the jig 15B provided with the marker portion 43B are used as the detection target.
- the teaching device 10 includes an input unit 67 for inputting work information D3 such as work for sandwiching the works W1 and W2 performed by the hand units 109 and 111 at the work position.
- work information D3 such as work for sandwiching the works W1 and W2 performed by the hand units 109 and 111 at the work position.
- the user moves the jigs 15A and 15B provided with the marker portions 43A and 43B to perform motion capture, the user operates the input portion 67 at an appropriate timing to indicate the work contents to be made to the industrial robot 100 as work information.
- D3 By inputting as D3, it becomes possible to set detailed work contents of the hand units 109 and 111 for the teaching device 10. Accordingly, the teaching device 10 can generate a series of work control information D5 in which the position information D2 of the jigs 15A and 15B and the work information D3 are linked.
- the marker portion 43A provided on the jig 15A is made of a material having a reflection characteristic that reflects light of a specific wavelength irradiated by the illumination device 33.
- the marker portion 43B provided on the other jig 15B is made of a material having a reflection characteristic that reflects light of a specific wavelength irradiated by the illumination device 34.
- the plurality of cameras 13 captures the reflected light reflected by the marker portions 43 ⁇ / b> A and 43 ⁇ / b> B by the image sensor 31.
- the CPU 61 can detect the position of each of the marker portions 43A and 43B from the image data D1 of the image sensor 31 while identifying the brightness by a luminance or the like.
- the position information generation unit 71 calculates the distance between the sampling points SP1 and SP2, and when it is determined that the calculated distance is equal to or less than the distance that may cause a collision (S21: YES), the display unit 69 An error display is executed (S23). Thereby, the user can recognize that the jigs 15A and 15B have approached to a distance where the arm portions 105 and 107 and the like may collide, and can take appropriate measures such as re-execution of motion capture. .
- ⁇ Effect 4> In the jigs 15A and 15B, when the drive switch 51 is operated, the actuator 49 is driven.
- the end effectors 45A and 45B to which the movable portion marker portions 46A and 46B are attached are driven.
- the control information generation device 17 tracks the operations of the movable portion marker portions 46A and 46B that are movable in accordance with the drive of the actuator 49 during motion capture.
- the user can move the end effectors 45A and 45B by the actuator 49 at a predetermined work position, thereby performing more operations such as gripping the workpieces W1 and W2 than when simulating with human fingers or the like. It becomes possible to reproduce faithfully.
- the control information generation unit 75 moves the arm units 105 and 107 to the supply positions of the supply devices 81 and 82 (positions of the supply position marker portions 84 and 85) in S31, Before performing the clamping work of the workpieces W1 and W2 by 111, information for correcting an error between the supply position of the supply device 82 and the positions of the hand units 109 and 111 is added to the control information D5.
- the control information generation unit 75 adds control information D5 to the control information D5 before performing work at the work position, so that control information that can be used for work that requires high accuracy. D5 can be generated.
- the movement information generation unit 73 extracts feature points from the plurality of sampling points SP1 shown in FIG. 6, and from the coordinate positions of the extracted feature points (for example, sampling points SP1A and SP1B), The inclination between the feature points is calculated and the movement direction of the marker portion 43A (the jig 15A) is detected. Further, the movement information generation unit 73 performs a correction process for approximating the position information D2 of the sampling point SP1 between the feature points. As a result, the robot arms 101 and 103 can be operated more smoothly based on the generated control information D5, and wasteful operations can be omitted to improve work efficiency.
- the movement information generation unit 73 has an inclination from the coordinate position of the adjacent sampling point SP1 among the plurality of sampling points SP1 sampled by the position information generation unit 71. It is possible to calculate and detect the moving direction of the marker portion 43A (the jig 15A). Alternatively, the movement information generation unit 73 may detect the movement speed of the marker unit 43A by multiplying, for example, the distance between adjacent sampling points SP1 and the sampling period of the position information generation unit 71. In such a configuration, it is possible to adjust the accuracy of detecting the position, moving direction, and moving speed of the marker unit 43 by changing the time of the sampling period.
- the position information generation unit 71 calculates the relative coordinate positions of the marker units 43A and 43B with reference to the barycentric positions of the three reference marker units 91.
- the industrial robot 100 is configured by matching the position of the center of gravity of the reference marker unit 91 with the reference in the actual work area, for example, the center position of the substrate B shown in FIG. Can be accurately controlled.
- this invention is not limited to the said embodiment, It is possible to implement in the various aspect which gave various change and improvement based on the knowledge of those skilled in the art.
- the plurality of jigs 15A and 15B are used.
- the present invention is not limited to this, and one or three or more jigs 15 may be used.
- a plurality of pieces of control information D5 acquired by operating one jig 15 a plurality of times may be synthesized later.
- FIG. 7 shows another example of the jig 120.
- the pair of end effectors 123 and 124 of the jig 120 has a curved shape that opens outward, and a marker portion 43 is provided between them.
- Each of the end effectors 123 and 124 is provided with movable portion markers 126 and 127 having different shapes.
- the movable part markers 126 and 127 have a long rectangular shape on one side, and are arranged in the extending direction of the end effectors 123 and 124.
- the movable part marker 126 is longer than the movable part marker 127. In such a configuration, it is possible to easily detect the vertical direction and inclination of the jig 120 by providing a difference in the shape as well as the reflection characteristics of the movable part markers 126 and 127.
- the main body portion 129 of the jig 120 is provided with three main body portion marker portions 131.
- the three main body marker portions 131 are provided, for example, at positions corresponding to the vertices of one right triangle so that the distance from each other is different. In such a configuration, for example, each position of the three main body marker portions 131 can be detected, and the inclination of the jig 120 can be detected by an algorithm using the principle of triangulation or the like.
- a jig 140 that does not include the end effector 45 may be used.
- the jig 140 shown in FIG. 8 has a T shape, and marker portions 142, 143, and 144 are provided in portions extending in three orthogonal directions.
- the marker portions 142 to 144 have a long rectangular shape on one side, and have different lengths. Even when the jig 140 having such a configuration is used, it is possible to teach the control information generating device 17 the positions and moving directions of the arm portions 105 and 107.
- the marker portion 43A of the jig 15A has a reflection characteristic that reflects light of a specific wavelength irradiated by the illumination device 33, and the illumination device 34 irradiates the marker portion 43B of the other jig 15B.
- the identification method is not limited to this.
- the identification method is not limited to this, but is configured by reflecting the reflection characteristics of the two marker portions 43A and 43B.
- three marker portions 151 are provided on one jig 150 and four marker portions 161 are provided on the other jig 160 as shown in FIG. You may identify.
- the same components as those of the jig 120 in FIG. 7 are denoted by the same reference numerals, and the description thereof is omitted as appropriate.
- each of the three marker portions 151 is provided at the distal end portion of the end effector 123, the distal end portion of the end effector 124, and the central portion of the main body portion 129, as indicated by a one-dot chain line in FIG. 9.
- the four marker portions 161 are provided at the tip portion of the end effector 123, the tip portion of the end effector 124, and the end portions of the main body portion 129 (the left and right end portions in FIG. 10).
- the alternate long and short dash line in FIG. 10 it is provided at a position that forms a trapezoid. For this reason, the gravity center position 153 of the marker portion 151 and the gravity center position 163 of the marker portion 161 are different from each other.
- the control information generation device 17 images the jig 150 inserted in the tracking region R1, groups the three marker portions 151, and The barycentric position 153 is set as a detection target (an example of a first barycentric position setting process). Similarly, the control information generation device 17 images the jig 160, groups the four marker portions 161, and sets the centroid position 163 of the marker portion 161 as a detection target (an example of second centroid position setting processing). .
- the marker parts 151 and 161 (center of gravity positions 153 and 153) 163) is prevented from being confused in the position and the moving direction, and can be detected with high accuracy. Further, since the gravity center positions 153 and 163 of the marker portions 151 and 161 are different from each other, matching between the extracted coordinate positions and the marker portions 151 and 161 is facilitated. Also, for example, even if one of the three marker portions 151 cannot be detected, the position of the marker portion 151 that cannot be detected based on the position information of the other marker portion 151 is interpolated to obtain the center of gravity position 153. It is possible to prevent the position from being lost.
- the identification method of the two marker portions 43A and 43B is not limited to the reflection characteristics and grouping described above, and the two marker portions 43A and 43B are identified by different colors, sizes, shapes and the like. May be.
- the marker portions 43A and 43B may be identified by giving different characteristics depending on the combination thereof.
- marker part 43A, 43B may be comprised by LED of the different luminescent color, etc., and marker part 43A, 43B itself may be light-emitted.
- the CPU 61 corrects the position information D2 based on the curvature and the moving speed in S27. However, the CPU 61 corrects the position information D2 based on the maximum acceleration of the industrial robot 100. Also good.
- the operation information D3 is input in real time by operating the input unit 67.
- the present invention is not limited to this.
- a specific marker part may be registered in advance, and the control information generation device 17 may store the timing at which the specific marker part is detected in the control information D5 as timing information for adding the work information D3.
- the user may search for information on the timing at which the work information D3 stored in the control information D5 should be inserted, and add the necessary work information D3.
- the specific marker portion is an example of the input portion in the present application.
- the position information generation unit 71 may execute a process of correcting the generated position information D2 (coordinate position) in order to correct a shake caused by a user's manual work. Further, the control information D5 extracts only feature points (start point, passing point, arrival point) without using all the position information D2 generated by the position information generation unit 71, and connects the feature points. The control information D5 that enables the movement may be generated.
- the robot in the present application may be a robot including a working unit that performs operations such as electronic component suction, laser beam irradiation, and screw tightening.
- the robot is not limited to a robot having a serial link mechanism, and may be a robot that operates orthogonal to the XY axis direction or a robot that has a parallel link mechanism.
- the motion capture using the optical method has been described.
- the motion capture in the present application may be a method with another method, for example, a magnetic method for detecting the operation of the magnetic sensor.
- a magnetic sensor that transmits position data may be attached to the jig 15, and a receiving device that receives position data may be attached instead of the camera 13.
- the magnetic sensor corresponds to a position marker portion indicating the position of the moving portion in the present application.
- the receiving device corresponds to the detection unit.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
複数のロボットによる協調した作業を教示できるティーチング装置を提供すること。ティーチング装置は、ロボットアームが作業位置において実施する作業情報を入力するための入力部を備える。ユーザは、マーカー部(43A),(43B)をそれぞれ設けた2つの治具(15A),(15B)(2台のロボットアームを模擬したもの)を動かしてモーションキャプチャーを実施する際に、適切なタイミングで入力部を操作し、各ロボットアームにさせたい作業内容を入力することで、ティーチング装置に対しロボットアームの細かい作業内容を設定することが可能となる。
Description
本発明は、ロボットに対して動作を教示するためのティーチング装置及び当該ロボットを制御する制御情報を生成する方法に関する。
近年、生産現場における省人化を図るべく、産業用ロボットを使用した作業の自動化が進んでいる。産業用ロボット、例えばロボットアームの中には、並行に配置した複数のアーム部によって1つのエンドエフェクタを支持するいわゆるパラレルリンク機構を備えるものや、多関節ロボットのような複数のアーム部を1方向に連結させてエンドエフェクタを支持するシリアルリンク機構を備えるものがある。
また、従来、ロボットアームで行う作業を人が模擬し、模擬した人の動作をモーションキャプチャーによって取得し、ロボットアームに対して教示するティーチング装置がある(例えば、特許文献1など)。特許文献1に開示されるティーチング装置では、作業者が測定装置(文献では、「モーションキャプチャー」)を手に装着した状態で動作させると、測定装置から送信される3次元座標データに基づいて、予め定められたサンプリング間隔で測定装置の位置をサンプリングする。ティーチング装置は、サンプリングしたデータに基づいて、移動位置、移動速度等を演算し、演算した移動位置を移動速度で移動するようにアーム部を制御している。
ところで、生産現場では、同一の対象物に対し、1台のロボットアームだけでなく、複数台のロボットアームを協調させて同時に作業させることが行われている。これに対し、上記したティーチング装置では、モーションキャプチャーを実施する空間内に測定装置を手に装着した作業者の腕が挿入されるため、複数のロボットアームの動作を教示しようとすると、空間内に複数の作業者の腕が挿入されることとなる。このため、複数の作業者の腕が互いに干渉する虞がある。また、ロボットアームが複雑な方向へ移動する場合には、人の手では模擬できない虞がある。
本発明は、上記した課題を鑑みてなされたものであり、複数のロボットによる協調した作業を教示できるティーチング装置及び制御情報の生成方法を提供することを目的とする。
上記課題を解決するために、本願の請求項1に記載のティーチング装置は、第1及び第2移動部と、第1移動部に設けられた第1作業部と、第2移動部に設けられた第2作業部とを備えるロボットの動作を制御する制御情報を生成するティーチング装置であって、第1移動部の位置を示す第1位置マーカー部を有する第1治具と、第2移動部の位置を示し、第1位置マーカー部とは異なる特性を有する第2位置マーカー部を有する第2治具と、第1及び第2治具の各々の移動にともなって移動する第1及び第2位置マーカー部を検出する検出部と、第1及び第2作業部の各々が作業位置において実施する作業に係わる作業情報を入力する入力部と、検出部が第1及び第2位置マーカー部の各々を検出した検出データと、入力部の作業情報とを処理する処理部と、を備え、処理部は、検出データに基づいて、第1及び第2位置マーカー部の各々の3次元座標の位置情報を生成する位置情報生成処理と、位置情報に基づいて、第1及び第2位置マーカー部の各々の移動方向及び移動速度に係わる移動情報を生成する移動情報生成処理と、位置情報及び移動情報に応じて第1及び第2移動部の各々を協調して移動させ、且つ作業情報に応じて第1及び第2作業部の各々に作業をさせる一連の作業の制御情報を生成する制御情報生成処理と、を実行することを特徴とする。
また、請求項2に記載のティーチング装置では、請求項1に記載のティーチング装置において、複数の第1位置マーカー部と、複数の第1位置マーカー部とは異なる数の複数の第2位置マーカー部と、を備え、処理部は、複数の第1位置マーカー部の重心を第1重心位置として設定する第1重心位置設定処理と、複数の第2位置マーカー部の重心を第2重心位置として設定する第2重心位置設定処理と、を実行し、位置情報生成処理として、第1重心位置及び第2重心位置の各々の3次元座標の位置情報を生成することを特徴とする。
また、請求項3に記載のティーチング装置では、請求項1に記載のティーチング装置において、検出部は、第1及び第2位置マーカー部を撮像し、撮像した撮像データを検出データとして処理部に出力する撮像素子を有し、第1及び第2位置マーカー部の各々に対し、互いに波長が異なる第1照射光及び第2照射光を照射する照明部を備え、第1位置マーカー部は、第1照射光を反射可能に構成され、第2位置マーカー部は、第2照射光を反射可能に構成されることを特徴とする。
また、請求項4に記載のティーチング装置では、請求項1乃至請求項3のいずれかに記載のティーチング装置において、処理部は、位置情報に基づいて、第1及び第2位置マーカー部の互いの間の距離を判定する距離判定処理と、距離が所定の距離以下となった場合に、その旨を報知する報知処理と、を実行することを特徴とする。
また、請求項5に記載のティーチング装置では、請求項1乃至請求項4のいずれかに記載のティーチング装置において、第1治具は、第1可動部と、第1可動部を駆動する第1駆動部と、第1可動部の位置を示す第1可動部用マーカー部とを有し、第2治具は、第2可動部と、第2可動部を駆動する第2駆動部と、第2可動部の位置を示す第2可動部用マーカー部とを有し、処理部は、位置情報生成処理として、第1及び第2駆動部の駆動に基づいて第1及び第2可動部の各々が動作するのにともなって移動する第1及び第2可動部用マーカー部の各々の位置情報を生成することを特徴とする。
また、請求項6に記載のティーチング装置では、請求項1乃至請求項5のいずれかに記載のティーチング装置において、処理部は、制御情報生成処理において、第1移動部を移動させた後に第1作業部による作業を実施する前、及び第2移動部を移動させた後に第2作業部による作業を実施する前の2つのタイミングのうち、少なくとも一方のタイミングで実行する制御情報として、作業位置における第1及び第2作業部の位置を補正する制御情報を追加することを特徴とする。
また、請求項7に記載のティーチング装置では、請求項1乃至請求項6のいずれかに記載のティーチング装置において、処理部は、位置情報生成処理において、生成した位置情報の中から複数の特徴点を抽出し、特徴点間の位置情報を近似する補正処理を行うことを特徴とする。
また、請求項8に記載のティーチング装置では、請求項1乃至請求項6のいずれかに記載のティーチング装置において、処理部は、位置情報生成処理として、検出データに基づいて、第1及び第2位置マーカー部の各々の位置をサンプリングし、サンプリング点の位置を位置情報として生成することを特徴とする。
また、請求項9に記載のティーチング装置では、請求項8に記載のティーチング装置において、処理部は、移動情報生成処理として、位置情報生成処理によって生成された第1及び第2位置マーカー部の各々のサンプリング点に対し、隣接するサンプリング点間の位置関係に基づいて移動方向を検出し、隣接するサンプリング点間の距離とサンプリング周期とに基づいて移動速度を検出することを特徴とする。
また、請求項10に記載のティーチング装置では、請求項9に記載のティーチング装置において、処理部は、移動情報生成処理として、サンプリング点を結ぶ曲線の曲率が所定の曲率を超えていた場合、移動速度が所定の速度を超えていた場合、及び移動速度における加速度が所定の加速度を超えていた場合の少なくとも一つの場合に、位置情報を補正することを特徴とする。
また、請求項11に記載のティーチング装置では、請求項1乃至請求項10のいずれかに記載のティーチング装置において、ロボットの動作の基準となる位置に設けられた基準マーカー部を備え、検出部は、基準マーカー部を検出し、処理部は、位置情報生成処理において、基準マーカー部に対する第1位置マーカー部の相対的な位置と、基準マーカー部に対する第2位置マーカー部の相対的な位置とのそれぞれを、位置情報として生成することを特徴とする。
また、請求項12に記載のティーチング装置では、請求項1乃至請求項11のいずれかに記載のティーチング装置において、ロボットは、第1及び第2移動部の各々の駆動機構としてシリアルリンク機構を備えることを特徴とする。
また、上記課題を解決するために、本願の請求項13に記載の制御情報の生成方法は、第1及び第2移動部と、第1移動部に設けられた第1作業部と、第2移動部に設けられた第2作業部とを備えるロボットの動作を制御する制御情報の生成方法であって、第1移動部の位置を示す第1位置マーカー部を有する第1治具と、第2移動部の位置を示し、第1位置マーカー部とは異なる特性を有する第2位置マーカー部を有する第2治具と、第1及び第2治具の各々の移動にともなって移動する第1及び第2位置マーカー部を検出する検出部と、第1及び第2作業部の各々が作業位置において実施する作業に係わる作業情報を入力する入力部と、を備えるティーチング装置に対し、検出部が第1及び第2位置マーカー部の各々を検出した検出データに基づいて、第1及び第2位置マーカー部の各々の3次元座標の位置情報を生成する位置情報生成ステップと、位置情報に基づいて、第1及び第2位置マーカー部の各々の移動方向及び移動速度に係わる移動情報を生成する移動情報生成ステップと、位置情報及び移動情報に応じて第1及び第2移動部の各々を協調して移動させ、且つ作業情報に応じて第1及び第2作業部の各々に作業をさせる一連の作業の制御情報を生成する制御情報生成ステップ処理と、を実行させることを特徴とする。
本願の請求項1に記載のティーチング装置では、例えば、移動部及び作業部の組み合わせを2組備えるロボットを制御する制御情報を生成する。モーションキャプチャーの作業では、第1位置マーカー部を設けた第1治具と、第2位置マーカー部を設けた第2治具とを、被検出体として用いることで、測定装置を装着した人の手等を用いる必要がなくなる。これにより、例えば、複数の移動部及び作業部の動作を模擬する場合に、モーションキャプチャーを実施する空間内に複数の作業者の腕が挿入することがなく、作業者の腕が干渉するなどの不具合を防止することが可能となる。また、人の動作では表現できないロボットの動き、例えば、人の腕の関節を逆方向に動かす動きであっても、治具を動かすことで教示が可能となる。
また、第2位置マーカー部は、第1位置マーカー部とは異なる特性で構成される。第1及び第2位置マーカー部の検出方法としては、例えば、異なる波長の光を第1及び第2位置マーカー部の各々に照射し、各々の位置マーカー部の反射光を撮像した撮像データから、位置情報等を演算する光学方式のモーションキャプチャーを用いることができる。この場合、例えば、第2位置マーカー部を、第1位置マーカー部とは異なる波長の光を反射する素材で構成する。なお、位置マーカー部の検出方法は、これに限らず、他の方法、例えば、撮像データに対し位置マーカー部の形状を検出する画像処理を実行し、実行結果から位置を検出してもよい。あるいは、位置マーカー部として磁気センサを用いて、移動する複数の磁気センサからの識別情報を付加した位置データを受信して、受信した位置データから各磁気センサの位置情報等を演算する磁気方式のモーションキャプチャーを用いることができる。
また、当該ティーチング装置は、作業部が作業位置において実施する作業、例えば、ワークを挟む、ワークを掴む、レーザを照射する、撮像を行う、ワークを吸着する等の作業に係わる作業情報を入力するための入力部を備える。このため、ユーザは、入力部を適切なタイミングで操作し、且つ、ロボットにさせたい作業内容を作業情報として入力することで、ティーチング装置に対して第1及び第2作業部の各々の細かい作業等を設定することが可能となる。
そして、処理部は、検出データから生成した位置情報及び移動情報に応じて第1及び第2移動部を協調して移動させ、且つ作業情報に応じて第1及び第2作業部に作業をさせる一連の作業の制御情報を生成する。つまり、処理部は、制御情報生成処理において、移動情報等と、作業情報等をリンクさせて制御情報を生成することが可能となる。これにより、当該ティーチング装置では、例えば、第1及び第2作業部の各々の作業位置を調整する補正処理等を、適切なタイミングや作業内容で実施するように、2つの移動部の移動に合わせた一連の作業工程の中に盛り込むことが可能となる。
また、本願の請求項2に記載のティーチング装置では、例えば、第1治具に対して複数の第1位置マーカー部を取り付けてグループ化し、複数の第1位置マーカー部の第1重心位置を、被検出対象としてモーションキャプチャーする。同様に、第2治具に対して複数(第1位置マーカー部とは異なる数)の第2位置マーカー部を取り付けてグループ化し、複数の第2位置マーカー部の第2重心位置を、被検出対象としてモーションキャプチャーする。この場合、マーカー部の数やその重心位置の相異が、異なる特性となる。これにより、グループ化された各位置マーカー部の群単位で、位置情報のマッチングを実施することで、位置情報の混同を防ぎ、各位置マーカー部の動作を精度よく検出することが可能となる。例えば、各グループの位置マーカー部の取付け位置や配置を変更し、互いにユニークな形状や重心位置を設定することで、位置情報のマッチングが容易となる。また、各グループ内において、複数の位置マーカー部の一部の位置情報が検出できなくとも、他の位置マーカー部の位置情報に基づいて検出できない位置マーカー部の位置を補間し、重心位置を取得することで、位置情報の消失を防止することが可能となる。
また、本願の請求項3に記載のティーチング装置では、第1及び第2位置マーカー部は、互いに異なる反射特性で構成されている。検出部は、第1位置マーカー部が第1照射光を反射した反射光と、第2位置マーカー部が第2照射光を反射した反射光とを撮像素子によって撮像する。処理部は、撮像素子の撮像データから、輝度等で識別しながら第1及び第2位置マーカー部の各々の位置を検出することによって、各位置マーカー部の動作を精度よく検出することが可能となる。
また、第1及び第2治具は、実際のロボットアーム等を模擬したものであるが、ユーザによる操作性を考慮して、実物に対して外形を小さくすることが考えられる。この場合、2つの治具を動作させて作成した制御情報に基づいて、ロボットを動かすと、第1及び第2移動部等が衝突して互いに干渉する虞がある。そこで、本願の請求項4に記載のティーチング装置では、例えば、第1及び第2位置マーカー部の中心から実物のロボットの外形寸法に応じた距離を、衝突の虞がある距離として設定する。そして、処理部は、第1及び第2位置マーカー部間の距離を、衝突の虞がある距離以下であると判定すると、その旨を報知する。これにより、ユーザは、作業中に第1及び第2治具が、実際には衝突の虞のある距離まで近づいたことを認識でき、再度やり直すなどの適切な対応を取ることが可能となる。
また、本願の請求項5に記載のティーチング装置では、第1及び第2治具の各々は、第1及び第2可動部、第1及び第2可動部用マーカー部、第1及び第2駆動部のそれぞれを備える。処理部は、第1及び第2駆動部の駆動に応じて可動する第1及び第2可動部の各々の第1及び第2可動部用マーカー部をモーションキャプチャーする。これにより、ユーザは、所定の作業位置において、第1及び第2駆動部によって第1及び第2可動部の各々を動作させることによって、人の指等で模擬する場合に比べて、ワークを掴んだり、離したりする動作をより忠実に再現することが可能となる。
また、本願の請求項6に記載のティーチング装置では、例えば、第1治具を人が手で動かす場合には、第1位置マーカー部の移動の精度は、人が治具を操る精度に依存する。このため、当該ティーチング装置では、より高い作業精度が要求される場合、作業位置で作業を実施する前に位置補正の処理を実施し、最終的な作業位置を補正することで、高い精度が要求される作業にも対応することが可能となる。
また、本願の請求項7に記載のティーチング装置では、処理部は、特徴点の抽出と、当該特徴点間の位置情報を近似する補正処理を行う。特徴点の抽出は、例えば、移動方向が所定の角度以上変更された点を特徴点として抽出する。あるいは、特徴点の抽出は、例えば、複数の位置情報の中から一定の間隔ごとの点を特徴点として抽出する。
処理部は、抽出した特徴点を、例えば、ロボットの動作の起点や終点として設定し、その起点から終点に向かってロボットが移動可能となるように、特徴点間の位置情報を補正する。例えば、補正処理として、外部からのノイズによって、大幅に位置のずれた点が特徴点間にある場合、当該点に係わる位置情報を不要なデータとして破棄する。あるいは、補正処理として、特徴点間の位置情報を、当該特徴点を結ぶ直線や曲線で近似する。これにより、生成した制御情報に基づいてロボットをより滑らかに動作させ、無駄な動作を省いて作業効率を向上させることが可能となる。また、治具を人が操作する場合の人の手の震えなどによる位置情報のずれを補正することが可能となる。
また、本願の請求項8に記載のティーチング装置では、処理部は、所定のサンプリング周期で、検出データから位置情報を生成する。このため、当該ティーチング装置では、サンプリング周期の時間を変更することで、処理部が第1及び第2位置マーカー部の各々の位置を検出する精度を調整することが可能となる。
また、本願の請求項9に記載のティーチング装置では、処理部は、隣接するサンプリング点の位置情報に基づいて、移動方向や移動速度を検出する。このため、当該ティーチング装置では、サンプリング周期の時間を変更することで、処理部が第1及び第2位置マーカー部の各々の移動方向及び移動速度を検出する精度を調整することが可能となる。
また、例えば、第1及び第2治具を人が操作して、その第1及び第2治具の移動する向き、移動速度、加速度が、制御情報を適用するロボットの移動能力を超えていた場合、制御情報を生成したとしても、ロボットに所望の作業を実行させることは困難となる。そこで、本願の請求項10に記載のティーチング装置では、例えば、サンプリング点を結ぶ曲線の曲率が、所定の曲率(例えば、ロボットの移動可能な曲率)を超えていた場合、移動可能な曲率となるように位置情報(座標等)を補正する。これにより、モーションキャプチャーによって生成した制御情報を、実際にロボットを制御するデータとして容易に使用することが可能となる。
また、モーションキャプチャーを行う場合、第1及び第2治具の動作をトラッキングするトラッキング領域と、ロボットを実際に作業させる作業領域との位置がずれる虞がある。そこで、本願の請求項11に記載のティーチング装置では、基準マーカー部を基準として位置情報を生成する。これにより、生成した制御情報を使用する場合、基準マーカー部の位置を、実際の作業領域内の基準に合わせることで、ロボットを精度よく制御することが可能となる。ここでいう作業領域内の基準とは、例えば、XYロボットであれば、X方向及びY方向の位置を決定する際に基準とする位置である。
また、例えば、制御情報をシミュレーション用のツール(三次元CADなど)に取り込んでロボットの動きを確認したい場合、基準マーカー部の位置をツールの基準位置に合わせることによって、制御情報の取り込みや使用が容易となる。また、例えば、同じ基準マーカー部を使用して2つのロボットの制御情報を別々に生成しておき、2つの制御情報の基準マーカー部の位置をツールの基準位置に合わせてシミュレーションすることによって、2つのロボットの動作が互いに干渉しないか否かを確認することが可能となる。
また、本願の請求項12に記載のティーチング装置では、本願のロボットとして、生産現場で広く使用されているシリアルリンク機構を備えるロボット、例えば、多関節のロボットアームに適用することは有効である。
さらに、本願に係る発明は、ティーチング装置に限定されることなく、ティーチング装置によって制御情報を生成する方法の発明としても実施し得るものである。
以下、本発明のティーチング装置の一実施形態について、図面を参照しつつ説明する。図1は、本実施形態のティーチング装置10の要部の構成を概略的に示している。ティーチング装置10は、光学方式のモーションキャプチャーによって、複数(図1では1台のみ図示)のカメラ13と、2つの治具15(図1では1つのみ図示)と、制御情報生成装置17とを備える。ティーチング装置10は、治具15の各々の動きを複数のカメラ13によって撮像し、カメラ13の撮像データD1から図3に示すロボットアーム101,103を制御する制御情報D5を制御情報生成装置17によって生成する。
<カメラ13について>
図2に示すように、複数のカメラ13の各々は、複数(本実施形態では、12本)のパイプ21を直方体形状に組み付けた枠部23に取付けられている。複数のパイプ21の各々は、同一の長さで形成されており、直方体形状の枠部23の角部分において、12本のパイプ21のうち、任意の3本のパイプ21が連結部材25によって互いに連結されている。各連結部材25は、3本のパイプ21の各々の端部21Aを挿入して保持しており、3本のパイプ21の各々を互いに直交するようにして固定している。以下、図2に示すように、枠部23を配置する台19の載置面に対して直交する方向を上下方向、上下方向に直交し図2において前後に向かう方向を前後方向、上下方向及び前後方向に直交する方向を左右方向と称し、説明する。
図2に示すように、複数のカメラ13の各々は、複数(本実施形態では、12本)のパイプ21を直方体形状に組み付けた枠部23に取付けられている。複数のパイプ21の各々は、同一の長さで形成されており、直方体形状の枠部23の角部分において、12本のパイプ21のうち、任意の3本のパイプ21が連結部材25によって互いに連結されている。各連結部材25は、3本のパイプ21の各々の端部21Aを挿入して保持しており、3本のパイプ21の各々を互いに直交するようにして固定している。以下、図2に示すように、枠部23を配置する台19の載置面に対して直交する方向を上下方向、上下方向に直交し図2において前後に向かう方向を前後方向、上下方向及び前後方向に直交する方向を左右方向と称し、説明する。
本実施形態のティーチング装置10は、例えば、合計で6個のカメラ13が枠部23に取付けられている。以下、複数のカメラ13を区別する必要があるときは、図2に示すように、カメラ13の符号の後にアルファベットを付して説明する。また、区別する必要がないときは、6台のカメラを「カメラ13」と総称して説明する。6台のカメラ13うち、4台のカメラ13A,13B,13C,13Dは、枠部23の上方側となる4本のパイプ21の各々に、固定部材27によって取付けられている。4台のカメラ13A~13Dの各々は、上方側の4つの連結部材25のそれぞれに近接する位置に取り付けられている。固定部材27は、カメラ13A~13Dの各々を、撮像方向が枠部23の中央部分を向くようにして固定している。
また、6台のカメラ13のうち、残りの2台のカメラ13E,13Fは、上下方向に沿って設けられた4本のパイプ21のうち、対角線上で対向する一組のパイプ21の各々に、固定部材27によって取り付けられている。カメラ13E,13Fは、パイプ21における台19側となる下端部に取り付けられ、撮像方向が枠部23の中央部分を向くようにして固定部材27によって固定されている。これら6台のカメラ13は、後述する治具15のマーカー部43を撮影するため、枠部23で取り囲まれた立方体形状の領域をトラッキング領域R1、即ち、治具15及びマーカー部43を可動させて追跡するための領域として設定している。なお、6台のカメラ13は、例えば、マーカー部43をトラッキングするために、撮像範囲が互いに重複するように設定され、トラッキング領域R1を3次元的に撮像可能となっている。また、図2に示す枠部23の形状、カメラ13の台数、カメラ13の取り付け位置等は、一例であり、適宜変更可能である。
図1及び図2に示すように、カメラ13の各々は、撮像素子31と、照明装置33,34とを備える。撮像素子31は、例えば、CCDイメージセンサやCMOSイメージセンサである。照明装置33,34は、例えば、LED照明であり、互いに異なる波長の光を照射する。これは、後述する2つの治具15A,15B(図4参照)の各々に設けられたマーカー部43A,43Bに対応した2種類の光である。カメラ13は、照明装置33,34から照射しマーカー部43A,43Bによって反射した反射光を撮像素子31によって受光する。カメラ13は、撮像したデータを撮像データD1として、映像ケーブル35を介してティーチング装置10へ出力する。なお、カメラ13は、マーカー部43A,43Bの反射光を検出し易いように、照明装置33,34から照射する光の波長に応じた光学フィルターを、撮像素子31の光の入射口に取り付けてもよい。
<治具15について>
次に、検出対象である治具15について説明する。図1に示す治具15は、図3に示す産業用ロボット100のロボットアーム101,103を模擬した被検出体であり、本体部41と、マーカー部43と、エンドエフェクタ45と、把持部47とを備えている。図3は、産業用ロボット100の構成を模式的に示したものである。ロボットアーム101は、2つのアーム部105(移動部の一例)を1方向に連結させ、先端部分にエンドエフェクタであるハンド部109(作業部の一例)を支持するシリアルリンク機構を備える多関節ロボットである。同様に、ロボットアーム103は、2つのアーム部107を1方向に連結させ、先端部分にハンド部111を支持する。産業用ロボット100は、例えば、ロボットアーム101,103を駆動して、ハンド部109,111に挟持したワークW1,W2を基板Bに取り付ける作業を行う。ワークW1,W2は、例えば、電子部品やネジ等である。
次に、検出対象である治具15について説明する。図1に示す治具15は、図3に示す産業用ロボット100のロボットアーム101,103を模擬した被検出体であり、本体部41と、マーカー部43と、エンドエフェクタ45と、把持部47とを備えている。図3は、産業用ロボット100の構成を模式的に示したものである。ロボットアーム101は、2つのアーム部105(移動部の一例)を1方向に連結させ、先端部分にエンドエフェクタであるハンド部109(作業部の一例)を支持するシリアルリンク機構を備える多関節ロボットである。同様に、ロボットアーム103は、2つのアーム部107を1方向に連結させ、先端部分にハンド部111を支持する。産業用ロボット100は、例えば、ロボットアーム101,103を駆動して、ハンド部109,111に挟持したワークW1,W2を基板Bに取り付ける作業を行う。ワークW1,W2は、例えば、電子部品やネジ等である。
図1に示す治具15の本体部41は、ロボットアーム101,103のアーム部105,107に対応する。ここで、後述するように、本実施形態のティーチング装置10では、2つのロボットアーム101,103を協調させて動作させるための制御情報D5を生成する。このため、2種類の治具15A,15B(図4参照)を使用し、各治具15A,15Bを、それぞれ異なるロボットアーム101,103であると仮定してモーションキャプチャーを行う。以下の説明では、この2種類の治具15、あるいは当該治具15が備える各部(マーカー部43など)を区別する必要があるときは、図4に示すように、治具15等の符号の後にアルファベットを付して説明する。また、区別する必要がないときは、2つの治具を「治具15」と総称して説明する。
マーカー部43は、本体部41の外周部分に固定されている。マーカー部43は、球体をなし、各カメラ13の照明装置33,34から照射される光を反射する。例えば、図4に示す治具15Aに設けられたマーカー部43Aは、照明装置33が照射する特定の波長の光を反射する反射特性を有する材質等で構成されている。また、もう一方の治具15Bに設けられたマーカー部43Bは、照明装置34が照射する特定の波長の光を反射する反射特性を有する材質等で構成されている。
エンドエフェクタ45は、ロボットアーム101,103(図3参照)のワークW1,W2を挟むハンド部109,111を模擬した形状をなしており、先端部分が互いに近接する方向に向かって屈曲した一対の棒状の部材で構成されている。一対のエンドエフェクタ45は、マーカー部43を挟む位置に設けられ、先端部分が開閉可能に構成されている。エンドエフェクタ45の各々の先端部分には、当該エンドエフェクタ45の動きをトラッキングするための可動部用マーカー部46が設けられている。例えば、可動部用マーカー部46A,46Bは、マーカー部43A,43Bと同様に、互いに異なる反射特性で構成されており、カメラ13の照明装置33,34の各々から照射される光を反射する。これにより、制御情報生成装置17は、治具15と同様に、エンドエフェクタ45の位置情報D2も取得することが可能となる。なお、カメラ13は、治具15に使用する照明装置33,34とは別に、エンドエフェクタ45に光を照射する専用の照明装置を備えてもよい。
また、本体部41には、エンドエフェクタ45を開閉動作させるためのアクチュエーター49が内蔵されている。また、本体部41には、マーカー部43やエンドエフェクタ45とは反対側の部分に棒状の把持部47の先端部が取り付けられている。把持部47は、例えば、枠部23のトラッキング領域R1(図2参照)内に治具15を入れた状態で、枠部23の外に飛び出した当該把持部47の基端部をユーザが手に持つことができる程度の長さで構成されている。これにより、ユーザは、体の一部をトラッキング領域R1に入れることなく、治具15を操作することが可能となる。
把持部47の本体部41とは反対側の基端部には、アクチュエーター49を駆動、又は停止させるための駆動スイッチ51が設けられている。駆動スイッチ51は、把持部47及び本体部41内に配設された接続線53によってアクチュエーター49と接続されている。例えば、モーションキャプチャーを実行する際には、ユーザは、把持部47の基端部を持って、先端部に設けられた治具15を、枠部23のトラッキング領域R1内において、開始位置から所望の位置、例えば、ロボットアーム101,103がハンド部109,111でワークW1,W2を挟持する作業位置まで移動させる。ユーザは、移動させた後に、駆動スイッチ51をオン操作することで、エンドエフェクタ45の先端部分を閉じた状態とする。あるいは、ユーザは、駆動スイッチ51をオフ操作することで、エンドエフェクタ45の先端部分を開いた状態とする。ティーチング装置10は、エンドエフェクタ45の動作をトラッキングし、後述する制御情報D5を生成する。この制御情報D5は、図3に示す産業用ロボット100のハンド部109,111を制御する制御情報D5である。
<制御情報生成装置17について>
次に、制御情報生成装置17の構成について説明する。制御情報生成装置17は、例えば、CPU(Central Processing Unit)61を主体として構成されたパーソナルコンピュータであり、変換部63、記憶部65、入力部67、表示部69等を備える。制御情報生成装置17は、カメラ13から出力された撮像データD1を、映像ケーブル35(図2参照)を介して変換部63に入力する。変換部63は、複数のカメラ13で撮像された撮像データD1を、時系列的に整列させ、カメラ13の識別情報や時間情報等を付加してCPU61に出力する。CPU61は、変換部63から入力された撮像データD1を記憶部65に保存する。記憶部65は、メモリやハードディスク等を備えており、撮像データD1の他に、制御プログラムD7や設計情報D6等が保存されている。制御プログラムD7は、CPU61上で実行されるプログラムである。設計情報D6は、図3に示す産業用ロボット100に係わる情報であり、アーム部105,107の外形の寸法、アーム部105,107の最大移動速度等の情報である。
次に、制御情報生成装置17の構成について説明する。制御情報生成装置17は、例えば、CPU(Central Processing Unit)61を主体として構成されたパーソナルコンピュータであり、変換部63、記憶部65、入力部67、表示部69等を備える。制御情報生成装置17は、カメラ13から出力された撮像データD1を、映像ケーブル35(図2参照)を介して変換部63に入力する。変換部63は、複数のカメラ13で撮像された撮像データD1を、時系列的に整列させ、カメラ13の識別情報や時間情報等を付加してCPU61に出力する。CPU61は、変換部63から入力された撮像データD1を記憶部65に保存する。記憶部65は、メモリやハードディスク等を備えており、撮像データD1の他に、制御プログラムD7や設計情報D6等が保存されている。制御プログラムD7は、CPU61上で実行されるプログラムである。設計情報D6は、図3に示す産業用ロボット100に係わる情報であり、アーム部105,107の外形の寸法、アーム部105,107の最大移動速度等の情報である。
CPU61は、記憶部65に保存された制御プログラムD7を読み出して実行することにより、位置情報生成部71、移動情報生成部73、制御情報生成部75の各種の処理モジュールを実現する。なお、本実施形態では、位置情報生成部71等は、CPU61で制御プログラムD7が実行されることによって実現されるソフトウェアとして構成されているが、専用のハードウェアとして構成してもよい。
入力部67は、ユーザからの入力を受け付けるキーボードやマウス等の入力装置である。上記したように、本実施形態のティーチング装置10は、治具15を作業位置まで移動させた後、駆動スイッチ51を操作することでエンドエフェクタ45を開閉させ、ハンド部109,111(図3参照)を動作させるための作業情報D3の生成をティーチング装置10に教示することが可能となっている。また別の方法として、ユーザは、治具15を作業位置まで移動させた後、入力部67を操作することよって、他の作業情報D3を生成する旨をティーチング装置10に指示することが可能となっている。例えば、ユーザは、入力部67を操作し、ワークW1,W2を吸着する作業、ワークW1,W2の一部にレーザを照射して穴を開ける作業、ワークW1,W2に接着剤を塗布する作業などを入力することができる。これにより、ティーチング装置10は、治具15の位置情報D2等と、作業情報D3とをリンクさせた一連の作業の制御情報D5を生成することが可能となる。また、表示部69は、制御情報D5を生成する過程における途中経過や、生成後の結果情報などの各種情報を表示する。
次に、制御情報生成装置17における制御情報D5の生成処理の一例について説明する。まず、モーションキャプチャーを実行する作業内容について説明する。以下の説明では、一例として、2台のロボットアーム101,103(図3参照)が、互いに協調して動作しながら基板BにワークW1,W2を実装する作業のモーションキャプチャーを実行する。図4は、モーションキャプチャーを実施する場合の状態を模式的に示している。
図4に示すように、例えば、枠部23のトラッキング領域R1内にワークW1,W2(図3参照)を供給するための供給装置81,82を配置する。供給装置81,82は、例えば、テーピング化された電子部品(ワーク)を1つずつ供給位置に送り出すテープフィーダ型の供給装置、あるいは、電子部品が所定の間隔毎に並べられた複数のトレイを備えるトレイ型の供給装置である。供給装置81のワークW2の供給位置には、供給位置用マーカー部84が設けられている。また、供給装置82のワークW1の供給位置には、供給位置用マーカー部85が設けられている。供給装置81及び供給装置82は、前後方向において供給位置(供給位置用マーカー部84,85)を互いに対向させるようにして配置されている。
また、供給装置81,82の前後方向における間には、基板86が配置されている。基板86は、長方形状に形成され、平面が前後方向及び左右方向に沿うようにして水平に配置されている。基板86の4つの角部分には、実装位置用マーカー部88が設けられている。なお、以下の説明では、治具15Aが実装作業を行う実装位置用マーカー部88を、他の実装位置用マーカー部88と区別するため、実装位置用マーカー部88Aと称する。また、治具15Bが実装作業を行う実装位置用マーカー部88を、他の実装位置用マーカー部88と区別するため、実装位置用マーカー部88Bと称する。また、上記した供給装置81,82及び基板86は、実物の装置や基板を用いてもよく、形状を模擬した部材を用いてもよい。また、基板86の中心部には、3つの基準マーカー部91が隣接して設けられている。基準マーカー部91は、ロボットアーム101,103(図3参照)の動作の基準となる位置である。
例えば、図3に示すロボットアーム101のハンド部109によって供給装置82(図4参照)の供給位置からワークW1をピックアップし、基板Bに実装する作業を、治具15Aにて教示する。この場合、図4の実線の矢印93で示すように、ユーザは、把持部47Aを持って治具15Aを操作し、図4に示す開始位置から供給位置用マーカー部85まで治具15Aを移動させる。ユーザは、供給位置用マーカー部85の位置において、駆動スイッチ51Aをオン操作してエンドエフェクタ45Aを閉じた状態とする。ユーザは、駆動スイッチ51Aを操作する前に、制御情報生成装置17の入力部67を操作して、エンドエフェクタ45Aを操作する旨の作業情報D3を入力する。次に、ユーザは、治具15Aを、供給位置用マーカー部85から実装位置用マーカー部88Aの位置まで移動させる。そして、ユーザは、実装位置用マーカー部88Aの位置において、駆動スイッチ51Aをオフ操作してエンドエフェクタ45Aを開いた状態とする。この場合にもユーザは、駆動スイッチ51Aを操作する前に入力部67を操作して、エンドエフェクタ45Aを操作する旨の作業情報D3を入力する。
また、ロボットアーム103のハンド部111によって供給装置81(図4参照)の供給位置からワークW2をピックアップし、基板Bに実装する作業を、治具15Bにて教示する。この作業は、上記したロボットアーム101の作業と同時に行う作業である。この場合、図4の破線の矢印95で示すように、ユーザは、把持部47Bを持って治具15Bを操作し、図4に示す開始位置から供給位置用マーカー部84まで治具15Bを移動させる。ユーザは、供給位置用マーカー部84の位置において、入力部67によって作業情報D3を入力した後、駆動スイッチ51Bをオン操作してエンドエフェクタ45Bを閉じた状態とする。次に、ユーザは、治具15Bを、供給位置用マーカー部84から実装位置用マーカー部88Bの位置まで移動させる。そして、ユーザは、実装位置用マーカー部88Bの位置において、入力部67によって作業情報D3を入力した後、駆動スイッチ51Bをオフ操作してエンドエフェクタ45Bを開いた状態とする。なお、治具15Bを操作するユーザは、治具15Aを操作するユーザとは別のユーザでもよい。
次に、上記したモーションキャプチャー中において、CPU61が制御情報D5を生成する処理について、図5に示すフローチャートを参照しつつ説明する。なお、図5に示すフローチャートの処理の内容や処理の順番は、一例であり、適宜変更可能である。制御情報生成装置17は、上記した治具15A,15Bの動作をトラッキングして、制御情報D5を生成する。詳述すると、まず、CPU61は、制御プログラムD7を実行し処理を開始した後、図5に示すステップ(以下、単に「S」と表記する)11において、ユーザが入力部67を操作して作業情報D3を入力したか否かを判定する。これは、ユーザが入力部67を操作して作業情報D3を入力した場合、当該作業情報D3の内容に応じた処理を実行するためである。作業情報D3が入力された場合(S11:YES)、CPU61は、入力された作業情報D3がエンドエフェクタ45(駆動スイッチ51)を操作する旨の情報であるか否かを判定する(S12)。また、作業情報D3が入力されていない場合(S11:NO)、CPU61は、S15以降の処理を開始する。
S12において、エンドエフェクタ45を操作する旨の作業情報D3でない場合(S12:NO)、CPU61は、入力された作業情報D3の種類に応じた制御情報、例えば、ワークW1,W2を吸着する作業に対応するサブルーチンのプログラムを、当該作業情報D3に付加して記憶部65に保存する(S13)。図4に示す矢印93,95の作業では、エンドエフェクタ45以外の作業情報D3の入力はなかったが、ユーザは、例えば、治具15が所定の作業位置に到達した場合に、入力部67を操作して、吸着作業、レーザの照射作業、接着剤の塗布作業等の作業情報を入力することができる。これにより、生成される制御情報D5の一連の作業工程の中に、各種の作業を追加等することが可能となる。
また、S12において、入力された作業情報D3がエンドエフェクタ45を操作する旨の情報である場合(S12:YES)、CPU61は、S15以降に示す位置情報D2等の生成を行い、エンドエフェクタ45A,45Bの各々の可動部用マーカー部46A,46Bの位置、傾き、移動方向等に応じた制御情報D5、即ち、ハンド部109,111(図3参照)に所望の動作をさせる制御情報D5を生成する。なお、以下の説明では、主に治具15のマーカー部43を撮像した撮像データD1に基づいて制御情報D5を生成する処理について説明する。アクチュエーター49の可動部用マーカー部46を撮像した撮像データD1に基づいて制御情報D5を生成する処理は、マーカー部43と同様であるため、適宜省略する。
次に、CPU61は、変換部63から撮像データD1を取り込んで記憶部65に保存する処理を実行する(S15)。なお、本実施形態のCPU61は、モーションキャプチャー中に検出したエラーをユーザに報知すべく、カメラ13の撮像データD1をリアルタイムで処理している。しかしながら、このようなリアルタイム処理に限らず、CPU61は、例えば、全ての撮像データD1を一度、記憶部65に記憶しておき、後からまとめて全ての撮像データD1を処理してもよい。
次に、位置情報生成部71は、記憶部65に保存された撮像データD1に付加されたカメラ13の識別情報や時間情報等に基づいて、治具15A,15Bに取り付けたマーカー部43A,43Bの撮影時間ごとにおける3次元座標の位置を演算する(S17)。位置情報生成部71は、演算した位置情報D2を記憶部65に保存する。位置情報生成部71は、例えば、二値化した撮像データD1に対してラベリングを行い、エピポーラマッチングなどのアルゴリズムを利用した処理を行ってマーカー部43A,43Bの3次元空間内での座標の位置を演算する。また、位置情報生成部71は、基準マーカー部91に対する相対的な座標の位置を演算する。例えば、位置情報生成部71は、3つの基準マーカー部91の重心位置を基準として、マーカー部43A,43Bの座標位置を演算する。
上記したように、マーカー部43A,43Bの各々は、照明装置33,34から照射する光の波長に合わせて、反射特性の異なる構造となっている。このため、位置情報生成部71は、撮像データD1に対し、例えば、輝度の違いなどによって、各マーカー部43A,43Bからの反射光を識別し、マーカー部43A,43Bごとの座標位置を演算する。なお、位置情報生成部71が座標位置(位置情報D2)を演算する処理方法は、特に限定されず、例えば、三角測量の原理等によって、位置情報D2を演算してもよい。また、位置情報生成部71は、S12において、エンドエフェクタ45(駆動スイッチ51)を操作する旨の作業情報D3であった場合(S12:YES)、マーカー部43の場合と同様に、可動部用マーカー部46について位置情報D2を生成する。
また、位置情報生成部71は、位置情報D2を表示部69に表示する処理を行う(S19)。位置情報生成部71は、例えば、図6に示すように、マーカー部43A,43Bのそれぞれの位置を、所定時間ごとにサンプリングしたサンプリング点SP1,SP2を、位置情報D2として取得する。位置情報生成部71は、取得した全てのサンプリング点SP1,SP2(位置情報D2)を表示部69にリアルタイムに表示する処理を行う。これにより、ユーザは、表示部69の表示を確認することで、取得した位置情報D2を適宜確認し、適切か否かを判断することが可能となる。なお、位置情報生成部71は、全てのサンプリング点SP1,SP2を表示せずに、起点、終点、移動方向が所定角度以上変わる点などの特徴点のみを表示してもよい。また、図6に示す黒塗りの丸のサンプリング点SP1は、治具15Aのマーカー部43Aに対応している。また、黒塗りの四角のサンプリング点SP2は、治具15Bのマーカー部43Bに対応している。
次に、位置情報生成部71は、位置情報D2のサンプリング点SP1,SP2に基づいて、マーカー部43A,43B間の距離が正常か否かを判定する(S21)。2つの治具15A,15Bは、図3に示すロボットアーム101,103を模擬したものであるが、ユーザの手による操作性を考慮して、実物に対して外形を小さくすることが考えられる。この場合、治具15A,15Bを動作させて作成した制御情報D5に基づいて、ロボットアーム101,103を動かした場合に、アーム部105,107等が衝突して互いに干渉する虞がある。
そこで、位置情報生成部71は、記憶部65に保存された設計情報D6に基づいて、例えば、マーカー部43Aの中心からアーム部105の外形の寸法に応じた距離を、衝突の虞がある距離として設定する。そして、位置情報生成部71は、サンプリング点SP1,SP2間の距離を演算し、演算した距離が衝突の虞がある距離以下であると判定した場合(S21:YES)、表示部69にエラー表示を実行する(S23)。これにより、ユーザは、アーム部105,107等が衝突する虞のある距離まで治具15A,15Bが近づいたことを認識でき、モーションキャプチャーを再度やり直すなどの適切な対応を取ることが可能となる。なお、位置情報生成部71は、例えば、同時間のサンプリング点SP1,SP2の距離を演算し判定してもよい。あるいは位置情報生成部71は、1つのサンプリング点SP1に対して、当該サンプリング点SP1の時間を基準として、所定時間内のサンプリング点SP2との距離を演算し判定してもよい。
位置情報生成部71は、S23を実行した後、例えば、エラー表示に対するユーザからの応答があるまで処理を一時的に中止する。あるいは、位置情報生成部71は、所定時間経過すると、必要なデータ等を受け渡して処理の主体を移動情報生成部73へ移行させる(S25)。また、位置情報生成部71は、S21において、演算した距離が衝突の虞がある距離よりも大きいと判定した場合(S21:NO)、処理の主体を移動情報生成部73へ移行させる(S25)。
次に、移動情報生成部73は、記憶部65に保存された位置情報D2に基づいて、マーカー部43A,43Bの移動に係わる移動情報D4を生成する(S25)。移動情報生成部73は、位置情報D2から各マーカー部43A,43Bの移動情報D4として、移動距離、移動方向、速度、加速度、角度等の物理量を演算する。
<特徴点の抽出>
例えば、移動情報生成部73は、図6に示す複数のサンプリング点SP1の中から特徴点の抽出を行う。具体的には、移動情報生成部73は、例えば、起点となる特徴点として、治具15Aの移動開始位置に対応するサンプリング点SP1Aを特徴点として抽出する。また、移動情報生成部73は、複数のサンプリング点SP1の中から移動方向が所定の角度以上変更された点を、例えば、供給位置用マーカー部85に近接する位置において大きく移動方向が変更されたサンプリング点SP1Bを特徴点として抽出する。なお、この特徴点の判定は、移動情報生成部73が移動速度や移動方向に基づいて自動的に判定してもよく、あるいはユーザが入力部67を操作して指示してもよい。
例えば、移動情報生成部73は、図6に示す複数のサンプリング点SP1の中から特徴点の抽出を行う。具体的には、移動情報生成部73は、例えば、起点となる特徴点として、治具15Aの移動開始位置に対応するサンプリング点SP1Aを特徴点として抽出する。また、移動情報生成部73は、複数のサンプリング点SP1の中から移動方向が所定の角度以上変更された点を、例えば、供給位置用マーカー部85に近接する位置において大きく移動方向が変更されたサンプリング点SP1Bを特徴点として抽出する。なお、この特徴点の判定は、移動情報生成部73が移動速度や移動方向に基づいて自動的に判定してもよく、あるいはユーザが入力部67を操作して指示してもよい。
そして、移動情報生成部73は、抽出した特徴点(サンプリング点SP1A,SP1B)の座標位置から傾きを演算し、マーカー部43A(治具15A)の移動方向を検出する。あるいは、移動情報生成部73は、例えば、抽出した特徴点の距離を、特徴点間の時間で除算してマーカー部43Aの移動速度を検出する。
また、移動情報生成部73は、特徴点間のサンプリング点SP1の位置情報D2を近似する補正処理を行ってもよい。例えば、移動情報生成部73は、抽出した特徴点(サンプリング点SP1A,SP1B)を、移動の起点及び終点として設定し、当該起点(サンプリング点SP1A)から終点(サンプリング点SP1B)に向かってロボットアーム101(図3参照)のアーム部105が移動可能となるように、特徴点間のサンプリング点SP1の位置情報D2を補正する。例えば、移動情報生成部73は、外部からのノイズによって、大幅に位置のずれたサンプリング点SP1が特徴点間にある場合、当該サンプリング点SP1に係わる位置情報D2を不要なデータとして破棄する。あるいは、移動情報生成部73は、特徴点間の位置情報D2を、当該特徴点を結ぶ直線で近似する。
また、移動情報生成部73は、特徴点間を曲線で近似してもよい。例えば、図6に示す複数のサンプリング点SP2のうち、移動情報生成部73は、特徴点として移動方向が所定角度以上変更されたサンプリング点SP2A,SP2Bを抽出する。2つの特徴点(サンプリング点SP2A,SP2B)間の移動は、移動方向を徐々に変更しながら湾曲して移動している。この場合、移動情報生成部73は、例えば、サンプリング点SP2Aを起点、サンプリング点SP2Bを終点として、当該特徴点(サンプリング点SP2A,SP2B)間のサンプリング点SP2の位置情報D2を、曲線で近似する。
<サンプリングによる演算>
また、移動情報生成部73は、上記した特徴点による方法に限らず、他の方法により移動方向等を検出してもよい。例えば、移動情報生成部73は、位置情報生成部71によってサンプリングされた複数のサンプリング点SP1うち、隣接するサンプリング点SP1の座標位置から傾きを演算し、マーカー部43A(治具15A)の移動方向を検出してもよい。あるいは、移動情報生成部73は、例えば、隣接するサンプリング点SP1間の距離と、位置情報生成部71のサンプリング周期とを乗算してマーカー部43Aの移動速度を検出してもよい。
また、移動情報生成部73は、上記した特徴点による方法に限らず、他の方法により移動方向等を検出してもよい。例えば、移動情報生成部73は、位置情報生成部71によってサンプリングされた複数のサンプリング点SP1うち、隣接するサンプリング点SP1の座標位置から傾きを演算し、マーカー部43A(治具15A)の移動方向を検出してもよい。あるいは、移動情報生成部73は、例えば、隣接するサンプリング点SP1間の距離と、位置情報生成部71のサンプリング周期とを乗算してマーカー部43Aの移動速度を検出してもよい。
次に、移動情報生成部73は、サンプリング点SP1,SP2を結ぶ曲線の曲率、及び検出した移動速度の少なくとも一方が、図3に示す産業用ロボット100の移動能力を超えていた場合に、位置情報D2を補正し、移動情報D4の生成を再度実行する(S27)。例えば、図6に示すように、複数のサンプリング点SP2のうちの1点であるサンプリング点SP2Cにおいて、マーカー部43Bが大きく湾曲して移動している。このような湾曲した移動が、実際のロボットアーム103の移動能力を超えていた場合、制御情報D5を生成したとしても、ロボットアーム103を制御することは困難となる。
そこで、移動情報生成部73は、記憶部65の保存された設計情報D6に基づいて、例えば、サンプリング点SP2(例えば、サンプリング点SP2A,SP2B間)を結ぶ曲率が、ロボットアーム103の移動能力に応じて設定された曲率に比べて大きい場合、移動可能な曲率となるように位置情報D2を補正する。そして、移動情報生成部73は、補正後の位置情報D2(サンプリング点SP2)に基づいて、再度、移動情報D4を生成する。
また、例えば、図6に示すように、複数のサンプリング点SP1のうちの2点であるサンプリング点SP1C,SP1D間の距離が大きく離れている。サンプリング点SP1C,SP1D間の距離が離れると、演算結果の移動速度も早くなる。この移動速度が、実際のロボットアーム103の移動能力を超えていた、あるいは安全な移動速度を超えていたい場合、上記した曲率と同様に、制御情報D5を生成したとしても、ロボットアーム103を制御することは困難となる。
このため、移動情報生成部73は、曲率の場合と同様に、記憶部65の保存された設計情報D6に基づいて、例えば、サンプリング点SP1C,SP1Dの距離から算出された移動速度が、ロボットアーム103の最大移動速度に比べて大きい場合、移動可能な速度となるように位置情報D2を補正する処理を行う。そして、移動情報生成部73は、補正後の位置情報D2(サンプリング点SP1C,SP1D)に基づいて、再度、移動情報D4を生成する。なお、移動情報生成部73は、曲率や移動速度に応じてサンプリング点SP1,SP2(位置情報D2)を補正する場合は、補正後のサンプリング点SP1,SP2間の距離が上記した衝突の虞がある距離以上となるように補正する。
CPU61は、移動情報生成部73による補正処理(S27)が完了すると、変換部63に対し取り込んでいない撮像データD1があるか否かを問い合わせる(S29)。取り込んでいない撮像データD1がある場合(S29:NO)、CPU61は、S11からの処理を再度、実行する。
CPU61は、変換部63から取り込む撮像データD1がない場合(S29:YES)、制御情報生成部75に対し制御情報D5の生成を指示する。制御情報生成部75は、記憶部65に保存された位置情報D2、移動情報D4、及び作業情報D3に基づいて、ロボットアーム101,103を移動させ、且つ作業位置においてハンド部109,111に作業させる一連の作業の制御情報D5を生成する(S31)。なお、制御情報生成部75は、未処理の作業情報D3、例えば、治具15A,15Bを実装位置用マーカー部88A,88Bの位置まで到達させ撮像を終了させた後にユーザが入力部67を操作して入力した作業情報D3がある場合には、当該作業情報D3をあわせて処理することが好ましい。
そして、制御情報生成部75は、例えば、マーカー部43の位置情報D2や移動情報D4に応じた位置や移動速度でアーム部105,107(図3参照)を動作させる制御情報D5を生成する。また、制御情報生成部75は、可動部用マーカー部46の撮像データD1から生成した位置情報D2に基づいて、エンドエフェクタ45(ハンド部109,111)の位置や向き等を検出する。制御情報生成部75は、アーム部105,107を移動させる制御情報D5に、ハンド部109,111を回転や開閉させる制御を追加する。これにより、制御情報生成部75は、アーム部105,107を所定の作業位置(図4の供給位置用マーカー部84など)まで移動させた後、ハンド部109,111によってワークW1,W2を挟持する一連の作業の制御情報D5を生成することが可能となる。
また、制御情報生成部75は、S31において、補正作業を制御情報D5に追加する処理を実行する。具体的には、制御情報生成部75は、例えば、アーム部105,107を供給装置81,82の供給位置(供給位置用マーカー部84,85の位置)まで移動させた後、ハンド部109,111によるワークW1,W2の挟持作業を実施する前に、供給装置82の供給位置とハンド部109,111の位置との誤差を補正する情報を制御情報D5に追加する。例えば、ロボットアーム101のハンド部109に基板B等を撮像するカメラが搭載されている場合には、当該カメラを用いて供給装置82の供給位置を撮像し、撮像データに基づいて、ハンド部109と供給位置との相対的な位置の誤差を補正する処理を、制御情報D5に追加する。このようにして、ティーチング装置10は、モーションキャプチャーを実行して制御情報D5を生成することが可能となる。
因みに、上記実施形態において、カメラ13は、検出部の一例である。治具15Aは、第1治具の一例である。治具15Bは、第2治具の一例である。マーカー部43Aは、第1位置マーカー部の一例である。マーカー部43Bは、第2位置マーカー部の一例である。エンドエフェクタ45Aは、第1可動部の一例である。エンドエフェクタ45Bは、第2可動部の一例である。アクチュエーター49は、第1及び第2駆動部の一例である。CPU61は、処理部の一例である。ロボットアーム101,103は、ロボットの一例である。アーム部105は、第1移動部の一例である。アーム部107は、第2移動部の一例である。ハンド部109は、第1作業部の一例である。ハンド部109は、第2作業部の一例である。撮像データD1は、検出データの一例である。サンプリング点SP1A,SP1B,SP2A,SP2Bは、特徴点の一例である。S17の処理は、位置情報生成処理の一例である。S21の処理は、距離判定処理の一例である。S23の処理は、報知処理の一例である。S25の処理は、移動情報生成処理の一例である。S31の処理は、制御情報生成処理の一例である。
以上、上記した本実施形態によれば以下の効果を奏する。
<効果1>ティーチング装置10は、図3に示すアーム部105,107と、ハンド部109,111とをそれぞれ備える一対のロボットアーム101,103を制御する制御情報D5を生成する。ここで、従来のモーションキャプチャーでは、被検出体として測定装置を装着した人の手等を用いるため、トラッキング領域内に人の腕等が侵入し接触等する虞があった。これに対し、当該ティーチング装置10では、マーカー部43Aを設けた治具15Aと、マーカー部43Bを設けた治具15Bとを、被検出体として用いる。これにより、2台のロボットアーム101,103の動作を模擬する場合、モーションキャプチャーを実施するトラッキング領域R1内に複数のユーザの腕が挿入することがなく、ユーザの腕が干渉するなどの不具合を防止することが可能となる。
<効果1>ティーチング装置10は、図3に示すアーム部105,107と、ハンド部109,111とをそれぞれ備える一対のロボットアーム101,103を制御する制御情報D5を生成する。ここで、従来のモーションキャプチャーでは、被検出体として測定装置を装着した人の手等を用いるため、トラッキング領域内に人の腕等が侵入し接触等する虞があった。これに対し、当該ティーチング装置10では、マーカー部43Aを設けた治具15Aと、マーカー部43Bを設けた治具15Bとを、被検出体として用いる。これにより、2台のロボットアーム101,103の動作を模擬する場合、モーションキャプチャーを実施するトラッキング領域R1内に複数のユーザの腕が挿入することがなく、ユーザの腕が干渉するなどの不具合を防止することが可能となる。
また、ティーチング装置10は、ハンド部109,111が作業位置において実施するワークW1,W2を挟む作業等の作業情報D3を入力するための入力部67を備える。ユーザは、マーカー部43A,43Bを設けた治具15A,15Bを動かしてモーションキャプチャーを実施する際に、適切なタイミングで入力部67を操作し、産業用ロボット100にさせたい作業内容を作業情報D3として入力することで、ティーチング装置10に対しハンド部109,111の細かい作業内容を設定することが可能となる。これにより、ティーチング装置10は、治具15A,15Bの位置情報D2等と、作業情報D3とをリンクさせた一連の作業の制御情報D5を生成することが可能となる。
<効果2>治具15Aに設けられたマーカー部43Aは、照明装置33が照射する特定の波長の光を反射する反射特性を有する材質等で構成されている。また、もう一方の治具15Bに設けられたマーカー部43Bは、照明装置34が照射する特定の波長の光を反射する反射特性を有する材質等で構成されている。複数のカメラ13は、各マーカー部43A,43Bが反射した反射光を撮像素子31によって撮像する。このような構成では、CPU61は、撮像素子31の撮像データD1から、輝度等で識別しながらマーカー部43A,43Bの各々の位置を検出することが可能となる。
<効果3>位置情報生成部71は、サンプリング点SP1,SP2間の距離を演算し、演算した距離が衝突の虞がある距離以下であると判定した場合(S21:YES)、表示部69にエラー表示を実行する(S23)。これにより、ユーザは、アーム部105,107等が衝突する虞のある距離まで治具15A,15Bが近づいたことを認識でき、モーションキャプチャーを再度やり直すなどの適切な対応を取ることが可能となる。
<効果4>治具15A,15Bは、駆動スイッチ51が操作されることによってアクチュエーター49が駆動する。アクチュエーター49の駆動に応じて、可動部用マーカー部46A,46Bが取り付けられたエンドエフェクタ45A,45Bは、駆動する。制御情報生成装置17は、モーションキャプチャー時において、アクチュエーター49の駆動に応じて可動する可動部用マーカー部46A,46Bのそれぞれの動作をトラッキングする。これにより、ユーザは、所定の作業位置において、アクチュエーター49によってエンドエフェクタ45A,45Bを動作させることによって、人の指等で模擬する場合に比べて、ワークW1,W2を掴んだりする動作等をより忠実に再現することが可能となる。
<効果3>位置情報生成部71は、サンプリング点SP1,SP2間の距離を演算し、演算した距離が衝突の虞がある距離以下であると判定した場合(S21:YES)、表示部69にエラー表示を実行する(S23)。これにより、ユーザは、アーム部105,107等が衝突する虞のある距離まで治具15A,15Bが近づいたことを認識でき、モーションキャプチャーを再度やり直すなどの適切な対応を取ることが可能となる。
<効果4>治具15A,15Bは、駆動スイッチ51が操作されることによってアクチュエーター49が駆動する。アクチュエーター49の駆動に応じて、可動部用マーカー部46A,46Bが取り付けられたエンドエフェクタ45A,45Bは、駆動する。制御情報生成装置17は、モーションキャプチャー時において、アクチュエーター49の駆動に応じて可動する可動部用マーカー部46A,46Bのそれぞれの動作をトラッキングする。これにより、ユーザは、所定の作業位置において、アクチュエーター49によってエンドエフェクタ45A,45Bを動作させることによって、人の指等で模擬する場合に比べて、ワークW1,W2を掴んだりする動作等をより忠実に再現することが可能となる。
<効果5>制御情報生成部75は、S31において、アーム部105,107を供給装置81,82の供給位置(供給位置用マーカー部84,85の位置)まで移動させた後、ハンド部109,111によるワークW1,W2の挟持作業を実施する前に、供給装置82の供給位置とハンド部109,111の位置との誤差を補正する情報を制御情報D5に追加する。治具15をユーザが手で動かす場合には、マーカー部43の移動の精度は、ユーザが治具15を操る精度に依存する。これに対し、制御情報生成部75は、作業位置で作業を実施する前に位置補正を実施する情報を制御情報D5に追加することで、高い精度が要求される作業にも対応可能な制御情報D5を生成することが可能となる。
<効果6>移動情報生成部73は、S25において、図6に示す複数のサンプリング点SP1の中から特徴点の抽出し、抽出した特徴点(例えば、サンプリング点SP1A,SP1B)の座標位置から、特徴点間の傾き等を演算しマーカー部43A(治具15A)の移動方向を検出する。また、移動情報生成部73は、特徴点間のサンプリング点SP1の位置情報D2を近似する補正処理を行う。これにより、生成した制御情報D5に基づいてロボットアーム101,103をより滑らかに動作させ、無駄な動作を省いて作業効率を向上させることが可能となる。
<効果7>また、移動情報生成部73は、特徴点とは別の処理方法として、位置情報生成部71によってサンプリングされた複数のサンプリング点SP1うち、隣接するサンプリング点SP1の座標位置から傾きを演算し、マーカー部43A(治具15A)の移動方向を検出してもよい。あるいは、移動情報生成部73は、例えば、隣接するサンプリング点SP1間の距離と、位置情報生成部71のサンプリング周期とを乗算してマーカー部43Aの移動速度を検出してもよい。このような構成では、サンプリング周期の時間を変更することで、マーカー部43の位置、移動方向、及び移動速度を検出する精度を調整することが可能となる。
<効果8>移動情報生成部73は、S27において、サンプリング点SP1,SP2を結ぶ曲線の曲率等が、産業用ロボット100の移動能力を超えていた場合、位置情報D2を補正し、移動情報D4の生成を再度実行する。これにより、生成した制御情報D5を実際に制御する産業用ロボット100の移動能力に最適化し、当該産業用ロボット100を制御するデータとして制御情報D5を使用することが容易となる。
<効果9>位置情報生成部71は、S17において、3つの基準マーカー部91の重心位置を基準として、マーカー部43A,43Bの相対的な座標位置を演算する。これにより、生成した制御情報D5を使用する場合、基準マーカー部91の重心位置を、実際の作業領域内の基準、例えば、図3に示す基板Bの中心位置に合わせることで、産業用ロボット100を精度よく制御することが可能となる。
なお、本発明は、上記実施形態に限定されるものではなく、当業者の知識に基づいて種々の変更、改良を施した種々の態様で実施することが可能である。
例えば、上記実施形態では、複数の治具15A,15Bを用いたが、これに限らず、1つ又は3つ以上の治具15を用いてもよい。また、1つの治具15を複数回動作させて取得した複数の制御情報D5を、後から合成してもよい。
例えば、上記実施形態では、複数の治具15A,15Bを用いたが、これに限らず、1つ又は3つ以上の治具15を用いてもよい。また、1つの治具15を複数回動作させて取得した複数の制御情報D5を、後から合成してもよい。
また、上記実施形態において、治具15の構成、可動部用マーカー部46の位置等は、一例であり、適宜変更可能である。図7は、別例の治具120を示している。なお、以下の説明では、上記実施形態と同様の構成については、同一符号を付し、その説明を適宜省略する。治具120の一対のエンドエフェクタ123,124は、外側に開く湾曲形状をなしており、互いの間にマーカー部43が設けられている。エンドエフェクタ123,124の各々には、形状の異なる可動部用マーカー126,127が設けられている。可動部用マーカー126,127は、一方に長い長方形状をなしており、エンドエフェクタ123,124の延設方向に向かって配置されている。可動部用マーカー126は、可動部用マーカー127に比べて長くなっている。このような構成では、可動部用マーカー126,127の反射特性だけでなく、形状に差を設けることで、治具120の上下方向の向きや傾きを検出し易くすることが可能となる。
また、治具120の本体部129には、3つの本体部用マーカー部131が設けられている。3つの本体部用マーカー部131は、互いの距離が異なるように、例えば、1つの直角三角形の各頂点となる位置に設けられている。このような構成では、例えば、3つの本体部用マーカー部131の各位置を検出し、三角測量の原理等を利用したアルゴリズムによって治具120の傾き等を検出することが可能となる。
また、図8に示すように、エンドエフェクタ45を備えない治具140を用いてもよい。図8に示す治具140は、T字形状をなしており、直交する3方向に延びる部分のそれぞれにマーカー部142,143,144が設けられている。マーカー部142~144は、一方に長い長方形状をなしており、互いに異なる長さとなっている。このような構成の治具140を用いても、制御情報生成装置17に対して、アーム部105,107の位置や移動方向等を教示することが可能となる。
また上記実施形態では、治具15Aのマーカー部43Aを、照明装置33が照射する特定の波長の光を反射する反射特性とし、もう一方の治具15Bのマーカー部43Bを、照明装置34が照射する特定の波長の光を反射する反射特性として構成し、2つのマーカー部43A,43Bの反射特性に差を設けることで識別していたが、識別方法はこれに限定されない。例えば、図9に示すように、一方の治具150に3つのマーカー部151を設け、図10に示すように、他方の治具160に4つのマーカー部161を設けて、それぞれをグループ化して識別してもよい。なお、以下の説明では、図7の治具120と同様の構成については、同一符号を付し、その説明を適宜省略する。
図9に示すように、3つのマーカー部151の各々は、エンドエフェクタ123の先端部、エンドエフェクタ124の先端部、本体部129の中央部分にそれぞれ設けられ、図9中に一点鎖線で示すように、略正三角形の頂点の位置に設けられている。また、図10に示すように、4つのマーカー部161は、エンドエフェクタ123の先端部、エンドエフェクタ124の先端部、本体部129における端部部分(図10における左右両側の端部)にそれぞれ設けられ、図10中に一点鎖線で示すように、台形を構成する位置に設けられている。このため、マーカー部151の重心位置153と、マーカー部161の重心位置163は、互いに異なる位置となる。
そして、例えば、モーションキャプチャーを実行する前の初期設定として、制御情報生成装置17は、トラッキング領域R1内に挿入された治具150を撮像し、3つのマーカー部151をグループ化し、マーカー部151の重心位置153を被検出対象として設定する(第1重心位置設定処理の一例)。同様に、制御情報生成装置17は、治具160を撮像し、4つのマーカー部161をグループ化し、マーカー部161の重心位置163を被検出対象として設定する(第2重心位置設定処理の一例)。
これにより、グループ化された各マーカー部151,161の群単位で、撮像データD1から抽出した位置情報D2(座標位置)のマッチングを実施することで、各マーカー部151,161(重心位置153,163)の位置や移動方向の混同を防ぎ、精度よく検出することが可能となる。また、マーカー部151,161の互いの重心位置153,163が異なるため、抽出した座標位置と、マーカー部151,161のマッチングが容易となる。また、例えば、3つのマーカー部151の一つの位置が検出できなくとも、他のマーカー部151の位置情報に基づいて検出できないマーカー部151の位置を補間し、重心位置153を取得することで、位置の消失を防止することが可能となる。
また、2つのマーカー部43A,43Bの識別方法は、上記した反射特性やグループ化に限らず、2つのマーカー部43A,43Bの互いの色、大きさ、形状等を異ならせることで、識別してもよい。あるいは、これらの組み合わせによって異なる特性を付与し、マーカー部43A,43Bを識別してもよい。あるいは、マーカー部43A,43Bを異なる発光色のLED等で構成し、マーカー部43A,43B自体を発光させてもよい。
また、上記実施形態において、CPU61は、S27において曲率及び移動速度に基づいて、位置情報D2を補正したが、これに限らず、産業用ロボット100の最大加速度に基づいて位置情報D2を補正してもよい。
また、上記実施形態では、入力部67を操作してリアルタイムで作業情報D3を入力したが、これに限らない。例えば、特定のマーカー部を予め登録しておき、制御情報生成装置17は、その特定のマーカー部を検出したタイミングを、作業情報D3を追加するタイミングの情報として制御情報D5に保存してもよい。ユーザは、制御情報D5を生成した後に、制御情報D5に保存された作業情報D3を挿入すべきタイミングの情報を検索し、必要な作業情報D3を追加してもよい。従来の構成では、メインプログラムのどのポイントに必要なサブルーチンを追加するのかを、メインプログラムの内容を見ながら検索する必要があった。これに対し、当該方法によれば、追加すべきポイントが予め設定されているため、サブルーチンの追加が容易となる。この場合、特定のマーカー部は、本願における入力部の一例となる。
また、上記実施形態において、位置情報生成部71は、ユーザの手作業によるぶれを修正するため、生成した位置情報D2(座標位置)を補正する処理を実行してもよい。
また、制御情報D5は、位置情報生成部71が生成した位置情報D2のすべてを使用せずに、特徴点(開始点、通過点、到達点)だけを抽出して、その特徴点を結ぶ線路の移動を可能とする制御情報D5を生成してもよい。
また、制御情報D5は、位置情報生成部71が生成した位置情報D2のすべてを使用せずに、特徴点(開始点、通過点、到達点)だけを抽出して、その特徴点を結ぶ線路の移動を可能とする制御情報D5を生成してもよい。
また、本願におけるロボットとして、ロボットアーム101,103に適用する例について説明したが、これに限定されない。例えば、本願におけるロボットは、電子部品の吸着やレーザビームの照射、ネジ締め等の作業を行う作業部を備えるロボットでもよい。また、シリアルリンク機構を備えたロボットに限らず、XY軸方向に直交して動作するロボット、パラレルリンク機構を備えたロボットでもよい。
また、上記実施形態では、光学方式を用いたモーションキャプチャーについて説明したが、本願におけるモーションキャプチャーは、他との方法、例えば、磁気センサの動作を検出する磁気方式でもよい。例えば、治具15に位置データを送信する磁気センサを取り付け、カメラ13の代わりに位置データを受信する受信装置を取り付けてもよい。この場合、当該磁気センサは、本願における移動部の位置を示す位置マーカー部に対応する。また、受信装置は、検出部に対応する。
また、上記実施形態では、光学方式を用いたモーションキャプチャーについて説明したが、本願におけるモーションキャプチャーは、他との方法、例えば、磁気センサの動作を検出する磁気方式でもよい。例えば、治具15に位置データを送信する磁気センサを取り付け、カメラ13の代わりに位置データを受信する受信装置を取り付けてもよい。この場合、当該磁気センサは、本願における移動部の位置を示す位置マーカー部に対応する。また、受信装置は、検出部に対応する。
10 ティーチング装置、13 カメラ(検出部)、15A 治具(第1治具)、15B 治具(第2治具)、43A マーカー部(第1位置マーカー部)43B マーカー部(第2位置マーカー部)、45A エンドエフェクタ(第1可動部)、45B エンドエフェクタ(第2可動部)、46A 可動部用マーカー部(第1可動部用マーカー部)、46A 可動部用マーカー部(第1可動部用マーカー部)、49 アクチュエーター(第1及び第2駆動部)、61 CPU(処理部)、67 入力部、91 基準マーカー部、101,103 ロボットアーム(ロボット)、105 アーム部(第1移動部)、107 アーム部(第2移動部)、109 ハンド部(第1作業部)、111 ハンド部(第2作業部)、D1 撮像データ(検出データ)、D2 位置情報、D3 作業情報、D5 制御情報、SP1,SP2 サンプリング点、SP1A,SP1B,SP2A,SP2B サンプリング点(特徴点)。
Claims (13)
- 第1及び第2移動部と、前記第1移動部に設けられた第1作業部と、前記第2移動部に設けられた第2作業部とを備えるロボットの動作を制御する制御情報を生成するティーチング装置であって、
前記第1移動部の位置を示す第1位置マーカー部を有する第1治具と、
前記第2移動部の位置を示し、前記第1位置マーカー部とは異なる特性を有する第2位置マーカー部を有する第2治具と、
前記第1及び第2治具の各々の移動にともなって移動する前記第1及び第2位置マーカー部を検出する検出部と、
前記第1及び第2作業部の各々が作業位置において実施する作業に係わる作業情報を入力する入力部と、
前記検出部が前記第1及び第2位置マーカー部の各々を検出した検出データと、前記入力部の前記作業情報とを処理する処理部と、を備え、
前記処理部は、
前記検出データに基づいて、前記第1及び第2位置マーカー部の各々の3次元座標の位置情報を生成する位置情報生成処理と、
前記位置情報に基づいて、前記第1及び第2位置マーカー部の各々の移動方向及び移動速度に係わる移動情報を生成する移動情報生成処理と、
前記位置情報及び前記移動情報に応じて前記第1及び第2移動部の各々を協調して移動させ、且つ前記作業情報に応じて前記第1及び第2作業部の各々に作業をさせる一連の作業の前記制御情報を生成する制御情報生成処理と、を実行することを特徴とするティーチング装置。 - 複数の前記第1位置マーカー部と、
複数の前記第1位置マーカー部とは異なる数の複数の前記第2位置マーカー部と、を備え、
前記処理部は、
複数の前記第1位置マーカー部の重心を第1重心位置として設定する第1重心位置設定処理と、
複数の前記第2位置マーカー部の重心を第2重心位置として設定する第2重心位置設定処理と、を実行し、
前記位置情報生成処理として、前記第1重心位置及び前記第2重心位置の各々の3次元座標の位置情報を生成することを特徴とする請求項1に記載のティーチング装置。 - 前記検出部は、前記第1及び第2位置マーカー部を撮像し、撮像した撮像データを前記検出データとして前記処理部に出力する撮像素子を有し、
前記第1及び第2位置マーカー部の各々に対し、互いに波長が異なる第1照射光及び第2照射光を照射する照明部を備え、
前記第1位置マーカー部は、前記第1照射光を反射可能に構成され、
前記第2位置マーカー部は、前記第2照射光を反射可能に構成されることを特徴とする請求項1に記載のティーチング装置。 - 前記処理部は、
前記位置情報に基づいて、前記第1及び第2位置マーカー部の互いの間の距離を判定する距離判定処理と、
前記距離が所定の距離以下となった場合に、その旨を報知する報知処理と、を実行することを特徴とする請求項1乃至請求項3のいずれかに記載のティーチング装置。 - 前記第1治具は、第1可動部と、前記第1可動部を駆動する第1駆動部と、前記第1可動部の位置を示す第1可動部用マーカー部とを有し、
前記第2治具は、第2可動部と、前記第2可動部を駆動する第2駆動部と、前記第2可動部の位置を示す第2可動部用マーカー部とを有し、
前記処理部は、前記位置情報生成処理として、前記第1及び第2駆動部の駆動に基づいて前記第1及び第2可動部の各々が動作するのにともなって移動する前記第1及び第2可動部用マーカー部の各々の前記位置情報を生成することを特徴とする請求項1乃至請求項4のいずれかに記載のティーチング装置。 - 前記処理部は、前記制御情報生成処理において、前記第1移動部を移動させた後に前記第1作業部による作業を実施する前、及び前記第2移動部を移動させた後に前記第2作業部による作業を実施する前の2つのタイミングのうち、少なくとも一方のタイミングで実行する前記制御情報として、前記作業位置における前記第1及び第2作業部の位置を補正する制御情報を追加することを特徴とする請求項1乃至請求項5のいずれかに記載のティーチング装置。
- 前記処理部は、前記位置情報生成処理において、生成した前記位置情報の中から複数の特徴点を抽出し、前記特徴点間の前記位置情報を近似する補正処理を行うことを特徴とする請求項1乃至請求項6のいずれかに記載のティーチング装置。
- 前記処理部は、前記位置情報生成処理として、前記検出データに基づいて、前記第1及び第2位置マーカー部の各々の位置をサンプリングし、サンプリング点の位置を前記位置情報として生成することを特徴とする請求項1乃至請求項6のいずれかに記載のティーチング装置。
- 前記処理部は、前記移動情報生成処理として、前記位置情報生成処理によって生成された前記第1及び第2位置マーカー部の各々のサンプリング点に対し、隣接する前記サンプリング点間の位置関係に基づいて前記移動方向を検出し、隣接する前記サンプリング点間の距離とサンプリング周期とに基づいて前記移動速度を検出することを特徴とする請求項8に記載のティーチング装置。
- 前記処理部は、前記移動情報生成処理として、前記サンプリング点を結ぶ曲線の曲率が所定の曲率を超えていた場合、前記移動速度が所定の速度を超えていた場合、及び前記移動速度における加速度が所定の加速度を超えていた場合の少なくとも一つの場合に、前記位置情報を補正することを特徴とする請求項9に記載のティーチング装置。
- 前記ロボットの動作の基準となる位置に設けられた基準マーカー部を備え、
前記検出部は、前記基準マーカー部を検出し、
前記処理部は、前記位置情報生成処理において、前記基準マーカー部に対する前記第1位置マーカー部の相対的な位置と、前記基準マーカー部に対する前記第2位置マーカー部の相対的な位置とのそれぞれを、前記位置情報として生成することを特徴とする請求項1乃至請求項10のいずれかに記載のティーチング装置。 - 前記ロボットは、前記第1及び第2移動部の各々の駆動機構としてシリアルリンク機構を備えることを特徴とする請求項1乃至請求項11のいずれかに記載のティーチング装置。
- 第1及び第2移動部と、前記第1移動部に設けられた第1作業部と、前記第2移動部に設けられた第2作業部とを備えるロボットの動作を制御する制御情報の生成方法であって、前記第1移動部の位置を示す第1位置マーカー部を有する第1治具と、前記第2移動部の位置を示し、前記第1位置マーカー部とは異なる特性を有する第2位置マーカー部を有する第2治具と、前記第1及び第2治具の各々の移動にともなって移動する前記第1及び第2位置マーカー部を検出する検出部と、前記第1及び第2作業部の各々が作業位置において実施する作業に係わる作業情報を入力する入力部と、を備えるティーチング装置に対し、
前記検出部が前記第1及び第2位置マーカー部の各々を検出した検出データに基づいて、前記第1及び第2位置マーカー部の各々の3次元座標の位置情報を生成する位置情報生成ステップと、
前記位置情報に基づいて、前記第1及び第2位置マーカー部の各々の移動方向及び移動速度に係わる移動情報を生成する移動情報生成ステップと、
前記位置情報及び前記移動情報に応じて前記第1及び第2移動部の各々を協調して移動させ、且つ前記作業情報に応じて前記第1及び第2作業部の各々に作業をさせる一連の作業の前記制御情報を生成する制御情報生成ステップ処理と、を実行させることを特徴とする制御情報の生成方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017507136A JP6499272B2 (ja) | 2015-03-20 | 2015-03-20 | ティーチング装置及び制御情報の生成方法 |
PCT/JP2015/058426 WO2016151667A1 (ja) | 2015-03-20 | 2015-03-20 | ティーチング装置及び制御情報の生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/058426 WO2016151667A1 (ja) | 2015-03-20 | 2015-03-20 | ティーチング装置及び制御情報の生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016151667A1 true WO2016151667A1 (ja) | 2016-09-29 |
Family
ID=56977065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2015/058426 WO2016151667A1 (ja) | 2015-03-20 | 2015-03-20 | ティーチング装置及び制御情報の生成方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6499272B2 (ja) |
WO (1) | WO2016151667A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020097821A (ja) * | 2018-12-17 | 2020-06-25 | ドリルマシン株式会社 | 掘削システム |
WO2021245965A1 (ja) * | 2020-06-05 | 2021-12-09 | 株式会社島津製作所 | 自動試料注入装置 |
JPWO2022071588A1 (ja) * | 2020-10-02 | 2022-04-07 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02148111A (ja) * | 1988-11-30 | 1990-06-07 | Toshiba Corp | ロボットの制御方法及びその装置 |
JPH06102919A (ja) * | 1992-09-22 | 1994-04-15 | Nippon Telegr & Teleph Corp <Ntt> | ロボット軌道を教示するための方法 |
JPH0947989A (ja) * | 1995-08-08 | 1997-02-18 | Kawasaki Heavy Ind Ltd | ロボット作業教示装置 |
US5617515A (en) * | 1994-07-11 | 1997-04-01 | Dynetics, Inc. | Method and apparatus for controlling and programming a robot or other moveable object |
JPH09216183A (ja) * | 1996-02-13 | 1997-08-19 | Kawasaki Heavy Ind Ltd | ロボット3次元位置姿勢教示システム |
JPH1080882A (ja) * | 1996-09-06 | 1998-03-31 | Fujitsu Ltd | ロボット用座標変換パラメータ測定方法 |
JPH10264059A (ja) * | 1997-03-27 | 1998-10-06 | Trinity Ind Corp | 塗装ロボットのティーチング装置 |
JPH11123682A (ja) * | 1997-10-21 | 1999-05-11 | Denso Corp | 移動ロボットの停止位置検出システム |
JP2001300875A (ja) * | 2000-04-19 | 2001-10-30 | Denso Corp | ロボットシステム |
JP2004261878A (ja) * | 2003-02-06 | 2004-09-24 | Daihen Corp | 作業ロボットを用いた制御システムおよびこの制御システムによるワーク加工方法 |
JP2004348250A (ja) * | 2003-05-20 | 2004-12-09 | Yaskawa Electric Corp | ロボット制御装置 |
JP2005196242A (ja) * | 2003-12-26 | 2005-07-21 | Fanuc Ltd | 倣い加工装置 |
JP2007017180A (ja) * | 2005-07-05 | 2007-01-25 | National Institute Of Information & Communication Technology | 光学式モーションキャプチャにおけるマーカー認識方法及び装置 |
JP2011110621A (ja) * | 2009-11-24 | 2011-06-09 | Toyota Industries Corp | ロボットの教示データを作成する方法およびロボット教示システム |
JP2013034835A (ja) * | 2011-08-04 | 2013-02-21 | Olympus Corp | 手術支援装置及びその制御方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60263691A (ja) * | 1984-06-08 | 1985-12-27 | 株式会社日立製作所 | ロボツト用検査装置 |
JPS6259802A (ja) * | 1985-09-11 | 1987-03-16 | Fuji Facom Corp | 移動体の多点位置検出装置 |
JPH077887U (ja) * | 1993-07-06 | 1995-02-03 | 株式会社明電舎 | ロボットと画像処理装置との座標合せ装置 |
JPH0749711A (ja) * | 1993-08-05 | 1995-02-21 | Brother Ind Ltd | ロボットの安全装置 |
JPH0876829A (ja) * | 1994-09-07 | 1996-03-22 | Sumitomo Metal Ind Ltd | 連続作業経路のロボットへの教示方法 |
-
2015
- 2015-03-20 JP JP2017507136A patent/JP6499272B2/ja active Active
- 2015-03-20 WO PCT/JP2015/058426 patent/WO2016151667A1/ja active Application Filing
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02148111A (ja) * | 1988-11-30 | 1990-06-07 | Toshiba Corp | ロボットの制御方法及びその装置 |
JPH06102919A (ja) * | 1992-09-22 | 1994-04-15 | Nippon Telegr & Teleph Corp <Ntt> | ロボット軌道を教示するための方法 |
US5617515A (en) * | 1994-07-11 | 1997-04-01 | Dynetics, Inc. | Method and apparatus for controlling and programming a robot or other moveable object |
JPH0947989A (ja) * | 1995-08-08 | 1997-02-18 | Kawasaki Heavy Ind Ltd | ロボット作業教示装置 |
JPH09216183A (ja) * | 1996-02-13 | 1997-08-19 | Kawasaki Heavy Ind Ltd | ロボット3次元位置姿勢教示システム |
JPH1080882A (ja) * | 1996-09-06 | 1998-03-31 | Fujitsu Ltd | ロボット用座標変換パラメータ測定方法 |
JPH10264059A (ja) * | 1997-03-27 | 1998-10-06 | Trinity Ind Corp | 塗装ロボットのティーチング装置 |
JPH11123682A (ja) * | 1997-10-21 | 1999-05-11 | Denso Corp | 移動ロボットの停止位置検出システム |
JP2001300875A (ja) * | 2000-04-19 | 2001-10-30 | Denso Corp | ロボットシステム |
JP2004261878A (ja) * | 2003-02-06 | 2004-09-24 | Daihen Corp | 作業ロボットを用いた制御システムおよびこの制御システムによるワーク加工方法 |
JP2004348250A (ja) * | 2003-05-20 | 2004-12-09 | Yaskawa Electric Corp | ロボット制御装置 |
JP2005196242A (ja) * | 2003-12-26 | 2005-07-21 | Fanuc Ltd | 倣い加工装置 |
JP2007017180A (ja) * | 2005-07-05 | 2007-01-25 | National Institute Of Information & Communication Technology | 光学式モーションキャプチャにおけるマーカー認識方法及び装置 |
JP2011110621A (ja) * | 2009-11-24 | 2011-06-09 | Toyota Industries Corp | ロボットの教示データを作成する方法およびロボット教示システム |
JP2013034835A (ja) * | 2011-08-04 | 2013-02-21 | Olympus Corp | 手術支援装置及びその制御方法 |
Non-Patent Citations (1)
Title |
---|
LIAN-YI CHEN; ET AL.: "Robot teaching with operating stick using the virtual reality system", ROBOT AND HUMAN COMMUNICATION, 1995. RO -MAN'95 TOKYO , PROCEEDINGS., 4TH IEEE INTERNATIONAL WORKSHOP, 1 January 1995 (1995-01-01), pages 345 - 350, XP055315650 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020097821A (ja) * | 2018-12-17 | 2020-06-25 | ドリルマシン株式会社 | 掘削システム |
WO2021245965A1 (ja) * | 2020-06-05 | 2021-12-09 | 株式会社島津製作所 | 自動試料注入装置 |
JPWO2021245965A1 (ja) * | 2020-06-05 | 2021-12-09 | ||
JP7491374B2 (ja) | 2020-06-05 | 2024-05-28 | 株式会社島津製作所 | 自動試料注入装置 |
JPWO2022071588A1 (ja) * | 2020-10-02 | 2022-04-07 | ||
WO2022071588A1 (ja) * | 2020-10-02 | 2022-04-07 | 川崎重工業株式会社 | 処理方法、プログラム及びロボットシステム |
JP7145357B2 (ja) | 2020-10-02 | 2022-09-30 | 川崎重工業株式会社 | 処理方法、プログラム及びロボットシステム |
Also Published As
Publication number | Publication date |
---|---|
JP6499272B2 (ja) | 2019-04-10 |
JPWO2016151667A1 (ja) | 2018-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6499273B2 (ja) | ティーチング装置及び制御情報の生成方法 | |
US9519736B2 (en) | Data generation device for vision sensor and detection simulation system | |
TWI576221B (zh) | Robot and its control method | |
JP7518610B2 (ja) | 制御装置、制御システム、ロボットシステム及び制御方法 | |
JP7064884B2 (ja) | 部品組付装置の較正方法 | |
JP2021167060A (ja) | 人間の実演によるロボット教示 | |
WO2011065035A1 (ja) | ロボットの教示データを作成する方法およびロボット教示システム | |
US20190030722A1 (en) | Control device, robot system, and control method | |
JP2008168372A (ja) | ロボット装置及び形状認識方法 | |
JP2008207262A (ja) | マニピュレータシステム | |
JP6499272B2 (ja) | ティーチング装置及び制御情報の生成方法 | |
WO2020179416A1 (ja) | ロボット制御装置、ロボット制御方法、及びロボット制御プログラム | |
JP6660962B2 (ja) | ティーチング装置及び制御情報の生成方法 | |
JP2023084116A (ja) | 視覚サーボを用いた実演によるロボット教示 | |
JP2001287179A (ja) | 産業用ロボット教示装置 | |
TWI696529B (zh) | 自動定位方法以及自動控制裝置 | |
US12036663B2 (en) | Method and control arrangement for determining a relation between a robot coordinate system and a movable apparatus coordinate system | |
WO2023013740A1 (ja) | ロボット制御装置、ロボット制御システム、及びロボット制御方法 | |
Zhang et al. | Vision-guided robot alignment for scalable, flexible assembly automation | |
JP2023059837A (ja) | 人間のデモンストレーションによるロボットプログラム作成方法 | |
JP6343930B2 (ja) | ロボットシステム、ロボット制御装置、及びロボット制御方法 | |
US11712797B2 (en) | Dual hand detection in teaching from demonstration | |
WO2023105637A1 (ja) | 産業機械の動作を検証するための装置、及び方法 | |
TWI734237B (zh) | 自動控制方法以及自動控制裝置 | |
WO2023157083A1 (ja) | ワークの位置を取得する装置、制御装置、ロボットシステム、及び方法 |
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: 15886224 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2017507136 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15886224 Country of ref document: EP Kind code of ref document: A1 |