WO2021149429A1 - ロボットシステムの制御装置、ロボットシステムの制御方法、コンピュータ制御プログラム、及びロボットシステム - Google Patents

ロボットシステムの制御装置、ロボットシステムの制御方法、コンピュータ制御プログラム、及びロボットシステム Download PDF

Info

Publication number
WO2021149429A1
WO2021149429A1 PCT/JP2020/047594 JP2020047594W WO2021149429A1 WO 2021149429 A1 WO2021149429 A1 WO 2021149429A1 JP 2020047594 W JP2020047594 W JP 2020047594W WO 2021149429 A1 WO2021149429 A1 WO 2021149429A1
Authority
WO
WIPO (PCT)
Prior art keywords
measurement
orientation
work
measuring device
path
Prior art date
Application number
PCT/JP2020/047594
Other languages
English (en)
French (fr)
Inventor
星斗 付
林 苗
康裕 大西
Original Assignee
オムロン株式会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from JP2020104446A external-priority patent/JP7454132B2/ja
Application filed by オムロン株式会社 filed Critical オムロン株式会社
Priority to US17/788,772 priority Critical patent/US20230030852A1/en
Priority to EP20915545.6A priority patent/EP4094904A4/en
Priority to CN202080089435.1A priority patent/CN114901441A/zh
Publication of WO2021149429A1 publication Critical patent/WO2021149429A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40613Camera, laser scanner on end effector, hand eye manipulator, local

Definitions

  • the present invention relates to a control device for a robot system that operates an object, a control method for the robot system, a control program for the robot system, and a robot system.
  • FA Factory Automation
  • objects such as workpieces (parts, etc.) piled up in a container such as a bottle are taken out one by one by a robot such as a piece picking robot and removed from the container.
  • a robot such as a piece picking robot
  • the loosely stacked workpieces are measured three-dimensionally, and the three-dimensional position and orientation of each workpiece are recognized by collating the obtained measurement results with the three-dimensional model data of the workpieces (three-dimensional matching).
  • Pick up with a robot Pick up with a robot.
  • Patent Document 1 an object is detected from two images captured while the robot is moving, and the position and orientation information of the robot when each image is captured is provided.
  • the device to be acquired is described.
  • the line-of-sight information of the object in the robot coordinate system is calculated from the position information of the object and the position / posture information of the robot corresponding to each image, and the three-dimensional position of the object is detected from the intersection of the line-of-sight information. Will be done.
  • An object of the present invention is to provide a picking system control device, a picking system control method, a picking system control program, and a picking system, which are excellent in robustness at the time of measurement and work efficiency of operation of an object.
  • the present invention adopts the following configuration in order to solve the above-mentioned problems.
  • an example of the control device includes a robot arm, a robot having a hand provided at the tip of the robot arm and operating an object, and the object provided on the robot arm. It is a control device of a robot system including a measuring device (sensor) for measuring position information (for example, two-dimensional or three-dimensional position information) of an object. Further, the control device includes a position / orientation generating unit that generates at least one position / orientation (direction and coordinates of the measuring device) of the measuring device when measuring the position information of the object, and the measuring device at least the position / orientation generating unit.
  • a measurement path determination unit that determines a measurement path of the measuring device and the measurement so as to move via at least a part of one position / posture and measure the position information of the object at each position / posture.
  • the object is instructed to the robot to move the device along a movement path including the measurement path, and in at least a part of the at least one position and orientation that the measurement device passes through in the measurement path.
  • a command unit that commands the measurement device to perform a process of measuring the position information of an object and a recognition unit that recognizes the object using the measurement data of the measurement device are provided, and the measurement path determination unit is, for example, the measurement.
  • the "motion cycle” is the period during which the hand operates the object to move the object from one place to another, and / or the period from which the hand returns to the original place. Indicates, in other words, the period during which the hand grips and moves the object and / or the hand moves to grip the object.
  • the measurement path of the measuring device via at least one generated position / orientation is set.
  • the measuring device moves along the moving path including the measuring path, and during that time, the measuring device measures the object at the set position and orientation, and the measurement path in the next (or later) operation cycle. Is determined. Therefore, the position and orientation of the measuring device and the setting of the measurement path passing through the measuring device are set according to, for example, the information of the objects piled up in bulk or the situation of the measurement area including the objects (considering them). Can be carried out. Therefore, even if the object remains, for example, it is possible to more reliably recognize the object as compared with the case where the measuring device is fixed to the object and the measurement is performed in the same field of view in each operation cycle. can.
  • the position / orientation generating unit is the entire measurement area based on the relative geometrical positional relationship between the measurement device and the measurement area including the object.
  • the at least one position / orientation is generated in advance so as to cover the above, and the measurement path determining unit causes the measurement device to move via all of the at least one position / orientation in a predetermined order. It may be configured to determine the measurement path.
  • at least one fixed position / orientation that covers the entire measurement area can be set, so to speak, "statically".
  • the object is measured in the measurement path passing through them. Therefore, even in the next (or later) operation cycle, it is possible to set a measurement path that surely covers the measurement area, and the robustness at the time of measuring the object, the work efficiency at the operation of the object, and the overall throughput. Can be further improved.
  • the measurement result may be the measurement data of the object or the recognition result of the object by the measuring device.
  • the measurement data or the recognition result is a recognition result in which the recognition reliability of the object is low, a point cloud data in which the object cannot be recognized, missing data, a discontinuous shape, and the like. , It is preferable that it is at least one of the data indicating a high position in the laminated arrangement of the object.
  • the position / posture generating unit selects a specific position / posture from the at least one position / posture based on a predetermined condition or a predetermined measurement strategy, or randomly, and performs the measurement.
  • the routing unit is said to move the measuring device in a predetermined order via at least a part of the specific position and orientation based on a predetermined condition or a predetermined measurement strategy or randomly. It may be configured to determine the measurement path. In this configuration, among the positions and orientations of the measuring device statically set to cover the entire measurement area, for example, the object in the next operation cycle is determined according to the recognized position and orientation of the object. More suitable specific positions and orientations can be selected for recognition.
  • the position and orientation of the measuring device can be set "dynamically", and the measurement path in the next operation cycle can be set based on them.
  • the robustness at the time of measurement of the object, the measurement efficiency, the work efficiency at the operation of the object, and the overall throughput can be further improved.
  • the position / orientation generation unit generates at least one position / orientation based on a predetermined condition or a predetermined measurement strategy, or randomly, and the measurement path determination unit may generate the position / orientation.
  • the measurement path is determined so that the measurement device moves via at least a part of the at least one position / orientation in a predetermined order. It may be configured to do so.
  • the position / orientation of the measuring device is not set to a fixed position / orientation in advance, and for example, for recognition of the object in the next operation cycle according to the recognized position / orientation of the object.
  • the suitable position and orientation can be set more "dynamically", and the measurement path in the next operation cycle can be set based on them. This makes it possible to further improve the robustness at the time of measuring the object, the measurement efficiency, the work efficiency at the operation of the object, and the overall throughput.
  • the predetermined condition is the measurement data of the object in the previous operation cycle (for example, the point cloud data of the recognized object, the distance image, etc.), the previous operation.
  • the recognition result of the object in the cycle for example, the number of recognized objects, the arrangement, the position / orientation, etc.
  • the configuration of the robot system for example, the visual field of the measuring device, the measurement area, and the relative of the object arrangement area. It may be configured to be at least one of (geometrical positional relationships).
  • more suitable position / orientation and measurement path can be set by using those predetermined conditions as a reference or an index when dynamically generating and selecting the position / orientation of the measuring device.
  • the predetermined measurement strategy has compatibility with the measurement area (covers the measurement area more widely), ease of recognizing the object (easier recognition of the object), and efficiency of the measurement path.
  • the shortest measurement path For example, the shortest measurement path), the recognition reliability of the object (when the recognition failure of the object or the recognition reliability is low), and the stacked arrangement of the objects (easiness of grasping the loosely stacked objects).
  • Ease of grip may be configured to be a strategy oriented towards at least one.
  • the position and orientation of the measuring device can be dynamically generated and selected under the conditions that match those predetermined measurement strategies, so that, for example, the state of the objects piled up in bulk changes. Therefore, it is possible to set a more suitable position / orientation and measurement path.
  • the command unit is at least one of the above when the hand moves to grip the object and / or when the hand moves to grip the object.
  • the process of measuring the position information of the object in one position or posture may be configured to instruct the robot and the measuring device.
  • the hand grabs the object and moves it to another location (picks up and then leaves), and when the hand releases the object and then returns to its original location (for pickup).
  • the object can be measured at any time (when approaching the object). Therefore, it is possible to increase the flexibility and versatility in setting the measurement path in the next (or later) operation cycle.
  • Examples of the control method according to the present disclosure include a robot arm, a robot having a hand provided at the tip of the robot arm and operating the object, and a robot arm provided with the object. It is a control method of a robot system including a measuring device for measuring position information, and includes the following steps.
  • the position / posture generating unit generates at least one position / posture of the measuring device when measuring the position information of the object
  • the measuring path determining unit is the step that the measuring device determines at least one position / posture.
  • the step, the command unit determines the measurement path of the measuring device so as to move via one position and posture and measure the position information of the object in each position and posture.
  • the position information of the object is instructed to the robot to move along the movement path including the measurement path, and at least a part of the at least one position / posture that the measurement device passes through in the measurement path.
  • a step of instructing the measuring device to perform a process of measuring the above, a step of the recognition unit recognizing the object using the measurement data of the measuring device, and a step of determining the measurement path, the measuring device moves the movement path. Includes a step of determining the measurement path of the measuring device in the next operation cycle while moving.
  • An example of a computer control program according to the present disclosure is a program that makes a computer effectively function as the above-mentioned control device according to the present disclosure.
  • An example of the robot system according to the present disclosure includes a robot arm, a robot having a hand provided at the tip of the robot arm and operating the object, and a robot provided on the robot arm and having the object.
  • a measuring device for measuring position information and the above-mentioned control device according to the present disclosure are provided.
  • the "part” and “device” do not simply mean physical means, but also include a configuration in which the functions of the “part” and “device” are realized by software. Further, the functions of one “part” and “device” may be realized by two or more physical means or devices, or the functions of two or more “parts” and “devices” may be realized by one physical. It may be realized by physical means or equipment. Further, “part” and “device” are concepts that can be paraphrased as, for example, “means” and “system”.
  • the present invention it is possible to prevent the process of taking out the object from the container, for example, from being interrupted, so that the robustness at the time of measuring the object, the work efficiency of the operation of the object, and the overall throughput can be prevented. Can be improved. Further, by such efficient processing, the processing speed of the entire system can be improved, the storage capacity can be saved, the amount of communication data can be reduced, and the reliability of the processing can be improved.
  • FIG. 6 is a schematic view showing a concept of an example of a method of setting three-dimensional coordinates in the position and orientation of the sensor shown in FIG. 6, where FIG. 6A is a perspective view and FIG. 6B is a top view. It is a perspective view which shows typically another example of the position
  • the embodiment will be described with reference to the drawings.
  • the embodiments described below are merely examples, and are not intended to exclude the application of various modifications and techniques not specified below. That is, an example of the present disclosure can be implemented in various modifications without departing from the spirit of the present disclosure.
  • the same or similar parts are designated by the same or similar reference numerals, and the drawings are schematic and do not necessarily match the actual dimensions and ratios. Further, the drawings may include parts having different dimensional relationships and ratios from each other.
  • FIGS. 1 and 2 are plan views schematically showing an example of an application scene of a robot system including the control device according to the present embodiment, respectively.
  • a plurality of works 5 bulkly stacked in a storage container 6 such as a bottle are taken out from the storage container 6 by the robot 10 and transferred to another storage container 7 or the like and arranged.
  • the type of the work 5 is not particularly limited, and examples thereof include mechanical parts of an automobile power train system (for example, an engine or a transmission), electronic parts of an electrical system, and the like.
  • the robot system 100 includes a sensor 1 (an example of a "measuring device” in the present disclosure) provided on the robot 10, a sensor 1, and a control device 4 connected to the robot 10.
  • the sensor 1 is a 3D sensor that acquires measurement data including position information (for example, three-dimensional position information) of the work 5, and is installed at the tip of the robot arm 3 of the robot 10. As shown in B), the work 5 is imaged in a predetermined field (angle) and under predetermined measurement conditions.
  • the sensor 1 may be, for example, a distance sensor that measures a point cloud, or a distance image sensor that acquires a distance image by combining a distance sensor and a two-dimensional sensor.
  • the distance sensor is a sensor that measures the distance d as depth information.
  • the two-dimensional sensor is an image sensor that captures a two-dimensional image, and the two-dimensional image differs from the distance image in that the distance d is not used as a pixel value.
  • the distance image sensor is, for example, a camera that captures a plurality of two-dimensional images of the work 5 while changing the imaging position of the two-dimensional sensor, and acquires a distance image having the distance d as a pixel value by image processing in stereo stereoscopic vision. But it may be. Alternatively, the distance image sensor may be a stereo camera that acquires a distance image having the distance d as a pixel value by simultaneously photographing the work 5 from a plurality of different directions.
  • the senor 1 is not essential, but if necessary, so-called 3D lighting including appropriate measurement light (for example, pattern light or scan light used in the active method) or so-called 2D lighting which is normal lighting.
  • the configuration of such a projector is also not particularly limited, and for example, in the case of projecting pattern light, a configuration including a laser light source, a pattern mask, and a lens can be exemplified.
  • the light emitted from the laser light source is converted into measurement light (pattern light) having a predetermined pattern by a pattern mask on which a predetermined pattern is formed, and is projected onto the work 5 via a lens.
  • the "predetermined pattern” is not particularly limited, and for example, various patterns used in the active one-shot method can be exemplified. More specifically, for example, a so-called line-based pattern in which a plurality of lines are arranged two-dimensionally at predetermined intervals, a plurality of types of unit images that can be distinguished from each other, a unit figure, a geometric shape, and the like are arranged two-dimensionally. (It may be regular or random, and regular parts and random parts may be mixed or superimposed.) A so-called area-based pattern, a so-called grid graph in which graph symbols and the like are arranged in a grid of vertical and horizontal lines. Examples include base patterns. In addition, each predetermined pattern may include ID information for distinguishing, for example, a line or a unit figure for encoding.
  • the measurement method of the work 5 is not particularly limited, and for example, various active measurement methods using the straightness of light (for example, a space coding pattern projection method based on triangular ranging and a time coding pattern). Projection method, moiretopography method, etc.), various passive measurement methods that use the straightness of light (for example, stereo camera method based on triangular distance measurement, visual volume crossing method, factor decomposition method, etc., based on coaxial distance measurement Depth from focusing method, etc. as the principle) and various active measurement methods using the speed of light (for example, flight time method (Time of Flight) based on simultaneous distance measurement, laser scanning method, etc.) are appropriately selected. Can be used.
  • various active measurement methods using the straightness of light for example, a space coding pattern projection method based on triangular ranging and a time coding pattern. Projection method, moiretopography method, etc.
  • various passive measurement methods that use the straightness of light for example, stereo camera method based on triangular distance measurement, visual volume crossing
  • the measurement data of the work 5 it is possible to collate with the image data (for example, 3D point cloud data, distance image, etc.) acquired by these various measurement methods and the 3D model data of the work 5 as appropriate.
  • the image data for example, 3D point cloud data, distance image, etc.
  • the 3D model data of the work 5 for example, three-dimensional coordinate data
  • two-dimensional coordinate data obtained by projecting the three-dimensional coordinate data in two dimensions corresponding to various different positions and orientations of the work 5, and other appropriate cases. Examples include data corresponding to templates and patterns.
  • collation with the three-dimensional model data is not indispensable, and recognition that does not use the model data (so-called modelless) can also be applied.
  • the robot 10 (For example, a vertical articulated robot, a horizontal articulated robot).
  • Each joint of the robot 10 incorporates a driving device such as a servomotor for driving the joint and a displacement detecting device such as an encoder for detecting the displacement (angle displacement) of the joint.
  • the robot 10 operates as a manipulator that operates autonomously, and can be used for various purposes such as picking, assembling, transporting, painting, inspecting, polishing, or cleaning the work 5.
  • the hand 2 is an example of an end effector, and has a gripping mechanism capable of gripping and releasing (grasping and releasing) each work 5.
  • the robot arm 3 moves the hand 2 to the gripping position (pickup position) of the work 5 in the storage container 6, and releases the hand 2 holding the work 5 from the gripping position to the other storage container 7 (dropping position). It has a drive mechanism to move to the position).
  • the control device 4 is connected to each of the sensor 1 and the robot 10, and measures the work 5 by the sensor 1, operates the work 5 by the hand 2, and drives the robot 10 (hand 2, robot arm 3, etc.). In addition, it controls processing related to various operations and calculations required in the robot system 100. More specifically, for example, the following processes are carried out.
  • the position / orientation of the sensor 1 is generated when the work 5 (particularly, all the work 5s in the storage container 6; the same applies hereinafter) is measured three-dimensionally by the sensor 1.
  • the measurement area is based on the relative geometrical positional relationship between the sensor 1 and the measurement area including the work 5 (for example, the internal area of the storage container 6 of the work 5).
  • At least one fixed position / orientation (direction of sensor 1 and three-dimensional coordinates) can be set so to speak "statically" so as to cover all of the above.
  • a specific position / posture is selected from the fixed position / posture, or the position information of the work 5 that has already been acquired is used.
  • the position and orientation of the sensor 1 can be set "dynamically", so to speak.
  • recognition results (position information) for a plurality of works 5 can be obtained by one three-dimensional measurement.
  • the measurement area includes the internal area of the storage container 6 (that is, the area where the work 5 is placed).
  • the measurement area includes the internal area of the storage container 7 (that is, the area where the work 5 is to be placed).
  • the measurement area is the internal area of the storage container 6. Includes the internal area of the storage container 7.
  • Sensor measurement path determination process It moves via the generated position and orientation of the sensor 1, and determines a measurement path for performing three-dimensional measurement of the work 5 at each position and orientation.
  • the measurement path can be determined so that the sensor 1 passes through all of the statically set positions and postures.
  • the sensor 1 detects at least a part of a specific position / orientation selected from the predetermined conditions or a predetermined measurement strategy, or at least a part of the dynamically set position / orientation. It is also possible to determine the measurement route so that Further, here, the work 5 including the determined measurement path is gripped by the hand 2 and transferred from the storage container 6 to another storage container 7, and the hand 2 is moved to the storage container 6 side. Either one of the movement routes P1 and P2 when moving and returning, or both of the movement routes P1 and P2 (hereinafter, may be simply referred to as "movement routes P1 and P2”) are determined.
  • the sensor 1 performs three-dimensional measurement of the work 5 in the position and orientation set in the measurement path. ..
  • the sensor 1 performs three-dimensional measurement of the work 5 in the storage container 6 in a position and posture set in the measurement path.
  • the three-dimensional measurement of the work 5 in the storage container 6 aims at determining the work 5 to be picked up from the storage container 6, and the loading status of the plurality of works 5 in the storage container 6 and the position and orientation of each work 5. Is executed to recognize.
  • the sensor 1 performs three-dimensional measurement of the work 5 in the storage container 7 in a position and orientation set in the measurement path.
  • the three-dimensional measurement of the work 5 in the storage container 7 determines in which area (position) of the empty area (that is, the area in which the work 5 is not placed) in the storage container 7 the work 5 should be placed. For the purpose of this, it is executed to recognize the loading status of the plurality of works 5 in the storage container 7 and the position and orientation of each work 5.
  • the three-dimensional measurement of the work 5 is performed while the hand 2 holds the work 5 and moves away from the storage container 6 side to the other storage container 7 side, and releases the work 5 from the hand 2 to another storage container. It may be any time while approaching the storage container 6 from the 7 side.
  • Position / orientation recognition processing of the work At appropriate timings before and after the three-dimensional measurement processing of the work of (4), three-dimensional model data (three-dimensional CAD model data) representing the three-dimensional shape of the work 5 is acquired. Alternatively, an appropriate template or model pattern that can be used to perform the position / orientation recognition process of the work 5 is created as needed. Then, while the workpiece is being gripped, moved, and released in (3), the three-dimensional model data and the like are collated with the measurement data of the plurality of workpieces 5 by the sensor 1 using predetermined recognition parameters. Performs three-dimensional matching to recognize the position and orientation of a plurality of works 5 (for example, the three-dimensional coordinates of the work 5 and the rotation angle around the three-dimensional axis).
  • a two-dimensional image obtained by two-dimensionally projecting the position and orientation recognized for each work 5 is used as a feature point or a feature portion of the work 5 in three-dimensional matching. It is also possible to output an image in which the detected contour lines (line segments corresponding to the edges) and the like are displayed in an identifiable manner.
  • the collation with the three-dimensional model data is not indispensable, and the recognition without using the model data (so-called modelless) can be applied.
  • the work 5 to be picked up from the storage container 6 is determined based on the position / orientation recognition result of the work 5 in the storage container 6. Further, for example, when the work 5 is placed in the storage container 7, an empty area in the storage container 7 (that is, an area in which the work 5 is not placed) is based on the position / orientation recognition result of the work 5 in the storage container 7. Is determined. Then, in which area (position) of the empty area in the storage container 7 the work 5 is placed is determined so as to avoid interference with the work 5 placed in the storage container 7.
  • the feature amount of the three-dimensional shape of the work 5 is extracted from the position / orientation recognition result of the work 5, and based on the feature amount, an index showing the degree of matching or similarity with the three-dimensional model data is used.
  • the gripping posture of the hand 2 when the hand 2 grips the work 5 is calculated using a predetermined calculation parameter based on the position / posture recognition result. Then, for example, from among the works 5 that can be gripped by the hand 2, the ease (easiness of gripping) when the hand 2 grips each of the works 5 is evaluated at random or as needed.
  • the work 5 to be gripped in the next operation cycle is determined.
  • the reliability of the recognition result and the ease of gripping do not always correspond (match).
  • the work 5 showing a lower reliability has a higher gripping ease than the work 5 showing a higher reliability. It may be expensive (easy to grip).
  • the area (position) in which the work 5 is placed in the storage container 7 and the order thereof may be predetermined as a default arrangement rule. Then, even if the work 5 is placed in the empty area in the storage container 7 according to the default placement rule, if there is no interference with the work 5 placed in the storage container 7, the work 5 is placed according to the default placement rule.
  • the work 5 may be placed in an empty area in the storage container 7. If the work 5 is placed in an empty area in the storage container 7 according to the default arrangement rule and interference with the work 5 placed in the storage container 7 occurs, the work 5 placed in the storage container 7 and the work 5 are placed.
  • the work 5 may be placed in an area (position) different from the area (position) defined by the default arrangement rule so that the interference of the work 5 does not occur. In this way, the target position of the work 5 placed in the storage container 7 is determined by the hand 2 based on the position information of the work 5 placed in the storage container 7.
  • Sensor measurement path determination process (next operation cycle) During the gripping / moving / releasing process of the work of (3), the position of the work 5 to be gripped in the storage container 6 and / or the target position of the work 5 to be placed in the storage container 7 in the next operation cycle. Based on the position / orientation of the sensor 1 set in the position / orientation generation process of the sensor in (1), the measurement path of the sensor 1 in the next (subsequent) operation cycle and the movement including the measurement path. Set the route.
  • the measurement path in this case may be the same as or different from the previous measurement path.
  • the sensor 1, the hand 2, the robot arm 3, the control device 4, the robot 10, and the robot system 100 have the "sensor”, “hand”, “robot arm”, and “control device”, respectively, according to the present invention. It corresponds to an example of “robot” and “robot system”. Further, the work 5 corresponds to an example of the "object” according to the present invention. Furthermore, the control device 4 also corresponds to an example of each of the "position / orientation generation unit", the “measurement path determination unit”, the "command unit”, and the “recognition unit” according to the present invention.
  • the measurement path of the sensor 1 via at least one generated position / orientation is set. Further, the sensor 1 moves along either one of the movement paths P1 and P2 including the measurement path, or both of the movement paths P1 and P2, and in the meantime, in the set position and orientation, the work 5 by the sensor 1
  • the three-dimensional measurement is performed, and the measurement path in the next (or later) operation cycle is determined. Therefore, the position and orientation of the sensor 1 and the setting of the measurement path passing through them are set according to, for example, the information of the work 5 that is piled up in bulk or the situation of the measurement area including the work 5 (considering them). Can be carried out.
  • the recognition of the work 5 can be recognized as compared with the case where the sensor 1 is fixed to the work 5 and the measurement is performed in the same field of view in each operation cycle. It can be done more reliably. As a result, it is possible to prevent the process of taking out the work 5 from, for example, the storage container 6 from being interrupted, so that the robustness at the time of measurement of the work 5, the work efficiency of the operation of the work 5, and the overall throughput can be improved. Can be improved.
  • FIG. 3 is a plan view schematically showing an example of the hardware configuration of the robot system 100 including the control device 4 according to the present embodiment.
  • the robot system 100 includes the sensor 1, the robot 10 having the hand 2 and the robot arm 3 illustrated in FIGS. 1 and 2, and the control device 4.
  • the control device 4 includes a control calculation unit 41, a communication interface (I / F) unit 42, a storage unit 43, an input unit 44, and an output unit 45, and each unit can communicate with each other via the bus line 46. Can be connected to.
  • I / F communication interface
  • the control calculation unit 41 includes a CPU (Central Processing Unit), a RAM (Random Access Memory), a ROM (Read Only Memory), and the like, and controls each component and performs various calculations according to information processing.
  • CPU Central Processing Unit
  • RAM Random Access Memory
  • ROM Read Only Memory
  • the communication I / F unit 42 is a communication module for communicating with other components "unit” and “device” by wire or wirelessly, for example.
  • the communication method used by the communication I / F unit 42 for communication is arbitrary, and examples thereof include LAN (Local Area Network) and USB (Universal Serial Bus), and an appropriate communication line equivalent to that of the bus line 46 is applied. You can also do it.
  • the sensor 1, the hand 2, and the robot arm 3 can all be provided so as to be able to communicate with the control calculation unit 41 and the like via the communication I / F unit 42.
  • the storage unit 43 is an auxiliary storage device such as a hard disk drive (HDD) or a solid state drive (SSD), and various programs executed by the control calculation unit 41 (the above (1) to (7)).
  • Data three-dimensional model data of the work 5, data on a measurement area that can include a plurality of works 5, data for setting the position and orientation of the sensor 1 that measures the measurement area, and the like are stored.
  • various processing functions in the function configuration example described later are realized.
  • the input unit 44 is an interface device for receiving various input operations from a user who uses the robot system 100, and can be realized by, for example, a mouse, a keyboard, a touch panel, a voice microphone, or the like.
  • the output unit 45 is an interface device for notifying a user or the like who uses the robot system 100 of various information by its display, audio output, print output, or the like, and can be realized by, for example, a display, a speaker, a printer, or the like. ..
  • FIG. 4 is a plan view schematically showing an example of the functional configuration of the robot system 100 including the control device 4 according to the present embodiment.
  • the control calculation unit 41 of the robot system 100 shown in FIG. 4 expands various programs (control program, calculation program, etc.) stored in the storage unit 43 into the RAM. Then, the control calculation unit 41 interprets and executes various programs expanded in the RAM by the CPU to control each component.
  • the robot system 100 has the sensor control unit 401 and the hand control unit 402 as functional units capable of executing each of the processes shown in (1) to (7) above.
  • a configuration including the gripping work determination unit 440 can be realized.
  • control device 4 In this embodiment, an example in which each function realized by the control device 4 provided in the robot system 100 is realized by a general-purpose CPU has been described, but some or all of the above functions may be one or more. It may be realized by a dedicated processor. Further, as for the functional configuration of the control device 4 provided in the robot system 100, the functions may be omitted, replaced, or added as appropriate according to the embodiment or the configuration example. Further, the "control device" can be understood as a general information processing device (for example, a computer, a workstation, etc.).
  • FIG. 5 is a flowchart showing an example of a processing procedure in the robot system 100 including the control device 4 according to the present embodiment, and is also a flowchart showing an example of the processing procedure in the control method of the robot system 100.
  • the processing procedure described below is only an example, and each processing may be changed as much as possible within the scope of the technical idea of the present disclosure. Further, in the processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment and each configuration example.
  • the user of the robot system 100 starts the robot system 100 and executes various programs (calculation program, control program, etc.). Then, the control calculation unit 41 in the control device 4 controls the operations of the sensor 1, the hand 2, and the robot arm 3 according to the following processing procedure, and performs calculation processing by each functional unit in the control device 4. .. Further, in the present embodiment, prior to the processing in each of the following steps, the measurement conditions, recognition parameters, and initial value sets of various calculation parameters required in each step are read out from the storage unit 43, and the sensor control unit.
  • Step S501 the sensor position / orientation generation unit 410 generates the position / orientation (direction of the sensor 1 and three-dimensional coordinates) of the sensor 1 when the sensor 1 performs three-dimensional measurement of the plurality of works 5.
  • the entire measurement area is set based on the relative geometrical positional relationship between the sensor 1 and the measurement area including the plurality of works 5 (for example, the internal area of the storage container 6 of the plurality of works 5). Set at least one fixed position or orientation, so to speak, "statically” to cover.
  • step S501 corresponds to "(1) Sensor position / orientation generation processing" in the above application example.
  • the entire measurement area is covered, for example, based on the measurement result by the sensor 1 in at least one or more previous operation cycles, not based on the relative geometrical positional relationship between the sensor 1 and the measurement area.
  • at least one fixed position / orientation may be set "statically".
  • the measurement result includes the measurement data of a plurality of works 5 by the sensor 1 or the recognition result thereof, and more specifically, the recognition result of the plurality of works 5 having a lower recognition reliability.
  • FIG. 6 is a perspective view schematically showing an example of the position / orientation and the measurement path of the sensor 1 according to the present embodiment.
  • the measurement area internal area of the storage container 6 or the like
  • the positions and orientations of a plurality of different sensors here, four examples are shown.
  • 61-64 are generated.
  • the measurement area including the work 5 can be measured from a maximum of four directions having different directions and three-dimensional coordinates.
  • FIG. 7A and 7B are schematic views showing a concept of an example of a method of setting three-dimensional coordinates in the position and orientation of the sensor 1 shown in FIG. 6, where FIG. 7A is a perspective view and FIG. 7B is a top view. ..
  • the distance w between the origin G0 and the center point G1 of the sensor 1 is set as a substantially fixed parameter.
  • the distance w can be, for example, the length of the range in which the sensor 1 functions favorably.
  • the input variable parameters include, for example, the internal angle ⁇ between the perpendicular line with the origin G0 as the base point and the virtual straight line defining the distance w, and the distance (center) between the perpendicular line with the origin G0 as the base point and the center point G1 of the sensor 1.
  • the distance between the point G1 and the point G2) and the set number n of the position and orientation of the sensor 1 can be mentioned.
  • the coordinates are represented by (r, 0, h), and the (x, y, z) coordinates of the position and orientation 64 are represented by (cos ⁇ ⁇ r, sin ⁇ ⁇ r, h).
  • the orientation of the sensor 1 can be a fluctuation parameter (in the examples of FIGS. 6 and 7, it is assumed that the orientation is directed to the origin G0, which is the center of the measurement region). ..
  • FIG. 8 is a perspective view schematically showing another example of the position / orientation and the measurement path of the sensor 1 according to the present embodiment.
  • the positions and postures 81 to 88 of a plurality of different sensors (8 examples are shown here). Is generated.
  • the measurement area including the work 5 can be measured from a maximum of eight directions having different directions and three-dimensional coordinates.
  • Step S502 the path determining unit 411 moves via the previously generated position / orientation 61 to 64 of the sensor 1 in the first operation cycle, and in each position / orientation 61 to 64, the work 5 is three-dimensional. Determine the measurement route for measurement. More specifically, for example, first, a unit path connecting two adjacent positions and orientations is defined, and then the unit paths are connected in an appropriate order to set one integrated measurement path. be able to.
  • the unit paths M1 to M4 connecting the adjacent positions and postures of the positions and postures 61 to 64 of the sensor 1 are defined, and the integrated measurement paths M1 to M2 are moved counterclockwise.
  • ⁇ M3 ⁇ M4 can be set.
  • the unit paths M1 to M8 connecting the adjacent positions and postures among the position and postures 81 to 88 of the sensor 1 are defined, and the integrated measurement paths M1 to M2 for moving them counterclockwise.
  • ⁇ M3 ⁇ M4 ⁇ M5 ⁇ M6 ⁇ M7 ⁇ M8 can be set.
  • the method (strategy) for setting the unit path and the measurement path is not limited to the examples shown in FIGS. 6 and 8, and may connect positions and postures that are not adjacent to each other, or the orbital direction and the order of connecting the unit paths. Is optional, and can be set randomly.
  • step S502 the work 5 including the determined measurement path is gripped by the hand 2 and transferred from the storage container 6 to another storage container 7, and the hand 2 is moved to the storage container 6 side.
  • the movement paths P1 and P2 for moving back to are determined.
  • step S502 corresponds to "(2) Sensor position / orientation generation process (first operation cycle)" in the above application example.
  • step S503 the robot arm control unit 403 operates the robot arm 3 based on the movement path P1 to the work 5 to be gripped among the works 5 bulked in the storage container 6, and appropriately moves the hand 2. It moves to the set gripping posture of the work 5. Then, the hand control unit 402 operates the hand 2 based on the gripping posture to grip the work 5 to be gripped. Further, the robot arm control unit 403 and the hand control unit 402 pick up the gripped work 5 from the storage container 6, move it to another storage container 7 according to the movement path P1, and release the grip of the work 5 at the target position. Drop and align. As described above, step S503 corresponds to "(3) gripping / moving / releasing processing of the work" in the above application example.
  • Step S504 In step S504, while the work 5 of step S503 is being gripped, moved, and released, the sensor control unit 401 operates the sensor 1 in the position and orientation set in the measurement path, and initially of the measurement conditions.
  • the work 5 is measured using the value set, and measurement data including the three-dimensional position information of the work 5 is acquired.
  • the work 5 In the three-dimensional measurement of the work 5, the work 5 is released from the hand 2 while the hand 2 holds the work 5 and moves away from the storage container 6 side to the other storage container 7 side (movement path P1). Then, it may be any of the time while approaching the storage container 6 from the other storage container 7 side (movement path P2).
  • the measurement conditions are set in, for example, the exposure time, the illumination illuminance, and the measurement position (for example, the relative three-dimensional position or orientation of the sensor 1 with respect to the work 5 (orientation of the optical axis)), as well as the applicable measurement method. There are various conditions to be met. Then, the sensor 1 outputs, for example, a brightness image or the like to the measurement data acquisition unit 420 as necessary, in addition to the three-dimensional point cloud data (point cloud data), the distance image, or the like as the measurement data of the work 5. As described above, step S504 corresponds to "(4) three-dimensional measurement processing of the work" in the above application example.
  • step S505 the model data acquisition unit 421 receives 3D model data (3D CAD model data) representing the 3D shape of the work 5 created in advance at an appropriate timing before and after the 3D measurement process of the work in step S504. ), Acquire templates and model patterns that can be used in three-dimensional matching, and store them in the storage unit 43. Further, the work position / orientation recognition unit 422 extracts feature points indicating the three-dimensional shape of the work 5 from the measurement data of the work 5, and finds the corresponding feature points or feature patterns in the three-dimensional model data of the work 5 and a predetermined search. Performs three-dimensional matching to match in the area.
  • 3D model data (3D CAD model data) representing the 3D shape of the work 5 created in advance at an appropriate timing before and after the 3D measurement process of the work in step S504.
  • the work position / orientation recognition unit 422 extracts feature points indicating the three-dimensional shape of the work 5 from the measurement data of the work 5, and finds the corresponding feature points or feature patterns in the three-dimensional
  • the work position / orientation recognition unit 422 recognizes the position / orientation of each work 5 by using the initial value set of the recognition parameters of the position / orientation of the work 5.
  • Examples of the output data of the position and orientation of the work 5 include the three-dimensional coordinates (x, y, z) of the work 5 and the rotation angle (rx, ry, raz) around the three-dimensional axis.
  • the work position / orientation recognition unit 422 calculates the number of works 5 for which the position / orientation is detected as needed, and stores the recognition result and the calculation result in the storage unit 43.
  • Examples of the position / orientation recognition parameter of the work 5 include a threshold value related to the detection of the work 5 in the position / orientation recognition, and more specifically, 3 of the 3D model data of the work 5 and the measurement data of the work 5. An example can be used for a threshold of dimensional matching. Further, the work position / orientation recognition unit 422 stores the detected position / orientation recognition result of each work 5 in the storage unit 43.
  • the work position / orientation recognition unit 422 evaluates, for example, the reliability (accuracy) of the recognition result of each recognized work 5 by an appropriate method based on the position / orientation recognition result of the work 5. From the result, for example, a work 5 having a reliability higher than a predetermined threshold value is selected as the work 5 of the next gripping candidate by the hand 2.
  • a reliability evaluation method for example, the feature amount of the three-dimensional shape of the work 5 is extracted from the position / orientation recognition result of the work 5, and based on the feature amount, an index showing the degree of matching or similarity with the three-dimensional model data is used. There is a method of calculating.
  • the hand gripping posture generating unit 430 uses the initial value set of the calculation parameters of the gripping posture of the hand 2 when gripping the work 5 determined as the gripping target, and uses the position / posture recognition result of the work 5 as the result. Based on this, the gripping posture of the work 5 by the hand 2 is calculated. Examples of the parameter for calculating the gripping posture of the work 5 by the hand 2 include a threshold value in calculating the gripping posture. Then, the hand gripping posture evaluation unit 431 determines, for example, the ease with which the hand 2 grips each work 5 randomly or, if necessary, from among the works 5 that can be gripped by the hand 2. The gripping work determination unit 420 evaluates and determines the gripping work 5 in the next operation cycle based on the result. As described above, step S505 corresponds to "(5) position / orientation recognition process of the work" and "(6) determination process of the work to be gripped next time" in the above application example.
  • Step S506 In step S506, while the work in step S503 is being gripped / moved / released, the position / orientation generation process of the sensor in step S501 is set while considering the position of the work 5 to be gripped in the next operation cycle. Based on the position and orientation of the sensor 1, the measurement path of the sensor 1 in the next (subsequent) operation cycle and the movement path including the measurement path are set.
  • the measurement route in this case may be the same route as the previous measurement route shown in FIGS. 6 or 8, or may be a route created by changing the order of combining the unit routes M1 to M8 shown in FIGS. 6 and 8.
  • step S506 corresponds to "(7) Sensor measurement path determination process (next operation cycle)" in the above application example.
  • Step S507 if it is determined (Yes) that the work 5 still remains in the storage container 6 from the position / orientation recognition result of the work 5, the process is returned to step S503, and the next time (hereinafter). ) Is repeated (that is, steps S503 to S506), and when it is determined (No) that the work 5 does not remain in the storage container 6, the processing for the storage container 6 is terminated.
  • the recognition of the work 5 can be recognized as compared with the case where the sensor 1 is fixed to the work 5 and the measurement is performed in the same visual field in each operation cycle. It can be done more reliably. As a result, it is possible to prevent the process of taking out the work 5 from, for example, the storage container 6 from being interrupted, so that the robustness at the time of measurement of the work 5, the work efficiency of the operation of the work 5, and the overall throughput can be prevented. Can be improved.
  • the positions and orientations of the sensor 1 are 61 to 64, 81 to 88 is set to cover the entire measurement area. Therefore, even in the next (or later) operation cycle, it is possible to set a measurement path that can surely cover the measurement area, improve the recognition accuracy of the work 5, and suppress the omission of recognition of the work 5. Further, since the work 5 can be measured three-dimensionally in any of the movement paths P1 and P2, the flexibility and versatility in setting the measurement path in the next (or later) operation cycle can be enhanced.
  • the flowchart shown in FIG. 5 shows a processing procedure when the work 5 is picked up from the storage container 6, and the processing procedure is described in "(1) Sensor position / orientation generation processing” and “((1) Sensor position / orientation generation processing” in the application example. 2) Sensor measurement path determination process (first operation cycle) ”,“ (3) Work grip / move / release process ”,“ (4) Work three-dimensional measurement process ”,“ (5) Work position / orientation It corresponds to "recognition processing", "(6) determination processing of the work to be gripped next time”, and “(7) measurement path determination processing of the sensor (next operation cycle)".
  • the processing procedure when the work 5 is placed in the storage container 7 is “(1) sensor position / orientation generation processing” and “(2) sensor measurement path determination processing (first operation cycle)" in the application example.
  • “(3) Work gripping / moving / releasing processing” "(4) Work three-dimensional measurement processing”
  • "(5) Work position / orientation recognition processing” "(6) Place of work to be placed next time” It corresponds to "determination process of” and "(7) sensor measurement path determination process (next operation cycle)”.
  • the processing procedure when the work 5 is picked up from the storage container 6 is the loading status of the plurality of works 5 in the storage container 6 and each work for the purpose of determining the work 5 to be picked up from the storage container 6. While this is executed to recognize the position and orientation of the work 5, the processing procedure when the work 5 is placed in the storage container 7 is an empty area in the storage container 7 (that is, the work 5 is placed). In order to recognize the loading status of a plurality of works 5 in the storage container 7 and the position / orientation of each work 5 for the purpose of determining in which area (position) the work 5 should be placed. The two differ in that they are executed. In view of these differences, in some of the plurality of steps in the flowchart shown in FIG. 5, the work 5 is placed in the storage container 7 by a procedure different from the processing procedure when the work 5 is picked up from the storage container 6. The processing procedure for placing in is executed.
  • the three-dimensional measurement of the work 5 in the storage container 6 is performed in step S504, but the processing when the work 5 is placed in the storage container 7.
  • the three-dimensional measurement of the work 5 in the storage container 7 is performed.
  • the three-dimensional measurement of the work 5 in the storage container 7 may be performed at a stage before the work 5 is placed in the storage container 7 (that is, while the sensor 1 is located on the movement path P1), or ,
  • the work 5 may be placed in the storage container 7 (that is, while the sensor 1 is located on the movement path P2).
  • step S505 the work 5 to be gripped in the next operation cycle is determined in step S505, but the processing procedure when the work 5 is placed in the storage container 7. Then, in the step corresponding to step S505, the target position of the work 5 to be placed by the hand 2 is determined.
  • step S507 it is determined whether or not the work 5 still remains in the storage container 6, but the work 5 is placed in the storage container 7.
  • step S507 it is determined whether or not the area (target position) for placing the work 5 remains in the storage container 7.
  • FIG. 9 is a flowchart showing an example of a processing procedure in a robot system including a control device according to the first modification. Also in the first modification, the robot system 100 including the control device 4 according to the embodiment shown in FIGS. 1 to 4 can be applied.
  • An example of the processing procedure according to the first modification is substantially the same as the example of the processing procedure shown in FIG. 5 except that step S601 is performed instead of step S501 in the operation example shown in FIG.
  • step S601 as in step S501, the sensor position / orientation generation unit 410 first generates the position / orientation of the sensor 1 (direction of the sensor 1 and three-dimensional coordinates) when the sensor 1 performs three-dimensional measurement of the work 5. do. Here, the entire measurement area is covered based on the relative geometrical positional relationship between the sensor 1 and the measurement area including the work 5 (for example, the internal area of the storage container 6 of the work 5). , Set at least one fixed position and orientation, so to speak, "statically”. Next, the sensor position / orientation generation unit 410 selects at least one specific position / orientation from the generated positions / attitudes based on a predetermined condition or a predetermined measurement strategy, or randomly.
  • the "predetermined condition” includes, for example, the measurement data of the work 5 in the previous operation cycle (for example, the point cloud data of the recognized work 5, the distance image, etc.), and the position of the work 5 in the previous operation cycle.
  • Posture recognition results eg, number of recognized works 5, placement, position / posture, etc.
  • configuration of robot system 100 eg, visual field of sensor 1, measurement area, and relative geometry of work 5 placement area). Positional relationship
  • the "predetermined measurement strategy” includes compatibility with the measurement area (covering the measurement area more widely), ease of recognition of the work 5 (easier recognition of the work 5), and efficiency of the measurement path (for example,).
  • the efficiency of the measurement path is an index value indicating how efficiently the three-dimensional measurement of the work 5 can be performed.
  • the efficiency of the measurement path is such that the three-dimensional measurement of the work 5 can be performed in a shorter time. expensive.
  • the position / orientation of the sensor 1 statically set so as to cover the entire measurement area, for example, depending on the recognized position / orientation of the work 5.
  • the position / orientation of the sensor 1 is set so to speak "dynamically", and the measurement in the next operation cycle is based on them. You can set the route. Thereby, the robustness at the time of measurement of the work 5, the measurement efficiency, and the work efficiency at the time of operation of the work 5 can be further improved.
  • FIG. 10 is a diagram conceptually showing a "predetermined measurement strategy", (A) to (D) show a top view, and (E) shows a side sectional view.
  • the figure on the left (hereinafter referred to as “left figure”) is the measurement area (inside the storage container 6) including the work 5 (5a, 5b) in the previous operation cycle.
  • the state measured in the measurement field of view V1 corresponding to the position and orientation of the sensor 1 in the operation cycle is shown.
  • the figure on the right side of the drawing (hereinafter referred to as “right figure”) shows the measurement area (inside of the storage container 6) including the work 5 (5b) in the next operation cycle of the sensor 1 in the operation cycle.
  • the state of measurement in the measurement field of view V2 corresponding to the position and orientation is shown.
  • FIG. 10A is an example of a measurement strategy based on the correspondence to the measurement area.
  • the work 5a black circle symbol
  • the measurement path is determined so as to cover the measurement area including the remaining three workpieces 5b (white circle symbols) more widely by the measurement field of view V2 in the right figure. As a result, it becomes easy to cover the measurement area, and it becomes easy to suppress the measurement and recognition omission of the work 5.
  • FIG. 10B is an example of a measurement strategy based on the ease of recognition of the work 5, and the work 5a of the four works 5 recognized in the measurement field of view V1 in the left figure is grasped and remains in the next operation cycle.
  • the measurement path is determined so that, for example, the center of gravity of the three works 5b is aligned with the center of the measurement field of view V2 in the right figure.
  • more reliable recognition of the work 5 becomes easier, so that the reliability of the position / orientation recognition of the remaining work 5b can be increased.
  • FIG. 10C is an example of a measurement strategy based on the ease of changing the measurement path.
  • the work 5a is grasped, and in the next operation cycle, the work 5a is grasped.
  • the measurement path is determined so that the change distance of the measurement field of view becomes the measurement field of view V2 as short as possible. As a result, it is possible to improve the measurement efficiency while increasing the reliability in the position / orientation recognition of the remaining work 5b.
  • FIG. 10D is an example of a measurement strategy based on the recognition reliability of the work 5, and is an example in the case where the recognition of the work 5 fails or the recognition reliability is low in the measurement field of view V1 in the left figure. be.
  • it exists in the measurement area by subtracting the measurement data (geometric position information) of the measurement area (storage container 6) when there is no work from the measurement data (point cloud data, etc.) in the left figure as the background.
  • the point cloud data D1 of the work 5 that is presumed to be doing is detected.
  • the measurement path is determined so as to include a different measurement field of view V2 including the position of the point cloud data D1.
  • the recognition rate of the work 5 can be significantly increased.
  • FIG. 10 (E) is an example of a measurement strategy based on the laminated arrangement (easiness of gripping) of the works 5, and when the works 5 are piled up in the storage container 6 as shown in the left figure, the ease of gripping is shown.
  • the measurement path is determined so that the work 5 located in the uppermost layer among the works 5 piled up in bulk is included in the measurement field of view V2. As a result, the probability of successfully grasping the work 5 can be significantly increased.
  • FIGS. 9 and 10 is a description of a measurement strategy for successfully gripping the work 5 from the storage container 6, but a measurement strategy for successfully placing the work 5 on the storage container 7.
  • the optimum measurement strategy for finding the area (target position) for placing the work 5 in the free area can be selected.
  • FIG. 11 is a flowchart showing an example of a processing procedure in a robot system including a control device according to a second modification. Also in the second modification, the robot system 100 including the control device 4 according to the embodiment shown in FIGS. 1 to 4 can be applied.
  • An example of the processing procedure according to the second modification is substantially the same as the example of the processing procedure shown in FIG. 5 except that step S701 is performed instead of step S501 in the operation example shown in FIG.
  • step S701 the sensor position / orientation generation unit 410 generates the position / orientation of the sensor 1 (direction of the sensor 1 and three-dimensional coordinates) when the sensor 1 performs three-dimensional measurement of the work 5.
  • at least one position / orientation of the sensor 1 is set “dynamically” based on a predetermined condition or a predetermined measurement strategy, or randomly.
  • the "predetermined conditions” and the “predetermined measurement strategy” can be the same as those in the first modification.
  • the position / orientation of the sensor 1 is not set to a fixed position / orientation in advance, and the recognition of the work 5 in the next operation cycle is performed according to, for example, the recognized position / orientation of the work 5. Therefore, it is possible to set a more suitable position and orientation more "dynamically", and to set a measurement path in the next operation cycle based on them. Thereby, the robustness at the time of measurement of the work 5, the measurement efficiency, and the work efficiency at the time of operation of the work 5 can be further improved.
  • a control device for a robot system (100) including a measuring device (1) for measuring the position information of the object (5).
  • a position / orientation generation unit (410) that generates at least one position / orientation of the measuring device (1) when measuring the position information of the object (5).
  • the measuring device (1) moves via at least a part of the at least one position / posture, and measures the position information of the object (5) at each position / posture.
  • Measurement route determination unit (411) that determines the measurement route, and The robot is instructed to move the measuring device (1) along a moving path (P1, P2) including the measuring path, and the measuring device (1) passes through the measuring path.
  • a command unit (401, 402, 403) that commands the measuring device (1) to measure the position information of the object (1) in at least a part of at least one position / posture.
  • a recognition unit (422) that recognizes the object (5) using the measurement data obtained by the measuring device (1) is provided.
  • the measurement path determination unit (411) is a control device (4) that determines the measurement path of the measurement device (1) in the next operation cycle.
  • the position / orientation generating unit (410) covers the entire measurement area based on the relative geometrical positional relationship between the measurement device (1) and the measurement area including the object (5). In addition, the at least one position / orientation is generated in advance.
  • the measurement path determination unit (411) determines the measurement path so that the measurement device (1) moves via all of the at least one position and orientation in a predetermined order.
  • the control device (4) according to Appendix 1.
  • the position / orientation generation unit (410) generates at least one position / orientation in advance based on the measurement result by the measurement device (1) in at least one previous operation cycle.
  • the measurement path determination unit (411) determines the measurement path so that the measurement device (1) moves through all of the at least one position and orientation in a predetermined order. Control device (4).
  • the measurement result is the measurement data of the object (5) or the recognition result of the object (5) by the measuring device (1).
  • the control device (4) according to Appendix 3.
  • the measurement data or the recognition result is a recognition result in which the recognition reliability of the object (5) is low, point group data in which the object (2) cannot be recognized, missing data, a discontinuous shape, and the object. At least one of the data indicating a high position in the laminated arrangement of the object (5).
  • the control device (4) according to Appendix 4.
  • the position / orientation generation unit (410) selects a specific position / orientation from the at least one position / orientation based on a predetermined condition or a predetermined measurement strategy, or randomly.
  • the measurement path determination unit (411) allows the measurement device (1) to pass through at least a part of the specific position and orientation in a predetermined order based on a predetermined condition or a predetermined measurement strategy, or randomly. The measurement path is determined so as to move.
  • the control device (4) according to any one of Supplementary note 2 to 5.
  • the position / orientation generation unit (410) generates at least one position / orientation based on a predetermined condition or a predetermined measurement strategy, or randomly.
  • the measurement path determination unit (411) uses the measurement device (1) to perform at least a part of the at least one position / posture in a predetermined order based on a predetermined condition or a predetermined measurement strategy, or randomly.
  • the measurement path is determined so as to move via.
  • the control device (4) according to any one of Supplementary note 1 to 5.
  • the predetermined condition is at least one of the measurement data of the object (5) in the previous operation cycle, the recognition result of the object (5) in the previous operation cycle, and the configuration of the robot system (100).
  • the predetermined measurement strategy includes compatibility with the measurement area, ease of recognition of the object (5), efficiency of the measurement path, recognition reliability of the object (5), and layered arrangement of the object (5).
  • the command unit (401) is used when the hand (2) grips and moves the object (5) in one operation cycle, and / or the hand (2) is the object (5).
  • the measuring device (1) is instructed to measure the position information of the object (5) in at least one position / posture.
  • the control device (4) according to any one of Supplementary note 1 to 9.
  • FIG. 11 A robot arm (3), a robot (10) provided at the tip of the robot arm (3) and a hand (2) for operating an object (5), and a robot (10) provided on the robot arm (3).
  • a control method of a robot system (100) including a measuring device (1) for measuring the position information of the object (5).
  • the measurement path determination unit (411) is such that the measurement device (1) moves via the at least one position / posture and measures the position information of the object (5) at each position / posture.
  • the step of determining the measurement path of the measuring device (1) The command unit (401, 402, 403) commands the robot to move the measuring device (1) along the moving path (P1, P2) including the measuring path, and the measuring device (1).
  • 1) is a step of instructing the measuring device (1) to measure the position information of the object (5) in at least a part of the at least one position / posture passing through the measuring path.
  • the measurement path determination unit (411) determines the measurement path of the measurement device (1) in the next operation cycle when the measurement device (1) is moving along the movement path (P1, P2). Control methods, including steps.
  • a position / orientation generation unit (410) that generates at least one position / orientation of the measuring device (1) when measuring the position information of the object (5). Measurement of the measuring device (1) so that the measuring device (1) moves via the at least one position / posture and measures the position information of the object (5) at each position / posture.
  • the measurement route determination unit (411) that determines the route, and The robot is instructed to move the measuring device (1) along a moving path (P1, P2) including the measuring path, and the measuring device (1) passes through the measuring path.
  • a command unit (401, 402, 403) that commands the measuring device (1) to measure the position information of the object (5) in at least a part of at least one position / posture.
  • a recognition unit (422) that recognizes the object (5) using the measurement data from the measuring device (1), and To function as a control device (4) equipped with
  • the measurement path determination unit (411) determines the measurement path of the measurement device (1) in the next operation cycle when the measurement device (1) is moving along the movement path (P1, P2). , Computer control program.
  • the measuring device (1) moves via at least a part of the at least one position / posture, and measures the position information of the object (5) at each position / posture.
  • Measurement route determination unit (411) that determines the measurement route, and The robot is instructed to move the measuring device (1) according to the moving path (P1, P2) including the measuring path, and the measuring device (1) passes through the measuring path at least one of the above.
  • a command unit (401, 402, 403) that commands the measuring device (1) to measure the position information of the object (5) in at least a part of the position and orientation.
  • a recognition unit (422) that recognizes the object (5) using the measurement data from the measuring device (1), and Have,
  • the measurement path determination unit (411) determines the measurement path of the measurement device (1) in the next operation cycle when the measurement device (1) is moving along the movement path (P1, P2). , Robot system.
  • Model data acquisition unit 422 ... Work position / orientation recognition unit, 430 ... Hand gripping posture generation unit, 431 ... Hand gripping posture evaluation unit, 440 ... Gripping work determination unit, D1 ... Point group data, M1 to M8 ... Unit path, P1, P2 ... Movement path, V1, V2 ... Measurement field of view.

Abstract

ワーク等の対象物を例えば容器から取り出す処理が中断されてしまうことを抑止するべく、ロボットと、そのロボットアームに設けられた計測装置とを備えるロボットシステムの制御装置を提供する。制御装置は、対象物を計測するときの計測装置の位置姿勢を生成し、計測装置がその位置姿勢を経由して移動し且つ対象物を計測するように、計測装置の計測経路を決定し、計測経路を含む移動経路に沿って計測装置を移動させる処理を前記ロボットに指令し、且つ、その位置姿勢において、計測装置が対象物を計測する処理を計測装置に指令し、得られた計測データを用いて対象物を認識し、次回の動作サイクルにおける計測装置の計測経路を決定する。

Description

ロボットシステムの制御装置、ロボットシステムの制御方法、コンピュータ制御プログラム、及びロボットシステム
 本発明は、対象物を操作するロボットシステムの制御装置、ロボットシステムの制御方法、ロボットシステムの制御プログラム、及びロボットシステムに関する。
 ファクトリーオートメーション(FA:Factory Automation)における検査や生産ラインにおいて、ビン等の容器内にばら積みされたワーク(部品等)等の対象物を、ピースピッキングロボット等のロボットによって1つずつ取り出して、容器から別の場所や容器に移載したり、その対象物を加工したりする装置が知られている。かかる装置では、例えば、ばら積みされたワークを3次元計測し、得られた計測結果とワークの3次元モデルデータとの照合(3次元マッチング)により、個々のワークの3次元位置姿勢を認識して、ロボットでピックアップする。このような装置の例として、例えば特許文献1には、ロボットが移動している際に撮像された2つの画像から対象物を検出し、各画像が撮像されたときのロボットの位置姿勢情報を取得する装置が記載されている。この装置では、対象物の位置情報と各画像に対応するロボットの位置姿勢情報から、ロボット座標系における対象物の視線情報が算出され、それらの視線情報の交点から対象物の3次元位置が検出される。
特開2016-70762号公報
 しかし、容器内にばら積みされたワークの計測においては、通常、複雑な形状を有するワークの重なり合いによって視野の一部又は全部が遮断(オクルージョン)されたり、鏡面を有するワークの場合には相互反射が生じたりしてしまう。この場合、対象物の計測データの不備や欠損が生じてしまい、3次元マッチングが十分に行われ難くなり、そのため、対象物の認識ができなかったり、認識できてはいるもののその精度が悪くなったりするおそれがある。こうなると、容器内にワークが未だ残っている状態でも、ワークの取り出し処理が中断されてしまうといった問題が生じ得る。
 そこで、本発明は、一側面では、かかる事情を鑑みてなされたものであり、ワーク等の対象物を例えば容器から取り出す処理が中断されてしまうことを抑止することができ、且つ、対象物の計測時におけるロバスト性、及び、対象物の操作の作業効率に優れたピッキングシステムの制御装置、ピッキングシステムの制御方法、ピッキングシステムの制御プログラム、及びピッキングシステムを提供することを目的とする。
 本発明は、上述した課題を解決するために、以下の構成を採用する。
〔1〕すなわち、本開示に係る制御装置の一例は、ロボットアーム、及び、該ロボットアームの先端部に設けられ且つ対象物を操作するハンドを有するロボットと、前記ロボットアームに設けられ且つ前記対象物の位置情報(例えば、2次元又は3次元位置情報)を計測する計測装置(センサ)と、を備えるロボットシステムの制御装置である。また、制御装置は、前記対象物の位置情報を計測するときの前記計測装置の少なくとも1つの位置姿勢(計測装置の向き及び座標)を生成する位置姿勢生成部と、前記計測装置が、前記少なくとも1つの位置姿勢の少なくとも一部を経由して移動し、且つ、各位置姿勢において前記対象物の位置情報を計測するように、前記計測装置の計測経路を決定する計測経路決定部と、前記計測装置を、前記計測経路を含む移動経路に沿って移動させる処理を前記ロボットに指令し、且つ、前記計測装置が、前記計測経路において経由する前記少なくとも1つの位置姿勢の少なくとも一部において、前記対象物の位置情報を計測する処理を前記計測装置に指令する指令部と、前記計測装置による計測データを用いて前記対象物を認識する認識部とを備え、前記計測経路決定部は、例えば前記計測装置が前記移動経路を移動しているときに(但し、この時期に限定されない)、次回の動作サイクルにおける前記計測装置の計測経路を決定する。
 ここで、「動作サイクル」とは、ハンドが対象物を操作して、ある場所から別の場所へ対象物を移動させる期間、及び/又は、そこからハンドが元の場所へ戻るまでの期間を示し、換言すれば、ハンドが対象物を把持して移動し、及び/又は、ハンドが対象物を把持するために移動する期間を示す。
 当該構成では、生成された少なくとも1つの位置姿勢を経由する計測装置の計測経路が設定される。また、その計測経路を含む移動経路に沿って計測装置が移動し、その間に、設定された位置姿勢において、計測装置による対象物の計測が行われるとともに、次回(以降)の動作サイクルにおける計測経路が決定される。従って、計測装置の位置姿勢、及び、それらを経由する計測経路の設定を、例えば、ばら積み等された対象物の情報や対象物を含む計測領域の状況等に応じて(それらを考慮して)実施することができる。よって、対象物が残っている場合でも、例えば、対象物に対して計測装置を固定して各動作サイクルで同じ視野で計測する場合に比して、対象物の認識をより確実に行うことができる。これにより、対象物を例えば容器から取り出す処理が中断されてしまうことを抑止することができるので、対象物の計測時におけるロバスト性、対象物の操作の作業効率、及び全体のスループットを向上させることができる。
〔2〕上記構成において、より具体的には、前記位置姿勢生成部は、前記計測装置と前記対象物を含む計測領域との相対的な幾何学的位置関係に基づいて、前記計測領域の全てをカバーするように、前記少なくとも1つの位置姿勢を予め生成し、前記計測経路決定部は、前記計測装置が、所定の順序で前記少なくとも1つの位置姿勢の全てを経由して移動するように、前記計測経路を決定するように構成してもよい。当該構成では、計測領域を全てカバーするように固定された少なくとも1つの位置姿勢をいわば"静的に"設定することができる。また、それらを通る計測経路において対象物の計測が行われる。よって、次回(以降)の動作サイクルにおいても、計測領域を確実にカバーする計測経路を設定することができ、対象物の計測時におけるロバスト性、対象物の操作における作業効率、及び、全体のスループットをより向上させることができる。
〔4〕当該構成において、より具体的には、前記計測結果が、前記計測装置による前記対象物の計測データ又は前記対象物の認識結果であってもよい。
〔5〕更に具体的には、前記計測データ又は前記認識結果が、前記対象物の認識信頼度が低い認識結果、前記対象物を認識できていない点群データ、欠落データ、不連続形状、及び、前記対象物の積層配置における高い位置を示すデータの少なくとも何れかであると好適である。
〔6〕或いは、上記構成において、前記位置姿勢生成部は、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、前記少なくとも1つの位置姿勢から特定の位置姿勢を選択し、前記計測経路決定部は、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、前記計測装置が、所定の順序で前記特定の位置姿勢の少なくとも一部を経由して移動するように、前記計測経路を決定するように構成してもよい。当該構成では、計測領域を全てカバーするように静的に設定された計測装置の位置姿勢のなかから、例えば、認識された対象物の位置姿勢等に応じて、次回の動作サイクルにおける対象物の認識のためにより好適な特定の位置姿勢を選択することができる。これにより、計測装置の位置姿勢をいわば"動的に"設定し、それらに基づいて次回の動作サイクルにおける計測経路を設定することができる。その結果、対象物の計測時におけるロバスト性、計測効率、対象物の操作における作業効率、及び、全体のスループットを更に向上させることができる。
〔7〕或いは、上記構成において、前記位置姿勢生成部は、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、前記少なくとも1つの位置姿勢を生成し、前記計測経路決定部は、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、前記計測装置が、所定の順序で前記少なくとも1つの位置姿勢の少なくとも一部を経由して移動するように、前記計測経路を決定するように構成してもよい。当該構成では、計測装置の位置姿勢として、予め固定された位置姿勢を設定することなく、例えば、認識された対象物の位置姿勢等に応じて、次回の動作サイクルにおける対象物の認識のためにより好適な位置姿勢をいわばより"動的に"設定し、それらに基づいて次回の動作サイクルにおける計測経路を設定することができる。これにより、対象物の計測時におけるロバスト性、計測効率、対象物の操作における作業効率及び、全体のスループットを更に向上させることができる。
〔8〕上記構成において、更に具体的には、前記所定の条件が、以前の動作サイクルにおける対象物の計測データ(例えば、認識された対象物の点群データ、距離画像等)、以前の動作サイクルにおける対象物の認識結果(例えば、認識された対象物の数、配置、位置姿勢等)、及び、前記ロボットシステムの構成(例えば、計測装置の視野、計測領域、及び、対象物の配置領域の相対的な幾何学的位置関係)のうち少なくとも1つであるように構成してもよい。当該構成では、それらの所定の条件を、計測装置の位置姿勢を動的に生成及び選定する際の基準又は指標として使用することにより、より好適な位置姿勢及び計測経路の設定が可能となる。
〔9〕上記構成において、前記所定の計測戦略が、計測領域への対応性(計測領域をより広くカバー)、対象物の認識容易性(対象物のより容易な認識)、計測経路の効率性(例えば、計測経路の最短化)、対象物の認識信頼度(対象物の認識失敗時又は認識信頼度が低い場合)、及び、対象物の積層配置(ばら積みされた対象物の把持の容易性:把持容易性)のうちの少なくとも1つを志向する戦略であるように構成してもよい。当該構成では、それらの所定の計測戦略に合致する条件で、計測装置の位置姿勢を動的に生成及び選定することができるので、例えば、ばら積みされた対象物の状態が変化していく状況に即して、より好適な位置姿勢及び計測経路の設定が可能となる。
〔10〕上記構成において、前記指令部は、前記ハンドが前記対象物を把持して移動するときに、及び/又は、前記ハンドが前記対象物を把持するために移動するときに、前記少なくとも1つの位置姿勢において前記対象物の位置情報を計測する処理を、前記ロボット及び前記計測装置に指令するように構成してもよい。当該構成では、ハンドが対象物を把持して別の場所へ移動させるとき(ピックアップしてから去るとき)、及び、ハンドが対象物を解放してから元の場所へ戻るとき(ピックアップのために対象物へ近づきとき)の何れにおいても、対象物の計測を行うことができる。よって、次回(以降)の動作サイクルにおける計測経路の設定における柔軟性及び汎用性を高めることができる。
〔11〕本開示に係る制御方法の一例は、ロボットアーム、及び、該ロボットアームの先端部に設けられ且つ対象物を操作するハンドを有するロボットと、前記ロボットアームに設けられ且つ前記対象物の位置情報を計測するする計測装置と、を備えるロボットシステムの制御方法であり、以下の各ステップを含む。
 すなわち、当該方法は、位置姿勢生成部が、前記対象物の位置情報を計測するときの前記計測装置の少なくとも1つの位置姿勢を生成するステップ、計測経路決定部が、前記計測装置が、前記少なくとも1つの位置姿勢を経由して移動し、且つ、各位置姿勢において前記対象物の位置情報を計測するように、前記計測装置の計測経路を決定するステップ、指令部が、前記計測装置を、前記計測経路を含む移動経路に沿って移動させる処理を前記ロボットに指令し、且つ、前記計測装置が、前記計測経路において経由する前記少なくとも1つの位置姿勢の少なくとも一部において、前記対象物の位置情報を計測する処理を前記計測装置に指令するステップ、認識部が、前記計測装置による計測データを用いて前記対象物を認識するステップ、及び、前記計測経路決定部が、前記計測装置が前記移動経路を移動しているときに、次回の動作サイクルにおける前記計測装置の計測経路を決定するステップを含む。
〔12〕本開示に係るコンピュータ制御プログラムの一例は、コンピュータを、上記の本開示に係る制御装置として有効に機能させるプログラムである。
〔13〕本開示に係るロボットシステムの一例は、ロボットアーム、及び、該ロボットアームの先端部に設けられ且つ対象物を操作するハンドを有するロボットと、前記ロボットアームに設けられ且つ前記対象物の位置情報を計測する計測装置と、上記の本開示に係る制御装置とを備える。
 なお、本開示において、「部」及び「装置」とは、単に物理的手段を意味するものではなく、その「部」及び「装置」が有する機能をソフトウェアによって実現する構成も含む。また、1つの「部」及び「装置」が有する機能が2つ以上の物理的手段や装置によって実現されてもよく、或いは、2つ以上の「部」及び「装置」の機能が1つの物理的手段や装置によって実現されてもよい。さらに、「部」及び「装置」とは、例えば「手段」及び「システム」と言い換えることも可能な概念である。
 本発明によれば、対象物を例えば容器から取り出す処理が中断されてしまうことを抑止することができるので、対象物の計測時におけるロバスト性、対象物の操作の作業効率、及び、全体のスループットを向上させることができる。また、かかる効率的な処理により、システム全体の処理速度を向上させ、記憶容量を節約でき、かつ、通信のデータ量を減らすことができるとともに、処理の信頼性を高めることができる。
本実施形態に係る制御装置を備えるロボットシステムの適用場面の一例を模式的に示す平面図である。 本実施形態に係る制御装置を備えるロボットシステムの適用場面の一例を模式的に示す平面図である。 本実施形態に係る制御装置を備えるロボットシステムのハードウェアの構成の一例を模式的に示す平面図である。 本実施形態に係る制御装置を備えるロボットシステムの機能構成の一例を模式的に示す平面図である。 本実施形態に係る制御装置を備えるロボットシステムにおける処理手順の一例を示すフローチャートである。 本実施形態に係る計測装置(センサ)の位置姿勢及び計測経路の一例を模式的に示す斜視図である。 図6に示すセンサの位置姿勢における3次元座標の設定方法の一例の概念を示す模式図であり、(A)は斜視図であり、(B)は上面図である。 本実施形態に係る計測装置(センサ)の位置姿勢及び計測経路の他の一例を模式的に示す斜視図である。 第1変形例に係る制御装置を備えるロボットシステムにおける処理手順の一例を示すフローチャートである。 「所定の計測戦略」を概念的に示す図であり、(A)~(D)は上面図を示し、(E)は側断面図を示す。 第2変形例に係る制御装置を備えるロボットシステムにおける処理手順の一例を示すフローチャートである。
 以下、本開示の一例に係る実施の形態(以下「実施形態」と表記する。)について、図面を参照して説明する。但し、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図ではない。すなわち、本開示の一例は、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付しており、図面は模式的なものであって、必ずしも実際の寸法や比率等とは一致しない。さらに、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。
 §1 適用例
 まず、図1及び図2を用いて、本開示の一例が適用される場面の一例について説明する。図1及び図2は、それぞれ、本実施形態に係る制御装置を備えるロボットシステムの適用場面の一例を模式的に示す平面図である。本実施形態に係るロボットシステム100は、例えばビン等の収納容器6内にばら積みされた複数のワーク5を、ロボット10により、収納容器6から取り出して他の収納容器7等へ移載し、整列させて配置する操作、及び/又は、あるワーク5を移載し終えたロボット10を、次のワーク5を取り出すために、収納容器6側へ復帰させる操作(それぞれ図2の移動経路P1,P2参照)を行うことができる。ワーク5の種類は、特に制限されず、例えば、自動車のパワートレイン系(例えば、エンジン、又はトランスミッション等)の機械部品、又は電装系の電子部品等を挙げることができる。また、かかるロボットシステム100は、ロボット10の他、そのロボット10に設けられたセンサ1(本開示における「計測装置」の一例)と、センサ1及びロボット10に接続された制御装置4を備える。
 センサ1は、ワーク5の位置情報(例えば3次元位置情報)を含む計測データを取得する3Dセンサであり、ロボット10のロボットアーム3の先端部に設置されていて、図1(A)及び(B)に示すように、ワーク5を所定の視野(角)で且つ所定の計測条件で撮像する。かかるセンサ1は、例えば、点群を計測する距離センサであり、或いは、距離センサと2次元センサとを組み合わせて距離画像を取得する距離画像センサでもよい。距離センサは、奥行情報としての距離dを計測するセンサである。2次元センサは、2次元の画像を撮影するイメージセンサであり、2次元の画像は、距離dを画素値としない点において距離画像とは異なる。距離画像センサは、例えば、2次元センサの撮影位置を変えながらワーク5の複数の2次元の画像を撮影し、ステレオ立体視の画像処理により、距離dを画素値とする距離画像を取得するカメラでもよい。または、距離画像センサは、ワーク5を複数の異なる方向から同時に撮影することにより、距離dを画素値とする距離画像を取得するステレオカメラでもよい。
 また、センサ1は、必須ではないが、必要に応じて、適宜の計測光(例えば、アクティブ方式で用いられるパターン光やスキャン光等)を含むいわゆる3D用照明や、通常の照明であるいわゆる2D用照明をワーク5へ投射するプロジェクタ(図示せず)を有していてもよい。かかるプロジェクタの構成も特に制限されず、例えば、パターン光を投射するものの場合、レーザ光源、パターンマスク、及びレンズを備える構成を例示することができる。レーザ光源から出射された光は、所定のパターンが形成されたパターンマスクによって所定のパターンを有する計測光(パターン光)に変換され、レンズを介してワーク5へ投射される。
 この「所定のパターン」としては、特に制限されず、例えばアクティブワンショット方式で用いられる種々のパターンを例示することができる。より具体的には、例えば、複数のラインが所定の間隔で2次元に配置されたいわゆるラインベースのパターン、互いに区別可能な複数種類の単位画像、単位図形、幾何学形状等が2次元に配置(規則的でもランダムでもよく、規則的な部分とランダムな部分が混合又は重畳されていてもよい。)されたいわゆるエリアベースのパターン、縦横ラインのグリッドにグラフシンボル等が配置されたいわゆるグリッドグラフベースのパターン等が挙げられる。なお、各所定のパターンは、エンコード用に、例えばラインや単位図形を区別するためのID情報を含んでいてもよい。
 また、ワーク5の計測方式としては、特に制限されず、例えば、光の直進性を用いる種々のアクティブ計測方式(例えば、三角測距を基本原理とする空間コード化パターン投影方式、時間コード化パターン投影方式、モアレトポグラフィ方式等)、光の直進性を用いる種々のパッシブ計測方式(例えば、三角測距を基本原理とするステレオカメラ方式、視体積交差方式、因子分解方式等、同軸測距を基本原理とするDepth from focusing方式等)、及び、光の速度を用いる種々のアクティブ計測方式(例えば、同時測距を基本原理とする飛行時間方式(Time of Flight)、レーザースキャン方式等)を適宜選択して用いることができる。
 ワーク5の計測データとしては、それらの種々の計測方式で取得される画像データ(例えば3次元点群データや距離画像等)、また、ワーク5の3次元モデルデータと照合することが可能な適宜のデータ等を例示できる。ここで、ワーク5の3次元モデルデータとしては、例えば、3次元座標データ、その3次元座標データをワーク5の種々の異なる位置姿勢に対応して2次元投影した2次元座標データ、その他適宜のテンプレートやパターンに対応するデータ等が挙げられる。なお、ワーク5の認識において、3次元モデルデータとの照合は必須ではなく、モデルデータを用いない(いわゆるモデルレス)認識も適用可能である。
 ロボット10は、例えば、ワーク5を操作(例えば、把持、吸着、移動、組み立て、又は挿入等)するためのハンド2と、そのハンド2が先端部に設けられたロボットアーム3を備える多関節ロボット(例えば、垂直多関節ロボット、水平多関節ロボット)である。ロボット10の各関節には、関節を駆動するためのサーボモータ等の駆動装置と、関節の変位(角度変位)を検出するためのエンコーダ等の変位検出装置が組み込まれている。また、ロボット10は、自律的に動作するマニピュレータとして動作し、例えば、ワーク5のピッキング、組み立て、搬送、塗装、検査、研磨、又は洗浄等の様々な用途に用いることができる。
 ハンド2は、エンドエフェクタの一例であり、個々のワーク5を把持し且つ解放(掴み且つ離す)動作が可能な把持機構を有する。ロボットアーム3は、ハンド2を収納容器6内のワーク5の把持位置(ピックアップ位置)へ移動し、且つ、ワーク5を把持したハンド2をその把持位置から他の収納容器7における解放位置(ドロップ位置)へと移動するための駆動機構を有する。
 制御装置4は、センサ1及びロボット10のそれぞれに接続されており、センサ1によるワーク5の計測処理、ハンド2によるワーク5の操作処理、ロボット10(ハンド2及びロボットアーム3等)の駆動処理の他、ロボットシステム100において必要とされる種々の動作や演算に関する処理を制御する。より具体的には、例えば、以下の各処理を実施する。
(1)センサの位置姿勢生成処理
 センサ1によるワーク5(特に、収納容器6内の全てのワーク5。以下同様。)の3次元計測を行うときのセンサ1の位置姿勢を生成する。この場合の生成方法としては、例えば、センサ1と、ワーク5を含む計測領域(例えば、ワーク5の収納容器6の内部領域)との相対的な幾何学的位置関係に基づいて、その計測領域の全てをカバーするような、固定された少なくとも1つの位置姿勢(センサ1の向き及び3次元座標)をいわば"静的に"設定することができる。また、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、固定された位置姿勢のなかから特定の位置姿勢を選択したり、既に取得されているワーク5の位置情報等を用いて、センサ1の位置姿勢をいわば"動的に"設定したりすることもできる。なお、通常は、1回の3次元計測により、複数のワーク5に対する認識結果(位置情報)が得られる。なお、ワーク5を収納容器6からピックアップする場合、計測領域は、収納容器6の内部領域(即ち、ワーク5が置かれている領域)を含む。ワーク5を収容容器7にプレイスする場合、計測領域は、収納容器7の内部領域(即ち、ワーク5が置かれる予定の領域)を含む。収容容器6の内部領域に置かれているワーク5を把持し、そのワーク5を収容容器6の内部領域から収納容器7の内部領域に移動させる場合、計測領域は、収納容器6の内部領域と収納容器7の内部領域とを含む。
(2)センサの計測経路決定処理(初回の動作サイクル)
 生成されたセンサ1の位置姿勢を経由して移動し、且つ、各位置姿勢においてワーク5の3次元計測を行うための計測経路を決定する。この場合、例えば、静的に設定された位置姿勢の全部をセンサ1が経由するように計測経路を決定することができる。または、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、そのなかから選択した特定の位置姿勢の少なくとも一部、又は、動的に設定された位置姿勢の少なくとも一部をセンサ1が経由するように計測経路を決定することもできる。さらに、ここでは、決定された計測経路を含み、且つ、把持対象のワーク5をハンド2で把持して収納容器6から他の収納容器7へ移載し、そのハンド2を収納容器6側へ移動して戻す際の移動経路P1,P2の何れか、又は、移動経路P1,P2の両方(以下、単に「移動経路P1,P2」と記載することがある。)を決定する。
(3)ワークの把持・移動・解放処理
 収納容器6内にばら積みされた複数の(全部の)ワーク5のうち、把持対象のワーク5を把持してピックアップし、設定された移動経路P1に従って、収納容器6から他の収納容器7へ移動し、目的位置でワーク5の把持を解放してドロップする。それから、ワーク5を解放したハンド2を、設定された移動経路P2に従って、収納容器6側へ移動し、これを1つの動作サイクルとして、次回(以降)の動作サイクル(ワーク5の把持・移動・解放処理)を繰り返す。なお、1つの動作サイクルは、移動経路P1,P2の何れかを含んでもよく、又は、本例のように移動経路P1,P2の両方を含んでもよい。
(4)ワークの3次元計測処理
 (3)のワークの把持・移動・解放処理を行っている間に、計測経路内に設定された位置姿勢において、センサ1によるワーク5の3次元計測を行う。例えば、ワーク5を収納容器6からピックアップする場合、センサ1は、計測経路内に設定された位置姿勢において、収納容器6内のワーク5の3次元計測を行う。収納容器6内のワーク5の3次元計測は、収納容器6からピックアップされるべきワーク5を決定することを目的として、収納容器6内の複数のワーク5の積載状況及び各ワーク5の位置姿勢を認識するために実行される。また、例えば、ワーク5を収容容器7にプレイスする場合、センサ1は、計測経路内に設定された位置姿勢において、収納容器7内のワーク5の3次元計測を行う。収納容器7内のワーク5の3次元計測は、収容容器7内の空き領域(即ち、ワーク5が置かれていない領域)のうちどの領域(位置)にワーク5をプレイスするべきかを決定することを目的として、収納容器7内の複数のワーク5の積載状況及び各ワーク5の位置姿勢を認識するために実行される。ワーク5の3次元計測は、ハンド2がワーク5を保持して収納容器6側から離れて他の収納容器7側へ移動する間、及び、ハンド2からワーク5を解放して他の収納容器7側から収納容器6へ接近する間の何れでもよい。
(5)ワークの位置姿勢認識処理
 (4)のワークの3次元計測処理の前後の適宜のタイミングで、ワーク5の3次元形状を表す3次元モデルデータ(3次元CADモデルデータ)を取得し、或いは、ワーク5の位置姿勢の認識処理を行うために使用可能な適宜のテンプレートやモデルパターンを必要に応じて作成する。それから、(3)のワークの把持・移動・解放処理を行っている間に、この3次元モデルデータ等と、センサ1による複数のワーク5の計測データとを、所定の認識パラメータを用いて照合する3次元マッチングを行い、複数のワーク5の位置姿勢(例えば、そのワーク5の3次元座標及び3次元軸まわりの回転角度)を認識する。また、複数のワーク5の各々の位置姿勢認識結果として、例えば、各ワーク5について認識された位置姿勢を2次元投影した2次元画像に、3次元マッチングにおいてそのワーク5の特徴点や特徴部位として検出された例えば輪郭線(エッジに該当する線分)等を識別可能に表示した画像を出力することもできる。なお、各ワーク5の認識において、3次元モデルデータとの照合は必須ではなく、モデルデータを用いない(いわゆるモデルレス)認識も適用可能であることは、前述のとおりである。例えば、ワーク5を収納容器6からピックアップする場合、収納容器6内のワーク5の位置姿勢認識結果に基づいて、収納容器6からピックアップされるワーク5が決定される。また、例えば、ワーク5を収容容器7にプレイスする場合、収納容器7内のワーク5の位置姿勢認識結果に基づいて、収容容器7内の空き領域(即ち、ワーク5が置かれていない領域)が決定される。そして、収容容器7に置かれているワーク5との干渉を避けるように、収容容器7内の空き領域のうちどの領域(位置)にワーク5がプレイスされるのかが決定される。
(6)次回把持するワークの決定処理及び次回プレイスするワークの置き場所の決定処理
 例えば、ワーク5を収納容器6からピックアップする場合、(3)のワークの把持・移動・解放処理を行っている間に、ワーク5の位置姿勢認識結果に基づいて、例えば、複数のワーク5の各々について、各認識結果の信頼度(精度)を適宜の手法で評価する。その結果から、例えば、信頼度が所定の閾値よりも高いワーク5をハンド2による次回の把持候補のワーク5として選定する。信頼度の評価手法としては、例えば、ワーク5の位置姿勢認識結果から、ワーク5の3次元形状の特徴量を抽出し、それに基づいて、3次元モデルデータとの合致度や類似度を表す指標を算出する方法等が挙げられる。さらに、把持候補として選定されたワーク5について、その位置姿勢認識結果に基づいて、ハンド2がそのワーク5を把持する際のハンド2の把持姿勢を、所定の算出パラメータを用いて算出する。そして、例えば、ハンド2による把持が可能なワーク5の中から、ランダムに、或いは、必要に応じて、ハンド2がそれらの各ワーク5を把持する際の容易性(把持容易性)等を評価し、その結果に基づいて、次回の動作サイクルにおいて把持するワーク5を決定する。なお、認識結果の信頼度と把持容易性は、必ずしも対応(合致)せず、例えば、より低い信頼度を示すワーク5の方が、より高い信頼度を示すワーク5よりも、把持容易性が高い(把持し易い)こともある。また、例えば、ワーク5を収容容器7にプレイスする場合、収容容器7内にワーク5がプレイスされる領域(位置)とその順番とを、デフォルトの配置規則として予め定めておいてもよい。そして、デフォルトの配置規則通りにワーク5を収容容器7内の空き領域にプレイスしても、収容容器7に置かれているワーク5との干渉が生じない場合には、デフォルトの配置規則通りにワーク5を収容容器7内の空き領域にプレイスしてもよい。デフォルトの配置規則通りにワーク5を収容容器7内の空き領域にプレイスすると、収容容器7に置かれているワーク5との干渉が生じる場合には、収容容器7に置かれているワーク5との干渉が生じないように、デフォルトの配置規則により定められる領域(位置)とは異なる領域(位置)にワーク5をプレイスしてもよい。このようにして、収容容器7内に置かれているワーク5の位置情報に基づいて、ハンド2によって収容容器7内にプレイスされるワーク5の目標位置が決定される。
(7)センサの計測経路決定処理(次回の動作サイクル)
 (3)のワークの把持・移動・解放処理を行っている間に、次回の動作サイクルにおいて収容容器6内で把持するワーク5の位置及び/又は収容容器7内にプレイスするワーク5の目標位置を考慮しつつ、(1)のセンサの位置姿勢生成処理で設定されたセンサ1の位置姿勢に基づいて、次回(以降)の動作サイクルにおけるセンサ1の計測経路、及び、その計測経路を含む移動経路を設定する。この場合の計測経路は、前回の計測経路と同じでも異なっていてもよい。
 以上のとおり、センサ1、ハンド2、ロボットアーム3、制御装置4、ロボット10、ロボットシステム100は、それぞれ、本発明に係る「センサ」、「ハンド」、「ロボットアーム」、「制御装置」、「ロボット」、及び「ロボットシステム」の一例に相当する。また、ワーク5は、本発明に係る「対象物」の一例に相当する。またさらに、制御装置4は、本発明に係る「位置姿勢生成部」、「計測経路決定部」、「指令部」、及び「認識部」のそれぞれの一例にも相当する。
 以上のことから、本実施形態の制御装置4、及び、それを備えるロボットシステム100によれば、生成された少なくとも1つの位置姿勢を経由するセンサ1の計測経路が設定される。また、その計測経路を含む移動経路P1,P2の何れか、又は、移動経路P1,P2の両方に沿ってセンサ1が移動し、その間に、設定された位置姿勢において、センサ1によるワーク5の3次元計測が行われるとともに、次回(以降)の動作サイクルにおける計測経路が決定される。従って、センサ1の位置姿勢、及び、それらを経由する計測経路の設定を、例えば、ばら積み等されたワーク5の情報やワーク5を含む計測領域の状況等に応じて(それらを考慮して)実施することができる。よって、収納容器6内にワーク5が未だ残っている場合でも、例えば、ワーク5に対してセンサ1を固定して各動作サイクルで同じ視野で計測する場合に比して、ワーク5の認識をより確実に行うことができる。これにより、ワーク5を例えば収納容器6から取り出す処理が中断されてしまうことを抑止することができるので、ワーク5の計測時におけるロバスト性、ワーク5の操作の作業効率、及び、全体のスループットを向上させることができる。
 §2 構成例
 [ハードウェア構成]
 次に、図3を用いて、本実施形態に係るロボットシステム100のハードウェア構成の一例について説明する。図3は、本実施形態に係る制御装置4を備えるロボットシステム100のハードウェアの構成の一例を模式的に示す平面図である。図3の例でも、ロボットシステム100は、図1及び図2に例示したセンサ1、ハンド2及びロボットアーム3を有するロボット10、並びに、制御装置4を備える。ここで、制御装置4は、制御演算部41、通信インタフェース(I/F)部42、記憶部43、入力部44、及び出力部45を含み、各部はバスライン46を介して相互に通信可能に接続され得る。
 制御演算部41は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、情報処理に応じて各構成要素の制御及び各種演算を行う。
 通信I/F部42は、例えば、有線又は無線により他の構成要素である「部」及び「装置」と通信するための通信モジュールである。通信I/F部42が通信に用いる通信方式は任意であり、例えば、LAN(Local Area Network)やUSB(Universal Serial Bus)等が挙げられ、バスライン46と同等の適宜の通信線を適用することもできる。センサ1、ハンド2、及びロボットアーム3ともに、通信I/F部42を介して、制御演算部41等と通信可能に設けることが可能である。
 記憶部43は、例えばハード・ディスク・ドライブ(HDD)、ソリッド・ステート・ドライブ(SSD)等の補助記憶装置であり、制御演算部41で実行される各種プログラム(前記(1)乃至(7)に示す処理を含む各種処理を実行するための演算プログラム、並びに、センサ1、ハンド2、及びロボットアーム3のそれぞれの動作の制御処理を行うための制御プログラム等)、センサ1から出力される計測データ、計測条件、認識パラメータ、及び種々の算出パラメータを含むデータベース、各種演算結果及び算出結果のデータ、複数のワーク5の各々の位置姿勢認識結果に関するデータ、各ワーク5のピッキング状況やピッキング記録に関するデータ、ワーク5の3次元モデルデータ、複数のワーク5を含み得る計測エリアに関するデータ、その計測エリアを計測するセンサ1の位置姿勢の設定データ等を記憶する。このとおり、記憶部43に記憶された演算プログラム及び制御プログラムが制御演算部41で実行されることにより、後述する機能構成例における各種処理機能が実現される。
 入力部44は、ロボットシステム100を利用するユーザからの各種入力操作を受け付けるためのインタフェースデバイスであり、例えば、マウス、キーボード、タッチパネル、音声マイク等で実現し得る。出力部45は、ロボットシステム100を利用するユーザ等へ、各種情報を、その表示、音声出力、印刷出力等により報知するためのインタフェースデバイスであり、例えば、ディスプレイ、スピーカ、プリンタ等で実現し得る。
 [機能構成]
 次に、図4を用いて、本実施形態に係る物体認識処理装置を備えるロボットシステム100の機能構成の一例を説明する。図4は、本実施形態に係る制御装置4を備えるロボットシステム100の機能構成の一例を模式的に示す平面図である。
 図4に示すロボットシステム100の制御演算部41は、記憶部43に記憶された各種プログラム(制御プログラム及び演算プログラム等)をRAMに展開する。そして、制御演算部41は、RAMに展開された各種プログラムをCPUにより解釈及び実行して、各構成要素を制御する。これにより、図3に例示の如く、本実施形態に係るロボットシステム100は、前記(1)乃至(7)に示す各処理を実行可能な機能部として、センサ制御部401、ハンド制御部402、ロボットアーム制御部403、センサ位置姿勢生成部410、経路決定部411、計測データ取得部420、モデルデータ取得部421、ワーク位置姿勢認識部422、ハンド把持姿勢生成部430、ハンド把持姿勢評価部431、及び、把持ワーク決定部440を備える構成を実現し得る。
 なお、本実施形態では、ロボットシステム100に備わる制御装置4で実現される各機能が汎用のCPUによって実現される例について説明したが、以上の機能の一部又は全部が、1つ又は複数の専用のプロセッサによって実現されてもよい。また、ロボットシステム100に備わる制御装置4の機能構成は、実施形態や構成例に応じて、適宜、機能の省略、置換、及び追加が行われてももちろんよい。また、「制御装置」とは、一般的な情報処理装置(例えば、コンピュータ、ワークステーション等)と解することができる。
 §3 動作例
 次に、図5を用いて、ロボットシステム100の動作の一例について説明する。図5は、本実施形態に係る制御装置4を備えるロボットシステム100における処理手順の一例を示すフローチャートであり、ロボットシステム100の制御方法における処理手順の一例を示すフローチャートでもある。なお、以下で説明する処理手順は一例に過ぎず、各処理は、本開示の技術思想の範囲内において可能な限り変更されてよい。また、以下で説明する処理手順は、実施形態や各構成例に応じて、適宜、ステップの省略、置換、及び追加が可能である。
 (起動)
 まず、ロボットシステム100のユーザは、ロボットシステム100を起動し、各種プログラム(演算プログラム、制御プログラム等)を実行させる。それから、制御装置4における制御演算部41は、以下の処理手順に従って、センサ1、ハンド2、及びロボットアーム3のそれぞれの動作を制御し、且つ、制御装置4における各機能部による演算処理を行う。また、本実施形態では、以下の各ステップにおける処理に先立って、個々のステップで必要となる計測条件、認識パラメータ、及び種々の算出パラメータの初期値セットを、記憶部43から読み出し、センサ制御部401、センサ位置姿勢生成部410、経路決定部411ワーク位置姿勢認識部422、ハンド把持姿勢生成部430、及び、ハンド把持姿勢評価部431に適宜保持しておく。但し、かかる計測条件や種々のパラメータの読み出しは、各ステップの処理前であれば適宜のタイミングで行うことができる。
(ステップS501)
 ステップS501では、センサ位置姿勢生成部410は、センサ1による複数のワーク5の3次元計測を行うときのセンサ1の位置姿勢(センサ1の向き及び3次元座標)を生成する。ここでは、センサ1と、複数のワーク5を含む計測領域(例えば、複数のワーク5の収納容器6の内部領域)との相対的な幾何学的位置関係に基づいて、その計測領域の全てをカバーするような、固定された少なくとも1つの位置姿勢をいわば"静的に"設定する。このとおり、ステップS501は、前記適用例における「(1)センサの位置姿勢生成処理」に相当する。
 なお、センサ1と計測領域との相対的な幾何学的位置関係に基づかず、例えば、少なくとも1つ以上前の動作サイクルにおけるセンサ1による計測結果に基づいて、その計測領域の全てをカバーするような、固定された少なくとも1つの位置姿勢をいわば"静的に"設定してもよい。この場合、その計測結果としては、センサ1による複数のワーク5の計測データ又はそれらの認識結果が挙げられ、より具体的には、複数のワーク5のうち認識信頼度がより低いものの認識結果、ワーク5を認識できていない点群データ、ワーク5の欠落データ、ワーク5間の不連続形状、及び、複数のワーク5がばら積みされた状態におけるより高い位置を示すワーク5のデータの少なくとも何れかが挙げられる。
 ここで、図6は、本実施形態に係るセンサ1の位置姿勢及び計測経路の一例を模式的に示す斜視図である。この例では、センサ1の視野が、複数のワーク5を含み得る計測領域(収納容器6の内部領域等)以上である場合に、異なる複数(ここでは4つの例を図示する。)の位置姿勢61~64が生成される。図示の如く、この例では、向き及び3次元座標が異なる最大4方向から、ワーク5を含む計測領域の計測を行うことができる。
 また、図7は、図6に示すセンサ1の位置姿勢における3次元座標の設定方法の一例の概念を示す模式図であり、(A)は斜視図であり、(B)は上面図である。この例では、計測領域である収納容器6の仮想上面の中心を原点G0とする座標系を想定し、実質的な固定パラメータとして、例えば、原点G0とセンサ1の中心点G1との距離wを設定する。距離wは、例えば、センサ1が好適に機能する範囲の長さとすることができる。また、入力変数パラメータとしては、例えば、原点G0を基点とする垂線と、距離wを規定する仮想直線との内角α、原点G0を基点とする垂線とセンサ1の中心点G1との距離(中心点G1と点G2の距離)、及び、センサ1の位置姿勢の設定数nを挙げることができる。この場合、図6に示す位置姿勢の設定例では、図7(A)及び(B)に示すようなセンサ1と計測領域の幾何学的位置関係から、例えば、位置姿勢63の(x,y,z)座標は(r,0,h)で表され、位置姿勢64の(x,y,z)座標は(cosβ・r,sinβ・r,h)で表される。この場合、r=sinα・wであり、h=cosα・wであり、β=2π/nとなる。さらに、かかるセンサ1の位置姿勢の3次元座標に加え、センサ1の向きが変動パラメータになり得る(図6及び図7の例では、計測領域の中心である原点G0を指向する向きを想定)。
 さらに、図8は、本実施形態に係るセンサ1の位置姿勢及び計測経路の他の一例を模式的に示す斜視図である。この例では、センサ1の視野が、ワーク5を含む計測領域(収納容器6の内部領域等)よりも小さい場合に、異なる複数(ここでは8つの例を図示する。)の位置姿勢81~88が生成される。図示の如く、この例では、向き及び3次元座標が異なる最大8方向から、ワーク5を含む計測領域の計測を行うことができる。
(ステップS502)
 ステップS502では、経路決定部411は、初回の動作サイクルにおいて、先に生成されたセンサ1の位置姿勢61~64を経由して移動し、且つ、各位置姿勢61~64においてワーク5の3次元計測を行うための計測経路を決定する。より具体的に、例えば、まず、隣り合う2つの位置姿勢を結ぶ単位経路を画定し、次に、適宜の順序でそれらの単位経路を繋ぐようにして、1つの統合的な計測経路を設定することができる。
 例えば、図6の例では、センサ1の位置姿勢61~64のうち隣接する位置姿勢間を結ぶ単位経路M1~M4を画定し、それらを反時計回りに移動する統合的な計測経路M1→M2→M3→M4を設定することができる。また、図8の例では、センサ1の位置姿勢81~88のうち隣接する位置姿勢間を結ぶ単位経路M1~M8を画定し、それらを反時計回りに移動する統合的な計測経路M1→M2→M3→M4→M5→M6→M7→M8を設定することができる。但し、単位経路や計測経路を設定する方法(戦略)は、図6や図8に示す例に限定されず、隣接していない位置姿勢間を結んでもよいし、周回方向や単位経路を結ぶ順序も任意であり、また、ランダムに設定することもできる。
 さらに、ステップS502では、決定された計測経路を含み、且つ、把持対象のワーク5をハンド2で把持して収納容器6から他の収納容器7へ移載し、そのハンド2を収納容器6側へ移動して戻す際の移動経路P1,P2を決定する。このとおり、ステップS502は、前記適用例における「(2)センサの位置姿勢生成処理(初回の動作サイクル)」に相当する。
(ステップS503)
 ステップS503では、ロボットアーム制御部403は、収納容器6内にばら積みされたワーク5のうち、把持対象のワーク5への移動経路P1に基づいて、ロボットアーム3を作動させ、ハンド2を、適宜設定されたワーク5の把持姿勢まで移動する。それから、ハンド制御部402は、その把持姿勢に基づいて、ハンド2を作動させ、把持対象のワーク5を把持する。さらに、ロボットアーム制御部403及びハンド制御部402は、把持したワーク5を収納容器6からピックアップし、移動経路P1に従って、他の収納容器7へ移動し、目的位置でワーク5の把持を解放してドロップし、整列配置する。このとおり、ステップS503は、前記適用例における「(3)ワークの把持・移動・解放処理」に相当する。
(ステップS504)
 ステップS504では、ステップS503のワーク5の把持・移動・解放処理を行っている間に、センサ制御部401は、計測経路内に設定された位置姿勢において、センサ1を作動させ、計測条件の初期値セットを用いて、ワーク5を計測し、ワーク5の3次元位置情報を含む計測データを取得する。このワーク5の3次元計測は、ハンド2がワーク5を保持して収納容器6側から離れて他の収納容器7側へ移動する間(移動経路P1)、及び、ハンド2からワーク5を解放して他の収納容器7側から収納容器6へ接近する間(移動経路P2)の何れでもよい。計測条件としては、例えば、露光時間、照明照度、及び計測位置(例えば、ワーク5に対するセンサ1の相対的な3次元位置又は姿勢(光軸の向き))の他、適用される計測方式において設定される各種条件が挙げられる。そして、センサ1は、ワーク5の計測データとして、例えば3次元点群データ(ポイントクラウドデータ)や距離画像等に加え、必要に応じて例えば輝度画像等を計測データ取得部420へ出力する。このとおり、ステップS504は、前記適用例における「(4)ワークの3次元計測処理」に相当する。
(ステップS505)
 ステップS505では、ステップS504のワークの3次元計測処理の前後の適宜のタイミングで、モデルデータ取得部421が、予め作成されたワーク5の3次元形状を表す3次元モデルデータ(3次元CADモデルデータ)、3次元マッチングで使用可能なテンプレートやモデルパターンを取得し、それらを記憶部43に記憶する。また、ワーク位置姿勢認識部422は、ワーク5の計測データからワーク5の3次元形状を示す特徴点を抽出し、ワーク5の3次元モデルデータにおいて対応する特徴点又は特徴パターンと、所定の探索領域において照合する3次元マッチングを行う。さらに、ワーク位置姿勢認識部422は、ワーク5の位置姿勢の認識パラメータの初期値セットを用いて、個々のワーク5の位置姿勢を認識する。ワーク5の位置姿勢の出力データとしては、例えば、ワーク5の3次元座標(x,y,z)及び3次元軸まわりの回転角度(rx,ry,rz)が挙げられる。また、ワーク位置姿勢認識部422は、必要に応じて位置姿勢が検出されたワーク5の数を算出し、それらの認識結果及び算出結果を記憶部43に記憶する。
 ワーク5の位置姿勢の認識パラメータとしては、例えば、位置姿勢認識におけるワーク5の検出に関する閾値等が挙げられ、より具体的には、ワーク5の3次元モデルデータとワーク5の計測データとの3次元マッチングの閾値等を例示することができる。さらに、ワーク位置姿勢認識部422は、検出された各ワーク5の位置姿勢認識結果を記憶部43に記憶する。
 さらに、ワーク位置姿勢認識部422は、ワーク5の位置姿勢認識結果に基づいて、例えば、認識された各ワーク5の認識結果の信頼度(精度)を適宜の手法で評価する。その結果から、例えば、信頼度が所定の閾値よりも高いワーク5をハンド2による次回の把持候補のワーク5として選定する。信頼度の評価手法としては、例えば、ワーク5の位置姿勢認識結果から、ワーク5の3次元形状の特徴量を抽出し、それに基づいて、3次元モデルデータとの合致度や類似度を表す指標を算出する方法等が挙げられる。
 次に、ハンド把持姿勢生成部430は、把持対象として決定されたワーク5を把持する際のハンド2の把持姿勢の算出パラメータの初期値セットを用いて、且つ、ワーク5の位置姿勢認識結果に基づいて、ハンド2によるそのワーク5の把持姿勢を算出する。ハンド2によるワーク5の把持姿勢の算出パラメータとしては、例えば、把持姿勢算出における閾値等が挙げられる。そして、ハンド把持姿勢評価部431は、例えば、ハンド2による把持が可能なワーク5の中から、ランダムに、或いは、必要に応じて、ハンド2が各ワーク5を把持する際の容易性等を評価し、把持ワーク決定部420は、その結果に基づいて、次回の動作サイクルにおいて把持するワーク5を決定する。このとおり、ステップS505は、前記適用例における「(5)ワークの位置姿勢認識処理」及び「(6)次回把持するワークの決定処理」に相当する。
(ステップS506)
 ステップS506では、ステップS503のワークの把持・移動・解放処理を行っている間に、次回の動作サイクルにおいて把持するワーク5の位置を考慮しつつ、ステップS501のセンサの位置姿勢生成処理で設定されたセンサ1の位置姿勢に基づいて、次回(以降)の動作サイクルにおけるセンサ1の計測経路、及び、その計測経路を含む移動経路を設定する。この場合の計測経路は、図6や図8に示す前回の計測経路と同じ経路でもよいし、図6や図8に示す単位経路M1~M8を組み合わせる順序を変更して作成した経路でもよい。このとおり、ステップS506は、前記適用例における「(7)センサの計測経路決定処理(次回の動作サイクル)」に相当する。
(ステップS507)
 それから、ステップS507において、ワーク5の位置姿勢認識結果から、収納容器6内にワーク5が未だ残存していると判断(Yes)された場合には、処理をステップS503へ戻入し、次回(以)の動作サイクル(すなわちステップS503~S506)を繰り返し実施し、収納容器6内にワーク5が残存してないと判断(No)された場合には、その収納容器6に対する処理を終了する。
 §4 作用・効果
 以上のとおり、本実施形態に係るロボットシステム100の制御装置4、及び、それを用いた制御方法の一例によれば、センサ1に対して生成された位置姿勢61~64,81~88等を経由するセンサ1の計測経路が設定される。また、その計測経路を含む移動経路P1,P2に沿ってセンサ1が移動し、その間に、設定された位置姿勢61~64,81~88において、センサ1によるワーク5の3次元計測による位置姿勢認識が行われるとともに、次回(以降)の動作サイクルにおける計測経路が決定される。従って、収納容器6内にワーク5が未だ残っている場合でも、例えば、ワーク5に対してセンサ1を固定して各動作サイクルで同じ視野で計測する場合に比して、ワーク5の認識をより確実に行うことができる。これにより、ワーク5を例えば収納容器6から取り出す処理が中断されてしまうことを抑止することができるので、ワーク5の計測時におけるロバスト性、、ワーク5の操作の作業効率、及び、全体のスループットを向上させることができる。
 また、センサ1と、ワーク5を含む計測領域(例えば、ワーク5の収納容器6の内部領域)との相対的な幾何学的位置関係に基づいて、センサ1の位置姿勢61~64,81~88が、その計測領域の全てをカバーするように設定される。よって、次回(以降)の動作サイクルにおいても、計測領域を確実にカバーできる計測経路を設定することができ、ワーク5の認識精度を高めて、ワーク5の認識漏れを抑止することができる。さらに、移動経路P1,P2の何れにおいても、ワーク5の3次元計測を行うことができるので、次回(以降)の動作サイクルにおける計測経路の設定における柔軟性及び汎用性を高めることができる。
 なお、図5に示すフローチャートは、ワーク5を収納容器6からピックアップする場合の処理手順を示すものであり、その処理手順は、適用例における「(1)センサの位置姿勢生成処理」、「(2)センサの計測経路決定処理(初回の動作サイクル)」、「(3)ワークの把持・移動・解放処理」、「(4)ワークの3次元計測処理」、「(5)ワークの位置姿勢認識処理」、「(6)次回把持するワークの決定処理」、及び「(7)センサの計測経路決定処理(次回の動作サイクル)」に対応している。
 ワーク5を収容容器7にプレイスする場合の処理手順についても、図5に示すフローチャートと同様の流れで処理を行ってもよい。この場合、ワーク5を収容容器7にプレイスする場合の処理手順は、適用例における「(1)センサの位置姿勢生成処理」、「(2)センサの計測経路決定処理(初回の動作サイクル)」、「(3)ワークの把持・移動・解放処理」、「(4)ワークの3次元計測処理」、「(5)ワークの位置姿勢認識処理」、「(6)次回プレイスするワークの置き場所の決定処理」、及び「(7)センサの計測経路決定処理(次回の動作サイクル)」に対応している。
 但し、ワーク5を収納容器6からピックアップする場合の処理手順は、収納容器6からピックアップされるべきワーク5を決定することを目的として、収納容器6内の複数のワーク5の積載状況及び各ワーク5の位置姿勢を認識するために実行されるものであるのに対し、ワーク5を収容容器7にプレイスする場合の処理手順は、収容容器7内の空き領域(即ち、ワーク5が置かれていない領域)のうちどの領域(位置)にワーク5をプレイスするべきかを決定することを目的として、収納容器7内の複数のワーク5の積載状況及び各ワーク5の位置姿勢を認識するために実行されるものである点で両者は相違する。このような相違点に鑑み、図5に示すフローチャートの複数のステップのうち一部のステップでは、ワーク5を収納容器6からピックアップする場合の処理手順とは異なる手順で、ワーク5を収容容器7にプレイスする場合の処理手順が実行される。
 例えば、ワーク5を収納容器6からピックアップする場合の処理手順では、ステップS504において、収容容器6内のワーク5の3次元計測を行っているが、ワーク5を収容容器7にプレイスする場合の処理手順では、ステップS504に対応するステップにおいて、収容容器7内のワーク5の3次元計測を行う。収容容器7内のワーク5の3次元計測は、ワーク5を収容容器7内にプレイスする前の段階(即ち、センサ1が移動経路P1上に位置している間)で行ってもよく、或いは、ワーク5を収容容器7にプレイスした後の段階(即ち、センサ1が移動経路P2上に位置している間)で行ってもよい。収容容器7内に積み上げられているワーク5の崩れの可能性を考慮に入れると、ワーク5を収容容器7にプレイスした後の段階でワーク5の3次元計測を行うのが望ましい。
 また、例えば、ワーク5を収納容器6からピックアップする場合の処理手順では、ステップS505において、次回の動作サイクルにおいて把持するワーク5を決定するが、ワーク5を収容容器7にプレイスする場合の処理手順では、ステップS505に対応するステップにおいて、ハンド2によってプレイスされるワーク5の目標位置を決定する。
 また、例えば、ワーク5を収納容器6からピックアップする場合の処理手順では、ステップS507において、収納容器6内にワーク5が未だ残存しているか否かを判定するが、ワーク5を収容容器7にプレイスする場合の処理手順では、ステップS507に対応するステップにおいて、収容容器7内にワーク5をプレイスする領域(目標位置)が残存しているか否かを判定する。
 §5 変形例
 以上、本開示の一例としての実施形態について詳細に説明してきたが、前述した説明はあらゆる点において本開示の一例を示すに過ぎず、本開示の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもなく、例えば、以下に示すような変更が可能である。なお、以下の説明においては、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、説明を適宜省略した。また、上記実施形態及び以下の各変形例は、適宜組み合わせて構成することが可能である。
 <5.1:第1変形例>
 図9は、第1変形例に係る制御装置を備えるロボットシステムにおける処理手順の一例を示すフローチャートである。第1変形例においても、図1~図4に示す実施形態に係る制御装置4を備えるロボットシステム100を適用することができる。第1変形例による処理手順の一例は、図5に示す前記動作例におけるステップS501に替えて、ステップS601を実施すること以外は図5に示す処理手順の一例と実質的に同等である。
 ステップS601では、ステップS501と同様に、まず、センサ位置姿勢生成部410が、センサ1によるワーク5の3次元計測を行うときのセンサ1の位置姿勢(センサ1の向き及び3次元座標)を生成する。ここでは、センサ1と、ワーク5を含む計測領域(例えば、ワーク5の収納容器6の内部領域)との相対的な幾何学的位置関係に基づいて、その計測領域の全てをカバーするような、固定された少なくとも1つの位置姿勢をいわば"静的に"設定する。次に、センサ位置姿勢生成部410は、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、生成された位置姿勢のなかから特定の位置姿勢を少なくとも1つ選択する。
 この場合、「所定の条件」としては、例えば、以前の動作サイクルにおけるワーク5の計測データ(例えば、認識されたワーク5の点群データ、距離画像等)、以前の動作サイクルにおけるワーク5の位置姿勢認識結果(例えば、認識されたワーク5の数、配置、位置姿勢等)、ロボットシステム100の構成(例えば、センサ1の視野、計測領域、及び、ワーク5の配置領域の相対的な幾何学的位置関係)等が挙げられる。また、「所定の計測戦略」としては、計測領域への対応性(計測領域をより広くカバー)、ワーク5の認識容易性(ワーク5のより容易な認識)、計測経路の効率性(例えば、計測経路の最短化)、ワーク5の認識信頼度(ワーク5の認識失敗時又は認識信頼度が低い場合)、及び、ワーク5の積層配置(ばら積みされたワーク5の把持の容易性)のうちの少なくとも1つを志向する戦略が挙げられる。計測経路の効率性とは、ワーク5の3次元計測をどの程度効率よく行えるかを示す指標値であり、例えば、ワーク5の3次元計測をより短時間で行える程、計測経路の効率性は高い。
 当該構成によれば、計測領域を全てカバーするように静的に設定されたセンサ1の位置姿勢61~64,81~88のなかから、例えば、認識されたワーク5の位置姿勢等に応じて、次回の動作サイクルにおけるワーク5の認識のためにより好適な特定の位置姿勢を選択することにより、センサ1の位置姿勢をいわば"動的に"設定し、それらに基づいて次回の動作サイクルにおける計測経路を設定することができる。これにより、ワーク5の計測時におけるロバスト性、計測効率、及び、ワーク5の操作における作業効率を更に向上させることができる。
 ここで、図10は、「所定の計測戦略」を概念的に示す図であり、(A)~(D)は上面図を示し、(E)は側断面図を示す。何れの図においても、図示向かって左の図(以下「左図」という。)が、前回の動作サイクルにおいて、ワーク5(5a,5b)を含む計測領域(収納容器6の内部)を、その動作サイクルにおけるセンサ1の位置姿勢に対応する計測視野V1で計測した状態を示する。また、図示向かって右の図(以下「右図」という。)が、次回の動作サイクルにおいて、ワーク5(5b)を含む計測領域(収納容器6の内部)を、その動作サイクルにおけるセンサ1の位置姿勢に対応する計測視野V2で計測する状態を示す。
 図10(A)は、計測領域への対応性に基づく計測戦略の一例であり、左図の計測視野V1で認識した4つのワーク5のうちワーク5a(黒塗り丸シンボル)を把持し、次回の動作サイクルでは、右図の計測視野V2により、残った3つのワーク5b(白抜き丸シンボル)を含む計測領域をより広くカバーするように、計測経路を決定する。これにより、計測領域をカバーし易くなるので、ワーク5の計測及び認識漏れを抑止し易くなる。
 図10(B)は、ワーク5の認識容易性に基づく計測戦略の一例であり、左図の計測視野V1で認識した4つのワーク5のうちワーク5aを把持し、次回の動作サイクルでは、残った3つのワーク5bの例えば重心を、右図の計測視野V2の中心に合致させるように、計測経路を決定する。これにより、ワーク5のより確実な認識がより容易になるので、残ったワーク5bの位置姿勢認識における信頼度を高めることができる。
 図10(C)は、計測経路の変更の容易性に基づく計測戦略の一例であり、左図の計測視野V1で認識した4つのワーク5のうちワーク5aを把持し、次回の動作サイクルでは、残った3つのワーク5bを再度計測しつつ、計測視野の変更距離が極力短くなる計測視野V2となるように、計測経路を決定する。これにより、残ったワーク5bの位置姿勢認識における信頼度を高めつつ、計測効率を向上させることができる。
 図10(D)は、ワーク5の認識信頼度に基づく計測戦略の一例であり、左図の計測視野V1で、ワーク5の認識に失敗したり、認識信頼度が低かったりした場合の例である。この場合、左図の計測データ(点群データ等)から、ワークがない場合の計測領域(収納容器6)の計測データ(幾何学的位置情報)をバックグラウンドとして差し引くことにより、計測領域に存在していると推察されるワーク5の点群データD1を検知する。そして、右図に示すように、その点群データD1の位置を含む異なる計測視野V2を含むように、計測経路が決定される。これにより、ワーク5の認識率を優位に高めることができる。
 図10(E)は、ワーク5の積層配置(把持容易性)に基づく計測戦略の一例であり、左図に示すようにワーク5が収納容器6内にばら積みされている場合、把持の容易性を考慮して、ばら積みされたワーク5のうち最上層に位置するワーク5が計測視野V2に含まれるように、計測経路を決定する。これにより、ワーク5の把持に成功する確率を優位に高めることができる。
 図9及び図10に関する上述の説明は、収容容器6からのワーク5の把持を成功させるための計測戦略の説明であるが、収容容器7へのワーク5のプレイスを成功させるための計測戦略についても、同様の戦略を適用することができる。例えば、収容容器6からのワーク5の把持を成功させるための「ワーク5の把持容易性」及び「ワーク5の認識容易性」を、収容容器7へのワーク5のプレイスを成功させるための「ワーク5のプレイス容易性」及び「ワーク5のプレイス位置の認識容易性」に、それぞれ置き換えることにより、収容容器7内に置かれているワーク5との干渉を回避しながら、収容容器7内の空き領域内にワーク5を置くための領域(目標位置)を見つける最適な計測戦略を選択することができる。
 <5.2:第2変形例>
 図11は、第2変形例に係る制御装置を備えるロボットシステムにおける処理手順の一例を示すフローチャートである。第2変形例においても、図1~図4に示す実施形態に係る制御装置4を備えるロボットシステム100を適用することができる。第2変形例による処理手順の一例は、図5に示す前記動作例におけるステップS501に替えて、ステップS701を実施すること以外は図5に示す処理手順の一例と実質的に同等である。
 ステップS701では、センサ位置姿勢生成部410が、センサ1によるワーク5の3次元計測を行うときのセンサ1の位置姿勢(センサ1の向き及び3次元座標)を生成する。ここでは、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、センサ1の少なくとも1つの位置姿勢をいわば"動的に"設定する。この場合、「所定の条件」及び「所定の計測戦略」は、第1変形例におけるものと同等のものを適用することができる。
 当該構成によれば、センサ1の位置姿勢として、予め固定された位置姿勢を設定することなく、例えば、認識されたワーク5の位置姿勢等に応じて、次回の動作サイクルにおけるワーク5の認識のためにより好適な位置姿勢をいわばより"動的に"設定し、それらに基づいて次回の動作サイクルにおける計測経路を設定することができる。これにより、ワーク5の計測時におけるロバスト性、計測効率、及び、ワーク5の操作における作業効率を更に向上させることができる。
 §6 付記
 以上説明した実施形態及び変形例は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態及び変形例が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態及び変形例で示した構成同士を部分的に置換し又は組み合わせることも可能である。また、上述の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限定されない。
(付記1)
 ロボットアーム(3)、及び、該ロボットアーム(3)の先端部に設けられ且つ対象物(5)を操作するハンド(2)を有するロボット(10)と、前記ロボットアーム(3)に設けられ且つ前記対象物(5)の位置情報を計測する計測装置(1)と、を備えるロボットシステム(100)の制御装置であって、
 前記対象物(5)の位置情報を計測するときの前記計測装置(1)の少なくとも1つの位置姿勢を生成する位置姿勢生成部(410)と、
 前記計測装置(1)が、前記少なくとも1つの位置姿勢の少なくとも一部を経由して移動し、且つ、各位置姿勢において前記対象物(5)の位置情報を計測するように、前記計測装置(1)の計測経路を決定する計測経路決定部(411)と、
 前記計測装置(1)を、前記計測経路を含む移動経路(P1,P2)に沿って移動させる処理を前記ロボットに指令し、且つ、前記計測装置(1)が、前記計測経路において経由する前記少なくとも1つの位置姿勢の少なくとも一部において、前記対象物(1)の位置情報を計測する処理を前記計測装置(1)に指令する指令部(401,402,403)と、
 前記計測装置(1)による計測データを用いて前記対象物(5)を認識する認識部(422)と、を備え、
 前記計測経路決定部(411)は、次回の動作サイクルにおける前記計測装置(1)の計測経路を決定する、制御装置(4)。
(付記2)
 前記位置姿勢生成部(410)は、前記計測装置(1)と前記対象物(5)を含む計測領域との相対的な幾何学的位置関係に基づいて、前記計測領域の全てをカバーするように、前記少なくとも1つの位置姿勢を予め生成し、
 前記計測経路決定部(411)は、前記計測装置(1)が、所定の順序で前記少なくとも1つの位置姿勢の全てを経由して移動するように、前記計測経路を決定する、
付記1記載の制御装置(4)。
(付記3)
 前記位置姿勢生成部(410)は、少なくとも1つ以上前の動作サイクルにおける前記計測装置(1)による計測結果に基づいて、前記少なくとも1つの位置姿勢を予め生成し、
 前記計測経路決定部(411)は、前記計測装置(1)が、所定の順序で前記少なくとも1つの位置姿勢の全てを経由して移動するように、前記計測経路を決定する、付記1記載の制御装置(4)。
(付記4)
 前記計測結果が、前記計測装置(1)による前記対象物(5)の計測データ又は前記対象物(5)の認識結果である、
付記3記載の制御装置(4)。
(付記5)
 前記計測データ又は前記認識結果が、前記対象物(5)の認識信頼度が低い認識結果、前記対象物(2)を認識できていない点群データ、欠落データ、不連続形状、及び、前記対象物(5)の積層配置における高い位置を示すデータの少なくとも何れかである、
付記4記載の制御装置(4)。
(付記6)
 前記位置姿勢生成部(410)は、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、前記少なくとも1つの位置姿勢から特定の位置姿勢を選択し、
 前記計測経路決定部(411)は、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、前記計測装置(1)が、所定の順序で前記特定の位置姿勢の少なくとも一部を経由して移動するように、前記計測経路を決定する、
付記2乃至5の何れか記載の制御装置(4)。
(付記7)
 前記位置姿勢生成部(410)は、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、前記少なくとも1つの位置姿勢を生成し、
 前記計測経路決定部(411)は、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、前記計測装置(1)が、所定の順序で前記少なくとも1つの位置姿勢の少なくとも一部を経由して移動するように、前記計測経路を決定する、
付記1乃至5の何れか記載の制御装置(4)。
(付記8)
 前記所定の条件が、以前の動作サイクルにおける対象物(5)の計測データ、以前の動作サイクルにおける対象物(5)の認識結果、及び、前記ロボットシステム(100)の構成のうち少なくとも1つである、
付記6又は7記載の制御装置(4)。
(付記9)
 前記所定の計測戦略が、計測領域への対応性、対象物(5)の認識容易性、計測経路の効率性、対象物(5)の認識信頼度、及び、対象物(5)の積層配置のうちの少なくとも1つを志向する戦略である、
付記6乃至8の何れか記載の制御装置(4)。
(付記10)
 前記指令部(401)は、1つの動作サイクルにおいて、前記ハンド(2)が前記対象物(5)を把持して移動するときに、及び/又は、前記ハンド(2)が前記対象物(5)を把持するために移動するときに、前記少なくとも1つの位置姿勢において前記対象物(5)の位置情報を計測する処理を、前記計測装置(1)に指令する、
付記1乃至9の何れか記載の制御装置(4)。
(付記11)
 ロボットアーム(3)、及び、該ロボットアーム(3)の先端部に設けられ且つ対象物(5)を操作するハンド(2)と有するロボット(10)と、前記ロボットアーム(3)に設けられ且つ前記対象物(5)の位置情報を計測するする計測装置(1)と、を備えるロボットシステム(100)の制御方法であって、
 位置姿勢生成部(410)が、前記対象物(5)の位置情報を計測するときの前記計測装置(1)の少なくとも1つの位置姿勢を生成するステップと、
 計測経路決定部(411)が、前記計測装置(1)が、前記少なくとも1つの位置姿勢を経由して移動し、且つ、各位置姿勢において前記対象物(5)の位置情報を計測するように、前記計測装置(1)の計測経路を決定するステップと、
 指令部(401,402,403)が、前記計測装置(1)を、前記計測経路を含む移動経路(P1,P2)に沿って移動させる処理を前記ロボットに指令し、且つ、前記計測装置(1)が、前記計測経路において経由する前記少なくとも1つの位置姿勢の少なくとも一部において、前記対象物(5)の位置情報を計測する処理を前記計測装置(1)に指令するステップと、
 認識部(422)が、前記計測装置による計測データを用いて前記対象物(5)を認識するステップと、
 前記計測経路決定部(411)が、前記計測装置(1)が前記移動経路(P1,P2)を移動しているときに、次回の動作サイクルにおける前記計測装置(1)の計測経路を決定するステップと、を含む制御方法。
(付記12)
 コンピュータ(4)を、
 ロボットアーム(3)、及び、該ロボットアーム(3)の先端部に設けられ且つ対象物(5)を操作するハンド(2)を有するロボット(10)と、前記ロボットアーム(3)に設けられ且つ前記対象物(5)の位置情報を計測する計測装置(1)と、を備えるロボットシステム(100)の制御装置(4)であって、
  前記対象物(5)の位置情報を計測するときの前記計測装置(1)の少なくとも1つの位置姿勢を生成する位置姿勢生成部(410)と、
  前記計測装置(1)が、前記少なくとも1つの位置姿勢を経由して移動し、且つ、各位置姿勢において前記対象物(5)の位置情報を計測するように、前記計測装置(1)の計測経路を決定する計測経路決定部(411)と、
  前記計測装置(1)を、前記計測経路を含む移動経路(P1,P2)に沿って移動させる処理を前記ロボットに指令し、且つ、前記計測装置(1)が、前記計測経路において経由する前記少なくとも1つの位置姿勢の少なくとも一部において、前記対象物(5)の位置情報を計測する処理を前記計測装置(1)に指令する指令部(401,402,403)と、
  前記計測装置(1)による計測データを用いて前記対象物(5)を認識する認識部(422)と、
 を備える制御装置(4)として機能させ、
 前記計測経路決定部(411)は、前記計測装置(1)が前記移動経路(P1,P2)を移動しているときに、次回の動作サイクルにおける前記計測装置(1)の計測経路を決定する、コンピュータ制御プログラム。
(付記13)
 ロボットアーム(3)、及び、該ロボットアーム(3)の先端部に設けられ且つ対象物(5)を操作するハンド(2)を有するロボット(10)と、
 前記ロボットアーム(3)に設けられ且つ前記対象物(5)の位置情報を計測する計測装置(1)と、
 前記ロボット(10)及び前記計測装置(1)に接続された制御装置(4)と、
を備え、
 前記制御装置(4)は、
  前記対象物(5)の位置情報を計測するときの前記計測装置(1)の少なくとも1つの位置姿勢を生成する位置姿勢生成部(410)と、
  前記計測装置(1)が、前記少なくとも1つの位置姿勢の少なくとも一部を経由して移動し、且つ、各位置姿勢において前記対象物(5)の位置情報を計測するように、前記計測装置(1)の計測経路を決定する計測経路決定部(411)と、
  前記計測装置(1)を、前記計測経路を含む移動経路(P1,P2)に従って移動させる処理を前記ロボットに指令し、且つ、前記計測装置(1)が、前記計測経路において経由する前記少なくとも1つの位置姿勢の少なくとも一部において、前記対象物(5)の位置情報を計測する処理を前記計測装置(1)に指令する指令部(401,402,403)と、
  前記計測装置(1)による計測データを用いて前記対象物(5)を認識する認識部(422)と、
 を有し、
 前記計測経路決定部(411)は、前記計測装置(1)が前記移動経路(P1,P2)を移動しているときに、次回の動作サイクルにおける前記計測装置(1)の計測経路を決定する、ロボットシステム。
 1…センサ(計測装置)、2…ハンド、3…ロボットアーム、4…制御装置、5,5a,5b…ワーク、6,7…収納容器、10…ロボット、41…制御演算部、42…通信I/F部、42…通信インタフェース(I/F)部、43…記憶部、44…入力部、45…出力部、46…バスライン、61~64,81~88…位置姿勢、100…ロボットシステム、401…センサ制御部、402…ハンド制御部、403…ロボットアーム制御部、410…センサ位置姿勢生成部、411…経路決定部、420…計測データ取得部、421…モデルデータ取得部、422…ワーク位置姿勢認識部、430…ハンド把持姿勢生成部、431…ハンド把持姿勢評価部、440…把持ワーク決定部、D1…点群データ、M1~M8…単位経路、P1,P2…移動経路、V1,V2…計測視野。

Claims (15)

  1.  ロボットアーム、及び、該ロボットアームの先端部に設けられ且つ対象物を操作するハンドを有するロボットと、前記ロボットアームに設けられ且つ前記対象物の位置情報を計測する計測装置と、を備えるロボットシステムの制御装置であって、
     前記対象物の位置情報を計測するときの前記計測装置の少なくとも1つの位置姿勢を生成する位置姿勢生成部と、
     前記計測装置が、前記少なくとも1つの位置姿勢の少なくとも一部を経由して移動し、且つ、各位置姿勢において前記対象物の位置情報を計測するように、前記計測装置の計測経路を決定する計測経路決定部と、
     前記計測装置を、前記計測経路を含む移動経路に沿って移動させる処理を前記ロボットに指令し、且つ、前記計測装置が、前記計測経路において経由する前記少なくとも1つの位置姿勢の少なくとも一部において、前記対象物の位置情報を計測する処理を前記計測装置に指令する指令部と、
     前記計測装置による計測データを用いて前記対象物を認識する認識部と、
    を備え、
     前記計測経路決定部は、次回の動作サイクルにおける前記計測装置の計測経路を決定する、制御装置。
  2.  前記位置姿勢生成部は、前記計測装置と前記対象物を含む計測領域との相対的な幾何学的位置関係に基づいて、前記計測領域の全てをカバーするように、前記少なくとも1つの位置姿勢を予め生成し、
     前記計測経路決定部は、前記計測装置が、所定の順序で前記少なくとも1つの位置姿勢の全てを経由して移動するように、前記計測経路を決定する、請求項1記載の制御装置。
  3.  前記位置姿勢生成部は、少なくとも1つ以上前の動作サイクルにおける前記計測装置による計測結果に基づいて、前記少なくとも1つの位置姿勢を予め生成し、
     前記計測経路決定部は、前記計測装置が、所定の順序で前記少なくとも1つの位置姿勢
    の全てを経由して移動するように、前記計測経路を決定する、請求項1記載の制御装置。
  4.  前記計測結果が、前記計測装置による前記対象物の計測データ又は前記対象物の認識結果である、請求項3記載の制御装置。
  5.  前記計測データ又は前記認識結果が、前記対象物の認識信頼度が低い認識結果、前記対象物を認識できていない点群データ、欠落データ、不連続形状、及び、前記対象物の積層配置における高い位置を示すデータの少なくとも何れかである、請求項4記載の制御装置。
  6.  前記位置姿勢生成部は、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、前記少なくとも1つの位置姿勢から特定の位置姿勢を選択し、
     前記計測経路決定部は、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、前記計測装置が、所定の順序で前記特定の位置姿勢の少なくとも一部を経由して移動するように、前記計測経路を決定する、請求項2乃至5の何れか記載の制御装置。
  7.  前記位置姿勢生成部は、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、前記少なくとも1つの位置姿勢を生成し、
     前記計測経路決定部は、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、前記計測装置が、所定の順序で前記少なくとも1つの位置姿勢の少なくとも一部を経由して移動するように、前記計測経路を決定する、請求項1乃至5の何れか記載の制御装置。
  8.  前記所定の条件が、以前の動作サイクルにおける対象物の計測データ、以前の動作サイクルにおける対象物の認識結果、及び、前記ロボットシステムの構成のうち少なくとも1つである、請求項6又は7記載の制御装置。
  9.  前記所定の計測戦略が、計測領域への対応性、対象物の認識容易性、計測経路の効率性、対象物の認識信頼度、及び、対象物の積層配置のうちの少なくとも1つを志向する戦略である、請求項6乃至8の何れか記載の制御装置。
  10.  前記指令部は、1つの動作サイクルにおいて、前記ハンドが前記対象物を把持して移動するときに、及び/又は、前記ハンドが前記対象物を把持するために移動するときに、前記少なくとも1つの位置姿勢において前記対象物の位置情報を計測する計測する処理を、前記計測装置に指示する、請求項1乃至9の何れかに記載の制御装置。
  11.  前記対象物の位置情報に基づいて、前記ハンドによって把持される対象物を決定する決定部を更に備える、請求項1乃至10の何れかに記載の制御装置。
  12.  前記対象物の位置情報に基づいて、前記ハンドによってプレイスされる対象物の目標位置を決定する決定部を更に備える、請求項1乃至10の何れかに記載の制御装置。
  13.  ロボットアーム、及び、該ロボットアームの先端部に設けられ且つ対象物を操作するハンドを有するロボットと、前記ロボットアームに設けられ且つ前記対象物の位置情報を計測する計測装置と、を備えるロボットシステムの制御方法であって、
     位置姿勢生成部が、前記対象物の位置情報を計測するときの前記計測装置の少なくとも1つの位置姿勢を生成するステップと、
     計測経路決定部が、前記計測装置が、前記少なくとも1つの位置姿勢を経由して移動し、且つ、各位置姿勢において前記対象物の位置情報を計測するように、前記計測装置の計測経路を決定するステップと、
     指令部が、前記計測装置を、前記計測経路を含む移動経路に沿って移動させる処理を前記ロボットに指令し、且つ、前記計測装置が、前記計測経路において経由する前記少なくとも1つの位置姿勢の少なくとも一部において、前記対象物の位置情報を計測する処理を前記計測装置に指令するステップと、
     認識部が、前記計測装置による計測データを用いて前記対象物を認識するステップと、 前記計測経路決定部が、次回の動作サイクルにおける前記計測装置の計測経路を決定するステップと、を含む制御方法。
  14.  コンピュータを、
     ロボットアーム、及び、該ロボットアームの先端部に設けられ且つ対象物を操作するハンドを有するロボットと、前記ロボットアームに設けられ且つ前記対象物の位置情報を計測する計測装置と、を備えるロボットシステムの制御装置であって、
      前記対象物の位置情報を計測するときの前記計測装置の少なくとも1つの位置姿勢を生成する位置姿勢生成部と、
      前記計測装置が、前記少なくとも1つの位置姿勢を経由して移動し、且つ、各位置姿勢において前記対象物の位置情報を計測するように、前記計測装置の計測経路を決定する計測経路決定部と、
      前記計測装置を、前記計測経路を含む移動経路に沿って移動させる処理を前記ロボットに指令し、且つ、前記計測装置が、前記計測経路において経由する前記少なくとも1つの位置姿勢の少なくとも一部において、前記対象物の位置情報を計測する処理を前記計測装置に指令する指令部と、
      前記計測装置による計測データを用いて前記対象物を認識する認識部と、
     を備える制御装置として機能させ、
     前記計測経路決定部は、次回の動作サイクルにおける前記計測装置の計測経路を決定する、コンピュータ制御プログラム。
  15.  ロボットアーム、及び、該ロボットアームの先端部に設けられ且つ対象物を操作するハンドを有するロボットと、
     前記ロボットアームに設けられ且つ前記対象物の位置情報を計測する計測装置と、
     前記ロボット及び前記計測装置に接続された制御装置と、
    を備え、
     前記制御装置は、
      前記対象物の位置情報を計測するときの前記計測装置の少なくとも1つの位置姿勢を生成する位置姿勢生成部と、
      前記計測装置が、前記少なくとも1つの位置姿勢の少なくとも一部を経由して移動し、且つ、各位置姿勢において前記対象物の位置情報を計測するように、前記計測装置の計測経路を決定する計測経路決定部と、
      前記計測装置を、前記計測経路を含む移動経路に従って移動させる処理を前記ロボットに指令し、且つ、前記計測装置が、前記計測経路において経由する前記少なくとも1つの位置姿勢の少なくとも一部において、前記対象物の位置情報を計測する処理を前記計測装置に指令する指令部と、
      前記計測装置による計測データを用いて前記対象物を認識する認識部と、
     を有し、
     前記計測経路決定部は、次回の動作サイクルにおける前記計測装置の計測経路を決定する、ロボットシステム。
PCT/JP2020/047594 2020-01-23 2020-12-21 ロボットシステムの制御装置、ロボットシステムの制御方法、コンピュータ制御プログラム、及びロボットシステム WO2021149429A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/788,772 US20230030852A1 (en) 2020-01-23 2020-12-21 Control apparatus for robotic system, control method for robotic system, computer-readable storage medium storing a computer control program, and robotic system
EP20915545.6A EP4094904A4 (en) 2020-01-23 2020-12-21 ROBOT SYSTEM CONTROL DEVICE, ROBOT SYSTEM CONTROL METHOD, COMPUTER CONTROL PROGRAM AND ROBOT SYSTEM
CN202080089435.1A CN114901441A (zh) 2020-01-23 2020-12-21 机器人系统的控制装置、机器人系统的控制方法、计算机控制程序及机器人系统

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2020-009368 2020-01-23
JP2020009368 2020-01-23
JP2020-104446 2020-06-17
JP2020104446A JP7454132B2 (ja) 2020-01-23 2020-06-17 ロボットシステムの制御装置、ロボットシステムの制御方法、コンピュータ制御プログラム、及びロボットシステム

Publications (1)

Publication Number Publication Date
WO2021149429A1 true WO2021149429A1 (ja) 2021-07-29

Family

ID=76992573

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/047594 WO2021149429A1 (ja) 2020-01-23 2020-12-21 ロボットシステムの制御装置、ロボットシステムの制御方法、コンピュータ制御プログラム、及びロボットシステム

Country Status (4)

Country Link
US (1) US20230030852A1 (ja)
EP (1) EP4094904A4 (ja)
CN (1) CN114901441A (ja)
WO (1) WO2021149429A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220048199A1 (en) * 2020-08-17 2022-02-17 Faro Technologies, Inc. Referencing pose manipulation system for marker based tracking of position measurement system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0699381A (ja) * 1992-09-22 1994-04-12 Hitachi Koki Co Ltd 視覚センサ付きロボットの制御方法
WO2013002099A1 (ja) * 2011-06-29 2013-01-03 三菱電機株式会社 部品供給装置
JP2016070762A (ja) 2014-09-29 2016-05-09 ファナック株式会社 対象物の三次元位置を検出する検出方法および検出装置
JP2017042859A (ja) * 2015-08-25 2017-03-02 キヤノン株式会社 ピッキングシステム、並びに、そのための処理装置、方法及びプログラム
JP2018176334A (ja) * 2017-04-10 2018-11-15 キヤノン株式会社 情報処理装置、計測装置、システム、干渉判定方法および物品の製造方法
JP2019185239A (ja) * 2018-04-05 2019-10-24 オムロン株式会社 物体認識処理装置及び方法、並びに、物体ピッキング装置及び方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5325468A (en) * 1990-10-31 1994-06-28 Sanyo Electric Co., Ltd. Operation planning system for robot
JP2016099257A (ja) * 2014-11-21 2016-05-30 キヤノン株式会社 情報処理装置及び情報処理方法
JP6616170B2 (ja) * 2015-12-07 2019-12-04 ファナック株式会社 コアシートの積層動作を学習する機械学習器、積層コア製造装置、積層コア製造システムおよび機械学習方法
EP3693138B1 (en) * 2017-06-19 2022-08-03 Google LLC Robotic grasping prediction using neural networks and geometry aware object representation
JP6931457B2 (ja) * 2017-07-14 2021-09-08 オムロン株式会社 モーション生成方法、モーション生成装置、システム及びコンピュータプログラム
JP2019125056A (ja) * 2018-01-12 2019-07-25 キヤノン株式会社 情報処理システム、情報処理装置、情報処理方法及びプログラム
JP6879238B2 (ja) * 2018-03-13 2021-06-02 オムロン株式会社 ワークピッキング装置及びワークピッキング方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0699381A (ja) * 1992-09-22 1994-04-12 Hitachi Koki Co Ltd 視覚センサ付きロボットの制御方法
WO2013002099A1 (ja) * 2011-06-29 2013-01-03 三菱電機株式会社 部品供給装置
JP2016070762A (ja) 2014-09-29 2016-05-09 ファナック株式会社 対象物の三次元位置を検出する検出方法および検出装置
JP2017042859A (ja) * 2015-08-25 2017-03-02 キヤノン株式会社 ピッキングシステム、並びに、そのための処理装置、方法及びプログラム
JP2018176334A (ja) * 2017-04-10 2018-11-15 キヤノン株式会社 情報処理装置、計測装置、システム、干渉判定方法および物品の製造方法
JP2019185239A (ja) * 2018-04-05 2019-10-24 オムロン株式会社 物体認識処理装置及び方法、並びに、物体ピッキング装置及び方法

Also Published As

Publication number Publication date
CN114901441A (zh) 2022-08-12
EP4094904A1 (en) 2022-11-30
EP4094904A4 (en) 2023-08-23
US20230030852A1 (en) 2023-02-02

Similar Documents

Publication Publication Date Title
US10894324B2 (en) Information processing apparatus, measuring apparatus, system, interference determination method, and article manufacturing method
JP5977544B2 (ja) 情報処理装置、情報処理方法
JP5835926B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
JP5778311B1 (ja) ピッキング装置およびピッキング方法
US9415511B2 (en) Apparatus and method for picking up article randomly piled using robot
JP5685027B2 (ja) 情報処理装置、物体把持システム、ロボットシステム、情報処理方法、物体把持方法およびプログラム
JP5854815B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
JP6000579B2 (ja) 情報処理装置、情報処理方法
JP6180087B2 (ja) 情報処理装置及び情報処理方法
JP5975685B2 (ja) 情報処理装置、情報処理方法
JP5088278B2 (ja) 物体検出方法と物体検出装置およびロボットシステム
JP2016099257A (ja) 情報処理装置及び情報処理方法
JP7191569B2 (ja) 把持装置
US11816754B2 (en) Measurement parameter optimization method and device, and computer control program stored on computer-readable storage medium
JP2021115693A (ja) ロボットシステムの制御装置、ロボットシステムの制御方法、コンピュータ制御プログラム、及びロボットシステム
JP2012135820A (ja) 自動ピッキング装置及び自動ピッキング方法
JP7331527B2 (ja) ロボットの動作を決定する装置、方法およびプログラム
WO2021149429A1 (ja) ロボットシステムの制御装置、ロボットシステムの制御方法、コンピュータ制御プログラム、及びロボットシステム
JP2008168372A (ja) ロボット装置及び形状認識方法
JP2010210511A (ja) 対象物の3次元位置・姿勢認識装置及びその方法
WO2022102239A1 (ja) 計測システム、計測装置、計測方法及び計測プログラム
JP7450857B2 (ja) 計測パラメータの最適化方法及び装置、並びに、コンピュータ制御プログラム
WO2024075394A1 (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: 20915545

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020915545

Country of ref document: EP

Effective date: 20220823