WO2022038913A1 - 制御システム、制御方法、および制御装置 - Google Patents
制御システム、制御方法、および制御装置 Download PDFInfo
- Publication number
- WO2022038913A1 WO2022038913A1 PCT/JP2021/025571 JP2021025571W WO2022038913A1 WO 2022038913 A1 WO2022038913 A1 WO 2022038913A1 JP 2021025571 W JP2021025571 W JP 2021025571W WO 2022038913 A1 WO2022038913 A1 WO 2022038913A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- camera
- end effector
- state
- control
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
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 disclosure relates to control systems, control methods, and control devices.
- Patent Document 1 describes a robot control device.
- the robot control device includes an image pickup means for confirming the operation of the movement of the robot hand automatically controlled by the program.
- the robot control device confirms the above operation based on the image input from the image pickup means.
- the robot control device includes an image pickup area changing means for changing an image pickup area by the image pickup means, and a position detection means for detecting the position of the robot hand.
- the robot control device changes the image pickup area of the image pickup means by the image pickup area changing means according to the position of the robot hand detected by the position detection means.
- the control system includes a camera, an end effector, and a control device for controlling the camera and the end effector.
- the control device includes an acquisition unit that acquires state change direction information indicating a state change direction of an image pickup object, a camera control unit that controls the operation of the camera based on the state change direction information, and an end effector.
- a transmission unit for transmitting a control signal to be controlled to the end effector is provided. After the camera control unit controls the operation of the camera, the transmission unit transmits the control signal to the end effector.
- control method is a control method of a camera and an end effector by a control device including an acquisition unit, a camera control unit, and a transmission unit, and the acquisition unit is a state of an image pickup object.
- control device includes an acquisition unit that acquires state change direction information indicating the change direction of the state of the image pickup object, and a camera control unit that controls the operation of the camera based on the state change direction information.
- a transmission unit that transmits a control signal for controlling an end effector to the end effector. After the camera control unit controls the operation of the camera, the transmission unit transmits the control signal to the end effector.
- control system a control method, and a control device that can more accurately recognize a change in the state of an object in a camera when controlling an end effector.
- a sequence diagram corresponding to the first control example of the camera and the end effector by the control device A flowchart showing a second control example of the camera and the end effector by the control device. A flowchart illustrating a robot control process shown in FIG. Sequence diagram corresponding to the second control example of the camera and the end effector by the control device A modified example of the sequence diagram corresponding to the first control example of the camera and the end effector by the control device.
- Conceptual diagram showing an example of camera positioning when there are multiple objects to be imaged Conceptual diagram showing the angle between the direction of change in the state of the object to be imaged and the optical axis of the camera.
- Conceptual diagram showing the first state of the sticker sticking work performed by the end effector A conceptual diagram showing a camera image and a target state corresponding to FIG. 16A.
- Conceptual diagram showing the second state of the sticker sticking work performed by the end effector Conceptual diagram showing a camera image corresponding to FIG. 17A
- Conceptual diagram showing the third state of the sticker sticking work performed by the end effector Conceptual diagram showing a camera image corresponding to FIG. 18A
- Conceptual diagram showing the fourth state of the sticker sticking work performed by the end effector A conceptual diagram showing a camera image and a target state corresponding to FIG. 19A.
- Conceptual diagram showing the first state of the work of moving the gripping object performed by the end effector A conceptual diagram showing a camera image and a target state corresponding to FIG. 20A.
- Conceptual diagram showing the second state of the work of moving the gripping object performed by the end effector A conceptual diagram showing a camera image and a target state corresponding to FIG. 21A.
- Conceptual diagram showing the imaging area for screw tightening Conceptual diagram showing the first state of the work in which the end effector grips the driver and tightens the screws.
- Conceptual diagram showing the second state of the work in which the end effector grips the driver and tightens the screws Conceptual diagram showing the second state of the work in which the end effector grips the driver and tightens the screws.
- End effectors such as robot hands are controlled by a control device to perform work such as grasping a work.
- the camera captures an area (working area) where this work is performed and acquires an captured image.
- the control device controls the end effector based on the change of the image pickup object (for example, the work) reflected in the captured image, and the end effector performs the work. In this way, by using the camera, the end effector can perform the work accurately.
- the state of the imaged object reflected in the captured image changes.
- the end effector grips the work as an example of the object to be imaged and moves the work
- the shape and position of the work change.
- the control device may not be able to recognize changes in the state of the imaged object based on the image captured by the camera. For example, if the direction of change in the shape of the work held by the end effector or the direction of movement of the work is parallel to the optical axis of the camera, the camera may not be able to correctly recognize the change in the shape or position of the work. This is because the change in the state of the imaged object does not appear as a clear change in the pixels in the captured image.
- control system the control method, and the control device that can more accurately recognize the change in the state of the object by the camera when controlling the end effector will be described in detail.
- the present embodiment in which the control system, the control method, and the control device according to the present disclosure are specifically disclosed will be described in detail with reference to the drawings as appropriate. However, more detailed explanation than necessary may be omitted. For example, detailed explanations of already well-known matters and duplicate explanations for substantially the same configuration may be omitted. This is to avoid unnecessary redundancy of the following description and to facilitate the understanding of those skilled in the art. It should be noted that the accompanying drawings and the following description are provided for those skilled in the art to fully understand the present disclosure, and are not intended to limit the subject matter described in the claims.
- FIG. 1 is a conceptual diagram showing an example of a control system 100.
- the control system 100 includes at least a camera 13, an end effector 11, and a control device 2 for controlling the camera 13 and the end effector 11.
- the robot 1 includes an end effector 11, a robot arm 12, a camera 13, and a camera arm 14.
- reference numeral 131 in FIG. 1 indicates the optical axis of the camera 13.
- the robot 1 is, for example, a robot device used in automation in a factory or the like.
- the control device 2 is communicably connected to the robot 1.
- the control system 100 is not limited to the configuration shown in FIG.
- the camera 13 may be installed at a place other than the robot 1.
- the control device 2 may be built in the robot 1.
- the end effector 11 is typically a robot hand with one or more fingers.
- the end effector 11 is attached to the robot arm 12 and performs work such as gripping and moving the work Wk, for example.
- the end effector 11 is not limited to a robot hand having a finger.
- the end effector 11 may be a flexible spherical one. In this case, the end effector 11 is gripped so as to wrap around the work Wk while being deformed.
- the control device 2 recognizes the operation of the end effector 11 by using the image captured by the camera 13, the end effector 11 may be transparent as long as it can detect the change in the state from the captured image.
- the end effector 11 is not limited to these, and one that is common to those skilled in the art may be used.
- the end effector 11 is attached to the robot arm 12.
- the robot arm 12 has one or more joints.
- the deformation of the robot arm 12 with respect to this joint changes the relative position or angle of the end effector 11 with respect to the work Wk.
- the deformation of the robot arm 12 may change the relative position and angle of the end effector 11 with respect to the work Wk. Since the robot arm 12 may be deformable, it does not necessarily have to have joints.
- the robot arm 12 may be configured to be expandable and contractible.
- the camera 13 is connected to the robot arm 12 via the camera arm 14.
- the camera arm 14 can be expanded and contracted and deformed.
- the configuration for expanding and contracting and deforming the camera arm 14 may be general to those skilled in the art.
- the position and angle of the camera 13 change according to the deformation (and expansion / contraction) of the robot arm 12 and the deformation and expansion / contraction of the camera arm 14.
- the camera 13 takes an image of an object to be imaged in the direction of the optical axis 131.
- the imaging object includes, for example, any one of an end effector 11, an object held by the end effector 11, and a working object by the end effector 11 or an object held by the end effector 11. Specific examples of these imaging objects will be described later with reference to FIGS. 6A to 6D.
- the camera 13 transmits the captured image obtained by capturing the imaged object to the control device 2.
- the control device 2 controls the end effector 11, the robot arm 12, the camera 13, and the camera arm 14 based on the acquired captured image.
- a configuration example of the control device 2 will be described later with reference to FIG.
- the camera 13 may extract features necessary for the target operation, which will be described later, from the captured image based on FIG.
- the feature extracted from the captured image is used when the control device 2 detects a state change such as movement or operation of the imaged object reflected in the captured image.
- the camera 13 may be, for example, a depth sensor, a three-dimensional distance sensor, or the like.
- the control device 2 may execute feature extraction from the captured image, or the camera 13 may detect a change in the state of the imaged object.
- FIG. 2 is a conceptual diagram showing an example of coordinates (coordinate system) used by the robot 1.
- the robot 1 uses the robot coordinates which are the coordinates corresponding to the robot 1 itself, the end effector coordinates which are the coordinates corresponding to the end effector 11, the camera coordinates which are the coordinates corresponding to the camera 13, and the like.
- the control device 2 (not shown) controls the position and angle of each member included in the robot 1 while mutually converting these different coordinates.
- FIG. 3 is a conceptual diagram showing an example of the control system 101. Since the control system 101 shown in FIG. 3 has basically the same configuration as the control system 100 shown in FIG. 1, only the differences will be described.
- the camera 13 is not attached to the robot arm 12, but is attached to, for example, a wall, a ceiling, or the like via the camera arm 14. That is, the camera 13 does not have to be attached to the robot 1.
- the control device 2 is wiredly connected to the robot 1 so as to be connectable.
- the control device 2 may be wirelessly connected to the camera 13 and the camera arm 14 so as to be able to communicate with each other.
- a device for controlling the camera 13 and the camera arm 14 may be arranged on a wall, a ceiling, or the like, and the control device 2 may be connected to the device so as to be communicable with the device.
- the control device 2 may be wiredly connected to the camera 13 and the camera arm 14.
- the control device 2 controls the camera 13 and the camera arm 14.
- FIG. 4 is a block diagram showing a hardware configuration example of the control system 100. Since the configuration of the robot 1 is the same as that described with reference to FIG. 1, the description thereof will be omitted.
- the control device 2 includes a processor 21 and a memory 22.
- the processor 21 is configured by using, for example, a CPU (Central Processing Unit) or an FPGA (Field Programmable Gate Array), and performs various processes and controls in cooperation with the memory 22. Specifically, the processor 21 refers to a program held in the memory 22, and by executing the program, the captured image acquisition unit 211, the state change direction information acquisition unit 212, the camera control unit 213, and the transmission unit The 214 is functionally realized.
- the state change direction information acquisition unit 212 may be simply expressed as an acquisition unit.
- the memory 22 has, for example, a RAM (Random Access Memory) as a work memory used when executing the processing of the processor 21, and a ROM (Read Only Memory) for storing a program defining the processing of the processor 21. Data generated or acquired by the processor 21 is temporarily stored in the RAM. A program that defines the processing of the processor 21 is written in the ROM. Further, the memory 22 stores the captured image data acquired by the captured image acquisition unit 211 and the information indicating the state change direction acquired by the state change direction information acquisition unit from the outside of the control device 2. The memory 22 may further store operation content information, which is information that defines the content of the operation to be performed by the end effector 11.
- the operation content information includes, for example, a program for performing an operation with the end effector 11. Further, the information in the operation content may include the data of the operation table described later based on FIG.
- the captured image acquisition unit 211 acquires the captured image captured by the camera 13 from the camera 13.
- the captured image acquisition unit 211 stores the acquired captured image in the memory 22.
- the captured image acquisition unit 211 may perform various image processing such as size conversion and color tone correction on the captured image, and store the captured image after the image processing in the memory 22.
- the state change direction information acquisition unit 212 acquires state change direction information indicating the change direction of the state of the imaged object by the camera 13.
- the image pickup object is an object reflected in the captured image captured by the camera 13.
- the image pickup object includes, for example, an end effector 11, an object held by the end effector 11, and the like.
- the image pickup object may include an end effector 11 or a work object formed by an object held by the end effector 11.
- the state change direction information is information for specifying the direction in which the state of these imaging objects changes. Specific examples of these imaging objects and state change direction information will be described later based on FIGS. 6A to 6D.
- the state change direction information acquisition unit 212 acquires state change direction information from the camera 13 or the robot arm 12.
- the state change direction information acquisition unit 212 may acquire state change direction information from, for example, the memory 22.
- the state change direction information acquisition unit may acquire state change direction information from an external device as seen from the control device 2.
- An example of an external device is an external server that is communicably connected to the control device 2, a controller for an operator to operate the robot 1, and the like.
- the state change direction information acquisition unit 212 can save the acquired state change direction information in the memory 22.
- the camera control unit 213 controls the operation of the camera 13 based on the state change direction information acquired by the state change direction information acquisition unit 212.
- the operation of the camera 13 referred to here includes changing the position and angle of the camera 13. Since the camera 13 is attached to the camera arm 14, the position and angle of the camera 13 are determined according to the expansion and contraction and the shape deformation of the camera arm 14. Therefore, in the block diagram shown in FIG. 4, the camera control unit 213 controls the operation of the camera 13 via the camera arm 14. However, the camera control unit 213 may control the operation of the camera 13 alone.
- the transmission unit 214 transmits a control signal for controlling the end effector 11 to the end effector 11.
- the end effector 11 is attached to the robot arm 12. Therefore, the transmission unit 214 transmits a control signal to the end effector 11 via the robot arm 12.
- the transmission unit 214 may transmit the control signal to the end effector 11 without going through the robot arm 12.
- the control signal for controlling the end effector 11 may include a control signal for controlling the robot arm 12, and the camera control unit 213 may control both the robot arm 12 and the camera 13.
- the control device 2 may further include components other than the processor 21 and the memory 22.
- the control device 2 when the operator controls the robot 1 by using an external device such as a controller or a teach pendant, the control device 2 further includes a functional block for acquiring a control signal emitted by the external device. In this case, the control device 2 controls the robot 1 based on the control signal acquired from the external device.
- the control device 2 may further include a functional block for image recognition of the captured image.
- FIG. 5 is a diagram illustrating the operation of the end effector 11, the target operation, and the accompanying operation.
- this action can be executed by a combination of the target action (target work).
- the action (work) of the end effector 11 which is a robot hand sticking a sticker is changed to "the robot hand moves to the seal position", “the robot hand grabs the sticker”, and "the robot hand moves to the position where the sticker sticks”.
- the end effector 11 which is a robot hand performs an operation (work) of moving a gripping object such as a work Wk by "moving the robot hand to the gripping position of the gripping object", “the robot hand grabs the gripping object”, and the like. It can be realized by a combination of a plurality of target movements (target work) such as “the robot hand moves the gripping target”, “the robot hand releases the gripping target”, and “the robot hand moves away from the gripping target”.
- target work target movements
- Each of the target movements (target work) can be further divided into ancillary movements.
- the robot hand which is the end effector 11, performs a target operation (target work) of "moving the robot hand to the seal position" and an accompanying operation of "the robot hand approaches the seal position" a plurality of times. It can be realized.
- the robot hand which is the end effector 11, performs a target action (target work) of "the robot hand grabs the seal” and an accompanying operation of "the robot hand brings the fingertip closer to a predetermined position of the seal” a plurality of times. Can be realized by.
- the fingertips of the robot hand are abbreviated as fingertips in order to avoid complication of FIG.
- the accompanying motion can be expressed as motion A1, A2, A3 ...
- the accompanying actions A1, A2, A3 ... The action A is executed.
- the operation (work) of the end effector 11 is not limited to the example shown in FIG.
- an operation (work) such that the end effector 11 grips the driver and tightens the screws, the end effector 11 grips the scissors and cuts the cloth, and the like can be considered.
- the memory 22 of the control device 2 may store table data (operation table) that defines the correspondence between the operation (work), the target operation (target work), and the accompanying operation as shown in FIG. Further, the memory 22 may store a program for causing the robot 1 to perform each operation included in the operation table. The processor 21 executes these programs.
- the selection of the target operation to be performed by the robot 1 is executed by the processor 21 or by the operator via the teach pendant or the controller.
- the transmission unit 214 included in the processor 21 transmits a control signal for controlling the end effector 11 to the end effector 11 according to the selected target operation. It is preferable that the processor 21 generates this control signal based on the captured image captured by the camera 13. That is, the processor 21 recognizes the image-captured object reflected in the image-captured image, and performs the selected target motion or accompanying motion based on the position of the image-captured object in the captured image, and then the end effector 11 Determine the position and orientation of. The end effector 11 generates a control signal so that the end effector 11 is in the above-mentioned position and orientation. Therefore, the processor 21 may include a functional block that recognizes the captured image and a functional block that generates a control signal based on the position of the image-recognized imaging target.
- FIGS. 6A to 6D are conceptual diagrams illustrating the changing direction of the state of the imaging object, respectively.
- the image pickup target is an object reflected in the captured image captured by the camera 13.
- the state change direction information is information for specifying the direction in which the state of the image pickup object changes.
- the linear black arrows drawn in each of FIGS. 6A to 6D indicate the direction of change in the state of the imaging object.
- the first example of the object to be imaged is the end effector 11 (see FIGS. 6A and 6B).
- the end effector 11 performs an operation of grasping the work Wk
- the end effector 11 itself moves so as to approach the work Wk (FIG. 6A)
- the finger of the end effector 11 closes so as to sandwich the work Wk (FIG. 6B). ..
- the operation direction of the end effector 11 corresponds to the state change direction of the image pickup object.
- the second example of the object to be imaged is an object held by the end effector 11 (see FIG. 6C).
- the driver having the screw OBJ1 attached to the tip moves so as to approach the plate OBJ2 having the screw hole from above.
- the operating direction of the driver which is an object held by the end effector 11, corresponds to the state change direction of the image pickup object.
- the third example of the object to be imaged is the end effector 11 or the work object held by the end effector 11 (see FIG. 6D).
- the driver having the screw OBJ1 attached to the tip moves so as to approach the plate OBJ2 having the screw hole from above.
- the screw OBJ1 is a work object held by the end effector 11 by a driver.
- the operating direction of the screw OBJ1 which is the work object by the driver held by the end effector 11 corresponds to the state change direction of the image pickup object.
- the plate OBJ2 having a screw hole is also an object to be worked by the driver held by the end effector 11.
- cracks may occur in the vicinity of the screw hole of the plate OBJ2.
- This crack corresponds to a change in the state of the plate OBJ2.
- cracks can occur in any direction on the upper surface of the plate OBJ2, for example, the direction of the arrow shown on the upper surface of the plate OBJ2 in FIG. 6D corresponds to the deformation direction of the state of the plate OBJ2.
- the deformation direction of the plate OBJ2 which is the work object held by the end effector 11 by the driver, corresponds to the state change direction of the image pickup object.
- the direction of the cutting line generated on the cloth is the work target by the object (scissors) held by the end effector 11. It corresponds to the deformation direction of the object (cloth).
- the direction of the cutting line generated on the cloth corresponds to the deformation direction of the work object (cloth) by the end effector 11.
- the state change direction information acquisition unit 212 acquires the state change direction information of the image pickup object from the camera 13 and the robot arm 12 to which the end effector 11 is attached. Further, even if the state change direction information acquisition unit 212 calculates the state change direction based on the captured image after the captured image acquisition unit 211 acquires and performs image processing, the state change direction information is generated. good. Further, the state change direction information acquisition unit 212 acquires the data and the like of the operation table (see FIG. 5) stored in the memory 22 together with the captured image, and the state change is based on the acquired data and the captured image. The direction may be calculated to generate state change direction information.
- FIG. 7 is a flowchart showing a first control example of the camera 13 and the end effector 11 by the control device 2.
- the operation (work) to be performed by the end effector 11 will be described on the premise that it has already been determined, for example, "sticking a sticker”.
- the processor 21 selects a target operation corresponding to the operation to be performed by the end effector by referring to an operation table (FIG. 5) stored in the memory 22 (St101).
- the captured image acquisition unit 211 acquires the captured image captured by the camera 13 (St102).
- the captured image acquisition unit 211 extracts the characteristics of the imaged object from the acquired captured image (St103).
- an algorithm for extracting features from a captured image a conventional algorithm may be used.
- the captured image acquisition unit 211 may extract features from the captured image using an image recognition technique based on machine learning.
- the features extracted from the captured image indicate the state of the imaged object at the time of imaging.
- the processor 21 can compare the extracted features with the features indicating the state (target state) of the imaged object after the target operation is completed. For this comparison, an image showing the state of the imaged object in the target state and information showing the features extracted from this image may be stored in the memory 22.
- the processor 21 determines whether or not the target operation has been completed (St104).
- the processor 21 can determine whether or not the target operation is completed by various methods. For example, the control device 2 predetermines an end condition for each target operation shown in FIG. 5, and stores information indicating the end condition in the memory 22. The processor 21 determines that the target operation has been completed when the end condition for the selected target operation is satisfied.
- the end condition may be, for example, that the end effector 11 has moved in a predetermined direction by a predetermined distance with respect to the start time of the target operation.
- the control device 2 stores information (target state information) indicating the state (target state) of the image pickup object after the target operation is completed in the memory 22, and the processor 21 stores the current image pickup object.
- the information indicating the state may be compared with the target state information.
- the target state information is, for example, an captured image captured by the camera 13 or feature information extracted from the captured image.
- the feature information is, for example, the position and size of a marker provided on the imaged object and a plurality of points obtained by a general image feature point extraction process in the captured image.
- the end condition is, for example, that the distance between the features extracted from the captured image is equal to or less than a predetermined threshold value (unit: pixel) when the processor 21 compares the current state of the imaged object with the target state. It's okay.
- the end condition may be, for example, that the sound generated when the work objects are connected or separated from each other due to the work performed by the end effector 11 may be detected by a microphone or the like separately provided by the control device 2. .
- the end condition may be that the control device 2 detects the stop of the screw tightening operation by the electric screwdriver gripped by the end effector 11 based on sound, vibration, or the like. In addition to these, the control device 2 may set various termination conditions.
- the target state information of the object to be imaged is information acquired in advance by using the same robot in the same environment.
- the information obtained without using the same robot in the same environment may be used as the target state information.
- the environment is the same, information acquired in advance using another robot may be used as target state information.
- the information acquired based on the captured images captured by different types of cameras may be used as the target state information.
- step St105 If the target operation is not completed (St104: No), the process proceeds to step St105, and if the target operation is completed (St104: Yes), the process proceeds to step St106.
- step St105 the processor 21 executes the control process of the robot 1.
- the details of the control process of the robot 1 will be described later based on FIG.
- step St106 the processor 21 determines whether or not all the operations have been completed. When all the operations have been completed (St106: Yes), the process shown in FIG. 7 ends. If all operations have not been completed (St106: No), the process returns to step St101 and the processor 21 selects the next target operation.
- FIG. 8 is a flowchart illustrating the control process of the robot 1 shown in FIG. 7.
- the processor 21 calculates the target position of the end effector 11 corresponding to the selected target operation (St201). For example, if the selected target action is "the robot hand moves to the seal position" (see FIG. 5), the processor 21 is the position after this target action is performed, the robot hand can grab the seal. Calculate such a position.
- the processor 21 calculates the target position of the end effector 11 so that the imaged object reflected in the captured image is in the target state.
- the processor 21 determines the end effector control policy for the end effector 11 to move to the target position of the end effector 11 calculated in step St201 (St202).
- the control policy of the end effector is a policy of how to move the end effector 11 and the robot arm 12 to move the end effector 11 to a target position. Control policy decisions may be made using conventional techniques such as inverse kinematics.
- the processor 21 calculates the target position of the camera 13 (St203).
- the target position of the camera 13 is a position where the camera 13 can easily recognize the state change of the image pickup object while the end effector 11 operates.
- the target position of the camera 13 is, for example, a position such that the angle formed by the state change direction of the image pickup object and the optical axis of the camera 13 is 90 degrees.
- the angle formed by the state change direction of the image pickup object and the optical axis of the camera 13 may be an angle between 30 degrees and 150 degrees (see FIG. 15).
- the processor 21 calculates the target position of the camera 13 based on the state change direction information of the image pickup object acquired by the state change direction information acquisition unit 212.
- the processor 21 determines the control policy of the camera 13 for moving the camera 13 to the target position of the camera 13 calculated in step St203 (St204).
- the control policy of the camera 13 is a policy of how to move the camera 13 and the camera arm 14 to move the camera 13 to a target position. Control policy decisions may be made using conventional techniques such as inverse kinematics.
- the processor 21 moves the camera 13 so that the position of the camera 13 becomes the target position (St205).
- the camera control unit 213 controls the operation of the camera 13 by sending a control signal to the camera arm 14.
- the camera control unit 213 controls the operation of the camera 13 so that the camera 13 is positioned so that the object to be imaged can be imaged. If the current position of the camera 13 matches the target position, the camera 13 does not need to be moved.
- the processor 21 controls the end effector 11 so that the position of the end effector 11 becomes the target position (St206).
- the transmission unit 214 transmits a control signal to the end effector 11 via the robot arm 12.
- the end effector 11 performs a target operation based on this control signal. Both the end effector 11 and the robot arm 12 may operate based on the control signal.
- the transmission unit 214 transmits a control signal to the end effector 11 (step St206).
- the end effector 11 operates, the camera 13 can more accurately recognize the change in the state of the image pickup object.
- the absolute position of the camera 13 (Fixed position of camera 13)
- the control device 2 controls the operation of the camera 13 so that the camera control unit 213 controls the operation of the camera 13 so that the camera 13 can image the object to be imaged, and then fixes the position of the camera 13. do.
- the camera control unit 213 controls the operation of the camera 13 so as to cancel the movement of the camera 13 accompanying the movement of the robot arm 12.
- the camera control unit 213 controls the operation of the camera 13 so as not to move the camera arm 14.
- FIG. 9 is a sequence diagram corresponding to the first control example of the camera 13 and the end effector 11 by the control device 2. In the figure, time has passed in the direction of the broken line arrow.
- the motion A, the motion B, and the motion C each correspond to the target motion shown in FIG.
- the processor 21 determines the operation (control policy) of the end effector 11 and the camera 13 for the target operation A.
- the camera 13 moves to the target position according to the determined control policy.
- the end effector 11 moves to the target position according to the determined control policy (target operation A).
- the processor 21 determines the operation (control policy) of the end effector 11 and the camera 13 for the target operation B.
- the camera 13 moves to the target position according to the determined control policy.
- the end effector 11 moves to the target position according to the determined control policy (target operation B).
- the control device 2 makes the end effector 11 realize operations such as "sticking a sticker" and "moving the gripping object" by performing the same operation after the target operation C.
- FIG. 10 is a flowchart showing a second control example of the camera 13 and the end effector 11 by the control device 2.
- the operation (work) to be performed by the end effector 11 will be described on the premise that it has already been determined, for example, "sticking a sticker”.
- the processor 21 selects a target operation corresponding to the operation to be performed by the end effector by referring to an operation table (FIG. 5) stored in the memory 22 (St301).
- the captured image acquisition unit 211 acquires the captured image captured by the camera 13 (St302).
- the captured image acquisition unit 211 extracts the characteristics of the imaged object from the acquired captured image (St303).
- an algorithm for extracting features from a captured image a conventional algorithm may be used.
- the captured image acquisition unit 211 may extract features from the captured image using an image recognition technique based on machine learning.
- the extracted features indicate the state of the imaged object at the time of imaging.
- the processor 21 can compare the extracted features with the features indicating the state (target state) of the imaged object after the target operation is completed. For this comparison, an image showing the state of the imaged object in the target state and information showing the features extracted from this image may be stored in the memory 22.
- the processor 21 determines whether or not the target operation has been completed (St304).
- the processor 21 can determine whether or not the target operation is completed by various methods. For example, the control device 2 predetermines an end condition for each target operation shown in FIG. 5, and stores information indicating the end condition in the memory 22. The processor 21 determines that the target operation has been completed when the end condition for the selected target operation is satisfied.
- the end condition may be, for example, that the end effector 11 has moved in a predetermined direction by a predetermined distance with respect to the start time of the target operation.
- the control device 2 stores information (target state information) indicating the state (target state) of the image pickup object after the target operation is completed in the memory 22, and the processor 21 stores the current image pickup object.
- the information indicating the state may be compared with the target state information.
- the target state information is, for example, an captured image captured by the camera 13 or feature information extracted from the captured image.
- the feature information is, for example, the position and size of a marker provided on the imaged object and a plurality of points obtained by a general image feature point extraction process in the captured image.
- the end condition is, for example, that the distance between the features extracted from the captured image is equal to or less than a predetermined threshold value (unit: pixel) when the processor 21 compares the current state of the imaged object with the target state. It's okay.
- the end condition may be, for example, that the sound generated when the work objects are connected or separated from each other due to the work performed by the end effector 11 may be detected by a microphone or the like separately provided by the control device 2. .
- the end condition may be that the control device 2 detects the stop of the screw tightening operation by the electric screwdriver gripped by the end effector 11 based on sound, vibration, or the like. In addition to these, the control device 2 may set various termination conditions.
- the target state information of the object to be imaged is information acquired in advance by using the same robot in the same environment.
- the information obtained without using the same robot in the same environment may be used as the target state information.
- the environment is the same, information acquired in advance using another robot may be used as target state information.
- the information acquired based on the captured images captured by different types of cameras may be used as the target state information.
- step St305 If the target operation is not completed (St304: No), the process proceeds to step St305, and if the target operation is completed (St304: Yes), the process proceeds to step St306.
- step St305 the processor 21 executes the control process of the robot 1.
- the details of the control process of the robot 1 will be described later based on FIG.
- step St306 the processor 21 determines whether or not all the operations have been completed. When all the operations are completed (St306: Yes), the process shown in FIG. 10 ends. If all operations have not been completed (St306: No), the process returns to step St301 and the processor 21 selects the next target operation.
- FIG. 11 is a flowchart illustrating the control process of the robot 1 shown in FIG.
- the processor 21 calculates the target position of the end effector 11 corresponding to the selected target operation (St401). For example, if the selected target action is "the robot hand moves to the seal position" (see FIG. 5), the processor 21 is the position after this target action is performed, the robot hand can grab the seal. Calculate such a position. When using the captured image of the camera 13, the processor 21 calculates the target position of the end effector 11 so that the imaged object reflected in the captured image is in the target state.
- the processor 21 determines the end effector control policy for the end effector 11 to move to the target position of the end effector 11 calculated in step St401 (St402).
- the control policy of the end effector is a policy of how to move the end effector 11 and the robot arm 12 to move the end effector 11 to a target position. Control policy decisions may be made using conventional techniques such as inverse kinematics.
- the processor 21 calculates the target position of the camera 13 (St403).
- the target position of the camera 13 is a position where the camera 13 can easily recognize the state change of the image pickup object while the end effector 11 is operating.
- the target position of the camera 13 is, for example, a position such that the angle formed by the state change direction of the image pickup object and the optical axis of the camera 13 is 90 degrees. If the camera 13 is moved to such a position, the camera 13 can recognize the change of state of the imaged object as a change of a larger pixel in the captured image.
- the angle formed by the state change direction of the image pickup object and the optical axis of the camera 13 may be an angle between 30 degrees and 150 degrees (see FIG. 15).
- the processor 21 calculates the target position of the camera 13 based on the state change direction information of the image pickup object acquired by the state change direction information acquisition unit 212.
- the processor 21 determines the control policy of the camera 13 for moving the camera 13 to the target position of the camera 13 calculated in step St403 (St404).
- the control policy of the camera 13 is a policy of how to move the camera 13 and the camera arm 14 to move the camera 13 to a target position. Control policy decisions may be made using conventional techniques such as inverse kinematics.
- the processor 21 moves the camera 13 so that the position of the camera 13 becomes the target position (St405).
- the camera control unit 213 controls the operation of the camera 13 by sending a control signal to the camera arm 14.
- the camera control unit 213 controls the operation of the camera 13 so that the camera 13 is positioned so that the object to be imaged can be imaged. If the current position of the camera 13 matches the target position, the camera 13 does not need to be moved.
- the captured image acquisition unit 211 acquires the captured image captured by the camera 13 (St406).
- the processor 21 determines whether or not all the accompanying operations corresponding to the target operations selected in step St301 have been completed (St407). That is, the processor 21 confirms that the incidental operation currently being targeted has been completed and that the end condition of the selected target operation has been satisfied. When all the accompanying movements corresponding to the target movements are completed (St407: Yes), the processing shown in FIG. 11 is completed. If all the accompanying operations corresponding to the target operation have not been completed (St407: No), the process proceeds to step St408.
- the processor 21 may make a determination in step St407 using the captured image acquired in step St406. For example, the processor 21 may extract a feature of an object to be imaged from a captured image and make the above determination according to the position of the feature in the captured image. Further, the processor 21 may make a determination in step St407 by a method that does not use the captured image. For example, if the current state of the end effector 11 can be grasped by the control parameter (angle of the robot arm, etc.) internally possessed by the robot 1, the processor 21 makes a determination in step St407 based on this control parameter. It can be performed. Further, a switch is provided on the work Wk (see FIG.
- the processor 21 determines that the target operation of "the robot hand grabs the work" is completed. You may.
- the processor 21 determines that the target operation has ended. May be good.
- the processor 21 calculates the target position of the end effector 11 for the accompanying operation (St408). For example, if the selected accompanying action is "the robot hand approaches the seal position" (see FIG. 5), the processor 21 will allow the robot hand to grab the seal, which is the position after this accompanying action has been performed. The position closer to the correct position (target position for the target movement) is calculated. When the captured image of the camera 13 is used, the processor 21 calculates the target position of the end effector 11 so that the imaged object reflected in the captured image becomes the target state for the accompanying operation.
- the processor 21 determines the end effector control policy for the end effector 11 to move to the target position of the end effector 11 calculated in step St408 (St409).
- the control policy of the end effector 11 is a policy of how to move the end effector 11 and the robot arm 12 to move the end effector 11 to a target position for an accompanying operation. Control policy decisions may be made using conventional techniques such as inverse kinematics.
- the processor 21 slightly moves the end effector 11 so that the position of the end effector 11 becomes the target position for the accompanying operation (step St410).
- the transmission unit 214 controls the minute movement of the end effector 11 by sending a control signal to the end effector 11 via the robot arm 12. Both the end effector 11 and the robot arm 12 may operate based on the control signal.
- step St410 the process returns to step St406, and steps St406 to St410 are repeated for the next incidental operation included in the target operation. Since steps St406 to St410 are repeated after the camera 13 moves (step St405), the end effector 11 performs a plurality of operations (accompanying operations) by a plurality of control signals transmitted from the transmission unit 214 to the end effector 11. Will do.
- the transmission unit 214 transmits a control signal to the end effector 11 (step St410).
- the end effector 11 operates, the camera 13 can more accurately recognize the change in the state of the image pickup object.
- the absolute position of the camera 13 (Fixed position of camera 13)
- the control device 2 controls the operation of the camera 13 so that the camera control unit 213 controls the operation of the camera 13 so that the camera 13 can image the object to be imaged, and then fixes the position of the camera 13. do.
- the camera control unit 213 controls the operation of the camera 13 so as to cancel the movement of the camera 13 accompanying the movement of the robot arm 12.
- the camera control unit 213 controls the operation of the camera 13 so as not to move the camera arm 14.
- FIG. 12 is a sequence diagram corresponding to a second control example of the camera 13 and the end effector 11 by the control device 2. In the figure, time has passed in the direction of the broken line arrow.
- the motion A and the motion B correspond to the target motion shown in FIG. 5, respectively.
- Accompanying movements A1, A2, A3, B1, B2, and B3 correspond to the accompanying movements shown in FIG.
- the processor 21 determines the operation (control policy) of the end effector 11 and the camera 13 for the target operation A.
- the camera 13 moves to the target position according to the determined control policy.
- the end effector 11 sequentially performs accompanying operations A1, A2, A3 ...
- the processor 21 determines the operation (control policy) of the end effector 11 and the camera 13 for the target operation B.
- the camera 13 moves to the target position according to the determined control policy.
- the end effector 11 sequentially performs accompanying operations B1, B2, B3 ...
- the control device 2 makes the end effector 11 realize operations such as "sticking a sticker" and "moving a gripping object" by performing the same operation after the target operation C (not shown).
- FIG. 13 is a modified example of the sequence diagram corresponding to the first control example of the camera 13 and the end effector 11 by the control device 2.
- time has passed in the direction of the broken line arrow.
- the motion A corresponds to the target motion shown in FIG.
- Accompanying movements A1, A2, and A3 correspond to the accompanying movements shown in FIG.
- the processor 21 determines the operation (control policy) of the end effector 11 and the camera 13 for the target operation A.
- the camera 13 moves according to the determined control policy.
- the camera 13 does not have to reach the target position for the target motion A, but it is preferable that the image pickup target has moved to a position within the angle of view of the camera 13.
- the end effector 11 sequentially performs accompanying operations A1, A2, A3 ... While the end effector 11 sequentially performs the accompanying operations A1, A2, A3 ...,
- the camera 13 moves little by little according to the determined control policy.
- the target motion B, the target motion C ... Performed after the target motion A are the same as those of the target motion A.
- the camera 13 captures an image to be imaged after all the accompanying motions A1, A2, A3 ... Corresponding to the target motion A are completed. At this time, the camera 13 may have arrived at a predetermined target position at the time when imaging is required. Therefore, the camera 13 does not necessarily have to arrive at the target position before the accompanying operation A1 is performed. Further, it is conceivable that the operator instructs the operation of the end effector 11 via a controller or the like on hand. In such a case, if the camera 13 is also moved little by little when the end effector sequentially performs the accompanying operations A1, A2, A3 ... Based on this, the operation of the end effector 11 can be instructed.
- FIG. 14 is a conceptual diagram showing an example of positioning a camera when there are a plurality of objects to be imaged.
- the image pickup object to be imaged by the camera 13 may be an end effector 11 (first image pickup object) and a screw hole provided in the plate (second image pickup object).
- the state change directions of the end effector 11 and the screw hole are the directions indicated by the linear arrows in the figure.
- the target position of the camera 13 is a position where the angle between the state change direction of the image pickup object and the optical axis of the camera 13 is 90 degrees
- the target position of the camera 13 with respect to the first image pickup object and the target position of the camera 13 are the positions shown by the broken lines in the figure, respectively.
- the camera control unit 213 controls the operation of the camera 13 based on the state change direction information corresponding to each of the plurality of imaging objects. ..
- the direction of the optical axis of the camera 13 is the direction D1 (first) of the optical axis of the camera 13 based on the state change direction information corresponding to one image pickup object (for example, the first image pickup object).
- Direction) and the direction D2 (second direction) of the optical axis of the camera 13 based on the state change direction information corresponding to another image pickup object (for example, the second image pickup object).
- the operation of the camera 13 is controlled.
- the direction D1 may be a direction orthogonal to the changing direction of the state of the first image pickup object.
- the direction D2 may be a direction orthogonal to the changing direction of the state of the second image pickup object.
- the target position of the camera 13 may be, for example, the position of the camera 13 drawn by a solid line in the figure. The same applies when there are three or more objects to be imaged.
- the camera control unit 213 operates the camera 13 so that the direction of the optical axis of the camera 13 is between the directions of the optical axis of the camera 13 based on the state change direction information corresponding to each image pickup object. Control.
- the direction between the directions of the plurality of optical axes does not have to be exactly the middle direction.
- the direction of the optical axis of the camera 13 is different from the direction of the optical axis of the camera 13 based on the state change direction information corresponding to one image pickup object (for example, the first image pickup object).
- the direction may be closer to the direction of the optical axis of the camera 13 based on the state change direction information corresponding to (for example, the second image pickup object).
- FIG. 15 is a conceptual diagram showing the angle formed between the state change direction of the image pickup object and the optical axis 131 of the camera 13. It is assumed that the state change direction of the image pickup object (for example, the operation direction of the end effector 11) is the direction indicated by the thick linear arrow in the figure. Further, the candidates for the target position of the camera 13 are candidate A, candidate B, candidate C, and candidate D. In order to ensure the readability of the figure, the reference numerals of the camera 13 and the optical axis 131 are omitted for the candidates B to D.
- the camera control unit 213 controls the operation of the camera 13 so that at least the optical axis 131 of the camera 13 is not parallel to the state change direction of the image pickup object.
- the camera 13 can recognize the change of state of the imaged object as the change of the largest pixel in the captured image when the target position of the camera 13 is the position of the candidate B.
- the angle formed by the state change direction of the image pickup object and the optical axis of the camera 13 is 90 degrees.
- the camera control unit 213 may control the operation of the camera 13 so that the angle formed by the state change direction of the image pickup object and the optical axis 131 of the camera 13 is 90 degrees.
- the camera 13 can recognize the change of state of the imaged object as the change of the largest pixel in the captured image.
- the degree of pixel change (image change amount) in the captured image based on the state change of the imaged object in Candidate B is assumed to be 1. At this time, the amount of image change in candidate A is 0.
- Candidates C and D have angles of 30 degrees and 150 degrees between the state change direction of the image pickup object and the optical axis of the camera 13, respectively.
- the amount of image change in Candidate C and Candidate D is 1/2. Therefore, the target position of the camera 13 is a candidate so that the camera 13 can recognize the change in the state of the imaged object as a change of a certain large pixel in the captured image (image change amount 1/2 or more). It is a position between C and candidate D. Therefore, the camera control unit 213 controls the operation of the camera 13 so that the angle formed by the state change direction of the image pickup object and the optical axis 131 of the camera 13 is an angle between 30 degrees and 150 degrees.
- the factory manager or worker may appropriately determine the allowable value of the amount of image change.
- the camera control unit 213 has an angle between the state change direction of the image pickup object and the optical axis 131 of the camera 13 between 60 degrees and 120 degrees. The operation of the camera 13 is controlled so as to have an angle of.
- the camera control unit 213 controls the operation of the camera 13 so that the angle formed by the state change direction of the image pickup object and the optical axis 131 of the camera 13 is as close to 90 degrees as possible.
- the angle close to 90 degrees is, for example, an angle between 85 degrees and 95 degrees.
- FIG. 16A is a conceptual diagram showing a first state of the sticker sticking work executed by the end effector 11.
- FIG. 16B is a conceptual diagram showing a camera image and a target state corresponding to FIG. 16A. 16A and 16B will be described together with reference to FIGS. 16A and 16B.
- the end effector 11 included in the robot 1 grips the sticker S, and the sticker S is stuck at the sticker sticking position provided on the object OBJ.
- the action that the end effector 11 is trying to perform is "sticking a sticker", and the target action is "moving to a position where the robot hand sticks a sticker" (see steps St101, St301, and FIG. 5).
- the camera 13 takes an image of the end effector 11 holding the seal S.
- the captured image is a camera image.
- the control device 2 controls the end effector 11 and the robot arm 12 until the camera image reaches the target state. In the target state, the seal gripped by the end effector 11 overlaps the seal sticking position.
- the linear arrow drawn in the vicinity of the end effector 11 indicates the state change direction (operation direction) of the end effector 11 which is an image pickup object.
- FIG. 17A is a conceptual diagram showing a second state of the sticker sticking work executed by the end effector 11.
- FIG. 17B is a conceptual diagram showing a camera image corresponding to FIG. 17A. 17A and 17B will be described together with reference to FIGS. 17A and 17B.
- the camera control unit 213 controls the operation of the camera 13 so that the angle formed by the state change direction of the image pickup object and the optical axis 131 of the camera 13 is 90 degrees. Further, the camera control unit 213 controls the operation of the camera 13 so that the camera 13 is positioned so that the object OBJ, which is the object to be imaged, can be imaged. More specifically, the camera arm 14 extends by the control signal from the camera control unit 213, and the object OBJ enters the image pickup region (within the angle of view) of the camera 13.
- FIG. 18A is a conceptual diagram showing a third state of the sticker sticking work executed by the end effector 11.
- FIG. 18B is a conceptual diagram showing a camera image corresponding to FIG. 18A. 18A and 18B will be described together with reference to FIGS. 18A and 18B.
- the transmission unit 214 transmits a control signal that controls both the end effector 11 and the robot arm 12. By this control signal, the end effector 11 maintains the posture in which the finger is closed, and the robot arm 12 is deformed. While the transmission unit 214 is transmitting the control signal, the camera control unit 213 controls the operation of the camera 13 so as to fix the position of the camera 13. In the third state of the sticker sticking operation, the camera control unit 213 operates the camera 13 so that the angle of the camera arm 14 with respect to the robot arm 12 changes while the camera arm 14 contracts, and the orientation of the camera 13 is also maintained. Control.
- FIG. 19A is a conceptual diagram showing a fourth state of the sticker sticking work executed by the end effector 11.
- FIG. 19B is a conceptual diagram showing a camera image and a target state corresponding to FIG. 19A. 19A and 19B will be described together with reference to FIGS. 19A and 19B.
- the processor 21 may determine the end of the target operation (see steps St104, St304) based on the captured image of the camera 13.
- the processor 21 may compare the camera image with the image showing the target state to determine whether or not the target operation is completed.
- FIG. 20A is a conceptual diagram showing a first state of the work of moving the gripping object executed by the end effector 11.
- FIG. 20B is a conceptual diagram showing a camera image and a target state corresponding to FIG. 20A. 20A and 20B will be described together with reference to FIGS. 20A and 20B.
- the end effector 11 included in the robot 1 approaches the work Wk, grips the work Wk, and moves the work Wk to another place.
- the motion that the end effector 11 is trying to perform is "moving the gripping object", and the target motion is "moving the robot hand to the gripping position of the gripping object" (see steps St101, St301 and FIG. 5).
- the camera 13 captures the end effector 11 and the work Wk.
- the captured image is a camera image.
- the control device 2 controls the end effector 11 and the robot arm 12 so that the camera image is in the target state.
- the end effector 11 In the target state, the end effector 11 is close to a position where the work Wk can be gripped.
- the linear arrow drawn near the end effector 11 indicates the state change direction (operation direction) of the end effector 11 which is an image pickup object.
- FIG. 21A is a conceptual diagram showing a second state of the work of moving the gripping object executed by the end effector 11.
- 21B is a conceptual diagram showing a camera image and a target state corresponding to FIG. 21A.
- the camera control unit 213 controls the operation of the camera 13 so that the angle formed by the state change direction of the image pickup object and the optical axis 131 of the camera 13 is 90 degrees. Further, the camera control unit 213 controls the operation of the camera 13 so that the camera 13 is positioned so that the work Wk, which is the object to be imaged, can be imaged.
- the camera arm 14 extends due to the control signal from the camera control unit 213, the angle of the camera arm 14 with respect to the robot arm 12 also changes, and the work Wk enters the imaging region (within the angle of view) of the camera 13. ..
- the end effector 11 is not within the imaging region (within the angle of view) of the camera 13.
- the end effector 11 enters the imaging region (within the angle of view) of the camera 13.
- FIG. 22A is a conceptual diagram showing the third to fifth states of the work performed by the end effector 11 to move the gripping object.
- FIG. 22B is a conceptual diagram showing a camera image (third to fifth states) and a target state corresponding to FIG. 22A. A description will be given with reference to FIGS. 22A and 22B.
- the motion that the end effector 11 is trying to perform remains "move the gripping object", and the (next) target motion for FIGS. 22A and 22B is "the robot hand grabs the gripping object" (step St101). And the second lap of St301, and see FIG. 5).
- the accompanying action of the target action "robot hand grabs the gripping object” is “the robot hand closes”.
- the linear solid arrow in FIG. 22B indicates the state change direction (operation direction) of the end effector 11 which is an image pickup object with respect to the accompanying operation.
- the camera control unit 213 controls the operation of the camera 13 so that the angle formed by the state change direction of the image pickup object and the optical axis 131 of the camera 13 is 90 degrees. Further, the camera control unit 213 controls the operation of the camera 13 so that the camera 13 is positioned so that the work Wk, which is the object to be imaged, can be imaged. Here, the angle formed by the state change direction of the image pickup object and the optical axis 131 of the camera 13 is already 90 degrees, and the camera 13 has already moved to a position where the work Wk, which is the image pickup object, can be imaged. This is done (see also FIGS. 21A and 21B). Therefore, the camera control unit 213 controls the operation of the camera 13 so as not to change the posture of the camera arm 14 and the orientation of the camera 13.
- the transmission unit 214 transmits a control signal for controlling the end effector 11 while the robot arm 12 is fixed. By this control signal, the robot arm 12 maintains the posture, and the finger of the end effector 11 closes. While the transmission unit 214 is transmitting the control signal, the camera control unit 213 controls the operation of the camera 13 so as to fix the position of the camera 13.
- FIG. 23 is a conceptual diagram showing an imaging region for screw tightening.
- an end effector 11 grips a driver which is a work Wk and inserts a screw into a screw hole provided in a plate-shaped object OBJ.
- the imaging region of the camera 13 is drawn with a bold rectangular frame.
- the two types of arrows indicate the operating direction of the driver and the screw, and the state displacement direction of the object OBJ, respectively.
- the operating direction of the driver and the screw corresponds to the state displacement direction of the driver and the screw which are the objects to be imaged.
- the objects to be imaged by the camera 13 are a screw and an object OBJ.
- the processor 21 calculates a position where the camera 13 can recognize the state change of each imaging object as a change of a large pixel in the captured image as a target position of the camera 13. (See St203, St403, and FIG. 14). An example of the imaging region of the camera moved to this target position is shown in FIG.
- FIG. 24 is a conceptual diagram showing a first state of the work in which the end effector 11 grips the driver and tightens the screws.
- the target operation of the end effector 11 in the first state is "aligning the screws".
- the end effector 11 grips the driver, which is the work Wk, and aligns the screw held at the tip of the driver with the screw hole provided in the plate-shaped object OBJ.
- the object to be imaged at this time is a screw and a screw hole of the object OBJ.
- the processor 21 calculates a position where the camera 13 can recognize a change of state of each image pickup object as a change of a large pixel in the captured image as a target position of the camera 13 (see St203, St403, and FIG. 14). ).
- the processor 21 moves the camera 13 so that the position of the camera 13 becomes the target position (St205, St405).
- the camera 13 before the movement is shown by a broken line in the figure, and the camera after the movement is shown by a solid line in the figure.
- FIG. 25 is a conceptual diagram showing a second state of the work in which the end effector 11 grips the driver and tightens the screws.
- the target operation of the end effector 11 in the second state is "tighten the screw”.
- the end effector 11 grips the driver, which is the work Wk, and brings the screw held at the tip of the driver close to the screw hole provided in the plate-shaped object OBJ.
- the object to be imaged at this time is a screw and a screw hole of the object OBJ.
- the processor 21 calculates a position where the camera 13 can recognize a change of state of each image pickup object as a change of a large pixel in the captured image as a target position of the camera 13 (see St203, St403, and FIG. 14). ).
- the processor 21 moves the camera 13 so that the position of the camera 13 becomes the target position (St205, St405).
- the camera 13 after this movement is shown by a solid line in the figure.
- FIG. 24 and FIG. 25 are compared, the position of the camera 13 after moving to the target position is also different because the operating direction of the screw is different.
- step St101 of FIG. 7 and step St301 of FIG. 10 the processor 21 has selected the target operation.
- an operator such as an operator of the robot 1 may instruct a target operation by using a teach pendant or a controller (not shown).
- the instruction of the target operation may be given by remote control via a communication line.
- the control device 2 may receive an instruction of the target operation from the operator at predetermined time intervals (for example, every 1/60 second).
- the camera 13 moves to the target position before the end effector 11 (and the robot arm 12) operates according to the instruction.
- the camera control unit 213 controls the operation of the camera 13 before the transmission unit 214 transmits the control signal to the end effector 11.
- the control systems 100 and 101 include a camera 13, an end effector 11, and a control device 2 for controlling the camera 13 and the end effector 11.
- the control device 2 includes an acquisition unit 212 that acquires state change direction information indicating the change direction of the state of the object to be imaged by the camera 13, and a camera control unit 213 that controls the operation of the camera 13 based on the state change direction information.
- a transmission unit 214 for transmitting a control signal for controlling the end effector 11 to the end effector 11 is provided.
- the transmission unit 214 transmits a control signal to the end effector 11.
- the camera control unit 213 controls the operation of the camera 13 so that the camera 13 is positioned so that the image pickup target can be imaged, and then the transmission unit 214 transmits a control signal to the end effector 11. As a result, the control device 2 can control the end effector 11 while reliably capturing the image pickup target with the camera 13.
- the camera control unit 213 controls the operation of the camera 13 so that the camera 13 is positioned so that the object to be imaged can be imaged, and then controls the operation of the camera 13 so that the position of the camera 13 is fixed. As a result, when the end effector 11 operates, the camera 13 can take an image from the same position, so that it becomes easy to recognize a change in the state of the object to be imaged.
- the camera control unit 213 controls the operation of the camera 13 so that the optical axis 131 of the camera 13 is not parallel to the state change direction. As a result, it is possible to ensure that the change in the state of the imaged object is reflected in the image captured by the camera 13.
- the camera control unit 213 controls the operation of the camera 13 so that the angle formed by the state change direction and the optical axis 131 of the camera 13 is an angle between 30 degrees and 150 degrees. As a result, the camera 13 can recognize the change in the state of the imaged object as a change in a certain large pixel (image change amount 1/2 or more) in the captured image.
- the camera control unit 213 controls the operation of the camera 13 so that the angle between the state change direction and the optical axis 131 of the camera 13 is 90 degrees. As a result, the camera 13 can recognize the change in the state of the imaged object as the change of the largest pixel in the captured image (image change amount 1).
- the camera control unit 213 controls the operation of the camera 13 based on the state change direction information corresponding to each of the plurality of imaging objects. More specifically, in the camera control unit 213, the direction of the optical axis of the camera 13 corresponds to the direction of the optical axis of the camera 13 based on the state change direction information corresponding to one image pickup object and another image pickup object. The operation of the camera 13 is controlled so that the direction is between the direction of the optical axis of the camera 13 based on the state change direction information. As a result, even when there are a plurality of imaging objects, the camera 13 can recognize the state change of each imaging object as a change of a large pixel in the captured image.
- the object to be imaged includes the end effector 11, and the state change direction corresponding to the end effector 11 is the operation direction of the end effector 11.
- the camera 13 can recognize the operation of the end effector 11 as a large pixel change in the captured image.
- the object to be imaged includes an object held by the end effector 11, and the state change direction corresponding to the object is the movement direction of the object.
- the camera 13 can recognize the movement of the object held by the end effector 11 as a large pixel change in the captured image.
- the imaging object includes the end effector 11 or the work object by the object held by the end effector 11, and the state change direction corresponding to the work object is the movement direction or the deformation direction of the work object.
- the camera 13 can recognize the operating direction or the deformation direction of the work object as a change of a large pixel in the captured image.
- the end effector 11 performs a plurality of operations based on a plurality of control signals transmitted from the transmission unit 214 to the end effector 11. As a result, the end effector 11 can perform the above-mentioned accompanying operations in combination. Therefore, the camera 13 that has been moved to an appropriate position can take an image of the target motion realized by the combination of the plurality of accompanying motions.
- the control device 2 including the acquisition unit 212, the camera control unit 213, and the transmission unit 214 controls the camera 13 and the end effector 11.
- the acquisition unit 212 acquires the state change direction information indicating the change direction of the state of the image pickup object by the camera 13.
- the camera control unit 213 controls the operation of the camera 13 based on the state change direction information.
- the transmission unit 214 transmits a control signal for controlling the end effector 11 to the end effector 11.
- the control device 2 includes an acquisition unit 212 that acquires state change direction information indicating the change direction of the state of the object to be imaged by the camera 13.
- the control device 2 includes a camera control unit 213 that controls the operation of the camera 13 based on the state change direction information.
- the control device 2 includes a transmission unit 214 that transmits a control signal for controlling the end effector 11 to the end effector 11. After the camera control unit 213 controls the operation of the camera, the transmission unit transmits a control signal to the end effector.
- the control device 2 controls the end effector 11 based on the image captured by the camera 13, the camera 13 can more accurately recognize the change in the state of the imaged object.
- the present disclosure is useful as a control system, control method, and control device that can more accurately recognize changes in the state of an object in a camera when controlling an end effector.
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
制御システムは、カメラと、エンドエフェクタと、カメラおよびエンドエフェクタを制御する制御装置と、を備える。制御装置は、撮像対象物の状態の変化方向を示す状態変化方向情報を取得する取得部と、状態変化方向情報に基づいてカメラの動作を制御するカメラ制御部と、エンドエフェクタを制御する制御信号をエンドエフェクタに送信する送信部と、を備える。カメラ制御部がカメラの動作を制御した後、送信部がエンドエフェクタに制御信号を送信する。
Description
本開示は、制御システム、制御方法、および制御装置に関する。
特許文献1には、ロボット制御装置が記載されている。ロボット制御装置は、プログラムにより自動制御されるロボットハンドの動きに対して動作確認を行う撮像手段を備えている。ロボット制御装置は、撮像手段から入力された画像に基づいて上記動作確認を行う。ロボット制御装置は、撮像手段による撮像領域を変更する撮像領域変更手段と、ロボットハンドの位置を検出する位置検出手段とを備えている。ロボット制御装置は、位置検出手段が検出したロボットハンドの位置に応じて、撮像領域変更手段により撮像手段の撮像領域を変更する。これにより、ロボットハンドの作業領域が広くて1台の撮像手段の撮像領域ではその領域全てをカバーすることが困難な場合であっても、1台の撮像手段が広い撮像領域を確保することができる。
本開示は、エンドエフェクタを制御する際に、カメラにおいて対象物の状態の変化をより正確に認識できる制御システム、制御方法、および制御装置を提供することを目的とする。
本開示に係る制御システムは、カメラと、エンドエフェクタと、前記カメラおよび前記エンドエフェクタを制御する制御装置と、を備える。前記制御装置は、撮像対象物の状態の変化方向を示す状態変化方向情報を取得する取得部と、前記状態変化方向情報に基づいて前記カメラの動作を制御するカメラ制御部と、前記エンドエフェクタを制御する制御信号を前記エンドエフェクタに送信する送信部と、を備える。前記カメラ制御部が前記カメラの動作を制御した後、前記送信部が前記エンドエフェクタに前記制御信号を送信する。
また、本開示に係る制御方法は、取得部と、カメラ制御部と、送信部とを備えた制御装置による、カメラおよびエンドエフェクタの制御方法であって、前記取得部が、撮像対象物の状態の変化方向を示す状態変化方向情報を取得するステップと、前記カメラ制御部が、前記状態変化方向情報に基づいて前記カメラの動作を制御するステップと、前記送信部が、前記エンドエフェクタを制御する制御信号を前記エンドエフェクタに送信するステップと、を有する。
また、本開示に係る制御装置は、撮像対象物の状態の変化方向を示す状態変化方向情報を取得する取得部と、前記状態変化方向情報に基づいて前記カメラの動作を制御するカメラ制御部と、エンドエフェクタを制御する制御信号を前記エンドエフェクタに送信する送信部と、を備える。前記カメラ制御部が前記カメラの動作を制御した後、前記送信部が前記エンドエフェクタに前記制御信号を送信する。
本開示によれば、エンドエフェクタを制御する際に、カメラにおいて対象物の状態の変化をより正確に認識できる制御システム、制御方法、および制御装置を提供できる。
(本開示に至る経緯)
ロボットハンド等のエンドエフェクタは、制御装置によって制御されて、ワークを掴む等の作業を行う。カメラは、この作業が行われる領域(作業領域)を撮像して撮像画像を取得する。制御装置は撮像画像に映りこんだ撮像対象物(例えばワーク)の変化に基づいてエンドエフェクタを制御して、エンドエフェクタが作業を行う。このように、カメラを用いることにより、エンドエフェクタが正確に作業を行うことができる。
ロボットハンド等のエンドエフェクタは、制御装置によって制御されて、ワークを掴む等の作業を行う。カメラは、この作業が行われる領域(作業領域)を撮像して撮像画像を取得する。制御装置は撮像画像に映りこんだ撮像対象物(例えばワーク)の変化に基づいてエンドエフェクタを制御して、エンドエフェクタが作業を行う。このように、カメラを用いることにより、エンドエフェクタが正確に作業を行うことができる。
作業が進行するにつれて、撮像画像に映りこむ撮像対象物の状態は変化する。例えば、エンドエフェクタが撮像対象物の一例としてのワークを把持してワークを移動させる作業を行う場合、ワークの形状や位置が変化する。
制御装置は、カメラの撮像画像に基づいて、撮像対象物の状態の変化をうまく認識することができない場合がある。例えば、エンドエフェクタが保持したワークの形状の変化方向やワークの移動方向が、カメラの光軸と平行であった場合、カメラはワークの形状や位置の変化を正しく認識できない場合がある。これは、撮像対象物の状態の変化が、撮像画像中のピクセルの明確な変化として現れないためである。
そこで、以下の実施の形態では、エンドエフェクタを制御する際に、カメラにおいて対象物の状態の変化をより正確に認識できる制御システム、制御方法、および制御装置について詳述する。
以下、適宜図面を参照しながら、本開示に係る制御システム、制御方法、および制御装置を具体的に開示した実施形態(以下、「本実施形態」という)を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。なお、添付図面および以下の説明は、当業者が本開示を十分に理解するために提供されるのであって、これらにより請求の範囲に記載の主題を限定することは意図されていない。
(制御システム100の概要)
図1は、制御システム100の一例を示す概念図である。制御システム100は、カメラ13と、エンドエフェクタ11と、カメラ13およびエンドエフェクタ11を制御する制御装置2とを少なくとも備える。
図1は、制御システム100の一例を示す概念図である。制御システム100は、カメラ13と、エンドエフェクタ11と、カメラ13およびエンドエフェクタ11を制御する制御装置2とを少なくとも備える。
図1に示した例においては、ロボット1が、エンドエフェクタ11と、ロボットアーム12と、カメラ13と、カメラアーム14とを備える。ここで、図1中の参照符号の131は、カメラ13の光軸を示している。ロボット1は、例えば、工場などのオートメーションで用いられるロボット装置である。制御装置2はロボット1と通信可能に接続されている。制御システム100は、図1に示した構成には限られない。例えば、図3に基づいて後述するように、カメラ13は、ロボット1以外の箇所に設置されていてもよい。制御装置2がロボット1に内蔵されていてもよい。
エンドエフェクタ11は、典型的には1本以上の指を有するロボットハンドである。エンドエフェクタ11は、ロボットアーム12に取り付けられて、例えばワークWkを把持して移動させる等の作業を行う。なお、エンドエフェクタ11は指を有するロボットハンドには限られない。例えば、エンドエフェクタ11は柔軟性のある球形のものであってよい。この場合、エンドエフェクタ11は変形しながらワークWkを包み込むようにして把持する。制御装置2がカメラ13による撮像画像を用いてエンドエフェクタ11の動作を認識する場合、撮像画像から状態の変化を検知できればよいので、エンドエフェクタ11は透明なものであってもよい。これらには限られず、エンドエフェクタ11は当業者にとって一般的なものが用いられてよい。
ロボットアーム12には、エンドエフェクタ11が取付けられる。ロボットアーム12は1以上の関節を有する。この関節を基点にしてロボットアーム12が変形することにより、ワークWkに対するエンドエフェクタ11の相対位置または相対角度が変わる。ロボットアーム12が変形することにより、ワークWkに対するエンドエフェクタ11の相対位置および相対角度が変わってもよい。なお、ロボットアーム12は変形可能であれば良いので、必ずしも関節を有していなくともよい。ロボットアーム12は、伸縮が可能な構成を備えてもよい。
カメラ13は、カメラアーム14を介してロボットアーム12と接続されている。カメラアーム14は伸縮および変形が可能である。カメラアーム14を伸縮および変形させるための構成は、当業者にとって一般的なものであってよい。カメラ13の位置や角度は、ロボットアーム12の変形(および伸縮)と、カメラアーム14の変形および伸縮とに応じて変わる。
カメラ13は、光軸131方向にある撮像対象物を撮像する。撮像対象物は、例えば、エンドエフェクタ11、エンドエフェクタ11が保持する物体、および、エンドエフェクタ11またはエンドエフェクタ11が保持する物体による作業対象物のうちいずれか1つを含む。これらの撮像対象物の具体例については、図6A~図6Dに基づいて後述する。
カメラ13は、撮像対象物を撮像して得られた撮像画像を、制御装置2に送信する。制御装置2は、取得した撮像画像に基づいて、エンドエフェクタ11、ロボットアーム12、カメラ13、およびカメラアーム14を制御する。制御装置2の構成例については、図4に基づいて後述する。
カメラ13は、図5に基づいて後述する目標動作に必要な特徴を撮像画像から抽出してもよい。撮像画像から抽出された特徴は、撮像画像に映り込んだ撮像対象物の移動や動作等の状態変化を制御装置2が検出する際に用いられる。カメラ13は、例えばデプスセンサや3次元距離センサ等であってもよい。なお、制御装置2が撮像画像からの特徴抽出を実行してもよく、撮像対象物の状態変化をカメラ13が検出してもよい。
図2は、ロボット1が用いる座標(座標系)の例を示す概念図である。ロボット1は例えば、ロボット1そのものに対応する座標であるロボット座標、エンドエフェクタ11に対応する座標であるエンドエフェクタ座標、カメラ13に対応する座標であるカメラ座標等を用いる。図示を省略する制御装置2は、これらの相異なる座標を相互に変換しながら、ロボット1が備える各部材の位置や角度を制御する。
図3は、制御システム101の一例を示す概念図である。図3に示されている制御システム101は、図1に示されている制御システム100と基本的に同様の構成を有しているので、相違点のみ説明する。制御システム101において、カメラ13はロボットアーム12ではなく、例えば壁や天井等にカメラアーム14を介して取付けられている。すなわち、カメラ13はロボット1に取り付けられていなくてもよい。図示されているように、制御装置2はロボット1と接続可能に有線接続されている。一方、図示は省略するが、制御装置2はカメラ13およびカメラアーム14と通信可能に無線接続されていてよい。また、壁や天井等にカメラ13およびカメラアーム14を制御する機器が配置されており、制御装置2はこの機器と通信可能に接続されていてもよい。制御装置2は、カメラ13およびカメラアーム14と有線接続されていてもよい。制御装置2は、カメラ13およびカメラアーム14を制御する。
図4は、制御システム100のハードウェア構成例を示すブロック図である。ロボット1の構成は図1に基づいて説明したものと同様であるため説明を省略する。制御装置2は、プロセッサ21とメモリ22とを備える。
プロセッサ21は、例えばCPU(Central Processing Unit)またはFPGA(Field Programmable Gate Array)を用いて構成され、メモリ22と協働して、各種の処理および制御を行う。具体的には、プロセッサ21は、メモリ22に保持されたプログラムを参照し、そのプログラムを実行することにより、撮像画像取得部211、状態変化方向情報取得部212、カメラ制御部213、および送信部214を機能的に実現する。なお、状態変化方向情報取得部212を、単に取得部と表現することがある。
メモリ22は、例えばプロセッサ21の処理を実行する際に用いられるワークメモリとしてのRAM(Random Access Memory)と、プロセッサ21の処理を規定したプログラムを格納するROM(Read Only Memory)とを有する。RAMには、プロセッサ21により生成あるいは取得されたデータが一時的に保存される。ROMには、プロセッサ21の処理を規定するプログラムが書き込まれている。また、メモリ22は、撮像画像取得部211が取得した撮像画像データ、状態変化方向情報取得部が制御装置2の外部から取得した状態変化方向を示す情報をそれぞれ記憶する。メモリ22は、エンドエフェクタ11が行うべき動作の内容を規定する情報である動作内容情報をさらに記憶してよい。動作内容情報には、例えば、エンドエフェクタ11がある動作を行う為のプログラムが含まれる。また、動作内容内情報には、図5に基づいて後述する動作テーブルのデータが含まれてよい。
撮像画像取得部211は、カメラ13が撮像した撮像画像をカメラ13から取得する。撮像画像取得部211は、取得された撮像画像をメモリ22に記憶させる。なお、撮像画像取得部211は、撮像画像に対してサイズ変換、色調補正等の各種の画像処理を行って、画像処理後の撮像画像をメモリ22に記憶させてもよい。
状態変化方向情報取得部212は、カメラ13による撮像対象物の状態の変化方向を示す状態変化方向情報を取得する。撮像対象物は、カメラ13が撮像した撮像画像に映り込む物体である。撮像対象物は、例えば、エンドエフェクタ11、エンドエフェクタ11が保持する物体などを含む。撮像対象物は、エンドエフェクタ11またはエンドエフェクタ11が保持した物体による作業対象物を含んでもよい。状態変化方向情報は、これらの撮像対象物の状態が変化する方向を特定するための情報である。これらの撮像対象物および状態変化方向情報の具体例については、図6A~図6Dに基づき後述する。
図4において、状態変化方向情報取得部212は、カメラ13またはロボットアーム12から状態変化方向情報を取得する。ただし、状態変化方向情報の取得元はこれらには限られない。状態変化方向情報取得部212は例えば、メモリ22から状態変化方向情報を取得してもよい。例えば、エンドエフェクタ11の動作に応じて所定の方向が予め規定されている場合は、その所定の方向を示す情報がメモリ22に保存されていてよい。状態変化方向情報取得部は、制御装置2から見た外部装置から状態変化方向情報を取得してもよい。外部装置の一例は、制御装置2と通信可能に接続された外部サーバや、作業者がロボット1を操作するためのコントローラ等である。
状態変化方向情報取得部212は、取得した状態変化方向情報をメモリ22に保存することができる。
カメラ制御部213は、状態変化方向情報取得部212が取得した状態変化方向情報に基づいて、カメラ13の動作を制御する。ここで言うカメラ13の動作は、カメラ13の位置および角度を変更することを含む。なお、カメラ13はカメラアーム14に取り付けられているので、カメラ13の位置および角度は、カメラアーム14の伸縮や形状変形にも応じて定まるものである。そのため、図4に示したブロック図において、カメラ制御部213は、カメラアーム14を介してカメラ13の動作を制御している。ただし、カメラ制御部213がカメラ13単体の動作を制御してもよい。
送信部214は、エンドエフェクタ11を制御する制御信号をエンドエフェクタ11に送信する。図4に示したブロック図において、エンドエフェクタ11はロボットアーム12に取り付けられている。そのため送信部214は、ロボットアーム12を介して制御信号をエンドエフェクタ11に送信している。ただし送信部214は、ロボットアーム12を介さずに制御信号をエンドエフェクタ11に送信してもよい。また、エンドエフェクタ11を制御する制御信号が、ロボットアーム12を制御する制御信号を含み、カメラ制御部213はロボットアーム12とカメラ13の双方を制御してもよい。
制御装置2は、プロセッサ21およびメモリ22以外の構成要素をさらに含んでよい。例えば、作業者がコントローラやティーチペンダント等の外部機器を用いてロボット1を制御する場合、制御装置2は、外部機器が発した制御信号を取得する機能ブロックを更に含む。この場合制御装置2は、外部機器から取得した制御信号に基づいてロボット1を制御する。制御装置2が、撮像画像を画像認識する機能ブロックを更に備えてもよい。
図5は、エンドエフェクタ11の動作、目標動作および付随動作を例示する図である。エンドエフェクタ11が何らかの動作(作業)を行う時に、この動作(作業)を目標動作(目標作業)の組み合わせにより実行することができる。例えば、ロボットハンドであるエンドエフェクタ11がシールを貼るという動作(作業)を、「ロボットハンドがシール位置に移動する」、「ロボットハンドがシールをつかむ」、「ロボットハンドがシールを貼る位置に移動する」、「ロボットハンドがシールを貼り付ける」、「ロボットハンドがシールから離れる」、「ロボットハンドがシールを押さえる位置に移動する」、「ロボットハンドがシールを押す」、「ロボットハンドがシールから離れる」という複数の目標動作(目標作業)の組み合わせにより実現することができる。なお、図5では、図5の複雑化を避けるため、ロボットハンドをハンドと略称している。
例えば、ロボットハンドであるエンドエフェクタ11は、ワークWk等の把持対象を移動する動作(作業)を、「ロボットハンドが把持対象の把持位置に移動する」、「ロボットハンドが把持対象をつかむ」、「ロボットハンドが把持対象を移動する」、「ロボットハンドが把持対象を放す」、「ロボットハンドが把持対象から離れる」という複数の目標動作(目標作業)の組み合わせにより実現することができる。
目標動作(目標作業)のそれぞれは、付随動作へとさらに分割されることができる。例えば、エンドエフェクタ11であるロボットハンドは、「ロボットハンドがシール位置に移動する」という目標動作(目標作業)を、「ロボットハンドがシール位置に近づく」という付随動作を複数回実行することにより、実現することができる。例えば、エンドエフェクタ11であるロボットハンドは、「ロボットハンドがシールをつかむ」という目標動作(目標作業)を、「ロボットハンドが指先をシールの所定位置に近づける」という付随動作を複数回実行することにより、実現することができる。図5に示されている他の目標動作(目標作業)についても同様である。なお、図5では、図5の複雑化を避けるため、ロボットハンドの指先を、指先と略称している。
目標動作を動作Aとしたとき、付随動作を動作A1、A2、A3…、と表現することができる。付随動作A1、A2、A3…を実行することにより、動作Aが実行されることになる。
エンドエフェクタ11の動作(作業)は、図5に示されている例には限られない。例えば、エンドエフェクタ11がドライバーを把持してネジ締めを行う、エンドエフェクタ11がハサミを把持して布を切断する、等の動作(作業)も考えられる。
制御装置2のメモリ22は、図5に示されているような動作(作業)、目標動作(目標作業)および付随動作の対応関係を規定した表データ(動作テーブル)を記憶してよい。また、メモリ22は、動作テーブルに含まれる各動作をロボット1に行わせるためのプログラムを記憶してもよい。プロセッサ21はこれらのプログラムを実行する。
ロボット1が行うべき目標動作の選択は、プロセッサ21が実行するか、または作業者がティーチペンダントやコントローラを介して実行する。プロセッサ21が備える送信部214は、選択された目標動作に応じて、エンドエフェクタ11を制御する制御信号をエンドエフェクタ11に送信する。プロセッサ21はこの制御信号を、カメラ13が撮像した撮像画像に基づいて生成するのが好ましい。すなわちプロセッサ21は、撮像画像に映りこんだ撮像対象物を画像認識して、撮像対象物の撮像画像中の位置を基準にして、選択された目標動作または付随動作を行った後のエンドエフェクタ11の位置および向きを決定する。エンドエフェクタ11はエンドエフェクタ11が前述の位置および向きになるような制御信号を生成する。そのため、プロセッサ21は、撮像画像を画像認識する機能ブロックと、画像認識された撮像対象物の位置に基づいて制御信号を生成する機能ブロックを備えていてよい。
図6A~図6Dはそれぞれ、撮像対象物の状態の変化方向を例示する概念図である。上述のように、撮像対象物は、カメラ13が撮像した撮像画像に映り込む物体である。状態変化方向情報は、撮像対象物の状態が変化する方向を特定するための情報である。
図6A~図6Dのそれぞれに描かれている直線状の黒い矢印は、撮像対象物の状態変化方向を示している。撮像対象物の一つ目の例は、エンドエフェクタ11である(図6Aおよび図6B参照)。例えばエンドエフェクタ11がワークWkをつかむ動作を行う場合、エンドエフェクタ11自体がワークWkに近づくように移動し(図6A)、またエンドエフェクタ11の指がワークWkを挟み込むように閉じる(図6B)。これらの場合、エンドエフェクタ11の動作方向が、撮像対象物の状態変化方向に相当する。
撮像対象物の二つ目の例は、エンドエフェクタ11が保持する物体である(図6C参照)。例えばエンドエフェクタ11がドライバーを把持してネジ締めの動作を行う場合、ネジOBJ1を先端に付着させたドライバーが、ネジ穴を有する板OBJ2に向かって上から近づくように移動する。この場合、エンドエフェクタ11が保持する物体であるドライバーの動作方向が、撮像対象物の状態変化方向に相当する。
撮像対象物の三つ目の例は、エンドエフェクタ11またはエンドエフェクタ11が保持した物体による作業対象物である(図6D参照)。例えばエンドエフェクタ11がドライバーを把持してネジ締めの動作を行う場合、ネジOBJ1を先端に付着させたドライバーが、ネジ穴を有する板OBJ2に向かって上から近づくように移動する。ネジOBJ1は、エンドエフェクタ11が保持したドライバーによる作業対象物である。この場合、エンドエフェクタ11が保持したドライバーによる作業対象物であるネジOBJ1の動作方向が、撮像対象物の状態変化方向に相当する。ネジ穴を有する板OBJ2も、エンドエフェクタ11が保持したドライバーによる作業対象物である。ここで、ネジ穴にネジOBJ1をねじ込むと、板OBJ2のネジ穴付近にひび割れが発生する可能性がある。このひび割れは、板OBJ2の状態の変化に相当する。ひび割れは、板OBJ2の上面におけるあらゆる方向に発生し得るので、例えば図6Dの板OBJ2の上面に示された矢印の方向は、板OBJ2の状態の変形方向に相当する。この場合、エンドエフェクタ11が保持したドライバーによる作業対象物である板OBJ2の変形方向が、撮像対象物の状態変化方向に相当する。
なお、図示は省略するが、エンドエフェクタ11がハサミを保持して布を切断する動作を行った場合、布に生じた切断線の方向は、エンドエフェクタ11が保持した物体(ハサミ)による作業対象物(布)の変形方向に相当する。また、エンドエフェクタ11自体がハサミの形状を呈している場合、布に生じた切断線の方向は、エンドエフェクタ11による作業対象物(布)の変形方向に相当する。
ここで再び図4を参照すると、状態変化方向情報取得部212は、撮像対象物の状態変化方向情報を、カメラ13や、エンドエフェクタ11が取付けられたロボットアーム12から取得する。また、状態変化方向情報取得部212は、撮像画像取得部211が取得して画像処理を行った後の撮像画像に基づいて、状態変化方向を計算して、状態変化方向情報を生成してもよい。さらに、状態変化方向情報取得部212は、メモリ22に記憶された動作テーブル(図5参照)のデータ等を撮像画像と併せて取得し、取得したデータ等と撮像画像とに基づいて、状態変化方向を計算して、状態変化方向情報を生成してもよい。
(第1の制御例)
図7は、制御装置2によるカメラ13およびエンドエフェクタ11の第1の制御例を示すフローチャートである。なお、エンドエフェクタ11が行うべき動作(作業)は、例えば「シールを貼る」などのように、既に決定済みであるという前提で説明する。プロセッサ21は、メモリ22に記憶されている動作テーブル(図5)を参照する等して、エンドエフェクタが行うべき動作に対応した目標動作を選択する(St101)。
図7は、制御装置2によるカメラ13およびエンドエフェクタ11の第1の制御例を示すフローチャートである。なお、エンドエフェクタ11が行うべき動作(作業)は、例えば「シールを貼る」などのように、既に決定済みであるという前提で説明する。プロセッサ21は、メモリ22に記憶されている動作テーブル(図5)を参照する等して、エンドエフェクタが行うべき動作に対応した目標動作を選択する(St101)。
撮像画像取得部211は、カメラ13が撮像した撮像画像を取得する(St102)。撮像画像取得部211は、取得した撮像画像から、撮像対象物の特徴を抽出する(St103)。撮像画像から特徴を抽出するためのアルゴリズムは、従来のアルゴリズムが用いられてよい。撮像画像取得部211は、機械学習に基づいた画像認識技術を用いて撮像画像から特徴を抽出してもよい。なお、撮像画像から抽出された特徴は、撮像対象物の撮像時の状態を示している。プロセッサ21は、抽出された特徴と、目標動作が終わった後の撮像対象物の状態(目標状態)を示す特徴とを比較することができる。この比較のために、目標状態における撮像対象物の状態を示す画像や、この画像から抽出された特徴を示す情報がメモリ22に保存されていてよい。
プロセッサ21は、目標動作が終了したか否かを判定する(St104)。プロセッサ21は、目標動作が終了したか否かの判定を、種々の方法により行うことができる。制御装置2は例えば、図5に示されている目標動作毎に終了条件を予め定めて、終了条件を示す情報をメモリ22に記憶しておく。プロセッサ21は、選択された目標動作について終了条件を満たしているときに、目標動作が終了したと判定する。
終了条件は、例えば、目標動作の開始時を基準として、エンドエフェクタ11が所定の方向に所定の距離だけ移動したことであってよい。また、制御装置2が、目標動作が終了した後の撮像対象物の状態(目標状態)を示す情報(目標状態情報)をメモリ22に記憶しておき、プロセッサ21が、現在の撮像対象物の状態を示す情報と、目標状態情報とを比較してもよい。目標状態情報は、例えばカメラ13が撮像した撮像画像または、撮像画像から抽出された特徴情報である。特徴情報は、例えば、撮像対象物に設けられたマーカーや、一般的な画像特徴点抽出処理で得られた複数の点の、撮像画像中の位置や大きさなどである。終了条件は、例えば、プロセッサ21が撮像対象物の現在の状態と目標状態を比較した場合に、撮像画像から抽出された特徴同士の距離が所定の閾値(単位:ピクセル)以下であることであってよい。終了条件は、例えば、エンドエフェクタ11が作業を行った事により作業対象物同士が結合あるいは分離等した際に発生した音を、制御装置2が別途備えたマイク等により検知したことであってよい。終了条件は、エンドエフェクタ11が把持した電動ドライバーによるネジ締め動作の停止を、音や振動等に基づいて制御装置2が検知したことであってよい。制御装置2は、これら以外にも、種々の終了条件を設定してよい。
なお、撮像対象物の目標状態情報は、同一のロボットを同一の環境で用いて事前に取得された情報である。ただし、同一のロボットを同一の環境で用いずに得られた情報を、目標状態情報としてもよい。例えば、環境は同一であるが、別のロボットを用いて事前に取得された情報を目標状態情報としてもよい。また、異なる種類のカメラを用いて撮像された撮像画像に基づき取得された情報を目標状態情報としてもよい。また、GPU等を備えたサーバ装置がロボット1と同様の構成を有するロボットの3Dモデルを仮想空間上で仮想的に動かすことにより仮想空間における座標系で取得した画像や、3Dモデルの特徴点の位置座標などを、目標状態情報としてもよい。
目標動作が終了していない場合(St104:No)、ステップSt105へと処理が進み、目標動作が終了していた場合(St104:Yes)、ステップSt106へと処理が進む。
ステップSt105では、プロセッサ21が、ロボット1の制御処理を実行する。ロボット1の制御処理の詳細については、図8に基づき後述する。
ステップSt106では、プロセッサ21が、全ての動作が完了したか否かを判定する。全ての動作が完了していた場合(St106:Yes)、図7に示した処理は終了する。全ての動作が完了していなかった場合(St106:No)、ステップSt101に戻って、プロセッサ21が次の目標動作を選択する。
図8は、図7に示されているロボット1の制御処理を説明するフローチャートである。プロセッサ21は、選択された目標動作に対応したエンドエフェクタ11の目標位置を算出する(St201)。例えば選択された目標動作が「ロボットハンドがシール位置に移動する」であった場合(図5参照)、プロセッサ21は、この目標動作が行われた後の位置である、ロボットハンドがシールをつかめるような位置を算出する。カメラ13の撮像画像を用いる場合、プロセッサ21は、撮像画像に映り込んだ撮像対象物が目標状態となるような、エンドエフェクタ11の目標位置を算出する。
プロセッサ21は、ステップSt201で算出されたエンドエフェクタ11の目標位置にエンドエフェクタ11が移動するための、エンドエフェクタの制御方針を決定する(St202)。エンドエフェクタの制御方針は、エンドエフェクタ11およびロボットアーム12をどのように動かして、エンドエフェクタ11を目標位置まで移動させるかの方針である。制御方針の決定は、逆運動学などの従来の手法を用いて行われてよい。
プロセッサ21は、カメラ13の目標位置を算出する(St203)。カメラ13の目標位置は、エンドエフェクタ11が動作する間に撮像対象物の状態変化をカメラ13が認識しやすい位置である。カメラ13の目標位置は、例えば撮像対象物の状態変化方向とカメラ13の光軸とのなす角が90度となるような位置である。このような位置にカメラ13が移動すれば、カメラ13は、撮像対象物の状態変化を撮像画像中のより大きなピクセルの変化として認識することができる。なお、撮像対象物の状態変化方向とカメラ13の光軸とのなす角は、30度から150度の間の角度であってもよい(図15参照)。プロセッサ21は、状態変化方向情報取得部212が取得した撮像対象物の状態変化方向情報に基づいて、カメラ13の目標位置を算出する。
プロセッサ21は、ステップSt203で算出されたカメラ13の目標位置にカメラ13が移動するための、カメラ13の制御方針を決定する(St204)。カメラ13の制御方針は、カメラ13およびカメラアーム14をどのように動かして、カメラ13を目標位置まで移動させるかの方針である。制御方針の決定は、逆運動学などの従来の手法を用いて行われてよい。
プロセッサ21は、カメラ13の位置が目標位置になるように、カメラ13を移動させる(St205)。図4を併せて参照すると、カメラ制御部213がカメラアーム14に制御信号を送ることによりカメラ13の動作を制御する。カメラ制御部213は、カメラ13が撮像対象物を撮像可能に位置するようにカメラ13の動作を制御する。なお、カメラ13の現在位置が目標位置と一致している場合は、カメラ13は移動不要である。
プロセッサ21は、エンドエフェクタ11の位置が目標位置になるように、エンドエフェクタ11を制御する(St206)。図4を併せて参照すると、送信部214がロボットアーム12経由でエンドエフェクタ11に制御信号を送信する。この制御信号に基づいてエンドエフェクタ11が目標動作を行う。なお、制御信号に基づいて、エンドエフェクタ11とロボットアーム12の双方が動作してもよい。
制御装置2は、カメラ制御部213がカメラ13の動作を制御(ステップSt205)した後、送信部214がエンドエフェクタ11に制御信号を送信(ステップSt206)する。これにより、エンドエフェクタ11が動作する時に、カメラ13は撮像対象物の状態の変化をより正確に認識することができる。
(カメラ13の位置固定)
カメラ13が撮像対象物を撮像する時に、カメラ13の絶対位置(図2の絶対座標における位置)が固定されてよい。カメラ13の絶対位置を固定することにより、エンドエフェクタ11が動作を行う際に、カメラ13が同じ位置から撮像を行うことができる。そのため、撮像対象物の状態の変化が認識しやすくなる。そこで制御装置2は、カメラ制御部213が、カメラ13が撮像対象物を撮像可能に位置するようにカメラ13の動作を制御した後、カメラ13の位置を固定するようにカメラ13の動作を制御する。カメラ13がロボットアーム12に取り付けられている場合(図1参照)、カメラ制御部213は、ロボットアーム12の移動に伴ったカメラ13の移動を打ち消すように、カメラ13の動作を制御する。カメラ13が壁などの移動しない物に取り付けられている場合(図3参照)、カメラ制御部213は、カメラアーム14を動かさないように、カメラ13の動作を制御する。
カメラ13が撮像対象物を撮像する時に、カメラ13の絶対位置(図2の絶対座標における位置)が固定されてよい。カメラ13の絶対位置を固定することにより、エンドエフェクタ11が動作を行う際に、カメラ13が同じ位置から撮像を行うことができる。そのため、撮像対象物の状態の変化が認識しやすくなる。そこで制御装置2は、カメラ制御部213が、カメラ13が撮像対象物を撮像可能に位置するようにカメラ13の動作を制御した後、カメラ13の位置を固定するようにカメラ13の動作を制御する。カメラ13がロボットアーム12に取り付けられている場合(図1参照)、カメラ制御部213は、ロボットアーム12の移動に伴ったカメラ13の移動を打ち消すように、カメラ13の動作を制御する。カメラ13が壁などの移動しない物に取り付けられている場合(図3参照)、カメラ制御部213は、カメラアーム14を動かさないように、カメラ13の動作を制御する。
図9は、制御装置2によるカメラ13およびエンドエフェクタ11の第1の制御例に対応するシーケンス図である。図中、破線状の矢印の方向に時間が経過している。動作A、動作Bおよび動作Cはそれぞれ、図5に示されている目標動作に相当する。
まずプロセッサ21が、目標動作Aについてのエンドエフェクタ11およびカメラ13の動作(制御方針)を決定する。次に、決定された制御方針に従って、カメラ13が目標位置に移動する。次に、決定された制御方針に従って、エンドエフェクタ11が目標位置に移動する(目標動作A)。目標動作Aが完了したら、プロセッサ21が、目標動作Bについてのエンドエフェクタ11およびカメラ13の動作(制御方針)を決定する。次に、決定された制御方針に従って、カメラ13が目標位置に移動する。次に、決定された制御方針に従って、エンドエフェクタ11が目標位置に移動する(目標動作B)。制御装置2は、目標動作C以降も同様に行うことにより、「シールを貼る」「把持対象を移動する」等の動作をエンドエフェクタ11に実現させる。
(第2の制御例)
図10は、制御装置2によるカメラ13およびエンドエフェクタ11の第2の制御例を示すフローチャートである。なお、エンドエフェクタ11が行うべき動作(作業)は、例えば「シールを貼る」などのように、既に決定済みであるという前提で説明する。プロセッサ21は、メモリ22に記憶されている動作テーブル(図5)を参照する等して、エンドエフェクタが行うべき動作に対応した目標動作を選択する(St301)。
図10は、制御装置2によるカメラ13およびエンドエフェクタ11の第2の制御例を示すフローチャートである。なお、エンドエフェクタ11が行うべき動作(作業)は、例えば「シールを貼る」などのように、既に決定済みであるという前提で説明する。プロセッサ21は、メモリ22に記憶されている動作テーブル(図5)を参照する等して、エンドエフェクタが行うべき動作に対応した目標動作を選択する(St301)。
撮像画像取得部211は、カメラ13が撮像した撮像画像を取得する(St302)。撮像画像取得部211は、取得した撮像画像から、撮像対象物の特徴を抽出する(St303)。撮像画像から特徴を抽出するためのアルゴリズムは、従来のアルゴリズムが用いられてよい。撮像画像取得部211は、機械学習に基づいた画像認識技術を用いて撮像画像から特徴を抽出してもよい。なお、抽出された特徴は、撮像対象物の撮像時の状態を示している。プロセッサ21は、抽出された特徴と、目標動作が終わった後の撮像対象物の状態(目標状態)を示す特徴とを比較することができる。この比較のために、目標状態における撮像対象物の状態を示す画像や、この画像から抽出された特徴を示す情報がメモリ22に保存されていてよい。
プロセッサ21は、目標動作が終了したか否かを判定する(St304)。プロセッサ21は、目標動作が終了したか否かの判定を、種々の方法により行うことができる。制御装置2は例えば、図5に示されている目標動作毎に終了条件を予め定めて、終了条件を示す情報をメモリ22に記憶しておく。プロセッサ21は、選択された目標動作について終了条件を満たしているときに、目標動作が終了したと判定する。
終了条件は、例えば、目標動作の開始時を基準として、エンドエフェクタ11が所定の方向に所定の距離だけ移動したことであってよい。また、制御装置2が、目標動作が終了した後の撮像対象物の状態(目標状態)を示す情報(目標状態情報)をメモリ22に記憶しておき、プロセッサ21が、現在の撮像対象物の状態を示す情報と、目標状態情報とを比較してもよい。目標状態情報は、例えばカメラ13が撮像した撮像画像または、撮像画像から抽出された特徴情報である。特徴情報は、例えば、撮像対象物に設けられたマーカーや、一般的な画像特徴点抽出処理で得られた複数の点の、撮像画像中の位置や大きさなどである。終了条件は、例えば、プロセッサ21が撮像対象物の現在の状態と目標状態を比較した場合に、撮像画像から抽出された特徴同士の距離が所定の閾値(単位:ピクセル)以下であることであってよい。終了条件は、例えば、エンドエフェクタ11が作業を行った事により作業対象物同士が結合あるいは分離等した際に発生した音を、制御装置2が別途備えたマイク等により検知したことであってよい。終了条件は、エンドエフェクタ11が把持した電動ドライバーによるネジ締め動作の停止を、音や振動等に基づいて制御装置2が検知したことであってよい。制御装置2は、これら以外にも、種々の終了条件を設定してよい。
なお、撮像対象物の目標状態情報は、同一のロボットを同一の環境で用いて事前に取得された情報である。ただし、同一のロボットを同一の環境で用いずに得られた情報を、目標状態情報としてもよい。例えば、環境は同一であるが、別のロボットを用いて事前に取得された情報を目標状態情報としてもよい。また、異なる種類のカメラを用いて撮像された撮像画像に基づき取得された情報を目標状態情報としてもよい。また、GPU等を備えたサーバ装置がロボット1と同様の構成を有するロボットの3Dモデルを仮想空間上で仮想的に動かすことにより仮想空間における座標系で取得した画像や、3Dモデルの特徴点の位置座標などを、目標状態情報としてもよい。
目標動作が終了していない場合(St304:No)、ステップSt305へと処理が進み、目標動作が終了していた場合(St304:Yes)、ステップSt306へと処理が進む。
ステップSt305では、プロセッサ21が、ロボット1の制御処理を実行する。ロボット1の制御処理の詳細については、図11に基づき後述する。
ステップSt306では、プロセッサ21が、全ての動作が完了したか否かを判定する。全ての動作が完了していた場合(St306:Yes)、図10に示した処理は終了する。全ての動作が完了していなかった場合(St306:No)、ステップSt301に戻って、プロセッサ21が次の目標動作を選択する。
図11は、図10に示されているロボット1の制御処理を説明するフローチャートである。プロセッサ21は、選択された目標動作に対応したエンドエフェクタ11の目標位置を算出する(St401)。例えば選択された目標動作が「ロボットハンドがシール位置に移動する」であった場合(図5参照)、プロセッサ21は、この目標動作が行われた後の位置である、ロボットハンドがシールをつかめるような位置を算出する。カメラ13の撮像画像を用いる場合、プロセッサ21は、撮像画像に映り込んだ撮像対象物が目標状態となるような、エンドエフェクタ11の目標位置を算出する。
プロセッサ21は、ステップSt401で算出されたエンドエフェクタ11の目標位置にエンドエフェクタ11が移動するための、エンドエフェクタの制御方針を決定する(St402)。エンドエフェクタの制御方針は、エンドエフェクタ11およびロボットアーム12をどのように動かして、エンドエフェクタ11を目標位置まで移動させるかの方針である。制御方針の決定は、逆運動学などの従来の手法を用いて行われてよい。
プロセッサ21は、カメラ13の目標位置を算出する(St403)。カメラ13の目標位置は、エンドエフェクタ11が動作する間に撮像対象物の状態変化をカメラ13が認識しやすい位置である。カメラ13の目標位置は、例えば撮像対象物の状態変化方向とカメラ13の光軸とのなす角が90度となるような位置である。このような位置にカメラ13が移動すれば、カメラ13は、撮像対象物の状態変化を撮像画像中のより大きなピクセルの変化として認識することができる。なお、撮像対象物の状態変化方向とカメラ13の光軸とのなす角は、30度から150度の間の角度であってもよい(図15参照)。プロセッサ21は、状態変化方向情報取得部212が取得した撮像対象物の状態変化方向情報に基づいて、カメラ13の目標位置を算出する。
プロセッサ21は、ステップSt403で算出されたカメラ13の目標位置にカメラ13が移動するための、カメラ13の制御方針を決定する(St404)。カメラ13の制御方針は、カメラ13およびカメラアーム14をどのように動かして、カメラ13を目標位置まで移動させるかの方針である。制御方針の決定は、逆運動学などの従来の手法を用いて行われてよい。
プロセッサ21は、カメラ13の位置が目標位置になるように、カメラ13を移動させる(St405)。図4を併せて参照すると、カメラ制御部213がカメラアーム14に制御信号を送ることによりカメラ13の動作を制御する。カメラ制御部213は、カメラ13が撮像対象物を撮像可能に位置するようにカメラ13の動作を制御する。なお、カメラ13の現在位置が目標位置と一致している場合は、カメラ13は移動不要である。
撮像画像取得部211は、カメラ13が撮像した撮像画像を取得する(St406)。
プロセッサ21は、ステップSt301で選択された目標動作に対応した付随動作がすべて終了したか否かを判定する(St407)。すなわちプロセッサ21は、現在対象となっている付随動作が終了しており、かつ、選択された目標動作の終了条件が満たれているかを確認する。目標動作に対応した付随動作がすべて終了した場合(St407:Yes)、図11に示した処理は終了する。目標動作に対応した付随動作がすべて終了していない場合(St407:No)、ステップSt408へと処理が進む。
プロセッサ21は、ステップSt407における判定をステップSt406で取得された撮像画像を用いて行ってよい。例えば、プロセッサ21は撮像画像から撮像対象物の特徴を抽出し、この特徴の撮像画像内の位置に応じて、上述の判定を行ってよい。また、プロセッサ21は、撮像画像を用いない手法によって、ステップSt407における判定を行ってもよい。例えば、ロボット1が内部的に有する制御パラメータ(ロボットアームの角度等)によって、エンドエフェクタ11の現在の状態を把握することができるのであれば、プロセッサ21はこの制御パラメータに基づいてステップSt407における判定を行うことができる。また、エンドエフェクタ11が把持するワークWk(図1等参照)にスイッチが設けられており、このスイッチが押されたら、「ロボットハンドがワークをつかむ」という目標動作が終了したとプロセッサ21が判定してもよい。その他、作業者が手持ちのコントローラ等を介して目標動作の終了を示す信号を制御装置2に送信し、制御装置2がこの信号を受信した場合、目標動作が終了したとプロセッサ21が判定してもよい。
プロセッサ21は、付随動作についてのエンドエフェクタ11の目標位置を算出する(St408)。例えば選択された付随動作が「ロボットハンドがシール位置に近づく」であった場合(図5参照)、プロセッサ21は、この付随動作が行われた後の位置である、ロボットハンドがシールをつかめるような位置(目標動作についての目標位置)により近づいた位置を算出する。カメラ13の撮像画像を用いる場合、プロセッサ21は、撮像画像に映り込んだ撮像対象物が付随動作についての目標状態となるような、エンドエフェクタ11の目標位置を算出する。
プロセッサ21は、ステップSt408で算出されたエンドエフェクタ11の目標位置にエンドエフェクタ11が移動するための、エンドエフェクタの制御方針を決定する(St409)。エンドエフェクタ11の制御方針は、エンドエフェクタ11およびロボットアーム12をどのように動かして、エンドエフェクタ11を付随動作についての目標位置まで移動させるかの方針である。制御方針の決定は、逆運動学などの従来の手法を用いて行われてよい。
プロセッサ21は、エンドエフェクタ11の位置が付随動作についての目標位置になるように、エンドエフェクタ11を微小移動させる(ステップSt410)。図4を併せて参照すると、送信部214がロボットアーム12を経由してエンドエフェクタ11に制御信号を送ることにより、エンドエフェクタ11の微小移動を制御する。なお、制御信号に基づいて、エンドエフェクタ11とロボットアーム12の双方が動作してもよい。ステップSt410が終了したら、処理がステップSt406へと戻り、目標動作に含まれる次の付随動作について、ステップSt406からSt410を繰り返す。なお、カメラ13が移動(ステップSt405)した後にステップSt406からSt410が繰り返されるので、送信部214からエンドエフェクタ11に送信される複数の制御信号により、エンドエフェクタ11が複数の動作(付随動作)を行うことになる。
なお、制御装置2は、カメラ制御部213がカメラ13の動作を制御(ステップSt405)した後、送信部214がエンドエフェクタ11に制御信号を送信(ステップSt410)する。これにより、エンドエフェクタ11が動作する時に、カメラ13は撮像対象物の状態の変化をより正確に認識することができる。
(カメラ13の位置固定)
カメラ13が撮像対象物を撮像する時に、カメラ13の絶対位置(図2の絶対座標における位置)が固定されてよい。カメラ13の絶対位置を固定することにより、エンドエフェクタ11が動作を行う際に、カメラ13が同じ位置から撮像を行うことができるので、撮像対象物の状態の変化が認識しやすくなる。そこで制御装置2は、カメラ制御部213が、カメラ13が撮像対象物を撮像可能に位置するようにカメラ13の動作を制御した後、カメラ13の位置を固定するようにカメラ13の動作を制御する。カメラ13がロボットアーム12に取り付けられている場合(図1参照)、カメラ制御部213は、ロボットアーム12の移動に伴ったカメラ13の移動を打ち消すように、カメラ13の動作を制御する。カメラ13が壁などの移動しない物に取り付けられている場合(図3参照)、カメラ制御部213は、カメラアーム14を動かさないように、カメラ13の動作を制御する。
カメラ13が撮像対象物を撮像する時に、カメラ13の絶対位置(図2の絶対座標における位置)が固定されてよい。カメラ13の絶対位置を固定することにより、エンドエフェクタ11が動作を行う際に、カメラ13が同じ位置から撮像を行うことができるので、撮像対象物の状態の変化が認識しやすくなる。そこで制御装置2は、カメラ制御部213が、カメラ13が撮像対象物を撮像可能に位置するようにカメラ13の動作を制御した後、カメラ13の位置を固定するようにカメラ13の動作を制御する。カメラ13がロボットアーム12に取り付けられている場合(図1参照)、カメラ制御部213は、ロボットアーム12の移動に伴ったカメラ13の移動を打ち消すように、カメラ13の動作を制御する。カメラ13が壁などの移動しない物に取り付けられている場合(図3参照)、カメラ制御部213は、カメラアーム14を動かさないように、カメラ13の動作を制御する。
図12は、制御装置2によるカメラ13およびエンドエフェクタ11の第2の制御例に対応するシーケンス図である。図中、破線状の矢印の方向に時間が経過している。動作Aおよび動作Bはそれぞれ、図5に示されている目標動作に相当する。付随動作A1、A2、A3、B1、B2、B3は、図5に示されている付随動作に相当する。
まずプロセッサ21が、目標動作Aについてのエンドエフェクタ11およびカメラ13の動作(制御方針)を決定する。次に、決定された制御方針に従って、カメラ13が目標位置に移動する。次に、エンドエフェクタ11が付随動作A1、A2、A3…を順次行う。目標動作Aに相当する付随動作が全て完了したら、プロセッサ21が、目標動作Bについてのエンドエフェクタ11およびカメラ13の動作(制御方針)を決定する。次に、決定された制御方針に従って、カメラ13が目標位置に移動する。次に、エンドエフェクタ11が付随動作B1、B2、B3…を順次行う。制御装置2は、図示を省略した目標動作C以降も同様に行うことにより、「シールを貼る」「把持対象を移動する」等の動作をエンドエフェクタ11に実現させる。
図13は、制御装置2によるカメラ13およびエンドエフェクタ11の第1の制御例に対応するシーケンス図の変形例である。図中、破線状の矢印の方向に時間が経過している。動作Aが図5に示されている目標動作に相当する。付随動作A1、A2、A3は、図5に示されている付随動作に相当する。
まずプロセッサ21が、目標動作Aについてのエンドエフェクタ11およびカメラ13の動作(制御方針)を決定する。次に、決定された制御方針に従って、カメラ13が移動する。この段階で、カメラ13は目標動作Aについての目標位置まで到達していなくてもよいが、撮像対象物がカメラ13の画角に入る位置まで移動している事が好ましい。次に、エンドエフェクタ11が付随動作A1、A2、A3…を順次行う。エンドエフェクタ11が付随動作A1、A2、A3…を順次行う間も、カメラ13が決定された制御方針に従って少しずつ移動する。図示は省略するが、目標動作Aの後に行われる目標動作B、目標動作C…についても、目標動作Aと同様である。
例えば、目標動作Aに対応する付随動作A1、A2、A3…が全て終了した後で、カメラ13が撮像対象物を撮像するような状況が考えられる。この時、撮像が必要な時点で、カメラ13が所定の目標位置に到着していればよい。従って、付随動作A1が行われる前に、カメラ13は必ずしも目標位置に到着していなくてもよい。また、エンドエフェクタ11の動作を作業者が手持ちのコントローラ等を介して指示する場合が考えられる。このような場合、エンドエフェクタが付随動作A1、A2、A3…を順次行う際にカメラ13も少しずつ移動すれば、撮像対象物がカメラ13の画角から外れずに、作業者が撮像画像に基づいてエンドエフェクタ11の動作を指示することができる。
図14は、撮像対象物が複数存在する場合のカメラの位置決め例を示す概念図である。例えばエンドエフェクタ11がドライバーを把持してネジ締めする動作を行う場合(図6Cおよび図6D参照)を考える。カメラ13で撮像したい撮像対象物は、エンドエフェクタ11(第1の撮像対象物)と、板に設けられたネジ穴(第2の撮像対象物)であってよい。エンドエフェクタ11およびネジ穴の状態変化方向は、図中の直線状の矢印でそれぞれ示した方向である。例えば撮像対象物の状態変化方向とカメラ13の光軸とのなす角が90度となるような位置をカメラ13の目標位置とする場合、第1の撮像対象物に対するカメラ13の目標位置、および、第2の撮像対象物に対するカメラ13の目標位置は、それぞれ、図中の破線で示したような位置である。
例えば図14に示されているように撮像対象物が複数存在した場合、カメラ制御部213は、複数の撮像対象物の各々に対応する状態変化方向情報に基づいて、カメラ13の動作を制御する。カメラ制御部213は、カメラ13の光軸の方向が、一の撮像対象物(例えば第1の撮像対象物)に対応する状態変化方向情報に基づいたカメラ13の光軸の方向D1(第1の方向)と、他の撮像対象物(例えば第2の撮像対象物)に対応する状態変化方向情報に基づいたカメラ13の光軸の方向D2(第2の方向)との間の方向になるように、カメラ13の動作を制御する。ここで、方向D1は、第1の撮像対象物の状態の変化方向と直交する方向であってよい。また、方向D2は、第2の撮像対象物の状態の変化方向と直交する方向であってよい。カメラ制御部213が上述のようにカメラ13の動作を制御した場合の、カメラ13の目標位置は、例えば図中実線で描かれているカメラ13の位置であってよい。撮像対象物が3つ以上存在した場合も同様である。カメラ制御部213は、カメラ13の光軸の方向が、各撮像対象物に対応する状態変化方向情報に基づいたカメラ13の光軸の方向の間の方向になるように、カメラ13の動作を制御する。複数の光軸の方向の間の方向は、厳密に中間の方向である必要はない。例えば、カメラ13の光軸の方向は、一の撮像対象物(例えば第1の撮像対象物)に対応する状態変化方向情報に基づいたカメラ13の光軸の方向よりも、他の撮像対象物(例えば第2の撮像対象物)に対応する状態変化方向情報に基づいたカメラ13の光軸の方向により近い方向であってもよい。
図15は、撮像対象物の状態変化方向とカメラ13の光軸131との間のなす角を示す概念図である。撮像対象物の状態変化方向(例えばエンドエフェクタ11の動作方向)が、図中の太い直線状の矢印が示す方向であったとする。また、カメラ13の目標位置の候補を、候補A、候補B、候補C、および候補Dとする。なお、図の可読性を確保するため、候補B~候補Dについて、カメラ13および光軸131の参照符号は省略されている。
カメラ13の目標位置が候補Aの位置であった場合、撮像対象物の状態変化は、カメラ13による撮像画像に映り込まない。そのためカメラ制御部213は、少なくとも、カメラ13の光軸131が撮像対象物の状態変化方向と平行にならないようにカメラ13の動作を制御する。
カメラ13が撮像対象物の状態変化を撮像画像中の最も大きなピクセルの変化として認識することができるのは、カメラ13の目標位置が候補Bの位置だった場合である。候補Bの場合、撮像対象物の状態変化方向とカメラ13の光軸とのなす角が90度となる。カメラ制御部213は、撮像対象物の状態変化方向とカメラ13の光軸131とのなす角が90度となるようにカメラ13の動作を制御してよい。これにより、カメラ13は撮像対象物の状態変化を撮像画像中の最も大きなピクセルの変化として認識することができる。
候補Bにおける、撮像対象物の状態変化に基づく撮像画像中のピクセルの変化の度合い(画像変化量)を、仮に1とする。この時、候補Aにおける画像変化量は0である。
候補Cおよび候補Dは、撮像対象物の状態変化方向とカメラ13の光軸とのなす角がそれぞれ30度および150度となる。候補Cおよび候補Dにおける画像変化量は1/2である。従って、カメラ13が撮像対象物の状態変化を撮像画像中のある程度大きいピクセルの変化(画像変化量1/2以上)として認識することができるようにするためには、カメラ13の目標位置は候補Cと候補Dの間の位置になる。そのため、カメラ制御部213は、撮像対象物の状態変化方向とカメラ13の光軸131とのなす角が30度から150度の間の角度となるようにカメラ13の動作を制御する。
なお、工場の管理者や作業者が画像変化量の許容値を適宜決定してよい。例えば画像変化量の許容値が√3/2以上であった場合、カメラ制御部213は、撮像対象物の状態変化方向とカメラ13の光軸131とのなす角が60度から120度の間の角度となるようにカメラ13の動作を制御する。
特に、エンドエフェクタ11が保持したワークWk等を制御装置2の制御により精密に移動させるためには、撮像画像中の画像変化量は大きい事が好ましい。そのため、カメラ制御部213は、撮像対象物の状態変化方向とカメラ13の光軸131とのなす角がなるべく90度に近い角度となるように、カメラ13の動作を制御する。ここで、90度に近い角度とは、例えば、85度から95度の間の角度である。
図16A~図19Bに基づいて、エンドエフェクタ11が実行するシール貼り作業についての実施例を説明する。
図16Aは、エンドエフェクタ11が実行するシール貼り作業の第1の状態を示す概念図である。図16Bは、図16Aに対応するカメラ画像と目標状態を示す概念図である。図16Aと図16Bを併せて参照して説明する。ロボット1が備えるエンドエフェクタ11がシールSを把持しており、物体OBJに設けられたシール貼り位置に、シールSを貼る。エンドエフェクタ11が行おうとしている動作は「シールを貼る」であり、目標動作は「ロボットハンドがシールを貼る位置に移動」である(ステップSt101、St301、および図5参照)。カメラ13は、シールSを把持したエンドエフェクタ11を撮像する。撮像された画像が、カメラ画像である。制御装置2は、このカメラ画像が目標状態になるまで、エンドエフェクタ11およびロボットアーム12を制御する。目標状態において、エンドエフェクタ11が把持するシールはシール貼り位置に重なる。エンドエフェクタ11の付近に描かれている直線状の矢印は、撮像対象物であるエンドエフェクタ11の状態変化方向(動作方向)を示している。
図17Aは、エンドエフェクタ11が実行するシール貼り作業の第2の状態を示す概念図である。図17Bは、図17Aに対応するカメラ画像を示す概念図である。図17Aと図17Bを併せて参照して説明する。カメラ制御部213は、撮像対象物の状態変化方向とカメラ13の光軸131とのなす角が90度となるようにカメラ13の動作を制御する。また、カメラ制御部213は、カメラ13が撮像対象物である物体OBJを撮像可能に位置するようにカメラ13の動作を制御する。より具体的には、カメラ制御部213からの制御信号により、カメラアーム14が伸びて、物体OBJがカメラ13の撮像領域内(画角内)に入る。
図18Aは、エンドエフェクタ11が実行するシール貼り作業の第3の状態を示す概念図である。図18Bは、図18Aに対応するカメラ画像を示す概念図である。図18Aと図18Bを併せて参照して説明する。送信部214はエンドエフェクタ11とロボットアーム12の双方を制御する制御信号を送信する。この制御信号により、エンドエフェクタ11は指を閉じた姿勢を維持し、ロボットアーム12が変形する。送信部214が制御信号を送信している間、カメラ制御部213は、カメラ13の位置を固定するように、カメラ13の動作を制御する。シール貼り作業の第3の状態においては、カメラ制御部213は、カメラアーム14が縮みつつロボットアーム12に対するカメラアーム14の角度が変わり、カメラ13の向きも維持するように、カメラ13の動作を制御する。
図19Aは、エンドエフェクタ11が実行するシール貼り作業の第4の状態を示す概念図である。図19Bは、図19Aに対応するカメラ画像と目標状態を示す概念図である。図19Aと図19Bを併せて参照して説明する。プロセッサ21は、目標動作の終了(ステップSt104、St304参照)をカメラ13の撮像画像に基づいて判定してよい。プロセッサ21は、カメラ画像と目標状態を示す画像とを比較して目標動作が終了したか否かを判定してよい。
図20A~図22Bに基づいて、エンドエフェクタ11が実行する、把持対象を移動する作業についての実施例を説明する。
図20Aは、エンドエフェクタ11が実行する把持対象を移動する作業の第1の状態を示す概念図である。図20Bは、図20Aに対応するカメラ画像と目標状態を示す概念図である。図20Aと図20Bを併せて参照して説明する。ロボット1が備えるエンドエフェクタ11がワークWkに近づいて、ワークWkを把持し、ワークWkを別の場所へと移動する。エンドエフェクタ11が行おうとしている動作は「把持対象を移動する」であり、目標動作は「ロボットハンドが把持対象の把持位置に移動」である(ステップSt101、St301および図5参照)。カメラ13は、エンドエフェクタ11とワークWkとを撮像する。撮像された画像が、カメラ画像である。制御装置2は、このカメラ画像が目標状態になるように、エンドエフェクタ11およびロボットアーム12を制御する。目標状態において、エンドエフェクタ11はワークWkを把持可能な位置まで接近している。エンドエフェクタ11付近に描かれた直線状の矢印は、撮像対象物であるエンドエフェクタ11の状態変化方向(動作方向)を示している。
図21Aは、エンドエフェクタ11が実行する把持対象を移動する作業の第2の状態を示す概念図である。図21Bは、図21Aに対応するカメラ画像と目標状態を示す概念図である。図21Aと図21Bを併せて参照して説明する。カメラ制御部213は、撮像対象物の状態変化方向とカメラ13の光軸131とのなす角が90度となるようにカメラ13の動作を制御する。また、カメラ制御部213は、カメラ13が撮像対象物であるワークWkを撮像可能に位置するようにカメラ13の動作を制御する。より具体的には、カメラ制御部213からの制御信号によりカメラアーム14が伸び、カメラアーム14のロボットアーム12に対する角度も変わって、ワークWkがカメラ13の撮像領域内(画角内)に入る。この時点では、エンドエフェクタ11はカメラ13の撮像領域内(画角内)に入っていない。図示は省略するが、エンドエフェクタ11の目標動作「ロボットハンドが把持対象の把持位置に移動」が終了すると、エンドエフェクタ11がカメラ13の撮像領域内(画角内)に入る。
図22Aは、エンドエフェクタ11が実行する把持対象を移動する作業の第3~第5の状態を示す概念図である。図22Bは、図22Aに対応するカメラ画像(第3~第5の状態)と目標状態を示す概念図である。図22Aと図22Bを併せて参照して説明する。エンドエフェクタ11が行おうとしている動作は「把持対象を移動する」のままであり、図22Aおよび図22Bについての(次の)目標動作は「ロボットハンドが把持対象をつかむ」である(ステップSt101およびSt301の2周目、ならびに図5参照)。
目標動作「ロボットハンドが把持対象をつかむ」の付随動作は、「ロボットハンドが閉じていく」である。図22Bにおける直線状の実線矢印は、撮像対象物であるエンドエフェクタ11の、付随動作についての状態変化方向(動作方向)を示している。
カメラ制御部213は、撮像対象物の状態変化方向とカメラ13の光軸131とのなす角が90度となるようにカメラ13の動作を制御する。また、カメラ制御部213は、カメラ13が撮像対象物であるワークWkを撮像可能に位置するようにカメラ13の動作を制御する。ここで、撮像対象物の状態変化方向とカメラ13の光軸131とのなす角は既に90度になっており、さらに、カメラ13が撮像対象物であるワークWkを撮像可能な位置に既に移動済である(図21Aおよび図21Bを併せて参照)。そこでカメラ制御部213は、カメラアーム14の姿勢およびカメラ13の向きを変更しないように、カメラ13の動作を制御する。
送信部214は、ロボットアーム12を固定したまエンドエフェクタ11を制御する制御信号を送信する。この制御信号により、ロボットアーム12は姿勢を維持し、エンドエフェクタ11の指が閉じていく。送信部214が制御信号を送信している間、カメラ制御部213は、カメラ13の位置を固定するように、カメラ13の動作を制御する。
図23~図25に基づいて、エンドエフェクタ11が実行するネジ締め作業についての実施例を説明する。
図23は、ネジ締めについての撮像領域を示す概念図である。本実施例では、図示されていないエンドエフェクタ11が、ワークWkであるドライバーを把持して、板状の物体OBJに設けられたネジ穴にネジを挿入する。図には、カメラ13の撮像領域が太字の矩形枠で描かれている。2種類の矢印はそれぞれ、ドライバーおよびネジの動作方向と、物体OBJの状態変位方向を示している。なお、ドライバーおよびネジの動作方向は、撮像対象物であるドライバーやネジの状態変位方向に相当する。カメラ13による撮像対象物は、ネジと物体OBJである。
複数の撮像対象物が存在するので、プロセッサ21は、カメラ13がそれぞれの撮像対象物の状態変化を撮像画像中の大きなピクセルの変化として認識することができる位置を、カメラ13の目標位置として算出する(St203、St403、および図14参照)。この目標位置に移動したカメラの撮像領域の例が図23に示されている。
図24は、エンドエフェクタ11がドライバーを把持してネジ締めを行う作業の第1の状態を示す概念図である。第1の状態でのエンドエフェクタ11の目標動作は「ネジを位置合わせする」である。エンドエフェクタ11はワークWkであるドライバーを把持し、ドライバーの先端に保持されているネジを、板状の物体OBJに設けられたネジ穴に位置合わせしている。この時の撮像対象物は、ネジと物体OBJのネジ穴である。プロセッサ21は、カメラ13がそれぞれの撮像対象物の状態変化を撮像画像中の大きなピクセルの変化として認識することができる位置を、カメラ13の目標位置として算出する(St203、St403、および図14参照)。そしてプロセッサ21は、カメラ13の位置が目標位置になるように、カメラ13を移動させる(St205、St405)。この移動前のカメラ13が図中の破線で、移動後のカメラが図中の実線で、それぞれ示されている。
図25は、エンドエフェクタ11がドライバーを把持してネジ締めを行う作業の第2の状態を示す概念図である。第2の状態でのエンドエフェクタ11の目標動作は「ネジを締める」である。エンドエフェクタ11はワークWkであるドライバーを把持し、ドライバーの先端に保持されているネジを、板状の物体OBJに設けられたネジ穴に近づけている。この時の撮像対象物は、ネジと物体OBJのネジ穴である。プロセッサ21は、カメラ13がそれぞれの撮像対象物の状態変化を撮像画像中の大きなピクセルの変化として認識することができる位置を、カメラ13の目標位置として算出する(St203、St403、および図14参照)。そしてプロセッサ21は、カメラ13の位置が目標位置になるように、カメラ13を移動させる(St205、St405)。この移動後のカメラ13が図中の実線で示されている。ここで、図24と図25とを対比すると、ネジの動作方向が異なる為、目標位置に移動後のカメラ13の位置も異なっている。
(作業者の操作に基づく制御)
図7のステップSt101や図10のステップSt301において、プロセッサ21が目標動作を選択していた。しかし、ロボット1の操作者等の作業者がティーチペンダントやコントローラ(図示省略)を用いて目標動作を指示してもよい。目標動作の指示は、通信回線を介した遠隔操作によって行われてもよい。この遠隔操作の際に制御装置2は、作業者からの目標動作の指示を所定の時間間隔ごと(例えば1/60秒ごと)に受信してよい。作業者が目標操作を指示する場合、その指示に従ってエンドエフェクタ11(およびロボットアーム12)が動作する前に、カメラ13が目標位置に移動する。作業者からの目標動作の指示(制御信号)を受信した制御装置2は、送信部214がエンドエフェクタ11に制御信号を送信する前に、カメラ制御部213がカメラ13の動作を制御する。
図7のステップSt101や図10のステップSt301において、プロセッサ21が目標動作を選択していた。しかし、ロボット1の操作者等の作業者がティーチペンダントやコントローラ(図示省略)を用いて目標動作を指示してもよい。目標動作の指示は、通信回線を介した遠隔操作によって行われてもよい。この遠隔操作の際に制御装置2は、作業者からの目標動作の指示を所定の時間間隔ごと(例えば1/60秒ごと)に受信してよい。作業者が目標操作を指示する場合、その指示に従ってエンドエフェクタ11(およびロボットアーム12)が動作する前に、カメラ13が目標位置に移動する。作業者からの目標動作の指示(制御信号)を受信した制御装置2は、送信部214がエンドエフェクタ11に制御信号を送信する前に、カメラ制御部213がカメラ13の動作を制御する。
以上のように、制御システム100、101が、カメラ13と、エンドエフェクタ11と、カメラ13およびエンドエフェクタ11を制御する制御装置2と、を備える。制御装置2は、カメラ13による撮像対象物の状態の変化方向を示す状態変化方向情報を取得する取得部212と、状態変化方向情報に基づいてカメラ13の動作を制御するカメラ制御部213と、エンドエフェクタ11を制御する制御信号をエンドエフェクタ11に送信する送信部214と、を備える。制御装置2は、カメラ制御部213がカメラ13の動作を制御した後、送信部214がエンドエフェクタ11に制御信号を送信する。これにより、カメラ13が撮像した画像に基づいて制御装置2がエンドエフェクタ11を制御する際に、カメラ13において撮像対象物の状態の変化をより正確に認識できる。
カメラ制御部213は、カメラ13が撮像対象物を撮像可能に位置するようにカメラ13の動作を制御した後、送信部214がエンドエフェクタ11に制御信号を送信する。これにより制御装置2は、カメラ13で撮像対象物を確実に撮像しながらエンドエフェクタ11を制御できる。
カメラ制御部213は、カメラ13が撮像対象物を撮像可能に位置するようにカメラ13の動作を制御した後、カメラ13の位置を固定するようにカメラ13の動作を制御する。これにより、エンドエフェクタ11が動作を行う際に、カメラ13が同じ位置から撮像を行うことができるので、撮像対象物の状態の変化が認識しやすくなる。
カメラ制御部213は、カメラ13の光軸131が状態変化方向と平行にならないようにカメラ13の動作を制御する。これにより、撮像対象物の状態変化が、カメラ13による撮像画像に確実に映り込むようにすることができる。
カメラ制御部213は、状態変化方向とカメラ13の光軸131とのなす角が30度から150度の間の角度となるようにカメラ13の動作を制御する。これにより、カメラ13が撮像対象物の状態変化を撮像画像中のある程度大きいピクセルの変化(画像変化量1/2以上)として認識することができる。
カメラ制御部213は、状態変化方向とカメラ13の光軸131とのなす角が90度となるようにカメラ13の動作を制御する。これによりカメラ13が撮像対象物の状態変化を撮像画像中の最も大きいピクセルの変化(画像変化量1)として認識することができる。
撮像対象物が複数存在し、カメラ制御部213は、複数の撮像対象物の各々に対応する状態変化方向情報に基づいて、カメラ13の動作を制御する。より詳しくは、カメラ制御部213は、カメラ13の光軸の方向が、一の撮像対象物に対応する状態変化方向情報に基づいたカメラ13の光軸の方向と、他の撮像対象物に対応する状態変化方向情報に基づいたカメラ13の光軸の方向との間の方向になるように、カメラ13の動作を制御する。これにより、撮像対象物が複数ある場合であっても、カメラ13が各撮像対象物の状態変化を撮像画像中の大きなピクセルの変化として認識することができる。
撮像対象物がエンドエフェクタ11を含み、エンドエフェクタ11に対応する状態変化方向は、エンドエフェクタ11の動作方向である。これにより、カメラ13がエンドエフェクタ11の動作を撮像画像中の大きなピクセルの変化として認識することができる。
撮像対象物はエンドエフェクタ11が保持する物体を含み、物体に対応する状態変化方向は、物体の動作方向である。これにより、カメラ13が、エンドエフェクタ11が保持する物体の動作を撮像画像中の大きなピクセルの変化として認識することができる。
撮像対象物は、エンドエフェクタ11またはエンドエフェクタ11が保持した物体による作業対象物を含み、作業対象物に対応する状態変化方向は、作業対象物の動作方向または変形方向である。これにより、カメラ13が、作業対象物の動作方向または変形方向を撮像画像中の大きなピクセルの変化として認識することができる。
送信部214からエンドエフェクタ11に送信される複数の制御信号に基づいて、エンドエフェクタ11は複数の動作を行う。これにより、エンドエフェクタ11が上述の付随動作を複数組み合わせて行うことができる。そのため、複数の付随動作の組み合わせにより実現される目標動作を、適切な位置に移動済みのカメラ13が撮像することができる。
取得部212と、カメラ制御部213と、送信部214とを備えた制御装置2が、カメラ13およびエンドエフェクタ11を制御する。この制御方法において、取得部212が、カメラ13による撮像対象物の状態の変化方向を示す状態変化方向情報を取得する。この制御方法において、カメラ制御部213が、状態変化方向情報に基づいてカメラ13の動作を制御する。この制御方法において、送信部214が、エンドエフェクタ11を制御する制御信号をエンドエフェクタ11に送信する。これにより、カメラ13が撮像した画像に基づいて制御装置2がエンドエフェクタ11を制御する際に、カメラ13において撮像対象物の状態の変化をより正確に認識できる。
制御装置2が、カメラ13による撮像対象物の状態の変化方向を示す状態変化方向情報を取得する取得部212を備える。制御装置2が、状態変化方向情報に基づいてカメラ13の動作を制御するカメラ制御部213を備える。制御装置2が、エンドエフェクタ11を制御する制御信号をエンドエフェクタ11に送信する送信部214を備える。カメラ制御部213がカメラの動作を制御した後、送信部がエンドエフェクタに制御信号を送信する。これにより、カメラ13が撮像した画像に基づいて制御装置2がエンドエフェクタ11を制御する際に、カメラ13において撮像対象物の状態の変化をより正確に認識できる。
以上、図面を参照して、本開示に係る制御システム、制御方法、および制御装置について説明したが、本開示はかかる例に限定されないことは言うまでもない。当業者であれば、請求の範囲に記載された範疇内において、各種の変更例、修正例、置換例、付加例、削除例、均等例に想到し得ることは明らかであり、それらについても当然に本開示の技術的範囲に属するものと了解される。また、発明の趣旨を逸脱しない範囲において、上述した各種の実施の形態における各構成要素を任意に組み合わせてもよい。
本開示は、エンドエフェクタを制御する際に、カメラにおいて対象物の状態の変化をより正確に認識できる制御システム、制御方法、および制御装置として有用である。
1 ロボット
11 エンドエフェクタ
12 ロボットアーム
13 カメラ
131 光軸
14 カメラアーム
2 制御装置
21 プロセッサ
211 撮像画像取得部
212 状態変化方向情報取得部(取得部)
213 カメラ制御部
214 送信部
22 メモリ
100 制御システム
101 制御システム
Wk ワーク
11 エンドエフェクタ
12 ロボットアーム
13 カメラ
131 光軸
14 カメラアーム
2 制御装置
21 プロセッサ
211 撮像画像取得部
212 状態変化方向情報取得部(取得部)
213 カメラ制御部
214 送信部
22 メモリ
100 制御システム
101 制御システム
Wk ワーク
Claims (18)
- カメラと、
エンドエフェクタと、
前記カメラおよび前記エンドエフェクタを制御する制御装置と、を備え、
前記制御装置は、
撮像対象物の状態の変化方向を示す状態変化方向情報を取得する取得部と、
前記状態変化方向情報に基づいて前記カメラの動作を制御するカメラ制御部と、
前記エンドエフェクタを制御する制御信号を前記エンドエフェクタに送信する送信部と、を備え、
前記カメラ制御部が前記カメラの動作を制御した後、前記送信部が前記エンドエフェクタに前記制御信号を送信する、
制御システム。 - 前記カメラ制御部は、前記カメラが前記撮像対象物を撮像可能になるように前記カメラの動作を制御した後、前記送信部が前記エンドエフェクタに前記制御信号を送信する、
請求項1に記載の制御システム。 - 前記カメラ制御部は、前記カメラが前記撮像対象物を撮像可能になるように前記カメラの動作を制御した後、前記カメラの位置を固定し、
前記送信部は、前記カメラの位置が固定された後、前記エンドエフェクタに前記制御信号を送信する、
請求項2に記載の制御システム。 - 前記カメラ制御部は、前記カメラの光軸が前記変化方向と平行にならないように前記カメラの動作を制御する、
請求項1から3のうちいずれか一項に記載の制御システム。 - 前記カメラ制御部は、前記変化方向と前記カメラの光軸とのなす角が30度から150度の間となるように前記カメラの動作を制御する、
請求項4に記載の制御システム。 - 前記カメラ制御部は、前記変化方向と前記カメラの光軸とのなす角が90度となるように前記カメラの動作を制御する、
請求項5に記載の制御システム。 - 前記カメラ制御部は、複数の前記撮像対象物の各々に対応する変化方向情報に基づいて、前記カメラの動作を制御する、
請求項1から請求項5のうちいずれか一項に記載の制御システム。 - 前記複数の撮像対象物は、第1の撮像対象物と第2の撮像対象物とを含み、
前記カメラ制御部は、前記カメラの光軸の方向が、前記第1の撮像対象物の状態の変化方向を示す第1の状態変化方向情報に基づいた第1の方向と、前記第2の撮像対象物の状態の変化方向を示す第2の状態変化方向情報に基づいた第2の方向との間の方向になるように、前記カメラの動作を制御する、
請求項7に記載の制御システム。 - 前記第1の方向は、前記第1の撮像対象物の状態の変化方向と直交する方向であり、
前記第2の方向は、前記第2の撮像対象物の状態の変化方向と直交する方向である、
請求項8に記載の制御システム。 - 前記エンドエフェクタは、前記撮像対象物に含まれ、
前記エンドエフェクタに対応する前記変化方向は、前記エンドエフェクタの動作方向である、
請求項1から請求項9のうちいずれか一項に記載の制御システム。 - 前記撮像対象物は、前記エンドエフェクタが保持する物体を含み、
前記物体に対応する前記変化方向は、前記物体の動作方向である、
請求項1から請求項9のうちいずれか一項に記載の制御システム。 - 前記撮像対象物は、前記エンドエフェクタまたは前記エンドエフェクタが保持した物体による作業対象物を含み、
前記作業対象物に対応する前記変化方向は、前記作業対象物の動作方向または変形方向である、
請求項1から請求項9のうちいずれか一項に記載の制御システム。 - 前記送信部から前記エンドエフェクタに送信される複数の前記制御信号に基づいて、前記エンドエフェクタは複数の動作を行う、
請求項1から請求項12のうちいずれか一項に記載の制御システム。 - 前記取得部は、前記カメラが前記撮像対象物を撮像した画像に基づいて、前記撮像対象物の状態の変化方向を計算し、前記計算された変化方向に基づいて前記状態変化方向情報を生成する、
請求項1に記載の制御システム。 - 前記制御装置は、前記エンドエフェクタの動作を示す動作テーブルを記憶するメモリをさらに備え、
前記取得部は、前記カメラが前記撮像対象物を撮像した画像および前記動作テーブルに基づいて、前記撮像対象物の状態の変化方向を計算する、
請求項14に記載の制御システム。 - 前記カメラ制御部は、前記状態変化方向情報に基づいて、前記カメラの位置および向きを制御する、
請求項1に記載の制御システム。 - 取得部と、カメラ制御部と、送信部とを備えた制御装置による、カメラおよびエンドエフェクタの制御方法であって、
前記取得部が、撮像対象物の状態の変化方向を示す状態変化方向情報を取得するステップと、
前記カメラ制御部が、前記状態変化方向情報に基づいて前記カメラの動作を制御するステップと、
前記送信部が、前記エンドエフェクタを制御する制御信号を前記エンドエフェクタに送信するステップと、を有する、
制御方法。 - 撮像対象物の状態の変化方向を示す状態変化方向情報を取得する取得部と、
前記状態変化方向情報に基づいてカメラの動作を制御するカメラ制御部と、
エンドエフェクタを制御する制御信号を前記エンドエフェクタに送信する送信部と、を備え、
前記カメラ制御部が前記カメラの動作を制御した後、前記送信部が前記エンドエフェクタに前記制御信号を送信する、
制御装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020140404A JP2023145814A (ja) | 2020-08-21 | 2020-08-21 | 制御システム、制御方法、および制御装置 |
| JP2020-140404 | 2020-08-21 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2022038913A1 true WO2022038913A1 (ja) | 2022-02-24 |
Family
ID=80350306
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2021/025571 Ceased WO2022038913A1 (ja) | 2020-08-21 | 2021-07-07 | 制御システム、制御方法、および制御装置 |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP2023145814A (ja) |
| WO (1) | WO2022038913A1 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20220331990A1 (en) * | 2021-04-16 | 2022-10-20 | Dexterity, Inc. | Robotic tray gripper |
| US11745956B2 (en) | 2021-03-29 | 2023-09-05 | Dexterity, Inc. | Tray handling autonomous robot |
| WO2023203726A1 (ja) * | 2022-04-21 | 2023-10-26 | ヤマハ発動機株式会社 | 画像取得装置 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009279706A (ja) * | 2008-05-22 | 2009-12-03 | Shibuya Kogyo Co Ltd | ロボット制御装置 |
| WO2019107455A1 (ja) * | 2017-11-28 | 2019-06-06 | 川崎重工業株式会社 | 技能伝承機械装置 |
-
2020
- 2020-08-21 JP JP2020140404A patent/JP2023145814A/ja active Pending
-
2021
- 2021-07-07 WO PCT/JP2021/025571 patent/WO2022038913A1/ja not_active Ceased
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009279706A (ja) * | 2008-05-22 | 2009-12-03 | Shibuya Kogyo Co Ltd | ロボット制御装置 |
| WO2019107455A1 (ja) * | 2017-11-28 | 2019-06-06 | 川崎重工業株式会社 | 技能伝承機械装置 |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11745956B2 (en) | 2021-03-29 | 2023-09-05 | Dexterity, Inc. | Tray handling autonomous robot |
| US20220331990A1 (en) * | 2021-04-16 | 2022-10-20 | Dexterity, Inc. | Robotic tray gripper |
| US11731287B2 (en) * | 2021-04-16 | 2023-08-22 | Dexterity, Inc. | Robotic tray gripper |
| US12115655B2 (en) | 2021-04-16 | 2024-10-15 | Dexterity, Inc. | Robotic tray gripper |
| WO2023203726A1 (ja) * | 2022-04-21 | 2023-10-26 | ヤマハ発動機株式会社 | 画像取得装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2023145814A (ja) | 2023-10-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2022038913A1 (ja) | 制御システム、制御方法、および制御装置 | |
| US11040451B2 (en) | Teaching device and teaching method | |
| US11090814B2 (en) | Robot control method | |
| JP5850962B2 (ja) | ビジュアルフィードバックを利用したロボットシステム | |
| US9884425B2 (en) | Robot, robot control device, and robotic system | |
| JP4961860B2 (ja) | ロボット装置及びロボット装置の制御方法 | |
| US20160184996A1 (en) | Robot, robot system, control apparatus, and control method | |
| JP4001105B2 (ja) | ロボットによる任意形状物体の把持方法 | |
| JP2014180720A (ja) | ロボットシステム及びキャリブレーション方法 | |
| JP7186349B2 (ja) | エンドエフェクタの制御システムおよびエンドエフェクタの制御方法 | |
| JP2015071206A (ja) | 制御装置、ロボット、教示データ生成方法及びプログラム | |
| US11376732B2 (en) | Robot system for correcting teaching of robot using image processing | |
| JP2019155556A (ja) | ロボットの制御装置、ロボット、ロボットシステム、並びに、カメラの校正方法 | |
| JP2008183690A (ja) | ロボット制御装置及びロボット制御システム | |
| JP5195465B2 (ja) | ロボット制御装置及び方法 | |
| US11759955B2 (en) | Calibration method | |
| JP6706777B2 (ja) | 制御装置、ロボット、及びロボットシステム | |
| US12311541B2 (en) | Generation method, computer program, and generation system | |
| US12515344B2 (en) | Robot control method | |
| JP2015003348A (ja) | ロボット制御システム、制御装置、ロボット、ロボット制御システムの制御方法及びロボットの制御方法 | |
| WO2021010016A1 (ja) | ハンドの制御システム及びハンドの制御方法 | |
| CN118804823A (zh) | 机器人和用于控制机器人的方法 | |
| CN114407011A (zh) | 异形工件抓取规划方法、规划装置及异形工件抓取方法 | |
| US20200338764A1 (en) | Object detection method and robot system | |
| JP2022080661A (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: 21858063 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 21858063 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: JP |