WO2022113952A1 - 3次元対象物の形状を認識し、その形状に沿って多関節ロボットを作動させる装置及び方法 - Google Patents
3次元対象物の形状を認識し、その形状に沿って多関節ロボットを作動させる装置及び方法 Download PDFInfo
- Publication number
- WO2022113952A1 WO2022113952A1 PCT/JP2021/042845 JP2021042845W WO2022113952A1 WO 2022113952 A1 WO2022113952 A1 WO 2022113952A1 JP 2021042845 W JP2021042845 W JP 2021042845W WO 2022113952 A1 WO2022113952 A1 WO 2022113952A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- dimensional object
- articulated robot
- normal direction
- shape
- tip
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 30
- 238000005498 polishing Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 8
- 239000011324 bead Substances 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 12
- 239000003638 chemical reducing agent Substances 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 238000003754 machining Methods 0.000 description 5
- 239000003921 oil Substances 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 3
- 238000004080 punching Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- 239000010687 lubricating oil Substances 0.000 description 1
- 229940127554 medical product Drugs 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000465 moulding Methods 0.000 description 1
- 238000013021 overheating Methods 0.000 description 1
- 238000007517 polishing process Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000005428 wave function Effects 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
Definitions
- the present invention relates to a device and a method for automatically recognizing the shape of a three-dimensional object and automatically operating an articulated robot according to the shape.
- the manufacturing process of Western tableware, utensils, etc. is in the order of trim press (outer diameter punching), flat surface polishing, blade punching / bending press (molding), end face polishing (edge rubbing / blade rubbing), and cleaning. It is done in.
- trim press outer diameter punching
- flat surface polishing blade punching / bending press
- end face polishing edge rubbing / blade rubbing
- cleaning cleaning
- the end face polishing process which is the final finish, depends mostly on the manual work of craftsmen, but due to the aging of craftsmen and the shortage of successors, there is a shortage of manpower year by year, and as a result, it is not possible to handle large orders and it is lost. Since there are cases where it is noted, automation is urgently required.
- the end face polishing step includes two steps of edge rubbing for polishing the outer periphery of the press and blade rubbing for polishing the blade groove of the fork. Both of these are done manually by craftsmen, the former is polishing by pressing the grindstone in the normal direction of the outer circumference of the fork at a constant pressure, and the latter is polishing by inserting the groove of the fork between the thin rotary grindstones. , All of these are dangerous work for the operator due to inhalation of dust, damage to the grindstone, and the like.
- Patent Document 1 describes a step of generating locus data by a CAD model of a work and storing it in a storage device, and two directions in which a machining tool to be machined at a tip portion is orthogonal to both the first surface and the second surface.
- the first of the workpieces at the tip of the machining tool including the step of controlling the force in one direction orthogonal to the first or second surface and polishing the workpiece at a position away from the boundary line based on the trajectory data.
- a method for controlling a polishing robot for polishing a surface or a second surface is disclosed.
- Patent Document 2 describes a color pattern projection device that projects a wide color pattern having different hues in each projection direction into space, and a color image capturing device that captures an object on which the color pattern is projected. Projector coordinates restored by calculation from the image coordinates of any point in the color image and the hue of the image data at that point using a calculation device that calculates 3D coordinates from the color image and projection pattern information. Therefore, a method of measuring the three-dimensional shape of an object by calculating and obtaining the three-dimensional coordinates of the object based on the active stereo method or the triangulation method is disclosed.
- the trajectory data created based on the shape data of the work design drawing is applied to the tip portion of the machining tool along the boundary line between the first surface and the second surface. Is corrected by imitating. Since the actual shape of the work is different, the problem is that the trajectory data created based on the shape data of the design drawing must be corrected by imitating the tip of the machining tool for each work. There is.
- an object of the present invention is to solve the above-mentioned problems and to provide a device and a method for automatically recognizing the shape of a three-dimensional object and automatically operating an articulated robot according to the shape. Is.
- the method including the step of operating the data further includes a step of converting the point group data into the data in the normal direction with respect to the shape of the three-dimensional object, and the data in the normal direction is used for the three-dimensional object.
- the articulated robot is operated so that a predetermined force is applied from the normal direction.
- a force sensor is provided at the tip of the articulated robot, and a predetermined force is applied to a three-dimensional object based on the output signal of the force sensor. Operate the articulated robot so that it can be applied from the normal direction.
- the tip of the articulated robot is made into a three-dimensional object from the normal direction so that a predetermined force is applied to the three-dimensional object from the normal direction. Make contact.
- a normal so that a force sensor can maintain a predetermined force within a predetermined response time after detecting contact with a three-dimensional object.
- the tip of the articulated robot is brought into contact with the three-dimensional object from the direction.
- the articulated robot is equipped with a motor, and the tip of the articulated robot is moved to each point of a three-dimensional object by controlling the current flowing through the motor. Moreover, the tip of the articulated robot is brought into contact with the three-dimensional object from the normal direction with respect to each point of the three-dimensional object.
- the articulated robot is operated so that a predetermined force is applied from the normal direction along the shape of the three-dimensional object at a predetermined speed.
- an articulated robot is operated so that any one of polishing, deburring, and bead removal can be performed on a three-dimensional object. ..
- this method is executed by a computer program.
- a measuring instrument that acquires point group data of the shape of a 3D object and an articulated robot that automatically operates along the shape of the 3D object based on the point group data.
- a device including the above further comprises a controller for converting point group data into data in the normal direction with respect to the shape of the three-dimensional object, and the controller determines for the three-dimensional object based on the data in the normal direction. Operate the articulated robot so that the force of is applied from the normal direction.
- a force sensor is provided at the tip of the articulated robot, and the controller determines the three-dimensional object based on the output signal of the force sensor. Operate the articulated robot so that the force of can be applied from the normal direction.
- the tip of the articulated robot is three-dimensionally applied from the normal direction so that the controller can apply a predetermined force to the three-dimensional object from the normal direction. Contact the object.
- the controller can maintain a predetermined force within a predetermined response time after the force sensor senses contact with a three-dimensional object. , The tip of the articulated robot is brought into contact with the three-dimensional object from the normal direction.
- the articulated robot is equipped with a motor, and the controller controls the current flowing through the motor to place the tip of the articulated robot at each point of a three-dimensional object. It is moved and the tip of the articulated robot is brought into contact with the 3D object from the normal direction with respect to each point of the 3D object.
- the controller operates an articulated robot so that a predetermined force is applied from the normal direction along the shape of a three-dimensional object at a predetermined speed.
- an articulated robot is capable of performing any one of polishing, deburring, and bead removal on a three-dimensional object. To operate.
- the shape of a three-dimensional object can be automatically recognized without the human eye confirming the shape of the three-dimensional object, and moreover, many along the shape of the three-dimensional object.
- the articulated robot can be activated automatically.
- the device 101 is a measuring instrument 102 that acquires point cloud data (x, y, z) of the shape of the three-dimensional object, and a multi that automatically operates along the shape of the three-dimensional object based on the point cloud data. It is equipped with a joint robot 103.
- the point cloud data is three-dimensional position information for representing a surface which is the shape of a three-dimensional object.
- the measuring instrument 102 may be described below, but is not limited thereto.
- the articulated robot 103 may be, for example, a 6-axis vertical articulated robot, but is not limited thereto.
- the device 101 further includes a controller 104, and the controller 104 receives the point group data of the shape of the three-dimensional object acquired by the measuring instrument 102, and the point group data of the shape of the three-dimensional object is collected by the three-dimensional object. It is converted into data (v x , vy, v z ) in the normal direction with respect to the shape of. Even if the measuring instrument 102 converts the point group data of the shape of the three-dimensional object into the data in the normal direction with respect to the shape of the three-dimensional object and transmits the point group data and the data in the normal direction to the controller 104. Often, the controller 104 may be configured to include a measuring instrument 102.
- the data in the normal direction is, for example, three-dimensional vector data having a size standardized to 1 extending from each point on the surface of the three-dimensional object in the normal direction with respect to the surface of the three-dimensional object.
- the controller 104 operates the articulated robot 103 so that the tip 105 of the articulated robot 103 comes into contact with the three-dimensional object from the normal direction.
- the tip 105 of the articulated robot 103 is equipped with a tool capable of performing at least one of polishing, deburring, and bead removal on the 3D object, and the 3D object is mounted.
- the controller 104 brings the tip 105 of the articulated robot 103 to which the tool is attached from the normal direction into contact with the fixed three-dimensional object, and the tip 105 of the articulated robot 103.
- a three-dimensional object is attached to the tip 105 of the articulated robot 103, and a tool capable of performing at least one of polishing, deburring, and bead removal is fixed in a specific place, and the controller 104 Brings the tip 105 of the articulated robot 103 to which the three-dimensional object is attached from the normal direction to a fixed tool, and polishes the tip 105 of the articulated robot 103 against the three-dimensional object.
- Deburring, and beading may be performed.
- the operation of the controller 104 may be executed according to a computer program.
- the computer program may be stored in the memory built in the controller 104, or may be read out from the memory outside the controller 104 to the controller 104 when the controller 104 operates.
- the three-dimensional object examples include cutlery such as spoons, forks and knives, tableware products such as tweezers, scalpels, tongs, pliers and nippers, medical products, kitchen products, work products and the like. It may be a cast product, a forged product, a welded product, or the like.
- the tip 105 of the articulated robot 103 can be polished by contacting a three-dimensional object such as a cutlery after punching with a press machine from the normal direction. Further, the tip 105 of the articulated robot 103 is to remove burrs by contacting a three-dimensional object such as a plastic molded product after casting, work tools after forging, an automobile part, etc. from the normal direction. Can be done. Further, the tip portion 105 of the articulated robot 103 can remove the bead of the three-dimensional object after welding.
- the controller 104 brings the tip 105 of the articulated robot 103 into contact with a three-dimensional object from the normal direction with a predetermined force.
- the articulated robot 103 drives joints by a motor, a speed reducer, etc., but since the speed reducer has rigidity, the joint rigidity of the articulated robot 103 must be considered in order to improve the responsiveness.
- the joints of a robot such as the articulated robot 103 are modeled into a bi-inertial system, as shown in FIGS. 2A and 2B.
- a bi-inertial system when the tip 105 of the articulated robot 103 comes into contact with a three-dimensional object and a disturbance occurs in the load-side model, the torsional torque fluctuates.
- the transfer function when the torsional torque is affected by the disturbance torque can be obtained by the following equation.
- ⁇ dis disturbance torque
- ⁇ s torsion torque
- J L load side moment of inertia
- J M motor side moment of inertia
- R g gear ratio
- KS spring constant
- ⁇ s twist angle
- ⁇ . s the torsional speed
- ⁇ L is the load side speed
- ⁇ M is the motor side speed
- KT is the motor torque constant
- I q is the motor current.
- the torsion torque is proportional to the torsion angle, and the torsion angle is an integral value of the difference between the speed from the load side and the speed from the motor side. If the difference from the speed of can be eliminated, the disturbance response of the torsional torque can be suppressed. As shown in FIGS. 3A and 3B, even when a disturbance occurs, the disturbance is estimated by increasing the speed from the motor side by the same value as the speed from the load side increased by the disturbance, and the motor is estimated. By increasing the speed from the side, vibration due to disturbance can be suppressed.
- the controller 104 may be provided with an equivalent disturbance compensator (EDC: Equivalent Disturbance Compensator) (Non-Patent Document 1).
- EDC Equivalent Disturbance Compensator
- the equivalent disturbance compensator inputs a compensation value to the motor current
- the transfer function of the equivalent disturbance compensator is Gc (s)
- the speed from the load side due to the disturbance and the motor side.
- Gc the transfer function of the equivalent disturbance compensator
- the speed from the load side due to the disturbance the motor side.
- the following equation can be obtained from the block diagram shown in FIG. 3B.
- the first term on the left side of the above equation is the speed from the load side
- the second term on the left side of the above equation is the speed from the motor side. From the above formula, the following formula is obtained. If the disturbance is multiplied by the gain of the above equation and fed back to the motor current, vibration due to the disturbance can be ideally suppressed, and the tip 105 of the articulated robot 103 is stable to
- J Ln is the nominal value of the load side moment of inertia J L
- J Mn is the nominal value of the motor side moment of inertia J M
- K nt is the nominal value of the motor torque constant K n
- R gn is the nominal value of the gear ratio R g .
- G sens (s) and Gi (s) are generally configured as a first-order low-pass filter (LPF), and the above equation gives the same result as the one applied with the high-pass filter (HPF). There is. Since the band of the sensor system and the band of the current control system are generally sufficiently high values, the band of this high-pass filter is also sufficiently high values, so that the equivalent disturbance compensator suppresses the vibration due to the disturbance. Can be done.
- the equivalent disturbance compensator may be provided with an Instant Observer (ISOB).
- ISOB Instant Observer
- the instantaneous disturbance observer estimates the twist angle by sensing the load side acceleration a L , the motor side velocity ⁇ M , and the motor current I q by sensors, respectively, and the compensation current is estimated using the estimated twist angle.
- FIG. 5 shows a block diagram of a detailed bi-inertial frame model.
- the controller 104 may further include a motor-side idealized compensator (MNC: Motor Nominal Composer) (Non-Patent Document 1).
- Lubricating oil (oil) is used in the reducer to prevent wear and / or overheating, but an oil seal must be installed to prevent oil leakage.
- the motor-side idealized compensator inputs a compensation value to the motor current in order to compensate for the generated friction torque.
- the motor-side idealized compensator estimates the compensation current by sensing the disturbance torque ⁇ diss , the load-side acceleration a L , the motor current I q , and the motor-side speed ⁇ M , respectively.
- the controller 104 controls the motor current whose compensation value is input by the equivalent disturbance compensator and the motor-side idealized compensator to flow to the motor of the articulated robot 103, whereby the articulated robot 103 has its tip 105.
- the motor is provided with an angle sensor such as an encoder, and the controller 104 can measure the motor position.
- a force sensor 106 is provided at the tip 105 of the articulated robot 103, and the controller 104 can measure the force applied to the three-dimensional object by the output signal of the force sensor 106.
- the force sensor 106 may be, for example, a 6-axis force sensor, but is not limited thereto.
- the controller 104 makes the tip 105 of the articulated robot 103 a three-dimensional object so that a predetermined force can be applied to the three-dimensional object from the normal direction based on the output signal of the force sensor 106. Make contact.
- the controller 104 may bring the tip 105 of the articulated robot 103 into contact with the 3D object so as to apply a constant force to all the positions of the shape of the 3D object.
- the tip 105 of the articulated robot 103 may be brought into contact with a three-dimensional object so as to apply different forces to each position of the shape of.
- the tip 105 of the articulated robot 103 After the force sensor 106 detects contact with the 3D object, the tip 105 of the articulated robot 103 applies a predetermined force to each position of the shape of the 3D object within a predetermined response time.
- the controller 104 brings the tip 105 of the articulated robot 103 into contact with the three-dimensional object from the normal direction so that it can be maintained.
- the response time may be, for example, 0.002 to 0.003 seconds, preferably 0.0023 to 0.0027 seconds, more preferably 0.0025 seconds, which is the tactile response time generally possessed by humans.
- the response time is not limited to this, and may be faster or slower than this.
- the controller 104 moves the tip 105 of the articulated robot 103 along the shape of the three-dimensional object at a predetermined speed so that the tip 105 of the articulated robot 103 continuously contacts the three-dimensional object. ..
- a grindstone and / or a buff is placed on the tip 105 of the articulated robot 103, the grindstone and / or the buff can be pressed against the three-dimensional object to continuously polish the three-dimensional object.
- the controller 104 may move the tip 105 of the articulated robot 103 along the shape of the three-dimensional object at a constant speed with respect to the three-dimensional object, or each position of the shape of the three-dimensional object.
- the tip 105 of the articulated robot 103 may be brought into contact with a three-dimensional object at a speed corresponding to the curvature of the above.
- the articulated robot 103 includes a motor for driving each joint. Further, the articulated robot 103 may include a speed reducer that slows down the rotation speed of each motor and outputs a torque that is inversely proportional to the speed reduction. As described above, even when the speed reducer is provided, the controller 104 can compensate the friction torque in the speed reducer.
- the controller 104 moves the tip 105 of the articulated robot 103 to a predetermined position in the shape of the three-dimensional object by controlling the motor current flowing through each motor, and further, the controller 104 moves the tip 105 of the shape of the three-dimensional object to a predetermined position.
- the tip 105 of the articulated robot 103 is brought into contact with the three-dimensional object from the normal direction with a predetermined force with respect to the position.
- Each motor is provided with an angle sensor such as an encoder, and the controller 104 can measure the position of each motor.
- the measuring instrument 102 acquires point cloud data of the shape of the three-dimensional object in order to recognize the shape of the three-dimensional object.
- the measuring instrument 102 may be, for example, a three-dimensional scanner using a laser.
- the 3D scanner automatically measures the surface of the 3D object using the reflection of the laser by the 3D object, and outputs the 3D coordinates of a large number of points as point cloud data to a data file.
- the measuring instrument 102 may be a camera, for example, and acquires point cloud data by restoring the shape of a three-dimensional object from an image obtained from a moving camera (SfM: Structure of Motion). May be good.
- the measuring instrument 102 may convert the point cloud data of the shape of the three-dimensional object into the data in the normal direction with respect to the shape of the three-dimensional object. Further, the controller 104 may receive the point cloud data of the shape of the three-dimensional object from the measuring instrument 102 and convert the point cloud data into the data in the normal direction with respect to the shape of the three-dimensional object.
- the measuring instrument 102 may include a device 201 for measuring the shape of a three-dimensional object described below.
- a device 201 for measuring the shape of a three-dimensional object as an embodiment of the present invention will be described.
- the device 201 includes a projector 202 that projects a striped pattern on a three-dimensional object arranged on the stage 206, a camera 203 that captures an image of the projected three-dimensional object, and a three-dimensional image taken from the captured image. It includes a processor 204 that calculates the height of the object.
- the striped pattern projected by the projector 202 includes a normal striped pattern consisting of light of two hues and an inverted striped pattern in which the positions of the two hues are opposite to those of the normal striped pattern.
- the two hues of light are preferably separated in wavelength length so as not to interfere with each other, and include, for example, red light and blue light, but are not limited thereto.
- the two hues may be determined so as not to be affected by specular reflection from the three-dimensional object due to the projected striped pattern.
- the processor 204 calculates the height of the three-dimensional object based on the comparison between the hue channel of the normal image from the shooting with the normal stripe pattern and the hue channel of the inverted image from the shooting with the inverted stripe pattern. By performing the projection by the inverted stripe pattern in addition to the projection by the normal stripe pattern, the height of the three-dimensional object is increased by using two distortion amounts, that is, the distortion amount of the stripe pattern in the normal image and the distortion amount of the stripe pattern in the inverted image. It is possible to calculate the size and robustly measure the shape of a three-dimensional object.
- the operation of processor 204 may be performed according to a computer program.
- the computer program may be stored in the memory built in the processor 204, or may be read from the memory outside the processor 204 to the processor 204 when the processor operates.
- the projector 202 can change the measurement resolution according to the number of projected striped patterns.
- the number of projected striped patterns is M (M is a positive integer), and the projector 202 projects M striped patterns onto the three-dimensional object to photograph the three-dimensional object. Is divided into 2M areas from the binary number of two hues, and each area is distinguished by a code word of 0 to 2M-1 .
- a normal striped pattern and an inverted striped pattern are created according to the Gray code instead of the binary code, and the area for photographing the 3D object is divided into 2M areas.
- Gray code is a well-known code in information theory and is effective in reducing bit errors.
- Gray code is defined by the following formula.
- g 1 and b 1 are the most significant bit (MSB: Most Significant Bit) (first bit) of the n-bit Gray code and the n-bit binary code, respectively.
- MSB Most Significant Bit
- g i is the i-th bit of the n-bit Gray code
- bi is the i -th bit of the n-bit binary code.
- the following expression is an exclusive-OR operator.
- the number of projected striped patterns is the same as the number of bits in the Gray code.
- 2M codes represented by decimal numbers 0-2M-1 so as to divide the area for photographing a 3D object based on two hues into 2M areas. Words are converted to gray code.
- the 2M codewords represented by the Gray code are vertically aligned, such as the first bit, the second bit, and the third bit.
- Third, vertically aligned 2M codewords are combined horizontally.
- the bit string is extracted horizontally and 0 and 1 bits are each converted to one of the two hues (eg, 0 bits are converted to blue and 1 bit is converted to red).
- a normal striped pattern is created by a sequence of two hues, and an inverted striped pattern is created by exchanging the positions of the two hues from the normal striped pattern.
- the projector 202 projects the created normal striped pattern and the inverted striped pattern onto the three-dimensional object, and the camera 203 captures an image of the three-dimensional object on which the normal striped pattern and the inverted striped pattern are projected.
- the processor 204 creates a binary image for calculating the height z of the shape of the three-dimensional object from the normal image and the inverted image taken by the camera 203 by the following formula.
- I H, nor (x, y) is the hue channel of the coordinates (x, y) of the captured normal image
- I H, rev (x, y) is the coordinates (x, y) of the captured inverted image.
- bin (x, y) is a value of a binary image of coordinates (x, y).
- the processor 204 compares the hue channel I H, no (x, y) of the captured normal image with the hue channel I H , rev (x, y) of the captured inverted image, and compares the hue channel I of the captured normal image with the hue channel I of the normal image.
- H, nor (x, y) is larger than the hue channel I H, rev (x, y) of the inverted image
- the value bin (x, y) of the binary image of the coordinates (x, y) becomes 1.
- the hue channel I H, nor (x, y) of the normal image is less than or equal to the hue channel I H, rev (x, y) of the inverted image
- the binary image of the coordinates (x, y) is defined as 0. Comparing the hue channels I H, nor (x, y) of a normal image with the hue channels I H, rev (x, y) of an inverted image at least at the coordinates (x, y) associated with the three-dimensional object. Create a binary image with.
- the projection of the normal striped pattern and the inverted striped pattern on the three-dimensional object by the projector 202 is executed M times, and the processor 204 is performed from the normal image by the normal striped pattern and the inverted image by the inverted striped pattern taken by the camera 203 in each projection.
- the M binary images created in this way are from the normal image with the normal striped pattern and the binary image with the inverted striped pattern taken when the three-dimensional object is not on the stage 206. It is distorted according to the height z of the three-dimensional object, and the processor 204 calculates the height z of the three-dimensional object based on the distortion of the M binary images thus created.
- a binary image may be created as described above from the image of the RGB color space of the three-dimensional object taken by the camera 203, and the height z of the three-dimensional object may be calculated.
- the HSV Human, Saturation, Value
- the hue of the HSV color space may be used.
- the captured image of the RGB color space of the three-dimensional object is converted into the image of the HSV color space by the following formula. I RGB is an image in the RGB color space, and I HSV is an image in the HSV color space.
- f space is a function that converts the RGB color space into the HSV color space.
- I H is the hue channel of the image
- f channel is a function that extracts only the hue channel from the image in the HSV color space and normalizes the hue channel to the range of 0 to 1.
- the colors represented are periodic, such as red (0), yellow (1/6), green (1/3), blue (2/3), red (1). Change.
- the value of I H becomes unstable because I H is a value close to 0 or 1.
- the following formula is applied to IH.
- I H (x, y) is the hue channel I H at coordinates (x, y), and the hue channel I H normalized to 0 to 1 is the cosine value I'H in the range -1 to 1. Is converted to. Even in the case of a hue channel close to red, which is a value close to 0 or 1, it is converted to a value close to 1 so as to be continuous and stable. As a result, the information of the hue channel can be effectively used.
- the processor 204 uses the above formula to generate a binary image for calculating the height z of the shape of the three-dimensional object from the normal image and the inverted image taken by the camera 203 by the following formula. create.
- I'H, nor (x, y) is the cosine value of the hue channel of the coordinates (x, y) of the captured normal image
- I'H, rev (x, y) is the captured inverted image. It is the cosine value of the hue channel of the coordinates (x, y) of, and bin (x, y) is the value of the binary image by the cosine value of the coordinates (x, y).
- the processor 204 compares the cosine value I'H, nor (x, y) of the hue channel of the captured normal image with the cosine value I'H , rev (x, y) of the hue channel of the captured inverted image.
- the value bin (x, y) of the binary image is defined as 1, and the cosine value I'H of the hue channel of the normal image and the cosine value I'H , of the hue channel of the inverted image .
- the value bin (x, y) of the binary image of the coordinates (x, y) is defined as 0.
- the cosine value I'H, nor (x, y) of the hue channel of the normal image and the cosine value I'H, rev (x, y) of the hue channel of the inverted image. , Y) to create a binary image.
- the cosine value of the hue channel in this way, it is possible to reduce the measurement error due to specular reflection that occurs when a striped pattern is projected onto a three-dimensional object.
- the projection of the normal striped pattern and the inverted striped pattern on the three-dimensional object by the projector 202 is executed M times, and the processor 204 uses the normal image and the normal striped pattern taken by the camera 203 in each projection.
- the M binary images created in this way are from the normal image with the normal striped pattern and the binary image with the inverted striped pattern taken when the three-dimensional object is not on the stage 206. It is distorted according to the height z of the three-dimensional object, and the processor 204 calculates the height z of the three-dimensional object based on the distortion of the M binary images thus created.
- the hue channel I H is converted to the cosine value I'H, but the hue channel I H may be converted by the processor 204 by a function having a continuous value in the range of 0 to 1, and may be selected. Depending on the two hues to be created, it may be converted by a periodic function such as a sine function, a triangular wave function, or the like.
- the processor 204 is three-dimensional based on the comparison between the value obtained by the function of the hue channel I H, nor (x, y) of the normal image and the value obtained by the function of the hue channel I H, rev (x, y) of the inverted image. The height of the object may be calculated.
- Processor 204 calculates the height of the three-dimensional object by the function of the following equation.
- z is the height of the three-dimensional object
- a 0 , a 1 and a 2 are the coefficients calculated in the following calibration phase
- s is the amount of distortion of the binary image.
- a striped pattern is projected onto the 3D object to create a binary image, and 3 points of the 3D object are created.
- the amount of strain s 1 , s 2 , and s 3 of the striped pattern for, and the heights z 1 , z 2 , and z 3 of the three-dimensional object are measured, respectively (sample phase).
- the strain amounts s 1 , s 2 , and s 3 acquired in the sample phase, and the heights z 1 , z 2 , and z 3 of the three-dimensional object are substituted into the above equations, respectively.
- the coefficients a 0 , a 1 and a 2 are obtained by creating simultaneous equations by equations and solving the simultaneous equations (calibration phase). Substituting the acquired coefficients a 0 , a 1 , and a 2 into the above equation, and from the amount of distortion of the striped pattern at arbitrary coordinates (x, y) of the three-dimensional object acquired from the binary image, 3 The height z at arbitrary coordinates (x, y) of the three-dimensional object is calculated (measurement phase).
- the processor 204 calculates the height z with respect to the horizontal position x and the vertical position y of the three-dimensional object, thereby recognizing the shape of the three-dimensional object. Acquire the point group data of the shape of.
- the number of coefficients is three, but it may be larger than that.
- the number of points to be measured in the sample phase is increased according to the number of coefficients, and the simultaneous equations corresponding to the number of coefficients are solved in the calibration phase. You may get the coefficient.
- the processor 204 stores the point cloud data acquired as described above in the memory 205. Further, the processor 204 acquires point cloud data corresponding to each point of the shape of the three-dimensional object from the memory 205. As shown in FIG. 8A, the processor 204 converts the point cloud data 302 into the data 303 in the normal direction with respect to the shape of the three-dimensional object in association with each point of the shape of the three-dimensional object 301. The processor 204 transmits the data 303 in the normal direction acquired by such conversion to the memory 205, associates the data 303 in the normal direction with the corresponding points in the shape of the three-dimensional object, and stores the data 303 in the normal direction in the memory. Store in 205.
- the data 303 in the normal direction is three-dimensional vector data extending in the normal direction from each point on the surface of the three-dimensional object 301 with respect to the surface of the three-dimensional object 301.
- the memory 205 may be built in the processor 204 or may be outside the processor 204. Further, the operation of the processor 204 may be executed according to a computer program. The computer program may be stored in memory 205.
- the point cloud data 302 acquired as described above may have a very large amount of data, occupy a large part of the memory 205, and it takes time to transmit.
- the processor 204 may reduce the point cloud data 302 and the normal data 303 according to a predetermined distance in the shape of the three-dimensional object 301. For example, as shown in FIG. 8B, the processor 204 reduces the point cloud data 302 and the normal direction data 303 at equal intervals along the shape of the three-dimensional object 301, and the thinning point cloud data 304 and the thinning method.
- the data 305 in the line direction may be created.
- the processor 204 may reduce the point cloud data 302 and the data 303 in the normal direction according to the curvature at each point of the shape of the three-dimensional object 301.
- the left side portion of the three-dimensional object 301 has a large curvature in the shape of the three-dimensional object 301
- the right portion of the three-dimensional object 301 has a curvature in the shape of the three-dimensional object 301. Is small.
- the shape of the three-dimensional object 301 hardly changes, and the data 303 in the normal direction hardly changes. For example, as shown in FIG.
- the data in the normal direction is reduced, and further, the point group data associated with the reduced data in the normal direction is also reduced.
- the thinning point group data 304 and the thinning normal direction data 305 may be created. In this small part, the data 305 in the same thinning normal direction may be used.
- the processor 204 may reduce the point cloud data 302 and the normal data 303 according to the amount of change in the normal data 303 in the shape of the three-dimensional object 301.
- the data 303 in the normal direction changes significantly in the shape of the three-dimensional object 301, while the right portion of the three-dimensional object 301 is three-dimensional.
- the data 303 in the normal direction hardly changes in the shape of the object 301.
- FIG. 8C in the portion where the amount of change in the data 303 in the normal direction is smaller than a predetermined value, the data in the normal direction is reduced and further associated with the reduced data in the normal direction.
- the point group data may also be reduced to create the thinning point group data 304 and the thinning normal direction data 305. In this small part, the data 305 in the same thinning normal direction may be used.
- the processor 204 stores the thinning point cloud data 304 and the thinning normal direction data 305 created by reducing the point cloud data 302 and the normal direction data 303 in the memory 205.
- the decimation point cloud data 304 and the decimation normal direction data 305 may be transmitted to the controller 104 by the processor 204 or may be read from the memory 205 by the controller 104.
Abstract
3次元対象物の形状を自動的に認識し、その形状に沿って多関節ロボットを自動的に作動させる装置を提供する。3次元対象物の形状の点群データを取得する計測器102と、点群データに基づいて3次元対象物の形状に沿って自動的に作動する多関節ロボット103とを備える装置101は、点群データを3次元対象物の形状に対する法線方向のデータに変換するコントローラ104を更に備え、コントローラ104は、法線方向のデータに基づいて、3次元対象物に対して所定の力を法線方向から加えられるように多関節ロボット103を作動させる。
Description
本発明は、3次元対象物の形状を自動的に認識し、その形状に沿って多関節ロボットを自動的に作動させる装置及び方法に関するものである。
洋食器、器物、等の製造工程は、フォークを例にすると、トリムプレス(外径抜き)、平面研磨、刃抜き・曲げプレス(成形)、端面研磨(コバ擦り・刃擦り)、洗浄の順番で行われる。最終仕上げである端面研磨工程は、ほぼ職人の手作業に依存するが、職人の高齢化及び後継者不足のために年々に人手が不足しており、その結果、大量受注に対応できず、失注する場合もあるので、早急に自動化が求められている。また、端面研磨工程は、プレスした外周を研磨するコバ擦り、フォークの刃溝を研磨する刃擦りの2工程がある。これらは共に職人による手作業で行われ、前者はフォークの外周の法線方向に砥石を一定圧力で押し付けて研磨を行い、後者は薄い回転砥石の間にフォークの溝を差し込んで研磨を行うが、これらは何れも粉塵の吸入、砥石の破損、等によって作業者にとっては危険な作業である。
特許文献1には、ワークのCADモデル等によって軌跡データを生成して記憶装置に記憶するステップと、先端部で加工する加工工具を第1面と第2面との両方に直交する2方向、又は合力が第1面と第2面との境界線に向かう2方向に力制御して、境界線に沿って先端部を倣わせ、先端部の軌跡データを記憶するステップと、加工工具を第1面又は第2面に直交する1方向に力制御し、且つ軌跡データに基づき先端部を境界線から離した位置でワークを研磨するステップとを含む、加工工具の先端部でワークの第1面又は第2面を研磨する研磨ロボットの制御方法が開示されている。
特許文献2には、投射方向毎に色合いの異なる、広がりを持ったカラーパターンを空間に投射するカラーパターン投射装置と、そのカラーパターンが投射された物体を撮影するカラー画像撮影装置と、撮影されたカラー画像及び投射パターンの情報から3次元座標を計算する演算装置とを使用して、カラー画像中の任意の点の画像座標と、その点の画像データの色合いから計算によって復元されるプロジェクタ座標とから、アクティブステレオ法又は三角測量法に基づいて物体の3次元座標を計算して求めることによって、物体の3次元形状を計測する方法が開示されている。
鈴木駿介、川合勇輔、横倉勇希、大石潔、宮崎敏昌:「外乱にロバストな二慣性系のねじれトルク制御の為の等価外乱補償器」、電気学会、メカトロニクス制御研究会、2018年、第19~24頁
特許文献1のよる研磨ロボットの制御方法においては、ワークの設計図面の形状データ等に基づいて作成された軌道データを、第1面と第2面との境界線に沿って加工工具の先端部を倣わせて修正している。実際のワークの形状は各々異なっているので、各ワークに対して、加工工具の先端部を倣わせて、設計図面の形状データに基づいて作成された軌道データを修正しなければならないという問題点がある。
特許文献2のよる物体の3次元形状を計測する方法においては、連続的に変化する多種類の色相の光を投射することから、ノイズの影響を受けやすく、また、投射される光の色相によっては物体からの鏡面反射の影響を受けて、正確に物体の3次元座標を計算することができないという問題点がある。
従って、本発明の目的は、上記問題点を解決して、3次元対象物の形状を自動的に認識し、その形状に沿って多関節ロボットを自動的に作動させる装置及び方法を提供することである。
本発明の1つの観点によれば、3次元対象物の形状の点群データを計測器に取得させるステップと、点群データに基づいて3次元対象物の形状に沿って多関節ロボットを自動的に作動させるステップとを含む方法が、点群データを3次元対象物の形状に対する法線方向のデータに変換するステップを更に含み、法線方向のデータに基づいて、3次元対象物に対して所定の力を法線方向から加えられるように多関節ロボットを作動させる。
本発明の一具体例によれば、この方法において、多関節ロボットの先端部には力覚センサが設けられ、力覚センサの出力信号に基づいて、3次元対象物に対して所定の力を法線方向から加えられるように多関節ロボットを作動させる。
本発明の一具体例によれば、この方法において、3次元対象物に対して所定の力を法線方向から加えられるように、法線方向から多関節ロボットの先端部を3次元対象物に接触させる。
本発明の一具体例によれば、この方法において、力覚センサが3次元対象物との接触を感知してから所定の応答時間内で所定の力を維持することができるように、法線方向から多関節ロボットの先端部を3次元対象物に接触させる。
本発明の一具体例によれば、この方法において、多関節ロボットがモータを備え、モータに流れる電流を制御することによって、3次元対象物の各点に多関節ロボットの先端部を移動させ、且つ3次元対象物の各点に対して法線方向から多関節ロボットの先端部を3次元対象物に接触させる。
本発明の一具体例によれば、この方法において、所定の速度で3次元対象物の形状に沿って所定の力を法線方向から加えられるように多関節ロボットを作動させる。
本発明の一具体例によれば、この方法において、3次元対象物に対して研磨、バリ取り、及びビード取りのうちの何れか1つを実行することができるように多関節ロボットを作動させる。
本発明の一具体例によれば、この方法がコンピュータプログラムによって実行される。
本発明の別の観点によれば、3次元対象物の形状の点群データを取得する計測器と、点群データに基づいて3次元対象物の形状に沿って自動的に作動する多関節ロボットとを備える装置が、点群データを3次元対象物の形状に対する法線方向のデータに変換するコントローラを更に備え、コントローラが、法線方向のデータに基づいて、3次元対象物に対して所定の力を法線方向から加えられるように多関節ロボットを作動させる。
本発明の一具体例によれば、この装置において、多関節ロボットの先端部には力覚センサが設けられ、コントローラが、力覚センサの出力信号に基づいて、3次元対象物に対して所定の力を法線方向から加えられるように多関節ロボットを作動させる。
本発明の一具体例によれば、この装置において、コントローラが、3次元対象物に対して所定の力を法線方向から加えられるように、法線方向から多関節ロボットの先端部を3次元対象物に接触させる。
本発明の一具体例によれば、この装置において、コントローラが、力覚センサが3次元対象物との接触を感知してから所定の応答時間内で所定の力を維持することができるように、法線方向から多関節ロボットの先端部を3次元対象物に接触させる。
本発明の一具体例によれば、この装置において、多関節ロボットがモータを備え、コントローラが、モータに流れる電流を制御することによって、3次元対象物の各点に多関節ロボットの先端部を移動させ、且つ3次元対象物の各点に対して法線方向から多関節ロボットの先端部を3次元対象物に接触させる。
本発明の一具体例によれば、この装置において、コントローラが、所定の速度で3次元対象物の形状に沿って所定の力を法線方向から加えられるように多関節ロボットを作動させる。
本発明の一具体例によれば、この装置において、コントローラが、3次元対象物に対して研磨、バリ取り、及びビード取りのうちの何れか1つを実行することができるように多関節ロボットを作動させる。
本発明によれば、人間の眼で3次元対象物の形状を確認することなく、自動的に3次元対象物の形状を認識することができ、更には3次元対象物の形状に沿って多関節ロボットを自動的に作動させることができる。
なお、本発明の他の目的、特徴及び利点は、添付図面に関する以下の本発明の実施例の記載から明らかになるであろう。
以下、本発明の実施例について図面を参照して説明するが、本発明はこれらの実施例に限定されるものではない。
図1を参照して、本発明の一実施形態としての、3次元対象物の形状を認識し、その形状に沿って多関節ロボットを作動させる装置101について説明する。装置101は、3次元対象物の形状の点群データ(x,y,z)を取得する計測器102と、点群データに基づいて3次元対象物の形状に沿って自動的に作動する多関節ロボット103とを備える。点群データは、3次元対象物の形状である表面を表すための3次元の位置情報である。計測器102は、下記で説明されるものであってもよいが、これらに限定されない。また、多関節ロボット103は、例えば、6軸垂直多関節ロボットであってもよいが、これに限定されない。
装置101は、コントローラ104を更に備え、コントローラ104は、計測器102によって取得された3次元対象物の形状の点群データを受信し、3次元対象物の形状の点群データを3次元対象物の形状に対する法線方向のデータ(vx,vy,vz)に変換する。計測器102が、3次元対象物の形状の点群データを3次元対象物の形状に対する法線方向のデータに変換して、コントローラ104に点群データ及び法線方向のデータを送信してもよく、また、コントローラ104は、計測器102を含むように構成されてもよい。法線方向のデータは、例えば、3次元対象物の表面の各点から3次元対象物の表面に対する法線方向に延伸する、大きさが1に規格化された3次元のベクトルデータである。コントローラ104は、法線方向のデータに基づいて、法線方向から多関節ロボット103の先端部105を3次元対象物に接触させるように多関節ロボット103を作動させる。多関節ロボット103の先端部105には、3次元対象物に対して研磨、バリ取り、及びビード取りのうちの少なくとも1つを実行することができる工具が取り付けられており、3次元対象物を特定の場所に固定して、コントローラ104は、法線方向から工具が取り付けられた多関節ロボット103の先端部105を固定された3次元対象物に接触させて、多関節ロボット103の先端部105に、3次元対象物に対して研磨、バリ取り、及びビード取りのうちの少なくとも1つを実行させることができる。また、多関節ロボット103の先端部105に3次元対象物を取り付け、研磨、バリ取り、及びビード取りのうちの少なくとも1つを実行することができる工具を特定の場所に固定して、コントローラ104は、法線方向から3次元対象物が取り付けられた多関節ロボット103の先端部105を固定された工具に接触させて、多関節ロボット103の先端部105に、3次元対象物に対して研磨、バリ取り、及びビード取りのうちの少なくとも1つを実行させてもよい。コントローラ104の動作は、コンピュータプログラムに従って実行されてもよい。コンピュータプログラムは、コントローラ104に内蔵されたメモリに記憶されてもよいし、コントローラ104が動作する際に、コントローラ104の外にあるメモリからコントローラ104に読み出されてもよい。
3次元対象物としては、例えば、スプーン、フォーク、ナイフ、等のカトラリー、ピンセット、メス、トング、ペンチ、ニッパのような食卓用製品、医療用製品、台所用製品、作業用製品、等であってもよく、鋳造製品、鍛造製品、溶接製品、等であってもよい。多関節ロボット103の先端部105は、プレス機による打抜き加工後のカトラリー等の3次元対象物を法線方向から接触させて研磨することができる。また、多関節ロボット103の先端部105は、鋳造加工後のプラスチック成形品、鍛造加工後の作業工具類、自動車部品、等の3次元対象物を法線方向から接触させてバリ取りをすることができる。また、多関節ロボット103の先端部105は、溶接加工後の3次元対象物のビード取りをすることができる。
コントローラ104は、所定の力で法線方向から多関節ロボット103の先端部105を3次元対象物に接触させる。多関節ロボット103は、モータ、減速機、等によって関節を駆動するが、減速機は剛性を持つために、応答性を向上させるには多関節ロボット103の関節剛性を考慮しなければならず、一般的に多関節ロボット103のようなロボットの関節は、図2A及び図2Bに示すように、二慣性系にモデル化される。二慣性系において、多関節ロボット103の先端部105が3次元対象物に接触することによって、負荷側モデルに外乱が発生すると、ねじれトルクが変動する。この変動によって、振動が発生し、力制御、バックドライブ性能、等が低下するので、ねじれトルクの外乱応答を抑圧する必要がある。図2Bに示すブロック線図から、ねじれトルクが外乱トルクの影響を受ける場合の伝達関数が下記の式により得られる。
ここで、τdisは外乱トルク、τsはねじれトルク、JLは負荷側慣性モーメント、JMはモータ側慣性モーメント、Rgはギア比、KSはばね定数、θsはねじれ角、ωsはねじれ速度、ωLは負荷側速度、ωMはモータ側速度、KTはモータトルク定数、Iqはモータ電流である。上記の式より、外乱が加わるとねじれトルクは振動する。外乱が加わると負荷側が先に加速して負荷側の速度が増加するので、ねじれトルクが変動する。
ここで、τdisは外乱トルク、τsはねじれトルク、JLは負荷側慣性モーメント、JMはモータ側慣性モーメント、Rgはギア比、KSはばね定数、θsはねじれ角、ωsはねじれ速度、ωLは負荷側速度、ωMはモータ側速度、KTはモータトルク定数、Iqはモータ電流である。上記の式より、外乱が加わるとねじれトルクは振動する。外乱が加わると負荷側が先に加速して負荷側の速度が増加するので、ねじれトルクが変動する。
図2Bに示すように、ねじれトルクはねじれ角に比例し、ねじれ角は負荷側からの速度とモータ側からの速度との差の積分値であり、外乱による負荷側からの速度とモータ側からの速度との差をなくすことができれば、ねじれトルクの外乱応答を抑圧することができる。図3A及び図3Bに示すように、外乱が発生した場合であっても、外乱により増加する負荷側からの速度と同じ値だけモータ側からの速度を増加させるようにして外乱を推定し、モータ側からの速度を増加させれば、外乱による振動を抑制することができる。二慣性系における外乱による振動を抑制するために、コントローラ104は、等価外乱補償器(EDC:Equivalent Disturbance Compensator)を備えてもよい(非特許文献1)。等価外乱補償器は、図3Bに示すように、モータ電流に補償値を入力するものであり、等価外乱補償器の伝達関数をGc(s)とし、外乱による負荷側からの速度とモータ側からの速度との差を0とすると、図3Bに示すブロック線図から下記の式が得られる。
上記の式の左辺第1項は負荷側からの速度であり、上記の式の左辺第2項はモータ側からの速度である。上記の式により、下記の式が得られる。
外乱に対して上記の式のゲインを掛けてモータ電流にフィードバックすれば、理想的には外乱による振動を抑制することができ、多関節ロボット103の先端部105は、3次元対象物に安定して接触することができる。
上記の式の左辺第1項は負荷側からの速度であり、上記の式の左辺第2項はモータ側からの速度である。上記の式により、下記の式が得られる。
外乱に対して上記の式のゲインを掛けてモータ電流にフィードバックすれば、理想的には外乱による振動を抑制することができ、多関節ロボット103の先端部105は、3次元対象物に安定して接触することができる。
図3Cに示すように、外乱トルクτdisを感知するためのセンサ系及びモータ電流Iqを制御するための電流制御系が設けられるが、センサ系及び電流制御系にも帯域が存在する。なお、JLnは負荷側慣性モーメントJLのノミナル値、JMnはモータ側慣性モーメントJMのノミナル値、Ktnはモータトルク定数Knのノミナル値、Rgnはギア比Rgのノミナル値であり、理想的には、JLn=JL、JMn=JM、Ktn=Kt、Rgn=Rgである。それぞれの伝達関数をGsens(s)及びGi(s)で表し、図3Cにおいて全てノミナル値と一致している場合には、ねじれトルクが外乱トルクの影響を受ける場合の伝達関数が下記の式により得られる。
Gsens(s)及びGi(s)は一般的には1次のローパスフィルタ(LPF)の構成であり、上記の式は、ハイパスフィルタ(HPF)を掛けたものと同等の結果となっている。センサ系の帯域及び電流制御系の帯域は一般的に十分に高い値であることから、このハイパスフィルタの帯域も十分に高い値であるので、等価外乱補償器は、外乱による振動を抑制することができる。
Gsens(s)及びGi(s)は一般的には1次のローパスフィルタ(LPF)の構成であり、上記の式は、ハイパスフィルタ(HPF)を掛けたものと同等の結果となっている。センサ系の帯域及び電流制御系の帯域は一般的に十分に高い値であることから、このハイパスフィルタの帯域も十分に高い値であるので、等価外乱補償器は、外乱による振動を抑制することができる。
外乱を推定するために、図4に示すように、等価外乱補償器は、瞬時外乱オブザーバ(ISOB:Instantaneous State Observer)を備えてもよい。瞬時外乱オブザーバは、負荷側加速度aL、モータ側速度ωM、及びモータ電流Iqをそれぞれセンサによって感知することによってねじれ角度を推定し、推定されたねじれ角度を使用して補償電流が推定される。また、図5により詳細の二慣性系モデルのブロック線図を示す。コントローラ104は、モータ側理想化補償器(MNC:Motor Nominal Compensator)を更に備えてもよい(非特許文献1)。減速機には、摩耗及び/又は過熱を防止するために潤滑油(オイル)が使用されるが、オイル漏れを防止するためにオイルシールが装着される必要がある。しかし、オイルシールを装着すると、摩擦トルクが発生して減速機の負荷側からモータ側を逆に回転させることは困難である。モータ側理想化補償器は、発生した摩擦トルクを補償するために、モータ電流に補償値を入力するものである。モータ側理想化補償器は、図5に示すように、外乱トルクτdis、負荷側加速度aL、モータ電流Iq、及びモータ側速度ωMをそれぞれセンサによって感知することによって補償電流が推定される。等価外乱補償器及びモータ側理想化補償器によって補償値が入力されたモータ電流が多関節ロボット103のモータに流れるようにコントローラ104が制御し、それによって、多関節ロボット103は、その先端部105を正確に3次元対象物の形状の所定の位置に移動させて接触させることができ、3次元対象物の形状の所定の位置に対して正確に法線方向から所定の力を加えることができる。モータにはエンコーダ等の角度センサが設けられ、コントローラ104は、モータ位置を計測することができる。
多関節ロボット103の先端部105には力覚センサ106が設けられ、力覚センサ106の出力信号によって、コントローラ104は、3次元対象物に加えられる力を計測することができる。力覚センサ106は、例えば、6軸力覚センサであってもよいが、これに限定されない。コントローラ104は、力覚センサ106の出力信号に基づいて法線方向から3次元対象物に対して所定の力を加えることができるように、多関節ロボット103の先端部105を3次元対象物に接触させる。コントローラ104は、3次元対象物の形状の全ての位置に対して一定の力を加えるように、多関節ロボット103の先端部105を3次元対象物に接触させてもよいし、3次元対象物の形状の各位置に対して異なる力を加えるように、多関節ロボット103の先端部105を3次元対象物に接触させてもよい。
力覚センサ106が3次元対象物との接触を感知してから多関節ロボット103の先端部105が所定の応答時間内で3次元対象物の形状の各位置に対して所定の力を加えて維持することができるように、コントローラ104は、法線方向から多関節ロボット103の先端部105を3次元対象物に接触させる。応答時間は、例えば、人間が一般的に有する触覚の応答時間である0.002~0.003秒、好ましくは0.0023~0.0027秒、更に好ましくは0.0025秒であってもよく、このように応答時間を設定することによって、多関節ロボット103の先端部105にある砥石及び/又はバフを人間の皮膚感覚で3次元対象物に押し当てて、3次元対象物を研磨することができる。なお、応答時間はこれに限定されるものではなく、これより高速であってもよいし、低速であってもよい。
コントローラ104は、多関節ロボット103の先端部105が連続して3次元対象物に接触するように、所定の速度で3次元対象物の形状に沿って多関節ロボット103の先端部105を移動させる。例えば、多関節ロボット103の先端部105に砥石及び/又はバフを配置すれば、砥石及び/又はバフを3次元対象物に押し当てて、3次元対象物を連続して研磨することができる。コントローラ104は、3次元対象物に対して一定の速度で、3次元対象物の形状に沿って多関節ロボット103の先端部105を移動させてもよいし、3次元対象物の形状の各位置の曲率に応じた速度で、多関節ロボット103の先端部105を3次元対象物に接触させてもよい。
多関節ロボット103は、各関節を駆動させるためのモータを備える。また、多関節ロボット103は、各モータの回転速度を減速させ、減速に対して反比例するトルクを出力する減速機を備えてもよい。上記のように、減速機を備える場合であっても、コントローラ104は、減速機における摩擦トルクを補償することができる。コントローラ104は、各モータに流れるモータ電流を制御することによって、3次元対象物の形状の所定の位置に多関節ロボット103の先端部105を移動させ、更に、3次元対象物の形状の所定の位置に対して所定の力で法線方向から多関節ロボット103の先端部105を3次元対象物に接触させる。各モータにはエンコーダ等の角度センサが設けられ、コントローラ104は、各モータ位置を計測することができる。
計測器102は、3次元対象物の形状を認識するために、3次元対象物の形状の点群データを取得する。計測器102は、例えば、レーザによる3次元スキャナであってもよい。3次元スキャナは、レーザの3次元対象物による反射を使用して、3次元対象物の表面を自動的に計測し、多数の点の3次元座標を点群データとしてデータファイルに出力する。また、計測器102は、例えば、カメラであってもよく、移動するカメラから得られる画像から3次元対象物の形状を復元することによって(SfM:Structure of Motion)、点群データを取得してもよい。計測器102は、3次元対象物の形状の点群データを3次元対象物の形状に対する法線方向のデータに変換してもよい。また、コントローラ104が、3次元対象物の形状の点群データを計測器102から受信して、点群データを3次元対象物の形状に対する法線方向のデータに変換してもよい。
計測器102は、下記で説明される3次元対象物の形状を計測する装置201を含んでもよい。図6を参照して、本発明の一実施形態としての、3次元対象物の形状を計測する装置201について説明する。装置201は、ステージ206上に配置された3次元対象物に対して縞模様を投影するプロジェクタ202と、投影された3次元対象物の画像を撮影するカメラ203と、撮影された画像から3次元対象物の高さを計算するプロセッサ204とを備える。縞模様が3次元対象物にプロジェクタ202によって投影されると、カメラ203によって撮影される縞模様は、3次元対象物の高さに応じてシフトするように歪んでおり、プロセッサ204は、この縞模様の歪み量から3次元対象物の高さを計算することができる。プロジェクタ202によって投影される縞模様は、2つの色相の光からなる通常縞模様と、通常縞模様とは2つの色相の位置が逆になっている反転縞模様とを含む。2つの色相の光は、干渉し合わないように波長の長さが離れていることが好ましく、例えば、赤色の光及び青色の光からなるが、これに限定されるものではない。また、2つの色相は、投影された縞模様による3次元対象物からの鏡面反射の影響を受けないように決定されてもよい。プロセッサ204は、通常縞模様による撮影からの通常画像の色相チャネルと反転縞模様による撮影からの反転画像の色相チャネルとの比較に基づいて3次元対象物の高さを計算する。通常縞模様による投影に加えて反転縞模様による投影を行うことによって、通常画像における縞模様の歪み量及び反転画像における縞模様の歪み量という2つの歪み量を使用して3次元対象物の高さを計算することができ、頑健に3次元対象物の形状を計測することができる。プロセッサ204の動作は、コンピュータプログラムに従って実行されてもよい。コンピュータプログラムは、プロセッサ204に内蔵されたメモリに記憶されてもよいし、プロセッサが動作する際に、プロセッサ204の外にあるメモリからプロセッサ204に読み出されてもよい。
図7を参照して、3次元対象物の形状を測定するための2つの色相に基づく通常縞模様及び反転縞模様を作成する方法について説明する。プロジェクタ202は、投影される縞模様の数に応じて計測分解能を変化させることができる。投影される縞模様の数をM(Mは正の整数)とし、プロジェクタ202が3次元対象物に対してM個の縞模様をそれぞれ投影することによって、3次元対象物を撮影するための領域が、2つの色相による2進数から2M個の区域に分割され、各区域が0~2M-1のコードワードによって区別される。バイナリコードの代わりにグレイコードに従って、通常縞模様及び反転縞模様を作成して、3次元対象物を撮影するための領域を2M個の区域に分割する。グレイコードは、情報理論において周知のコードであり、ビットエラーの低減に効果的である。グレイコードは下記の式によって画定される。
g1及びb1は、それぞれnビットグレイコード及びnビットバイナリコードの最上位ビット(MSB:Most Significant Bit)(1番目のビット)である。giは、nビットグレイコードのi番目のビットであり、biは、nビットバイナリコードのi番目のビットである。下記の式は、排他的論理和演算子である。
投影される縞模様の数は、グレイコードのビット数と同じである。図7は、M=3の場合の縞模様を作成する方法の例を示す。第1に、2つの色相に基づいて3次元対象物を撮影するための領域を2M個の区域に分割するように、10進数の0~2M-1によって表される2M個のコードワードがグレイコードに変換される。第2に、グレイコードによって表された2M個のコードワードは、第1のビット、第2のビット、第3のビットのように垂直に整列される。第3に、垂直に整列された2Mのコードワードが水平に結合される。第4に、ビット列が水平方向に抽出され、0ビット及び1ビットがそれぞれ2つの色相のうちの1つに変換される(例えば、0ビットが青、1ビットが赤に変換される)。2つの色相のシーケンスによって通常縞模様が作成され、通常縞模様から2つの色相の位置を交換することによって反転縞模様が作成される。
g1及びb1は、それぞれnビットグレイコード及びnビットバイナリコードの最上位ビット(MSB:Most Significant Bit)(1番目のビット)である。giは、nビットグレイコードのi番目のビットであり、biは、nビットバイナリコードのi番目のビットである。下記の式は、排他的論理和演算子である。
投影される縞模様の数は、グレイコードのビット数と同じである。図7は、M=3の場合の縞模様を作成する方法の例を示す。第1に、2つの色相に基づいて3次元対象物を撮影するための領域を2M個の区域に分割するように、10進数の0~2M-1によって表される2M個のコードワードがグレイコードに変換される。第2に、グレイコードによって表された2M個のコードワードは、第1のビット、第2のビット、第3のビットのように垂直に整列される。第3に、垂直に整列された2Mのコードワードが水平に結合される。第4に、ビット列が水平方向に抽出され、0ビット及び1ビットがそれぞれ2つの色相のうちの1つに変換される(例えば、0ビットが青、1ビットが赤に変換される)。2つの色相のシーケンスによって通常縞模様が作成され、通常縞模様から2つの色相の位置を交換することによって反転縞模様が作成される。
プロジェクタ202は、作成された通常縞模様及び反転縞模様を3次元対象物に対して投影し、カメラ203は、通常縞模様及び反転縞模様が投影された3次元対象物の画像を撮影する。そして、プロセッサ204は、カメラ203によって撮影された通常画像及び反転画像から、3次元対象物の形状の高さzを計算するための二値画像を下記の式によって作成する。
IH,nor(x,y)は、撮影された通常画像の座標(x,y)の色相チャネルであり、IH,rev(x,y)は、撮影された反転画像の座標(x,y)の色相チャネルであり、bin(x,y)は、座標(x,y)の二値画像の値である。プロセッサ204は、撮影された通常画像の色相チャネルIH,nor(x,y)と撮影された反転画像の色相チャネルIH,rev(x,y)とを比較し、通常画像の色相チャネルIH,nor(x,y)が反転画像の色相チャネルIH,rev(x,y)より大きい場合には、座標(x,y)の二値画像の値bin(x,y)は1に画定され、通常画像の色相チャネルIH,nor(x,y)が反転画像の色相チャネルIH,rev(x,y)以下である場合には、座標(x,y)の二値画像の値bin(x,y)は0に画定される。少なくとも3次元対象物に関連する座標(x,y)において、通常画像の色相チャネルIH,nor(x,y)と反転画像の色相チャネルIH,rev(x,y)とを比較することによって二値画像を作成する。プロジェクタ202による通常縞模様及び反転縞模様の3次元対象物に対する投影はM回実行され、プロセッサ204は、各投影においてカメラ203によって撮影された通常縞模様による通常画像及び反転縞模様による反転画像から二値画像を作成する。このように作成されたM個の二値画像は、3次元対象物がステージ206上にない場合に撮影された通常縞模様による通常画像及び反転縞模様による反転画像から作成された二値画像より3次元対象物の高さzに応じて歪んでおり、プロセッサ204は、このように作成されたM個の二値画像の歪みに基づいて3次元対象物の高さzを計算する。
IH,nor(x,y)は、撮影された通常画像の座標(x,y)の色相チャネルであり、IH,rev(x,y)は、撮影された反転画像の座標(x,y)の色相チャネルであり、bin(x,y)は、座標(x,y)の二値画像の値である。プロセッサ204は、撮影された通常画像の色相チャネルIH,nor(x,y)と撮影された反転画像の色相チャネルIH,rev(x,y)とを比較し、通常画像の色相チャネルIH,nor(x,y)が反転画像の色相チャネルIH,rev(x,y)より大きい場合には、座標(x,y)の二値画像の値bin(x,y)は1に画定され、通常画像の色相チャネルIH,nor(x,y)が反転画像の色相チャネルIH,rev(x,y)以下である場合には、座標(x,y)の二値画像の値bin(x,y)は0に画定される。少なくとも3次元対象物に関連する座標(x,y)において、通常画像の色相チャネルIH,nor(x,y)と反転画像の色相チャネルIH,rev(x,y)とを比較することによって二値画像を作成する。プロジェクタ202による通常縞模様及び反転縞模様の3次元対象物に対する投影はM回実行され、プロセッサ204は、各投影においてカメラ203によって撮影された通常縞模様による通常画像及び反転縞模様による反転画像から二値画像を作成する。このように作成されたM個の二値画像は、3次元対象物がステージ206上にない場合に撮影された通常縞模様による通常画像及び反転縞模様による反転画像から作成された二値画像より3次元対象物の高さzに応じて歪んでおり、プロセッサ204は、このように作成されたM個の二値画像の歪みに基づいて3次元対象物の高さzを計算する。
カメラ203によって撮影された3次元対象物のRGB色空間の画像から上記のように二値画像を作成して、3次元対象物の高さzを計算してもよい。しかし、HSV(色相(Hue)、彩度(Saturation)、明度(Value))色空間は、色相が輝度とは無関係であるので、3次元対象物からの鏡面反射による露光の変化に対して頑健であるので好ましい。従って、露光の変化による影響を低減するために、HSV色空間の色相を使用してもよい。撮影された3次元対象物のRGB色空間の画像を、HSV色空間の画像に下記の式によって変換する。
IRGBはRGB色空間の画像であり、IHSVは、HSV色空間の画像である。fspaceは、RGB色空間をHSV色空間に変換する関数である。IHは画像の色相チャネルであり、fchannelは、HSV色空間の画像から色相チャネルのみを抽出し、色相チャネルを0~1の範囲に正規化する関数である。一般的に、色相チャネルが増加すると、表される色は、赤(0)、黄(1/6)、緑(1/3)、青(2/3)、赤(1)のように周期的に変化する。しかし、赤に近い色相チャネルの場合、IHは0又は1に近い値であるので、IHの値は不安定になる。この問題を解決するために、IHに下記の式を適用する。
IH(x,y)は、座標(x,y)での色相チャネルIHであり、0~1に正規化された色相チャネルIHは、-1~1の範囲の余弦値I’Hに変換される。0又は1に近い値である赤に近い色相チャネルの場合であっても、連続的になるように1に近い値に変換されて安定する。これによって、色相チャネルの情報を効果的に利用することができる。そして、プロセッサ204は、カメラ203によって撮影された通常画像及び反転画像から、上記の式を使用して、3次元対象物の形状の高さzを計算するための二値画像を下記の式によって作成する。
I’H,nor(x,y)は、撮影された通常画像の座標(x,y)の色相チャネルの余弦値であり、I’H,rev(x,y)は、撮影された反転画像の座標(x,y)の色相チャネルの余弦値であり、bin(x,y)は、座標(x,y)の余弦値による二値画像の値である。プロセッサ204は、撮影された通常画像の色相チャネルの余弦値I’H,nor(x,y)と撮影された反転画像の色相チャネルの余弦値I’H,rev(x,y)とを比較し、通常画像の色相チャネルの余弦値I’H,nor(x,y)が反転画像の色相チャネルの余弦値I’H,rev(x,y)より大きい場合には、座標(x,y)の二値画像の値bin(x,y)は1に画定され、通常画像の色相チャネルの余弦値I’H,nor(x,y)が反転画像の色相チャネルの余弦値I’H,rev(x,y)以下である場合には、座標(x,y)の二値画像の値bin(x,y)は0に画定される。少なくとも3次元対象物に関連する座標(x,y)において、通常画像の色相チャネルの余弦値I’H,nor(x,y)と反転画像の色相チャネルの余弦値I’H,rev(x,y)とを比較することによって二値画像を作成する。このように色相チャネルの余弦値を使用することによって、3次元対象物に縞模様を投影する際に発生する鏡面反射による測定誤差を低減することができる。また、上記と同様に、プロジェクタ202による通常縞模様及び反転縞模様の3次元対象物に対する投影はM回実行され、プロセッサ204は、各投影においてカメラ203によって撮影された通常縞模様による通常画像及び反転縞模様による反転画像から二値画像を作成する。このように作成されたM個の二値画像は、3次元対象物がステージ206上にない場合に撮影された通常縞模様による通常画像及び反転縞模様による反転画像から作成された二値画像より3次元対象物の高さzに応じて歪んでおり、プロセッサ204は、このように作成されたM個の二値画像の歪みに基づいて3次元対象物の高さzを計算する。
IRGBはRGB色空間の画像であり、IHSVは、HSV色空間の画像である。fspaceは、RGB色空間をHSV色空間に変換する関数である。IHは画像の色相チャネルであり、fchannelは、HSV色空間の画像から色相チャネルのみを抽出し、色相チャネルを0~1の範囲に正規化する関数である。一般的に、色相チャネルが増加すると、表される色は、赤(0)、黄(1/6)、緑(1/3)、青(2/3)、赤(1)のように周期的に変化する。しかし、赤に近い色相チャネルの場合、IHは0又は1に近い値であるので、IHの値は不安定になる。この問題を解決するために、IHに下記の式を適用する。
IH(x,y)は、座標(x,y)での色相チャネルIHであり、0~1に正規化された色相チャネルIHは、-1~1の範囲の余弦値I’Hに変換される。0又は1に近い値である赤に近い色相チャネルの場合であっても、連続的になるように1に近い値に変換されて安定する。これによって、色相チャネルの情報を効果的に利用することができる。そして、プロセッサ204は、カメラ203によって撮影された通常画像及び反転画像から、上記の式を使用して、3次元対象物の形状の高さzを計算するための二値画像を下記の式によって作成する。
I’H,nor(x,y)は、撮影された通常画像の座標(x,y)の色相チャネルの余弦値であり、I’H,rev(x,y)は、撮影された反転画像の座標(x,y)の色相チャネルの余弦値であり、bin(x,y)は、座標(x,y)の余弦値による二値画像の値である。プロセッサ204は、撮影された通常画像の色相チャネルの余弦値I’H,nor(x,y)と撮影された反転画像の色相チャネルの余弦値I’H,rev(x,y)とを比較し、通常画像の色相チャネルの余弦値I’H,nor(x,y)が反転画像の色相チャネルの余弦値I’H,rev(x,y)より大きい場合には、座標(x,y)の二値画像の値bin(x,y)は1に画定され、通常画像の色相チャネルの余弦値I’H,nor(x,y)が反転画像の色相チャネルの余弦値I’H,rev(x,y)以下である場合には、座標(x,y)の二値画像の値bin(x,y)は0に画定される。少なくとも3次元対象物に関連する座標(x,y)において、通常画像の色相チャネルの余弦値I’H,nor(x,y)と反転画像の色相チャネルの余弦値I’H,rev(x,y)とを比較することによって二値画像を作成する。このように色相チャネルの余弦値を使用することによって、3次元対象物に縞模様を投影する際に発生する鏡面反射による測定誤差を低減することができる。また、上記と同様に、プロジェクタ202による通常縞模様及び反転縞模様の3次元対象物に対する投影はM回実行され、プロセッサ204は、各投影においてカメラ203によって撮影された通常縞模様による通常画像及び反転縞模様による反転画像から二値画像を作成する。このように作成されたM個の二値画像は、3次元対象物がステージ206上にない場合に撮影された通常縞模様による通常画像及び反転縞模様による反転画像から作成された二値画像より3次元対象物の高さzに応じて歪んでおり、プロセッサ204は、このように作成されたM個の二値画像の歪みに基づいて3次元対象物の高さzを計算する。
なお、上記では色相チャネルIHは余弦値I’Hに変換されたが、色相チャネルIHは、プロセッサ204によって0~1の範囲で連続的な値を有する関数によって変換されてもよく、選択される2つの色相に応じて、例えば、正弦関数、三角波関数、等のような周期的な関数によって変換されてもよい。プロセッサ204は、通常画像の色相チャネルIH,nor(x,y)の関数による値と反転画像の色相チャネルIH,rev(x,y)の関数による値との比較に基づいて、3次元対象物の高さを計算してもよい。
プロセッサ204は、3次元対象物の高さを下記の式の関数によって計算する。
zは3次元対象物の高さであり、a0、a1、及びa2は下記の校正フェーズにおいて計算された係数であり、sは二値画像の歪み量である。3次元対象物の高さを計算するために、第1に、上記のように、3次元対象物に対して縞模様を投影し、二値画像を作成して、3次元対象物の3点についての縞模様の歪み量s1、s2、及びs3、並びに3次元対象物の高さz1、z2、及びz3をそれぞれ測定する(標本フェーズ)。第2に、標本フェーズにおいて取得された歪み量s1、s2、及びs3、並びに3次元対象物の高さz1、z2、及びz3をそれぞれ上記の式に代入して3つの方程式による連立方程式を作成し、連立方程式を解くことによって係数a0、a1、及びa2を取得する(校正フェーズ)。取得された係数a0、a1、及びa2を上記の式に代入し、二値画像から取得された3次元対象物の任意の座標(x,y)の縞模様の歪み量から、3次元対象物の任意の座標(x,y)における高さzを計算する(測定フェーズ)。このようにして、プロセッサ204は、3次元対象物の横方向の位置x、縦方向の位置yに対する高さzを計算することによって、3次元対象物の形状を認識するための3次元対象物の形状の点群データを取得する。なお、上記では係数は3つであるが、それより多くてもよく、係数の数に応じて標本フェーズで測定する点の数を増やし、校正フェーズで係数の数に応じた連立方程式を解いて係数を取得してもよい。
zは3次元対象物の高さであり、a0、a1、及びa2は下記の校正フェーズにおいて計算された係数であり、sは二値画像の歪み量である。3次元対象物の高さを計算するために、第1に、上記のように、3次元対象物に対して縞模様を投影し、二値画像を作成して、3次元対象物の3点についての縞模様の歪み量s1、s2、及びs3、並びに3次元対象物の高さz1、z2、及びz3をそれぞれ測定する(標本フェーズ)。第2に、標本フェーズにおいて取得された歪み量s1、s2、及びs3、並びに3次元対象物の高さz1、z2、及びz3をそれぞれ上記の式に代入して3つの方程式による連立方程式を作成し、連立方程式を解くことによって係数a0、a1、及びa2を取得する(校正フェーズ)。取得された係数a0、a1、及びa2を上記の式に代入し、二値画像から取得された3次元対象物の任意の座標(x,y)の縞模様の歪み量から、3次元対象物の任意の座標(x,y)における高さzを計算する(測定フェーズ)。このようにして、プロセッサ204は、3次元対象物の横方向の位置x、縦方向の位置yに対する高さzを計算することによって、3次元対象物の形状を認識するための3次元対象物の形状の点群データを取得する。なお、上記では係数は3つであるが、それより多くてもよく、係数の数に応じて標本フェーズで測定する点の数を増やし、校正フェーズで係数の数に応じた連立方程式を解いて係数を取得してもよい。
プロセッサ204は、上記のように取得された点群データをメモリ205に記憶させる。また、プロセッサ204は、3次元対象物の形状の各点に対応する点群データをメモリ205から取得する。プロセッサ204は、図8Aに示すように、3次元対象物301の形状の各点に関連付けて、点群データ302を3次元対象物の形状に対する法線方向のデータ303に変換する。プロセッサ204は、このように変換することによって取得された法線方向のデータ303をメモリ205に送信し、3次元対象物の形状の対応する点に関連付けて、各法線方向のデータ303をメモリ205に記憶させる。法線方向のデータ303は、3次元対象物301の表面の各点から3次元対象物301の表面に対する法線方向に延伸する、3次元のベクトルデータである。なお、メモリ205は、プロセッサ204に内蔵されていてもよいし、プロセッサ204の外にあってもよい。また、プロセッサ204の動作は、コンピュータプログラムに従って実行されてもよい。コンピュータプログラムは、メモリ205に記憶されてもよい。
上記のように取得された点群データ302は、非常にデータ量が多い場合があり、メモリ205の多くの部分を占有し、送信する際に時間を要する。プロセッサ204は、3次元対象物301の形状における所定の距離に応じて、点群データ302及び法線方向のデータ303を削減してもよい。例えば、図8Bに示すように、プロセッサ204は、3次元対象物301の形状に沿って等間隔に点群データ302及び法線方向のデータ303を削減して、間引き点群データ304及び間引き法線方向のデータ305を作成してもよい。
また、プロセッサ204は、3次元対象物301の形状の各点における曲率に応じて点群データ302及び法線方向のデータ303を削減してもよい。図8Aに示すように、3次元対象物301の左側部分は、3次元対象物301の形状において曲率が大きい一方で、3次元対象物301の右側部分は、3次元対象物301の形状において曲率が小さい。曲率が小さい部分は、3次元対象物301の形状がほとんど変化せず、法線方向のデータ303もほとんど変化しない。例えば、図8Cに示すように、曲率が所定の値より小さい部分においては、法線方向のデータを削減し、更には削減された法線方向のデータに関連付けられた点群データも削減して、間引き点群データ304及び間引き法線方向のデータ305を作成してもよい。なお、この小さい部分においては、同じ間引き法線方向のデータ305を使用してもよい。
また同様に、プロセッサ204は、3次元対象物301の形状における法線方向のデータ303の変化量に応じて、点群データ302及び法線方向のデータ303を削減してもよい。図8Aに示すように、3次元対象物301の左側部分は、3次元対象物301の形状において法線方向のデータ303が大きく変化する一方で、3次元対象物301の右側部分は、3次元対象物301の形状において法線方向のデータ303がほとんど変化しない。例えば、図8Cに示すように、法線方向のデータ303の変化量が所定の値より小さい部分においては、法線方向のデータを削減し、更には削減された法線方向のデータに関連付けられた点群データも削減して、間引き点群データ304及び間引き法線方向のデータ305を作成してもよい。なお、この小さい部分においては、同じ間引き法線方向のデータ305を使用してもよい。
プロセッサ204は、点群データ302及び法線方向のデータ303を削減することによって作成された間引き点群データ304及び間引き法線方向のデータ305をメモリ205に記憶させる。間引き点群データ304及び間引き法線方向のデータ305は、プロセッサ204によってコントローラ104に送信されてもよいし、コントローラ104によってメモリ205から読み出されてもよい。
上記記載は特定の実施例についてなされたが、本発明はそれに限らず、本発明の原理と添付の特許請求の範囲の範囲内で種々の変更及び修正をすることができることは当業者に明らかである。
101 多関節ロボットを作動させる装置
102 計測器
103 多関節ロボット
104 コントローラ
105 先端部
106 力覚センサ
201 3次元対象物の形状を計測する装置
202 プロジェクタ
203 カメラ
204 プロセッサ
205 メモリ
206 ステージ
301 3次元対象物
302 点群データ
303 法線方向のデータ
304 間引き点群データ
305 間引き法線方向データ
102 計測器
103 多関節ロボット
104 コントローラ
105 先端部
106 力覚センサ
201 3次元対象物の形状を計測する装置
202 プロジェクタ
203 カメラ
204 プロセッサ
205 メモリ
206 ステージ
301 3次元対象物
302 点群データ
303 法線方向のデータ
304 間引き点群データ
305 間引き法線方向データ
Claims (15)
- 3次元対象物の形状の点群データを計測器に取得させるステップと、
前記点群データに基づいて前記3次元対象物の形状に沿って多関節ロボットを自動的に作動させるステップと
を含む方法であって、
前記方法は、前記点群データを前記3次元対象物の形状に対する法線方向のデータに変換するステップを更に含み、
前記法線方向のデータに基づいて、前記3次元対象物に対して所定の力を前記法線方向から加えられるように前記多関節ロボットを作動させる、方法。 - 前記多関節ロボットの先端部には力覚センサが設けられ、前記力覚センサの出力信号に基づいて、前記3次元対象物に対して前記所定の力を前記法線方向から加えられるように前記多関節ロボットを作動させる、請求項1に記載の方法。
- 前記3次元対象物に対して前記所定の力を前記法線方向から加えられるように、前記法線方向から前記多関節ロボットの先端部を前記3次元対象物に接触させる、請求項2に記載の方法。
- 前記力覚センサが前記3次元対象物との接触を感知してから所定の応答時間内で前記所定の力を維持することができるように、前記法線方向から前記多関節ロボットの先端部を前記3次元対象物に接触させる、請求項3に記載の方法。
- 前記多関節ロボットはモータを備え、前記モータに流れる電流を制御することによって、前記3次元対象物の各点に前記多関節ロボットの先端部を移動させ、且つ前記3次元対象物の各点に対して前記法線方向から前記多関節ロボットの先端部を前記3次元対象物に接触させる、請求項3又は4に記載の方法。
- 所定の速度で前記3次元対象物の形状に沿って前記所定の力を前記法線方向から加えられるように前記多関節ロボットを作動させる、請求項1~5の何れか一項に記載の方法。
- 前記3次元対象物に対して研磨、バリ取り、及びビード取りのうちの何れか1つを実行することができるように前記多関節ロボットを作動させる、請求項1~6の何れか一項に記載の方法。
- 請求項1~7の何れか一項に記載の方法を実行させるためのコンピュータプログラム。
- 3次元対象物の形状の点群データを取得する計測器と、
前記点群データに基づいて前記3次元対象物の形状に沿って自動的に作動する多関節ロボットと
を備える装置であって、
前記装置は、前記点群データを前記3次元対象物の形状に対する法線方向のデータに変換するコントローラを更に備え、
前記コントローラは、前記法線方向のデータに基づいて、前記3次元対象物に対して所定の力を前記法線方向から加えられるように前記多関節ロボットを作動させる、装置。 - 前記多関節ロボットの先端部には力覚センサが設けられ、前記コントローラは、前記力覚センサの出力信号に基づいて、前記3次元対象物に対して前記所定の力を前記法線方向から加えられるように前記多関節ロボットを作動させる、請求項9に記載の装置。
- 前記コントローラは、前記3次元対象物に対して前記所定の力を前記法線方向から加えられるように、前記法線方向から前記多関節ロボットの先端部を前記3次元対象物に接触させる、請求項10に記載の装置。
- 前記コントローラは、前記力覚センサが前記3次元対象物との接触を感知してから所定の応答時間内で前記所定の力を維持することができるように、前記法線方向から前記多関節ロボットの先端部を前記3次元対象物に接触させる、請求項11に記載の装置。
- 前記多関節ロボットはモータを備え、前記コントローラは、前記モータに流れる電流を制御することによって、前記3次元対象物の各点に前記多関節ロボットの先端部を移動させ、且つ前記3次元対象物の各点に対して前記法線方向から前記多関節ロボットの先端部を前記3次元対象物に接触させる、請求項11又は12に記載の装置。
- 前記コントローラは、所定の速度で前記3次元対象物の形状に沿って前記所定の力を前記法線方向から加えられるように前記多関節ロボットを作動させる、請求項9~13の何れか一項に記載の装置。
- 前記コントローラは、前記3次元対象物に対して研磨、バリ取り、及びビード取りのうちの何れか1つを実行することができるように前記多関節ロボットを作動させる、請求項9~14の何れか一項に記載の装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022565336A JPWO2022113952A1 (ja) | 2020-11-24 | 2021-11-22 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020-194051 | 2020-11-24 | ||
JP2020194051 | 2020-11-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022113952A1 true WO2022113952A1 (ja) | 2022-06-02 |
Family
ID=81754567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2021/042845 WO2022113952A1 (ja) | 2020-11-24 | 2021-11-22 | 3次元対象物の形状を認識し、その形状に沿って多関節ロボットを作動させる装置及び方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2022113952A1 (ja) |
WO (1) | WO2022113952A1 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH058187A (ja) * | 1991-07-03 | 1993-01-19 | Fujitsu Ltd | ロボツト |
JPH06312343A (ja) * | 1993-04-28 | 1994-11-08 | Toshiba Corp | グラインダ作業ロボットの制御方法 |
JP2005007486A (ja) * | 2003-06-16 | 2005-01-13 | Toyota Motor Corp | ロボットハンドの把持制御装置 |
CN107283422A (zh) * | 2016-04-11 | 2017-10-24 | 南京埃斯顿自动化股份有限公司 | 基于离线编程的机器人加持工件打磨的轨迹规划方法 |
JP6713700B1 (ja) * | 2020-03-09 | 2020-06-24 | リンクウィズ株式会社 | 情報処理方法、情報処理システム、プログラム |
-
2021
- 2021-11-22 WO PCT/JP2021/042845 patent/WO2022113952A1/ja active Application Filing
- 2021-11-22 JP JP2022565336A patent/JPWO2022113952A1/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH058187A (ja) * | 1991-07-03 | 1993-01-19 | Fujitsu Ltd | ロボツト |
JPH06312343A (ja) * | 1993-04-28 | 1994-11-08 | Toshiba Corp | グラインダ作業ロボットの制御方法 |
JP2005007486A (ja) * | 2003-06-16 | 2005-01-13 | Toyota Motor Corp | ロボットハンドの把持制御装置 |
CN107283422A (zh) * | 2016-04-11 | 2017-10-24 | 南京埃斯顿自动化股份有限公司 | 基于离线编程的机器人加持工件打磨的轨迹规划方法 |
JP6713700B1 (ja) * | 2020-03-09 | 2020-06-24 | リンクウィズ株式会社 | 情報処理方法、情報処理システム、プログラム |
Also Published As
Publication number | Publication date |
---|---|
JPWO2022113952A1 (ja) | 2022-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018090323A1 (zh) | 一种坐标系标定方法、系统及装置 | |
CN101842195B (zh) | 把持设备和把持设备控制方法 | |
US8666141B2 (en) | Robot system, robot control device and method for controlling robot | |
JP3842233B2 (ja) | 画像処理装置及びロボットシステム | |
JP5835926B2 (ja) | 情報処理装置、情報処理装置の制御方法、およびプログラム | |
US11691274B2 (en) | Software compensated robotics | |
JP6584102B2 (ja) | ロボット装置、ロボット制御方法、プログラム、記録媒体、及び物品の製造方法 | |
JP2019010713A (ja) | ハンド制御装置、ハンド制御方法、およびハンドのシミュレーション装置 | |
JP5849451B2 (ja) | ロボットの故障検出方法、制御装置およびロボット | |
US20210283782A1 (en) | Measurement parameter optimization method and device, and computer control program stored on computer-readable storage medium | |
JP5223407B2 (ja) | 冗長ロボットの教示方法 | |
WO2022113952A1 (ja) | 3次元対象物の形状を認識し、その形状に沿って多関節ロボットを作動させる装置及び方法 | |
US20180215044A1 (en) | Image processing device, robot control device, and robot | |
WO2023037634A1 (ja) | 指令値生成装置、方法、及びプログラム | |
CN111098323A (zh) | 一种基于力与位移模糊混合控制的五指灵巧手及其控制方法 | |
US20200139551A1 (en) | Robot system | |
WO2019171516A1 (ja) | 垂直多関節ロボットの慣性パラメータ同定システム及び慣性パラメータ同定方法並びに垂直多関節ロボットの制御装置及び制御方法 | |
KR100489366B1 (ko) | 3차원 형상 조형 시스템 | |
WO2020255229A1 (ja) | 計測装置、計測方法、及び計測プログラム | |
KR101820241B1 (ko) | 그리퍼를 이용한 물체의 움직임 추정 장치 및 그 방법 | |
CN211806192U (zh) | 一种基于力与位移模糊混合控制的五指灵巧手 | |
JP2022082894A (ja) | 3次元対象物の形状を測定する装置及び方法 | |
KR20180033846A (ko) | 드로잉 로봇 | |
CN111604900A (zh) | 一种适用于机械手在手操作的目标参数检测方法 | |
JP2019155523A (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: 21897925 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2022565336 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: 21897925 Country of ref document: EP Kind code of ref document: A1 |